/* Shared navigation and footer, independent of the page's cluster treatment. */
.site-review-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 4px 18px #214e7008}
.shell-row{display:flex;align-items:center;gap:2rem;min-height:96px;position:relative}
.shell-brand{flex-shrink:0;display:block}.shell-brand img{width:200px;height:auto}
.shell-desktop{display:flex;align-items:center;gap:1.5rem;margin-left:auto}.shell-desktop>a,.office-dropdown summary{font-size:.82rem;font-weight:500;text-decoration:none;white-space:nowrap;padding:1rem 0}
.shell-desktop a:hover,.shell-desktop a[aria-current=page]{color:var(--teal);text-decoration:underline;text-underline-offset:7px}
.shell-actions{display:flex;align-items:center;gap:1.4rem}.shell-language{font-size:.8rem;font-weight:600;text-underline-offset:5px;padding:.65rem 0}.shell-book{white-space:nowrap;font-size:.8rem;gap:1rem}
.office-dropdown summary{cursor:pointer;list-style:none}.office-dropdown summary:after{content:'⌄';margin-left:.4rem}.office-dropdown summary::-webkit-details-marker,.shell-mobile summary::-webkit-details-marker{display:none}
.office-dropdown-panel{position:absolute;right:0;top:100%;width:580px;padding:2rem;background:white;border:1px solid var(--line);box-shadow:0 16px 30px #214e7018;border-radius:0 0 16px 16px;display:grid;grid-template-columns:1fr 1fr;gap:2rem}.office-dropdown-panel strong{font-family:var(--font-heading);font-size:1.1rem}.office-dropdown-panel a{display:block;margin-top:.8rem;font-size:.82rem}
.shell-mobile{display:none}.review-footer{background:var(--ink);color:#fff;padding:4rem 0 1.5rem;scroll-margin-top:7rem}.review-footer .eyebrow{color:var(--lime)}.footer-invitation{display:flex;justify-content:space-between;align-items:center;gap:3rem;padding-bottom:3rem;border-bottom:1px solid #ffffff30}.footer-invitation h2{max-width:650px;font-size:clamp(2rem,3.5vw,3.4rem)}.footer-invitation p:not(.eyebrow){color:#e1edf5;margin-top:1rem}.footer-invitation .button{flex-shrink:0}
.footer-directory{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:4rem;padding:3rem 0}.footer-directory h3{font-size:1.05rem;margin-bottom:1.1rem}.footer-directory nav a{display:block;color:#e1edf5;text-decoration:none;font-size:.88rem;padding:.4rem 0}.footer-directory a:hover{text-decoration:underline}.footer-offices{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem}.footer-offices>.eyebrow,.footer-hours{grid-column:1/-1;margin:0}.footer-offices address{font-style:normal;color:#e1edf5;font-size:.82rem;line-height:1.7;margin-bottom:.8rem}.office-phone{display:block;font-size:.92rem;font-weight:600;text-decoration:none}.footer-directions{display:inline-block;color:var(--lime);font-size:.8rem;margin-top:.8rem}.footer-hours{font-size:.76rem;color:#e1edf5}
.footer-utility{border-top:1px solid #ffffff30;padding:1.5rem 0;display:flex;justify-content:space-between;gap:1.5rem;font-size:.75rem;color:#e1edf5}.footer-utility>div{display:flex;gap:1.5rem;flex-wrap:wrap}.footer-review-note{display:flex;justify-content:space-between;align-items:start;gap:2rem;background:#ffffff09;padding:1rem;border-radius:8px;font-size:.7rem;color:#e1edf5}.footer-review-note p{max-width:750px}.footer-review-note a{white-space:nowrap}.review-footer a:focus-visible{outline-color:var(--lime)}
.editorial aside{top:8rem}.prose section{scroll-margin-top:8rem}
@media(max-width:1100px){.shell-row{gap:1.3rem;min-height:80px}.shell-brand img{width:180px}.shell-desktop{display:none}.shell-actions{margin-left:auto}.shell-mobile{display:block}.shell-mobile summary{display:flex;align-items:center;gap:.6rem;cursor:pointer;font-size:.85rem;min-height:44px;list-style:none}.menu-icon{width:20px;height:12px;border-top:1.5px solid;border-bottom:1.5px solid;position:relative}.menu-icon:after{content:'';position:absolute;top:4px;left:0;right:0;border-top:1.5px solid}.shell-mobile[open] .menu-icon{border:0}.shell-mobile[open] .menu-icon:before,.shell-mobile[open] .menu-icon:after{content:'';position:absolute;top:5px;left:0;right:0;border-top:1.5px solid;transform:rotate(45deg)}.shell-mobile[open] .menu-icon:after{transform:rotate(-45deg)}.mobile-panel{position:absolute;top:100%;right:0;width:min(440px,100%);max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain;padding:1.5rem;background:white;border:1px solid var(--line);border-radius:0 0 16px 16px;box-shadow:0 16px 30px #214e7020}.mobile-panel>a:not(.button){display:flex;justify-content:space-between;text-decoration:none;padding:.8rem 0;border-bottom:1px solid var(--line);font-family:var(--font-heading);font-size:1.15rem}.mobile-panel>a[aria-current=page]{color:var(--teal);font-weight:700}.mobile-panel>.button{display:flex;margin:1.3rem 0}.mobile-phones{padding:1rem;background:var(--soft);border-radius:10px}.mobile-phones .eyebrow{font-size:.63rem;margin-bottom:.6rem}.mobile-phones a{display:block;font-size:.78rem;text-decoration:none;padding:.55rem 0}.mobile-phones strong{display:block}.mobile-panel>a.mobile-review{font:400 .75rem var(--font-body);border:0}.footer-directory{grid-template-columns:1.4fr 1fr 1fr;gap:2rem}.footer-offices{grid-template-columns:1fr}.footer-invitation{gap:2rem}}
@media(max-width:600px){.shell-row{gap:.8rem;min-height:76px}.shell-brand img{width:140px}.shell-language{font-size:.75rem}.shell-actions{gap:0}.shell-book{display:none}.shell-mobile summary{font-size:.78rem;gap:.45rem}.mobile-panel{width:calc(100% + 1rem);right:-.5rem}.review-footer{padding-top:3rem}.footer-invitation{align-items:start;flex-direction:column}.footer-directory{grid-template-columns:1fr 1fr;gap:2.5rem 1.5rem}.footer-offices{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:1.5rem}.footer-directory nav a{font-size:.82rem}.footer-utility,.footer-review-note{flex-direction:column}.footer-utility>div{gap:1rem}.footer-review-note{gap:1rem}.editorial aside{top:auto}}

/* Viewport-safe sticky shell on phones, tablets and desktops. */
.shell-row>*{min-width:0}.shell-brand{max-width:45%}.shell-brand img{max-width:100%}
.shell-language,.shell-mobile summary{min-height:44px;display:flex;align-items:center}
.mobile-panel{max-width:100%;overflow-x:hidden}
@media(max-width:600px){.mobile-panel{width:100%;right:0}.shell-row{gap:.6rem}.shell-brand img{width:130px}.mobile-panel{padding:1rem}.shell-language{padding-inline:.25rem}}
@media(prefers-reduced-motion:reduce){.mobile-panel{scroll-behavior:auto}}
/* Client-kit shell */
.site-review-header{border-color:#e4edf4;box-shadow:0 4px 24px #007fdb08;color:var(--ink)}.shell-row{gap:1.3rem;min-height:90px}.shell-desktop{gap:1.1rem}.shell-actions{gap:1rem}.shell-book{font-size:.78rem}.office-dropdown-panel,.mobile-panel{border-color:#dfedf5;box-shadow:0 12px 32px #007fdb12;border-radius:0 0 20px 20px}.review-footer{background:#214e70}.review-footer h2,.review-footer h3{color:white}.footer-invitation{position:relative;background:linear-gradient(115deg,#dcfaff,#ddf0ff);color:var(--ink);border:0;padding:2.5rem;border-radius:22px;margin-bottom:1rem}.footer-invitation h2{color:var(--ink)}.footer-invitation p:not(.eyebrow){color:#526579}.footer-invitation .eyebrow{color:#0065ad}.footer-brand{display:inline-block;background:white;padding:.8rem 1.2rem;border-radius:14px;margin-bottom:2rem}.footer-directory h3{font-weight:500}.footer-utility{font-family:var(--font-body)}
@media(max-width:1100px){.shell-row{gap:.7rem;min-height:80px}}@media(max-width:600px){.shell-row{gap:.4rem;min-height:72px}.shell-language{font-size:.7rem}.shell-mobile summary{font-size:.72rem}.footer-invitation{padding:1.5rem}.brand-lockup{max-width:62%}}@media(max-width:360px){.shell-mobile summary>span:last-child{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.shell-brand img{width:126px}.shell-language{font-size:.68rem}}

/* Shared horizontal primary lockup, slim sticky navigation and signature ribbon. */
.review-header .header-inner,.header-inner{min-height:80px}.review-footer{padding-top:0;background:#174661}.footer-ribbon{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(105deg,#00c6e9,#00ddec 55%,#007fdb);padding:1.5rem 0;color:#12394e}.footer-ribbon>.wrap{display:flex;gap:2rem;align-items:center;justify-content:space-between;position:relative;z-index:1}.footer-ribbon h2{font-size:1.35rem;font-weight:500;color:#12394e}.footer-ribbon p{font-size:.95rem;margin-top:.3rem}.footer-ribbon .brand-lockup{background:white;border-radius:8px;padding:9px 12px}.footer-ribbon .button{flex-shrink:0}.brand-wave{position:absolute;right:-2rem;bottom:-1.5rem;width:300px;height:120px;color:#8ef8ff;opacity:.45;z-index:0}.footer-directory{padding-block:2.5rem;gap:2rem}.footer-directory h3{font-size:1rem}.footer-directory a,.footer-directory address{font-size:.9rem}.footer-utility{font-size:.75rem}.footer-review-note{font-size:.7rem}.footer-ribbon .brand-lettering{width:175px}@media(max-width:1100px){.footer-ribbon>.wrap{flex-wrap:wrap}.footer-ribbon .brand-lockup{display:none}}@media(max-width:600px){.header-inner{min-height:68px}.footer-ribbon>.wrap{gap:1rem}.footer-ribbon h2{font-size:1.3rem}.footer-ribbon .button{font-size:.9rem}.footer-directory{padding-block:2rem}.footer-ribbon{padding:1.5rem 0}}

@supports(grid-template-rows:subgrid){
.footer-offices>section{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:.6rem;align-items:start}
.footer-offices>section>*{margin-block:0}
.office-dropdown-panel>div{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:.8rem;align-items:start}
.office-dropdown-panel>div>*{margin-block:0}
}
.footer-offices h3,.office-dropdown-panel strong{text-wrap:balance}
.accessibility-help{padding:.75rem 0;background:#eefbfe;border-top:1px solid #c8edf3;text-align:center}.accessibility-help a{font-weight:700}

/* Bilingual treatment navigation. All destinations are verified live route pairs. */
.desktop-menu{position:static}.desktop-menu>summary{display:flex;align-items:center;gap:.42rem;min-height:44px;padding:.75rem 0;cursor:pointer;list-style:none;white-space:nowrap;font-size:.78rem;font-weight:600}.desktop-menu>summary::-webkit-details-marker,.mobile-group>summary::-webkit-details-marker{display:none}.desktop-menu>summary:hover,.desktop-menu>summary:focus-visible,.desktop-menu.is-current>summary,.desktop-menu[open]>summary{color:var(--teal)}.nav-chevron{width:.48rem;height:.48rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease;flex:none}.desktop-menu[open]>summary .nav-chevron,.mobile-group[open]>summary .nav-chevron{transform:rotate(225deg) translate(-1px,-1px)}
.nav-panel{position:absolute;top:100%;left:50%;z-index:5;transform:translateX(-50%);display:grid;gap:1.5rem;width:min(820px,calc(100vw - 2rem));padding:1.6rem;background:#fff;border:1px solid #dfedf5;border-radius:0 0 20px 20px;box-shadow:0 18px 38px #214e7024}.nav-panel-services{grid-template-columns:repeat(4,minmax(0,1fr));width:min(1120px,calc(100vw - 2rem))}.nav-panel-about,.nav-panel-resources{grid-template-columns:repeat(2,minmax(0,1fr));max-width:800px}.nav-panel-locations{grid-template-columns:1fr 1fr;max-width:720px}.nav-group{min-width:0}.nav-group h2,.nav-office-calls>p{margin:0 0 .7rem;color:var(--ink);font:700 .7rem/1.35 var(--font-body);letter-spacing:.09em;text-transform:uppercase}.nav-group a{display:flex;align-items:center;min-height:36px;padding:.35rem .25rem;color:var(--ink);font-size:.79rem;line-height:1.35;text-decoration:none;border-radius:7px}.nav-group a:hover,.nav-group a:focus-visible,.nav-group a[aria-current=page]{color:var(--teal);background:var(--soft);text-decoration:none}.nav-group a.priority-link{color:#b94c00;font-weight:700}.nav-office-calls{padding-left:1.4rem;border-left:1px solid var(--line)}.nav-office-calls a{display:grid;gap:.15rem;min-height:46px;padding:.5rem .65rem;color:var(--ink);font-size:.75rem;text-decoration:none;border-radius:8px}.nav-office-calls a:hover,.nav-office-calls a:focus-visible{background:var(--soft)}.nav-office-calls strong{font-size:.9rem}.nav-panel-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;min-height:46px;margin-top:.15rem;padding:.75rem 1rem;color:var(--teal-dark);background:#eefbfe;border-radius:10px;font-size:.82rem;font-weight:700;text-decoration:none}.nav-panel-footer:hover,.nav-panel-footer:focus-visible{color:var(--ink);background:#dcfaff}.desktop-contact{display:flex;align-items:center;min-height:44px}.shell-desktop>.desktop-contact{font-size:.78rem;font-weight:600}.shell-desktop>.desktop-contact[aria-current=page]{color:var(--teal)}

.mobile-panel>.mobile-home,.mobile-panel>.mobile-contact{min-height:52px;padding:.8rem .15rem}.mobile-group{border-bottom:1px solid var(--line)}.mobile-group>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:54px;padding:.75rem .15rem;color:var(--ink);cursor:pointer;list-style:none;font:500 1rem/1.25 var(--font-heading)}.mobile-group>summary:hover,.mobile-group>summary:focus-visible,.mobile-group.is-current>summary,.mobile-group[open]>summary{color:var(--teal)}.mobile-group-content{padding:0 .35rem 1rem}.mobile-nav-group{padding:.6rem 0}.mobile-nav-group h2{margin:0 0 .35rem;color:var(--muted);font:700 .65rem/1.35 var(--font-body);letter-spacing:.09em;text-transform:uppercase}.mobile-nav-link{display:flex;align-items:center;min-height:44px;padding:.55rem .6rem;color:var(--ink);font-size:.86rem;line-height:1.35;text-decoration:none;border-radius:8px}.mobile-nav-link:hover,.mobile-nav-link:focus-visible,.mobile-nav-link[aria-current=page]{color:var(--teal);background:var(--soft)}.mobile-nav-link.priority-link{color:#b94c00;font-weight:700}.mobile-section-footer{display:flex;align-items:center;justify-content:space-between;min-height:46px;margin-top:.5rem;padding:.7rem .8rem;color:var(--teal-dark);background:#eefbfe;border-radius:9px;font-size:.82rem;font-weight:700;text-decoration:none}.mobile-appointment{justify-content:center;width:100%;min-height:50px}.mobile-panel>.mobile-appointment{margin:1rem 0}.nav-open{overflow:hidden}

@media(max-width:1180px){.shell-row{gap:.7rem;min-height:80px}.shell-brand img{width:180px}.shell-desktop{display:none}.shell-actions{margin-left:auto}.shell-mobile{display:block}.mobile-panel{max-height:calc(100dvh - 80px)}}
@media(min-width:1181px){.shell-mobile{display:none}}
@media(max-width:600px){.mobile-panel{top:100%;max-height:calc(100dvh - 72px);border-radius:0 0 16px 16px}.mobile-group-content{padding-inline:.15rem}.mobile-nav-link{font-size:.84rem}.mobile-nav-group h2{font-size:.62rem}}
@media(prefers-reduced-motion:reduce){.nav-chevron{transition:none}}
