/* Shared navigation, readable reflow and touch targets. */
:root{--anchor-offset:100px}
[id]{scroll-margin-top:var(--anchor-offset)}
img{max-width:100%}
.wrap,.two>*,.foot>*,.steps li>*,.nav-inner>*{min-width:0}
p,a,h1,h2,h3,.q,.v4-ttl{overflow-wrap:anywhere}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
.nav-inner>a,.nav-links a,.nav-cta a{min-height:44px;display:inline-flex;align-items:center}
.nav-inner>a{flex-shrink:0}
.nav-cta a{justify-content:center;text-align:center}
.nav-links{gap:16px}
.nav-inner{gap:20px}
.nav-cta{flex-shrink:0}
.btn,.v4-cta a,.bio-btn,.links a{min-height:44px}
.btn,.v4-cta a{max-width:100%;justify-content:center;text-align:center}
.bio-btn{min-width:88px;text-align:left}
.foot a{display:flex;align-items:center;min-height:44px;width:fit-content;max-width:100%}
.forms,.locs,.bring{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
.team{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.foot{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}
.mobile-menu{display:none}
@media (min-width:861px) and (max-width:1100px){
 .nav-inner{gap:12px}.nav-links{gap:10px;font-size:12px}.nav-cta a{padding:9px 10px}
}
@media (max-width:860px){
 :root{--anchor-offset:150px}
 .wrap{padding-left:20px;padding-right:20px}
 .nav-inner{flex-wrap:wrap;gap:8px 16px;padding-top:8px;padding-bottom:10px}
 .nav-inner>a{margin-right:auto}
 .nav-links{display:none}
 .nav-cta{order:3;flex:1 0 100%;margin-left:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .nav-cta a{padding:10px 12px}
 .mobile-menu{display:block;position:relative}
 .mobile-menu summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;padding:8px 14px;border:1px solid var(--border-2);border-radius:8px;list-style:none}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu summary::after{content:'+';color:var(--brand);font-size:20px}
 .mobile-menu[open] summary::after{content:'−'}
 .mobile-menu-links{position:absolute;right:0;top:calc(100% + 8px);width:min(320px,calc(100vw - 40px));padding:8px;background:var(--surface);border:1px solid var(--border-2);border-radius:12px;box-shadow:0 16px 40px #0009;max-height:60svh;overflow:auto;z-index:25}
 .mobile-menu-links a{display:flex;align-items:center;min-height:44px;padding:10px 12px;font-size:14px;border-radius:6px}
 .mobile-menu-links a:hover{background:var(--surface-hover)}
 .two{grid-template-columns:minmax(0,1fr)!important;gap:28px}
 .how-sticky{position:static!important}
 section.wrap[style*="padding-top:110px"],section.wrap[style*="padding-top:100px"]{padding-top:64px!important}
 header.wrap{padding-top:48px!important}
 #courses{padding-top:56px!important;gap:56px!important}
 .contact-panel{padding:36px 20px!important}
 .v4-sticky{padding:16px 20px 0}
 .v4-intro{width:100%;min-width:0;min-height:clamp(360px,calc((100vw - 40px)*.75),615px);height:auto;aspect-ratio:auto;padding:36px 20px;justify-content:flex-end;will-change:auto}
 .v4-intro h1{flex-shrink:0;font-size:clamp(32px,6.2vw,54px);line-height:1.03;max-width:680px}
 .v4-intro .hero-img{object-position:62% 45%}
 .v4-intro .hero-shade{background:linear-gradient(180deg,#0b0b0c15,#0b0b0c40 35%,#0b0b0ce6)}
 .v4-grid{margin-top:24px;will-change:auto}
 .v4-grid>*{will-change:auto}
 .steps li{grid-template-columns:28px minmax(0,1fr);gap:12px;padding:20px}
 .steps .n{font-size:25px}
}
@media (max-width:380px){
 .wrap{padding-left:16px;padding-right:16px}
 .v4-sticky{padding:12px 16px 0}
 .v4-intro{padding:28px 16px}
 .v4-intro h1{font-size:32px}
 .v4-tile{padding:20px}
 .steps li{padding:18px 16px}
 .faq>div,.form,.loc,.bring>div{padding:20px}
 .contact-panel{padding:32px 16px!important}
}
.foot a{min-width:44px}
@media (min-width:861px){#how-to>.two{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}}