html{scroll-padding-top:86px}
body{overflow-x:hidden}
.top{z-index:30}
.header-inner{max-width:none;padding-inline:24px;min-height:72px}
.menu-toggle{display:none;border:1px solid var(--line);background:transparent;color:var(--ink);height:44px;padding:0 12px;font-weight:700}
.side-nav-heading{display:flex;justify-content:space-between;align-items:center;padding:7px 12px 16px;font-size:20px;font-weight:800}
.side-nav-heading button{display:none;border:0;background:transparent;color:var(--ink);font-size:29px}
.top nav#site-nav{display:flex;flex-direction:column;gap:3px;position:fixed;inset:72px 0 0 auto;width:248px;max-width:none;padding:20px 12px;background:var(--panel);border-left:1px solid var(--line);white-space:normal;overflow-y:auto;overscroll-behavior:contain}
.top nav#site-nav a{display:block;width:100%;padding:10px 12px;border-radius:7px;font-size:14px;line-height:1.35}
.top nav#site-nav a:hover{background:var(--bg)}
.top nav#site-nav a[aria-current=location]{background:var(--accent);color:var(--bg)}
#menu-backdrop{display:none}
main,footer{margin-right:248px}
.hero-grid{min-height:440px}
.hero-mark img{width:min(70%,310px)}
#about,#story,#coach{scroll-margin-top:80px}
@media(max-width:999px){
 .header-inner{min-height:72px;gap:12px;padding:8px 16px;flex-wrap:wrap}
 .menu-toggle{display:inline-flex;align-items:center;order:-1}
 .logo{min-width:0;font-size:19px}
 .controls{margin-inline-start:auto}
 .top nav#site-nav{inset:0 0 0 auto;width:min(84vw,320px);max-height:none;visibility:hidden;transform:translateX(105%);transition:transform .24s ease,visibility .24s ease;box-shadow:-18px 0 38px #0009;z-index:31}
 .side-nav-heading button{display:inline-flex}
 body.menu-open .top nav#site-nav{visibility:visible;transform:translateX(0)}
 #menu-backdrop{position:fixed;inset:0;width:100%;border:0;background:#050805b8;z-index:29}
 body.menu-open #menu-backdrop{display:block}
 body.menu-open{overflow:hidden}
 main,footer{margin-right:0}
 .hero-grid{min-height:0}
}
@media(max-width:600px){.header-inner{justify-content:space-between}.logo{font-size:17px}.logo img{width:38px;height:38px}.controls{width:100%;justify-content:center}.hero-mark{min-height:220px}.hero-mark img{width:190px}}
@media(prefers-reduced-motion:reduce){.top nav#site-nav{transition:none}}
