
/* Prospera V21 — Ultra-refined header + footer navigation system */
:root{
  --p21-navy-950:#031c27;
  --p21-navy-900:#052838;
  --p21-navy-820:#0a3446;
  --p21-copper:#e98855;
  --p21-copper-2:#f4a06d;
  --p21-cream:#fff7ef;
  --p21-line:rgba(255,255,255,.12);
  --p21-soft:rgba(255,255,255,.72);
  --p21-muted:rgba(255,255,255,.58);
  --p21-card:rgba(255,255,255,.065);
  --p21-card-strong:rgba(255,255,255,.105);
  --p21-shadow:0 24px 90px rgba(0,0,0,.46);
}
html.footer-v21-lock, html.footer-v21-lock body{overflow-x:hidden!important;}
body{overflow-x:hidden;}
.site-header{
  border-bottom:1px solid rgba(233,136,85,.22)!important;
  background:linear-gradient(180deg,rgba(3,30,43,.96),rgba(4,34,48,.92))!important;
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
  box-shadow:0 18px 60px rgba(0,0,0,.24)!important;
}
.site-header::after{
  content:"";
  position:absolute;
  left:clamp(18px,4vw,78px);
  right:clamp(18px,4vw,78px);
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,rgba(233,136,85,.92),rgba(233,136,85,.22),transparent 72%);
  pointer-events:none;
}
.header-inner{min-height:92px!important;gap:clamp(18px,2vw,34px)!important;}
.header-logo img{filter:drop-shadow(0 12px 20px rgba(0,0,0,.22));}
.header-nav>li>a,.nav-dropdown-link{
  border-radius:14px!important;
  padding:14px 16px!important;
  letter-spacing:.015em!important;
  transition:background .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease!important;
}
.header-nav>li>a:hover,.header-nav>li>a:focus-visible,.nav-dropdown:hover .nav-dropdown-link,.nav-dropdown.is-open .nav-dropdown-link{
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)!important;
}
.header-nav>li>a.active,.header-nav>li>a[aria-current="page"]{
  background:rgba(255,255,255,.095)!important;
  color:var(--p21-copper-2)!important;
}
.nav-dropdown-toggle{
  width:36px!important;height:36px!important;border-radius:50%!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  margin-left:2px!important;border:1px solid rgba(255,255,255,.1)!important;
  background:rgba(255,255,255,.055)!important;color:rgba(255,255,255,.78)!important;
  transition:background .2s ease,transform .2s ease,color .2s ease,border-color .2s ease!important;
}
.nav-dropdown.is-open .nav-dropdown-toggle,.nav-dropdown:hover .nav-dropdown-toggle{
  background:rgba(233,136,85,.16)!important;color:var(--p21-copper-2)!important;border-color:rgba(233,136,85,.35)!important;
  transform:rotate(180deg);
}
.services-mega-menu{
  position:fixed!important;
  top:calc(var(--prospera-header-height, 92px) + 12px)!important;
  left:50%!important;
  right:auto!important;
  width:min(1320px, calc(100vw - 48px))!important;
  max-height:calc(100vh - var(--prospera-header-height, 92px) - 36px)!important;
  transform:translateX(-50%) translateY(-10px)!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,rgba(5,40,56,.985),rgba(3,27,38,.995))!important;
  border:1px solid rgba(233,136,85,.25)!important;
  box-shadow:0 30px 110px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.12)!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease!important;
  z-index:9998!important;
}
.nav-dropdown:hover>.services-mega-menu,.nav-dropdown:focus-within>.services-mega-menu,.nav-dropdown.is-open>.services-mega-menu,.services-mega-menu.is-open{
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateX(-50%) translateY(0)!important;
}
.services-mega-menu::before{
  content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 0,rgba(233,136,85,.16),transparent 34%),radial-gradient(circle at 90% 18%,rgba(255,255,255,.1),transparent 30%);pointer-events:none;
}
.mega-menu-inner{position:relative!important;max-height:inherit!important;overflow:auto!important;padding:clamp(18px,2vw,26px)!important;scrollbar-color:var(--p21-copper) rgba(255,255,255,.08)!important;}
.mega-menu-categories{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;}
.mega-menu-category{border-radius:20px!important;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.045))!important;border:1px solid rgba(255,255,255,.105)!important;padding:18px!important;transition:transform .22s ease,border-color .22s ease,background .22s ease!important;}
.mega-menu-category:hover{transform:translateY(-2px)!important;border-color:rgba(233,136,85,.34)!important;background:linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.058))!important;}
.mega-menu-category-title{margin-bottom:8px!important;}
.mega-menu-service-link{border-radius:14px!important;min-height:54px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.07)!important;}
.mega-menu-service-link:hover{background:rgba(233,136,85,.13)!important;border-color:rgba(233,136,85,.25)!important;transform:translateX(2px)!important;}
.mega-menu-view-all-link{border-radius:14px!important;background:linear-gradient(135deg,var(--p21-copper),#cb6d3d)!important;color:#fff!important;box-shadow:0 16px 32px rgba(233,136,85,.18)!important;}
.prospera-footer-v21{
  position:relative!important;
  overflow:visible!important;
  background:
    radial-gradient(circle at 12% 0,rgba(233,136,85,.14),transparent 28%),
    radial-gradient(circle at 84% 8%,rgba(255,255,255,.08),transparent 30%),
    linear-gradient(180deg,var(--p21-navy-900) 0%,var(--p21-navy-950) 52%,#021821 100%)!important;
  color:var(--p21-soft)!important;
  padding:0!important;
  isolation:isolate;
}
.prospera-footer-v21 *{box-sizing:border-box;}
.footer-v21-topline{height:1px;background:linear-gradient(90deg,transparent,rgba(233,136,85,.85),rgba(255,255,255,.22),transparent);}
.footer-v21-glow{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.028),transparent 18%);z-index:-1;}
.footer-v21-shell{position:relative;padding:clamp(26px,3vw,44px) 0 clamp(20px,2.5vw,34px)!important;overflow:visible!important;}
.footer-v21-header-mirror{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(18px,2.5vw,34px);
  padding:14px clamp(16px,2.4vw,26px);border:1px solid rgba(255,255,255,.1);border-radius:26px;
  background:linear-gradient(135deg,rgba(255,255,255,.085),rgba(255,255,255,.045));box-shadow:0 18px 60px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.12);
}
.footer-v21-mirror-logo{display:flex;align-items:center;text-decoration:none;min-width:145px;}
.footer-v21-mirror-logo img{width:126px;height:auto;display:block;filter:drop-shadow(0 10px 18px rgba(0,0,0,.25));}
.footer-v21-mirror-links{display:flex;align-items:center;justify-content:center;gap:clamp(8px,1.2vw,16px);flex-wrap:wrap;}
.footer-v21-mirror-links a,.footer-v21-mirror-cta{font-family:Montserrat,Inter,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.035em;text-decoration:none;border-radius:14px;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease;}
.footer-v21-mirror-links a{font-size:.78rem;color:rgba(255,255,255,.8);padding:11px 12px;border:1px solid transparent;}
.footer-v21-mirror-links a:hover,.footer-v21-mirror-links a:focus-visible{color:#fff;background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.08);transform:translateY(-1px);}
.footer-v21-mirror-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;padding:13px 17px;color:#fff;background:linear-gradient(135deg,var(--p21-copper),#c96d3d);box-shadow:0 18px 34px rgba(233,136,85,.22);}
.footer-v21-mirror-cta:hover,.footer-v21-mirror-cta:focus-visible{transform:translateY(-2px);filter:saturate(1.08);}
.footer-v21-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.55fr);gap:clamp(22px,3vw,42px);align-items:stretch;padding:clamp(34px,5vw,74px) 0 clamp(28px,3.5vw,46px);}
.footer-v21-brand-block,.footer-v21-contact-card,.footer-v21-directory{
  border:1px solid rgba(255,255,255,.1);background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.035));box-shadow:inset 0 1px 0 rgba(255,255,255,.11);border-radius:28px;
}
.footer-v21-brand-block{padding:clamp(26px,3.8vw,48px);}
.footer-v21-eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--p21-copper-2);font:800 .78rem/1 Montserrat,Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px;}
.footer-v21-brand-block h2{max-width:860px;margin:0 0 18px;color:#fff;font:800 clamp(2rem,4.2vw,4.9rem)/.94 Montserrat,Inter,sans-serif;letter-spacing:-.055em;}
.footer-v21-brand-block p{max-width:680px;margin:0;color:rgba(255,255,255,.68);font-size:clamp(1rem,1.1vw,1.15rem);line-height:1.74;}
.footer-v21-brand-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
.footer-v21-brand-actions a{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 18px;border-radius:999px;text-decoration:none;color:#fff;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.12);font-weight:800;transition:.2s ease;}
.footer-v21-brand-actions a:first-child{background:linear-gradient(135deg,var(--p21-copper),#c96d3d);border-color:rgba(233,136,85,.5);}
.footer-v21-brand-actions a:hover,.footer-v21-brand-actions a:focus-visible{transform:translateY(-2px);border-color:rgba(233,136,85,.44);}
.footer-v21-contact-card{padding:clamp(22px,2.4vw,32px);}
.footer-v21-contact-card h3,.footer-v21-directory-head h3{margin:0;color:#fff;font:800 clamp(1.12rem,1.5vw,1.48rem)/1.15 Montserrat,Inter,sans-serif;letter-spacing:-.02em;}
.footer-v21-contact-card ul{list-style:none;margin:22px 0 20px;padding:0;display:grid;gap:15px;}
.footer-v21-contact-card li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;color:rgba(255,255,255,.68);}
.footer-v21-contact-card li i{color:var(--p21-copper-2);margin-top:3px;}
.footer-v21-contact-card a{color:rgba(255,255,255,.78);text-decoration:none;line-height:1.52;}
.footer-v21-contact-card a:hover{color:#fff;}
.footer-v21-contact-card span{color:rgba(255,255,255,.55);}
.footer-v21-hours{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;display:grid;gap:11px;}
.footer-v21-hours strong{color:#fff;font:800 .78rem Montserrat,Inter,sans-serif;text-transform:uppercase;letter-spacing:.16em;}
.footer-v21-hours p{display:flex;justify-content:space-between;gap:18px;margin:0;color:rgba(255,255,255,.56);}
.footer-v21-hours b{color:rgba(255,255,255,.9);font-weight:800;text-align:right;}
.footer-v21-directory{position:relative;padding:clamp(22px,3vw,36px);overflow:visible!important;z-index:5;}
.footer-v21-directory-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);gap:20px;align-items:end;margin-bottom:22px;}
.footer-v21-directory-head p{margin:0;color:rgba(255,255,255,.58);line-height:1.64;}
.footer-v21-services-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;overflow:visible!important;}
.footer-v21-service-card{position:relative;z-index:1;overflow:visible!important;}
.footer-v21-service-card.is-open{z-index:40;}
.footer-v21-service-trigger{width:100%;min-height:92px;display:grid;grid-template-columns:42px minmax(0,1fr) 32px;align-items:center;gap:14px;padding:16px;border-radius:20px;border:1px solid rgba(255,255,255,.105);background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.045));color:#fff;text-align:left;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease;}
.footer-v21-service-trigger:hover,.footer-v21-service-card.is-open .footer-v21-service-trigger,.footer-v21-service-trigger:focus-visible{transform:translateY(-2px);border-color:rgba(233,136,85,.42);background:linear-gradient(135deg,rgba(233,136,85,.14),rgba(255,255,255,.055));box-shadow:0 16px 42px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.12);outline:none;}
.footer-v21-service-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;color:var(--p21-copper-2);background:rgba(233,136,85,.12);border:1px solid rgba(233,136,85,.2);}
.footer-v21-service-copy strong{display:block;font:800 .9rem/1.12 Montserrat,Inter,sans-serif;letter-spacing:.03em;text-transform:uppercase;color:#fff;margin-bottom:5px;}
.footer-v21-service-copy small{display:block;color:rgba(255,255,255,.54);font-size:.82rem;line-height:1.42;}
.footer-v21-service-arrow{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:rgba(255,255,255,.58);background:rgba(255,255,255,.055);transition:transform .22s ease,color .22s ease,background .22s ease;}
.footer-v21-service-card.is-open .footer-v21-service-arrow{transform:rotate(180deg);color:var(--p21-copper-2);background:rgba(233,136,85,.12);}
.footer-v21-service-popover{position:absolute;left:50%;bottom:calc(100% + 14px);width:min(420px,calc(100vw - 40px));transform:translate(-50%,10px) scale(.985);opacity:0;visibility:hidden;pointer-events:none;border-radius:24px;border:1px solid rgba(233,136,85,.32);background:linear-gradient(150deg,rgba(5,39,55,.99),rgba(3,27,38,.995));box-shadow:0 28px 90px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.12);padding:14px;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;z-index:100;}
.footer-v21-service-popover::after{content:"";position:absolute;left:50%;bottom:-9px;width:18px;height:18px;transform:translateX(-50%) rotate(45deg);background:rgba(4,32,45,.995);border-right:1px solid rgba(233,136,85,.24);border-bottom:1px solid rgba(233,136,85,.24);}
.footer-v21-service-popover::before{content:"";position:absolute;left:0;right:0;bottom:-18px;height:18px;background:transparent;}
.footer-v21-service-card:hover .footer-v21-service-popover,.footer-v21-service-card:focus-within .footer-v21-service-popover,.footer-v21-service-card.is-open .footer-v21-service-popover{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1);}
.footer-v21-popover-head{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;padding:10px 10px 14px;border-bottom:1px solid rgba(255,255,255,.1);}
.footer-v21-popover-head>span{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;color:var(--p21-copper-2);background:rgba(233,136,85,.13);border:1px solid rgba(233,136,85,.24);}
.footer-v21-popover-head strong{display:block;color:#fff;font:800 .98rem Montserrat,Inter,sans-serif;letter-spacing:.02em;}
.footer-v21-popover-head small{display:block;color:rgba(255,255,255,.56);line-height:1.4;margin-top:4px;}
.footer-v21-popover-list{list-style:none;margin:12px 0 12px;padding:0;display:grid;gap:8px;}
.footer-v21-popover-list a{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border-radius:15px;text-decoration:none;color:#fff;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);transition:background .16s ease,border-color .16s ease,transform .16s ease;}
.footer-v21-popover-list a:hover,.footer-v21-popover-list a:focus-visible{background:rgba(233,136,85,.13);border-color:rgba(233,136,85,.26);transform:translateX(2px);outline:none;}
.footer-v21-popover-list i{color:var(--p21-copper-2);text-align:center;}
.footer-v21-popover-list strong{display:block;font-size:.9rem;line-height:1.15;color:#fff;}
.footer-v21-popover-list small{display:block;margin-top:3px;color:rgba(255,255,255,.52);font-size:.78rem;line-height:1.35;}
.footer-v21-popover-cta{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:15px;text-decoration:none;color:#fff!important;font:800 .78rem Montserrat,Inter,sans-serif;text-transform:uppercase;letter-spacing:.08em;background:linear-gradient(135deg,var(--p21-copper),#c96d3d);box-shadow:0 16px 34px rgba(233,136,85,.19);}
.footer-v21-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:24px;margin-top:26px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.48);}
.footer-v21-bottom p{margin:0;}
.footer-v21-bottom-links{display:flex;flex-wrap:wrap;gap:16px;}
.footer-v21-bottom-links a{color:rgba(255,255,255,.56);text-decoration:none;transition:color .16s ease;}
.footer-v21-bottom-links a:hover{color:#fff;}
.site-header.footer-is-visible{box-shadow:0 18px 70px rgba(0,0,0,.38),0 0 0 1px rgba(233,136,85,.1)!important;}
@media (max-width:1180px){
  .header-inner{min-height:84px!important;}
  .desktop-nav{display:none!important;}
  .mobile-menu-toggle{display:inline-flex!important;}
  .footer-v21-header-mirror{grid-template-columns:1fr;justify-items:center;text-align:center;}
  .footer-v21-mirror-links{max-width:760px;}
  .footer-v21-hero{grid-template-columns:1fr;}
  .footer-v21-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .mega-menu-categories{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:760px){
  .site-header::after{left:16px;right:16px;}
  .footer-v21-shell{padding-left:16px!important;padding-right:16px!important;}
  .footer-v21-header-mirror{padding:18px 14px;border-radius:22px;}
  .footer-v21-mirror-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px;}
  .footer-v21-mirror-links a{text-align:center;background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.07);}
  .footer-v21-mirror-cta{width:100%;}
  .footer-v21-brand-block,.footer-v21-contact-card,.footer-v21-directory{border-radius:22px;}
  .footer-v21-brand-block h2{font-size:clamp(2.05rem,12vw,3.25rem);line-height:.96;}
  .footer-v21-brand-actions a{width:100%;justify-content:center;}
  .footer-v21-directory-head{grid-template-columns:1fr;}
  .footer-v21-services-grid{grid-template-columns:1fr;}
  .footer-v21-service-trigger{min-height:auto;grid-template-columns:40px minmax(0,1fr) 30px;padding:14px;}
  .footer-v21-service-popover{position:relative;left:auto;bottom:auto;width:100%;margin-top:10px;transform:none!important;display:none;opacity:1;visibility:visible;pointer-events:auto;}
  .footer-v21-service-popover::before,.footer-v21-service-popover::after{display:none;}
  .footer-v21-service-card:hover .footer-v21-service-popover,.footer-v21-service-card:focus-within .footer-v21-service-popover,.footer-v21-service-card.is-open .footer-v21-service-popover{display:block;}
  .footer-v21-bottom{flex-direction:column;align-items:flex-start;}
}
@media (max-width:520px){
  .footer-v21-mirror-links{grid-template-columns:1fr;}
  .footer-v21-hours p{display:grid;gap:3px;}
  .footer-v21-hours b{text-align:left;}
}
@media (prefers-reduced-motion:reduce){
  .prospera-footer-v21 *,.site-header *,.services-mega-menu{transition:none!important;animation:none!important;scroll-behavior:auto!important;}
}
