
/* ============================================================
   PROSPERA V23 — Professional footer + Services modal navigation
   Purpose: remove footer service directory block, keep footer semantic,
   and move complete service navigation into a refined Services modal.
============================================================ */
:root{
  --prospera-v23-navy:#062632;
  --prospera-v23-deep:#031D27;
  --prospera-v23-ink:#061D2B;
  --prospera-v23-copper:#E88957;
  --prospera-v23-copper-soft:rgba(232,137,87,.16);
  --prospera-v23-line:rgba(255,255,255,.12);
  --prospera-v23-line-strong:rgba(255,255,255,.18);
  --prospera-v23-muted:rgba(255,255,255,.70);
  --prospera-v23-white:#fff;
  --prospera-v23-radius:28px;
}
html body.prospera-services-modal-open{overflow:hidden!important;}
html body .services-mega-menu{display:none!important;visibility:hidden!important;pointer-events:none!important;}
html body .nav-dropdown-link,
html body .nav-dropdown-toggle{cursor:pointer;}
html body .nav-dropdown-link[aria-expanded="true"],
html body .nav-dropdown-toggle[aria-expanded="true"]{color:var(--prospera-v23-copper)!important;}
html body .mobile-services-panel{display:none!important;}

/* Services modal */
.prospera-services-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:clamp(14px,2.5vw,34px);}
.prospera-services-modal.is-open{display:flex;}
.prospera-services-modal-backdrop{position:absolute;inset:0;background:rgba(1,18,26,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.prospera-services-modal-dialog{position:relative;width:min(1320px,calc(100vw - 32px));max-height:min(88dvh,900px);overflow:hidden;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.16);border-radius:32px;background:linear-gradient(145deg,rgba(7,39,51,.98),rgba(3,27,37,.98));box-shadow:0 34px 110px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.12);color:#fff;}
.prospera-services-modal-dialog::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 0%,rgba(232,137,87,.14),transparent 34%),radial-gradient(circle at 90% 0%,rgba(255,255,255,.08),transparent 34%);}
.prospera-services-modal-head{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:clamp(22px,3vw,38px) clamp(22px,3vw,42px);border-bottom:1px solid rgba(255,255,255,.10);}
.prospera-services-modal-head span,.prospera-services-modal-panel-head span{display:inline-flex;align-items:center;gap:9px;margin-bottom:10px;font-family:Montserrat,Arial,sans-serif;font-size:.78rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--prospera-v23-copper);}
.prospera-services-modal-head h2{margin:0;font-family:Montserrat,Arial,sans-serif;font-size:clamp(1.85rem,3.2vw,3.55rem);line-height:.95;font-weight:900;letter-spacing:-.055em;color:#fff;max-width:760px;}
.prospera-services-modal-head p{margin:14px 0 0;max-width:720px;font-size:clamp(.98rem,1.2vw,1.12rem);line-height:1.65;color:rgba(255,255,255,.74);}
.prospera-services-modal-close{flex:0 0 auto;width:52px;height:52px;border-radius:17px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease;}
.prospera-services-modal-close:hover,.prospera-services-modal-close:focus-visible{transform:translateY(-2px);background:rgba(232,137,87,.18);border-color:rgba(232,137,87,.42);outline:none;}
.prospera-services-modal-body{position:relative;display:grid;grid-template-columns:minmax(270px,.34fr) minmax(0,1fr);min-height:0;overflow:hidden;}
.prospera-services-modal-tabs{padding:clamp(16px,2vw,24px);border-right:1px solid rgba(255,255,255,.10);overflow:auto;display:grid;gap:10px;align-content:start;scrollbar-width:thin;scrollbar-color:rgba(232,137,87,.75) rgba(255,255,255,.06);}
.prospera-services-modal-category{width:100%;min-height:72px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.055);color:#fff;display:grid;grid-template-columns:44px 1fr;align-items:center;text-align:left;gap:14px;padding:12px;cursor:pointer;transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease;}
.prospera-services-modal-category-icon{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:rgba(232,137,87,.14);border:1px solid rgba(232,137,87,.28);color:var(--prospera-v23-copper);}
.prospera-services-modal-category strong{display:block;font-family:Montserrat,Arial,sans-serif;font-size:.82rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;line-height:1.15;}
.prospera-services-modal-category small{display:block;margin-top:5px;color:rgba(255,255,255,.58);font-weight:700;}
.prospera-services-modal-category:hover,.prospera-services-modal-category:focus-visible,.prospera-services-modal-category.is-active{background:rgba(255,255,255,.105);border-color:rgba(232,137,87,.45);box-shadow:0 18px 44px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.08);transform:translateY(-1px);outline:none;}
.prospera-services-modal-content{min-height:0;overflow:auto;padding:clamp(18px,2.4vw,34px);scrollbar-width:thin;scrollbar-color:rgba(232,137,87,.75) rgba(255,255,255,.06);}
.prospera-services-modal-panel[hidden]{display:none!important;}
.prospera-services-modal-panel{animation:prosperaV23Fade .24s ease both;}
@keyframes prosperaV23Fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.prospera-services-modal-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.10);}
.prospera-services-modal-panel-head h3{margin:0;font-family:Montserrat,Arial,sans-serif;font-size:clamp(1.55rem,2.4vw,2.7rem);line-height:1;font-weight:900;letter-spacing:-.04em;color:#fff;}
.prospera-services-modal-panel-head p{margin:10px 0 0;max-width:660px;color:rgba(255,255,255,.68);font-size:1rem;line-height:1.55;}
.prospera-services-modal-view{flex:0 0 auto;display:inline-flex;align-items:center;gap:9px;text-decoration:none;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;padding:12px 16px;font-family:Montserrat,Arial,sans-serif;font-weight:900;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;}
.prospera-services-modal-view:hover,.prospera-services-modal-view:focus-visible{background:rgba(232,137,87,.2);border-color:rgba(232,137,87,.48);color:#fff;outline:none;}
.prospera-services-modal-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.prospera-services-modal-service{min-height:108px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.038));color:#fff;text-decoration:none;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;padding:16px;transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease;}
.prospera-services-modal-service-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:rgba(232,137,87,.14);border:1px solid rgba(232,137,87,.28);color:var(--prospera-v23-copper);}
.prospera-services-modal-service strong{display:block;font-family:Montserrat,Arial,sans-serif;font-size:.94rem;font-weight:900;letter-spacing:-.01em;line-height:1.18;color:#fff;}
.prospera-services-modal-service small{display:block;margin-top:6px;color:rgba(255,255,255,.60);font-size:.86rem;line-height:1.4;font-weight:650;}
.prospera-services-modal-service>i{color:rgba(255,255,255,.46);transition:transform .22s ease,color .22s ease;}
.prospera-services-modal-service:hover,.prospera-services-modal-service:focus-visible{transform:translateY(-2px);border-color:rgba(232,137,87,.44);background:linear-gradient(135deg,rgba(232,137,87,.14),rgba(255,255,255,.06));box-shadow:0 18px 44px rgba(0,0,0,.22);outline:none;}
.prospera-services-modal-service:hover>i,.prospera-services-modal-service:focus-visible>i{transform:translateX(3px);color:var(--prospera-v23-copper);}
.prospera-services-modal-foot{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px clamp(22px,3vw,42px);border-top:1px solid rgba(255,255,255,.10);background:rgba(1,17,24,.34);}
.prospera-services-modal-foot p{margin:0;color:rgba(255,255,255,.65);line-height:1.5;font-weight:650;}
.prospera-services-modal-cta{flex:0 0 auto;display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:14px 20px;background:linear-gradient(135deg,#F39561,#D86F3F);color:#fff;text-decoration:none;font-family:Montserrat,Arial,sans-serif;font-weight:900;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 18px 42px rgba(216,111,63,.28);}
.prospera-services-modal-cta:hover,.prospera-services-modal-cta:focus-visible{color:#fff;filter:saturate(1.08);transform:translateY(-1px);outline:none;}

/* Professional footer */
html body .site-footer.prospera-footer-v23{position:relative;overflow:hidden;padding:clamp(54px,6vw,92px) 0 26px!important;background:radial-gradient(circle at 15% 0%,rgba(232,137,87,.10),transparent 32%),linear-gradient(180deg,#07303D 0%,#031D27 42%,#021821 100%)!important;color:rgba(255,255,255,.72)!important;border-top:1px solid rgba(232,137,87,.26);}
html body .site-footer.prospera-footer-v23::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(232,137,87,.8),transparent);}
.footer-v23-shell{position:relative;width:min(100% - clamp(28px,5vw,88px),1640px)!important;margin-inline:auto;}
.footer-v23-main{display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(180px,.65fr) minmax(260px,.95fr) minmax(260px,.95fr);gap:clamp(26px,3.2vw,58px);align-items:start;padding-bottom:clamp(28px,4vw,48px);}
.footer-v23-main h2{position:relative;margin:0 0 20px;font-family:Montserrat,Arial,sans-serif;font-size:.84rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase;color:#fff;}
.footer-v23-main h2::after{content:"";position:absolute;left:0;bottom:-10px;width:28px;height:2px;border-radius:99px;background:var(--prospera-v23-copper);}
.footer-v23-logo{display:inline-flex;align-items:center;width:180px;max-width:70%;min-height:92px;border-radius:0;text-decoration:none;}
.footer-v23-logo img{width:160px;height:auto;object-fit:contain;filter:drop-shadow(0 16px 30px rgba(0,0,0,.22));}
.footer-v23-brand p,.footer-v23-services p{max-width:390px;margin:16px 0 0;color:rgba(255,255,255,.68);font-size:1rem;line-height:1.72;font-weight:600;}
.footer-v23-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.footer-v23-actions a,.footer-v23-services-open{min-height:46px;border-radius:999px;display:inline-flex;align-items:center;gap:9px;padding:12px 16px;text-decoration:none;font-family:Montserrat,Arial,sans-serif;font-weight:900;font-size:.78rem;letter-spacing:.02em;}
.footer-v23-call,.footer-v23-services-open{border:0;background:linear-gradient(135deg,#F39561,#D86F3F);color:#fff;box-shadow:0 15px 36px rgba(216,111,63,.24);cursor:pointer;}
.footer-v23-outline{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#fff;}
.footer-v23-nav ul,.footer-v23-contact-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.footer-v23-nav a,.footer-v23-contact a{color:rgba(255,255,255,.70);text-decoration:none;font-weight:700;line-height:1.5;transition:color .2s ease,transform .2s ease;}
.footer-v23-nav a:hover,.footer-v23-nav a:focus-visible,.footer-v23-contact a:hover,.footer-v23-contact a:focus-visible{color:#fff;outline:none;}
.footer-v23-contact-list li{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;}
.footer-v23-contact-list i{color:var(--prospera-v23-copper);margin-top:4px;}
.footer-v23-contact-list span{color:rgba(255,255,255,.52);font-size:.92em;}
.footer-v23-hours{margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.10);display:grid;gap:10px;}
.footer-v23-hours p{margin:0;display:flex;align-items:center;justify-content:space-between;gap:16px;color:rgba(255,255,255,.58);font-weight:700;}
.footer-v23-hours strong{color:#fff;font-weight:900;white-space:nowrap;}
.footer-v23-services-open{margin-top:18px;justify-content:space-between;min-width:220px;}
.footer-v23-service-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.footer-v23-service-pills a{display:inline-flex;align-items:center;min-height:34px;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:rgba(255,255,255,.74);text-decoration:none;font-family:Montserrat,Arial,sans-serif;font-size:.72rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;}
.footer-v23-service-pills a:hover,.footer-v23-service-pills a:focus-visible{color:#fff;border-color:rgba(232,137,87,.42);background:rgba(232,137,87,.12);outline:none;}
.footer-v23-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:24px;border-top:1px solid rgba(255,255,255,.10);}
.footer-v23-bottom p{margin:0;color:rgba(255,255,255,.42);font-weight:650;}
.footer-v23-bottom-links{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:16px;}
.footer-v23-bottom-links a,.footer-v23-bottom-links button{appearance:none;background:transparent;border:0;padding:0;color:rgba(255,255,255,.56);text-decoration:none;font:inherit;font-weight:800;cursor:pointer;}
.footer-v23-bottom-links a:hover,.footer-v23-bottom-links a:focus-visible,.footer-v23-bottom-links button:hover,.footer-v23-bottom-links button:focus-visible{color:#fff;outline:none;}

@media (max-width:1180px){
  .footer-v23-main{grid-template-columns:1fr 1fr;}
  .prospera-services-modal-dialog{max-height:92dvh;}
}
@media (max-width:860px){
  .prospera-services-modal{padding:0;align-items:stretch;}
  .prospera-services-modal-dialog{width:100%;max-height:100dvh;height:100dvh;border-radius:0;border-left:0;border-right:0;}
  .prospera-services-modal-head{padding:22px 18px;}
  .prospera-services-modal-head h2{font-size:clamp(1.55rem,8vw,2.35rem);line-height:1.02;}
  .prospera-services-modal-body{grid-template-columns:1fr;overflow:auto;}
  .prospera-services-modal-tabs{position:sticky;top:0;z-index:2;display:flex;gap:10px;overflow-x:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.10);padding:12px 14px;background:rgba(4,30,40,.96);}
  .prospera-services-modal-category{min-width:210px;grid-template-columns:38px 1fr;min-height:64px;border-radius:18px;}
  .prospera-services-modal-category-icon{width:38px;height:38px;border-radius:14px;}
  .prospera-services-modal-content{overflow:visible;padding:18px 14px 22px;}
  .prospera-services-modal-panel-head{align-items:flex-start;flex-direction:column;gap:14px;}
  .prospera-services-modal-view{width:100%;justify-content:center;}
  .prospera-services-modal-services{grid-template-columns:1fr;}
  .prospera-services-modal-foot{flex-direction:column;align-items:stretch;padding:16px 14px 20px;}
  .prospera-services-modal-cta{width:100%;justify-content:center;}
  .footer-v23-main{grid-template-columns:1fr;}
  .footer-v23-bottom{align-items:flex-start;flex-direction:column;}
  .footer-v23-bottom-links{justify-content:flex-start;}
}
@media (max-width:520px){
  .prospera-services-modal-close{width:46px;height:46px;border-radius:15px;}
  .prospera-services-modal-head{gap:12px;}
  .prospera-services-modal-service{grid-template-columns:42px 1fr;}
  .prospera-services-modal-service>i{display:none;}
  .footer-v23-actions,.footer-v23-bottom-links{width:100%;}
  .footer-v23-actions a,.footer-v23-services-open{width:100%;justify-content:center;}
  .footer-v23-hours p{align-items:flex-start;flex-direction:column;gap:4px;}
}
@media (prefers-reduced-motion:reduce){
  .prospera-services-modal *,.prospera-footer-v23 *{transition:none!important;animation:none!important;scroll-behavior:auto!important;}
}
