/* Navigation only. Existing page styles remain untouched. */
.nav-toggle{position:fixed;z-index:90;top:20px;right:var(--gutter);min-height:44px;display:flex;align-items:center;gap:18px;padding:0 2px;font:400 12px/1 'Geist Mono',monospace;letter-spacing:.04em;color:var(--signal-bone);transition:color .18s ease}
.nav-toggle[hidden]{display:none}
.nav-toggle[data-tone=dark]{color:var(--signal-dark)}
.nav-lines{display:block;position:relative;width:26px;height:24px}
.nav-lines i{position:absolute;top:11px;left:0;width:26px;height:1px;background:currentColor;transform:translateY(-3px);transition:transform .35s cubic-bezier(.22,1,.36,1)}
.nav-lines i+i{transform:translateY(3px)}
.nav-toggle:hover{color:var(--signal-coral)}
.nav-toggle:hover .nav-lines i{transform:translateY(-5px)}
.nav-toggle:hover .nav-lines i+i{transform:translateY(5px)}
.site-menu{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;color:var(--signal-bone);background:rgba(23,25,23,.985);overflow:hidden;opacity:0;transition:opacity .3s ease;overscroll-behavior:contain}
.site-menu::backdrop{background:rgba(23,25,23,.25);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.site-menu[data-state=opening],.site-menu[data-state=open]{opacity:1}
.site-menu .nav-close{z-index:2;color:var(--signal-bone)}
.site-menu[data-state=opening] .nav-lines i,.site-menu[data-state=open] .nav-lines i{transform:rotate(45deg)}
.site-menu[data-state=opening] .nav-lines i+i,.site-menu[data-state=open] .nav-lines i+i{transform:rotate(-45deg)}
.nav-scroll{position:absolute;inset:100px 0 36px;overflow-y:auto;overscroll-behavior:contain;padding:8px max(var(--gutter),10vw) 14px;scrollbar-width:thin;scrollbar-color:var(--signal-grey) transparent}
.nav-list{list-style:none;margin:0;padding:0;max-width:1100px}
.nav-list li{overflow:hidden}
.nav-list a{display:flex;align-items:baseline;gap:28px;min-height:44px;padding:7px 2px;font:500 clamp(48px,7.1vh,72px)/1.07 'Inter Tight',Arial,sans-serif;letter-spacing:-.035em;transform:translateY(110%);opacity:0;transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .2s ease,color .18s ease;transition-delay:calc((7 - var(--order))*20ms)}
.nav-list small{flex:0 0 22px;font:400 10px/1.4 'Geist Mono',monospace;letter-spacing:0;color:var(--signal-grey);align-self:center}
.site-menu[data-state=opening] .nav-list a,.site-menu[data-state=open] .nav-list a{transform:none;opacity:1;transition-delay:calc(var(--order)*40ms),calc(var(--order)*40ms),0ms}
.nav-list a[aria-current=location],.nav-list a:hover,.nav-list a:focus-visible{color:var(--signal-coral)}
.nav-list a:focus-visible{outline-offset:-2px}
.nav-list a[aria-current=location] small{color:var(--signal-coral)}
@media(max-width:600px){
 .nav-toggle{top:14px;gap:12px;font-size:11px}
 .nav-scroll{inset:90px 0 0;padding:8px var(--gutter) max(28px,env(safe-area-inset-bottom))}
 .nav-list a{font-size:clamp(36px,9.4vw,48px);line-height:1.12;gap:14px;padding:11px 0;letter-spacing:-.04em}
 .nav-list small{flex-basis:16px;font-size:9px}
 .nav-list a span{min-width:0;overflow-wrap:anywhere;hyphens:auto}
}
@media(max-width:360px){.nav-list small{display:none}.nav-list a{gap:0}}
@media(prefers-reduced-motion:reduce){.site-menu,.nav-list a,.nav-lines i,.nav-toggle{transition:none!important}.nav-list a{transform:none}}
html.nav-reduced .site-menu,html.nav-reduced .nav-list a,html.nav-reduced .nav-lines i{transition:none!important}
