/* Shared trial finish for the homepage and consultation/referral previews. */
:root{
 --nav-glass:rgba(249,250,252,.72);--nav-panel:rgba(249,250,252,.9);
 --nav-ink:#26303b;--nav-muted:#4d5968;--nav-accent:#0062c4;
 --nav-line:rgba(42,54,69,.15);--nav-hover:rgba(35,60,91,.065);
 --nav-sheen:linear-gradient(125deg,#ffffff48,#ffffff08 48%,#ffffff20);
 --nav-shadow:inset 0 1px 0 #ffffffd9,inset 0 -1px 0 #ffffff40,0 10px 32px #17263d14;
 --nav-panel-shadow:0 16px 40px #17263d18;--nav-logo:brightness(0);
 --nav-focus:#0068d5;
}
html[data-theme="dark"]{
 --nav-glass:rgba(24,31,41,.72);--nav-panel:rgba(24,31,41,.9);
 --nav-ink:#f0f3f8;--nav-muted:#c5cdd8;--nav-accent:#92c4ff;
 --nav-line:rgba(220,231,249,.17);--nav-hover:rgba(225,237,255,.085);
 --nav-sheen:linear-gradient(125deg,#ffffff0d,#ffffff00 48%,#ffffff05);
 --nav-shadow:inset 0 1px 0 #ffffff30,inset 0 -1px 0 #ffffff0a,0 10px 32px #00000026;
 --nav-panel-shadow:0 16px 40px #00000035;--nav-logo:brightness(0) invert(1);
 --nav-focus:#9bccff;
}
/* Include the scroll-state selector so the same palette applies over the hero. */
:root nav:is(#mainNav,#mainNav.light,#dvNav){
 position:fixed;top:16px;left:50%;right:auto;width:calc(100% - 48px);max-width:1130px;height:auto;margin:0;padding:0;transform:translateX(-50%);border-radius:999px;
 font-family:var(--font);line-height:1.4;
 background:var(--nav-sheen),var(--nav-glass);border:1px solid var(--nav-line);box-shadow:var(--nav-shadow);
 backdrop-filter:blur(32px) saturate(170%);-webkit-backdrop-filter:blur(32px) saturate(170%);
 transition:background .25s ease,border-color .25s ease,box-shadow .25s ease;
}
:root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-inner,.dv-nav-inner){width:100%;max-width:none;min-height:0;height:60px;margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;padding:0 18px}
:root nav:is(#mainNav,#mainNav.light,#dvNav) .nav-left{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;flex:0 0 auto;width:auto;max-width:none;gap:10px;margin:0;order:0;grid-column:1;justify-self:start}
:root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-menu,.dv-nav-menu){display:flex;align-items:center;gap:0;grid-column:2;justify-self:center;margin:0;padding:0;list-style:none}
:root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-actions,.dv-nav-actions){display:flex;align-items:center;gap:12px;grid-column:3;justify-self:end}
:root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-logo,.dv-nav-logo){display:flex;align-items:center;flex-shrink:0;order:0}
:root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-logo img,.dv-nav-logo img){filter:var(--nav-logo);height:28px;width:auto}
:root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-item>a,.dv-nav-item>a,.treatment-menu-button){color:var(--nav-ink);font-family:inherit;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0;white-space:nowrap;min-height:44px;display:flex;align-items:center;gap:8px;padding:10px 12px}
:root nav:is(#mainNav,#mainNav.light,#dvNav) .menu-chevron{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8}
:root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-item>a,.dv-nav-item>a,.treatment-menu-button):is(:hover,[aria-current="location"],[aria-expanded="true"]){background:var(--nav-hover);color:var(--nav-ink)}
:root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.theme-toggle,.nav-mobile-btn,.dv-nav-mobile-btn){color:var(--nav-ink);background:transparent;border:1px solid var(--nav-line);min-width:44px;min-height:44px}
:root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.theme-toggle,.nav-mobile-btn,.dv-nav-mobile-btn):hover{background:var(--nav-hover);color:var(--nav-ink);transform:none}
:root nav:is(#mainNav,#mainNav.light,#dvNav) .theme-toggle{position:relative;display:grid;place-items:center;order:1;width:44px;height:44px;padding:0;border-color:transparent;background:var(--nav-hover);border-radius:50%;box-shadow:inset 0 1px 0 #ffffff16}
.theme-symbol{position:relative;display:block;width:20px;height:20px}
.theme-symbol svg{position:absolute;inset:0;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:opacity .22s ease,transform .3s ease}
.theme-symbol .theme-moon{opacity:1;transform:rotate(0) scale(1)}
.theme-symbol .theme-sun{opacity:0;transform:rotate(-45deg) scale(.7)}
html[data-theme="dark"] .theme-symbol .theme-moon{opacity:0;transform:rotate(35deg) scale(.7)}
html[data-theme="dark"] .theme-symbol .theme-sun{opacity:1;transform:rotate(0) scale(1)}
:root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-cta,.dv-nav-cta){display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-size:14px;font-weight:500;letter-spacing:0;line-height:20px;min-height:44px;padding:12px 19px;gap:12px;border:0;border-radius:999px;box-shadow:none;background:#0071e3;color:#fff;white-space:nowrap}
:root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-cta,.dv-nav-cta)>span{font-size:21px;line-height:1}
:root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-mobile-btn,.dv-nav-mobile-btn){display:none;font-family:inherit;font-size:14px;line-height:20px;padding:10px 16px;border-radius:999px;cursor:pointer}
:root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-cta,.dv-nav-cta):hover{background:#0063c7;box-shadow:none;transform:translateY(-1px)}
:root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-dropdown,.dv-dropdown){background:var(--nav-sheen),var(--nav-panel);border-color:var(--nav-line);box-shadow:var(--nav-panel-shadow);backdrop-filter:blur(32px) saturate(160%);-webkit-backdrop-filter:blur(32px) saturate(160%)}
:root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-dropdown,.dv-dropdown) a{color:var(--nav-ink)}
:root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-dropdown,.dv-dropdown) a:hover{color:var(--nav-ink);background:var(--nav-hover)}
:root nav:is(#mainNav,#mainNav.light,#dvNav) .nav-dropdown-divider{background:var(--nav-line)}
:root nav:is(#mainNav,#mainNav.light,#dvNav) .mega-intro{background:var(--nav-hover);border-color:var(--nav-line)}
:root nav:is(#mainNav,#mainNav.light,#dvNav) .mega-intro>span{color:var(--nav-accent)}
:root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.mega-intro p,.mega-links strong){color:var(--nav-ink)}
:root nav:is(#mainNav,#mainNav.light,#dvNav) .mega-links span{color:var(--nav-muted)}
html:root :is(.nav-mobile-panel,.dv-mobile-panel){top:88px;background:var(--nav-sheen),var(--nav-panel);border-color:var(--nav-line);box-shadow:var(--nav-panel-shadow);backdrop-filter:blur(32px) saturate(160%);-webkit-backdrop-filter:blur(32px) saturate(160%)}
html:root :is(.nav-mobile-panel,.dv-mobile-panel) a{color:var(--nav-ink);border-color:var(--nav-line)}
html:root :is(.nav-mobile-panel,.dv-mobile-panel) a:hover{background:var(--nav-hover)}
html:root :is(.nav-mobile-panel,.dv-mobile-panel) :is(.nav-mobile-cta,.dv-mobile-cta){background:#0071e3;color:white}
:root nav:is(#mainNav,#mainNav.light,#dvNav) :is(a,button):focus-visible,:root :is(.nav-mobile-panel,.dv-mobile-panel) a:focus-visible{outline:2px solid var(--nav-focus);outline-offset:3px}
@media(max-width:1100px){
 :root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-inner,.dv-nav-inner){display:flex;justify-content:space-between}
 :root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-menu,.dv-nav-menu){display:none}
 :root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-mobile-btn,.dv-nav-mobile-btn){display:block}
}
@media(max-width:760px){:root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-cta,.dv-nav-cta){display:none}}
@media(max-width:600px){
 :root nav:is(#mainNav,#mainNav.light,#dvNav){top:12px;width:calc(100% - 28px)}
 :root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-inner,.dv-nav-inner){height:56px}
 html:root :is(.nav-mobile-panel,.dv-mobile-panel){top:80px}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 :root nav:is(#mainNav,#mainNav.light,#dvNav){background:var(--nav-panel)}
}
@media(prefers-reduced-motion:reduce){:root nav:is(#mainNav,#mainNav.light,#dvNav),.theme-symbol svg{transition:none}}
/* Sections already include heading space: do not add two anchor offsets. */
:root nav:is(#mainNav,#mainNav.light,#dvNav) .nav-refer{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid var(--nav-line);border-radius:999px;color:var(--nav-ink);font:500 13px/1.3 var(--font);text-decoration:none;white-space:nowrap}
:root nav:is(#mainNav,#mainNav.light,#dvNav){max-width:1320px}
@media(max-width:1250px){
 :root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-inner,.dv-nav-inner){display:flex;justify-content:space-between}
 :root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-menu,.dv-nav-menu){display:none}
 :root nav:is(#mainNav,#mainNav.light,#dvNav) :is(.nav-mobile-btn,.dv-nav-mobile-btn){display:block}
}
@media(max-width:600px){:root nav:is(#mainNav,#mainNav.light,#dvNav) .nav-refer{font-size:12px;padding:8px}}
html:root{scroll-padding-top:0}
html:root section[id]{scroll-margin-top:0}
html:root #philosophy{scroll-margin-top:0}
html:root #form{scroll-margin-top:96px}
html:root #why .si{padding-top:max(96px,6vw)}
html:root section[id]:target{padding-top:max(96px,8vw)}
html:root #why:target{padding-top:0}
@media(max-width:600px){
 html:root section[id]:target{padding-top:84px}
 html:root #why:target{padding-top:0}
 html:root #why .si{padding-top:84px}
 html:root #form{scroll-margin-top:84px}
}
