/* The sticky slot never changes height, so its animation cannot shift the page. */
.site-header{height:104px;position:sticky;top:0;background:transparent;pointer-events:none;transition:none;overflow:visible}
.header-shell{position:absolute;top:0;left:50%;transform:translateX(-50%);width:100%;background:var(--ivory);border-radius:0;pointer-events:auto;box-shadow:0 0 0 0 transparent;transition:width .56s var(--ease),top .56s var(--ease),border-radius .56s var(--ease),box-shadow .56s var(--ease)}
.header-inner{position:relative;height:104px;transition:height .56s var(--ease),width .56s var(--ease),border-color .3s}
.site-header .header-brand{position:relative;width:218px;height:56px;overflow:hidden;transition:width .56s var(--ease)}
.header-brand img{position:absolute;left:0;top:50%;transform:translateY(-50%);max-width:none;transition:opacity .2s ease}
.header-brand .brand-full{width:218px;opacity:1}
.header-brand .brand-symbol{width:56px;opacity:0}
.header-controls{position:relative;display:flex;align-items:center;justify-content:flex-end;min-width:44px;min-height:48px}
.desktop-nav{transition:opacity .18s ease,visibility .18s,transform .3s var(--ease)}
.site-header .menu-toggle{display:inline-flex;position:absolute;right:0;align-items:center;justify-content:center;gap:12px;min-height:48px;min-width:48px;padding:12px;color:var(--carbon);border:0;background:transparent;opacity:0;visibility:hidden;pointer-events:none;font-size:.875rem;transition:opacity .2s ease,visibility .2s,background .2s; border-radius:6px}
.menu-toggle:hover{background:rgba(23,23,23,.06)}
.site-header .menu-lines{position:relative;width:22px;height:16px;flex:none}
.site-header .menu-lines:before,.site-header .menu-lines:after{content:'';position:absolute;left:0;width:22px;height:2px;background:currentColor;transition:top .28s var(--ease),transform .28s var(--ease)}
.site-header .menu-lines:before{top:4px}.site-header .menu-lines:after{top:10px}
.site-header .menu-toggle[aria-expanded=true] .menu-lines:before{top:7px;transform:rotate(45deg)}
.site-header .menu-toggle[aria-expanded=true] .menu-lines:after{top:7px;transform:rotate(-45deg)}
.site-header.is-compact .header-shell{width:min(720px,calc(100% - 32px));top:12px;border-radius:12px;box-shadow:0 8px 32px rgba(23,23,23,.09),0 0 0 1px rgba(23,23,23,.12)}
.site-header.is-compact .header-inner{height:64px;width:calc(100% - 32px);border-color:transparent}
.site-header.is-compact .header-brand{width:56px}
.site-header.is-compact .brand-full{opacity:0}
.site-header.is-compact .brand-symbol{opacity:1;transition-delay:.1s}
.site-header.is-compact .desktop-nav{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px)}
.site-header.is-compact .menu-toggle{opacity:1;visibility:visible;pointer-events:auto;transition-delay:.12s}
/* A grid disclosure animates both directions without timers or fixed content heights. */
.site-header .mobile-nav{display:grid;grid-template-rows:0fr;position:static;top:auto;left:auto;right:auto;padding:0;border:0;background:transparent;opacity:0;visibility:hidden;transition:grid-template-rows .38s var(--ease),opacity .25s,visibility .38s;animation:none}
.mobile-nav-inner{min-height:0;overflow:hidden}
.menu-links{padding:0 24px 24px;max-height:calc(100dvh - 108px);overflow-y:auto;overscroll-behavior:contain}
.site-header .mobile-nav a{display:block;padding:18px 8px;font-size:1.0625rem;font-weight:600;line-height:1.5;border-top:1px solid var(--rule);transition:padding-left .25s var(--ease)}
.mobile-nav a:hover{padding-left:16px}
.mobile-nav a:focus-visible{outline-offset:-3px}
.site-header.menu-open .mobile-nav{grid-template-rows:1fr;opacity:1;visibility:visible}
.site-header:not(.header-ready) .header-shell,.site-header:not(.header-ready) .header-inner,.site-header:not(.header-ready) .header-brand,.site-header:not(.header-ready) img,.site-header:not(.header-ready) nav,.site-header:not(.header-ready) button{transition:none}
@media(min-width:761px){.site-header.is-compact .header-controls{position:absolute;right:0;left:64px}.site-header.is-compact .menu-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
@media(max-width:760px){.site-header{height:84px}.site-header .header-inner{height:84px}.site-header .header-brand{width:192px}.header-brand .brand-full{width:192px}.site-header .desktop-nav{display:none}.site-header .menu-toggle{opacity:1;visibility:visible;pointer-events:auto}.header-controls{width:90px}.site-header.is-compact .header-inner{height:64px}.site-header.is-compact .menu-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.site-header.is-compact .header-controls{width:48px}.site-header.is-compact .header-brand{width:56px}.site-header:not(.is-compact) .menu-links{padding-inline:var(--gutter)}.menu-links{max-height:calc(100dvh - 112px)}}
@media(max-width:360px){.site-header .header-brand{width:180px}.header-brand .brand-full{width:180px}.header-controls{width:72px}.site-header .menu-toggle{gap:8px;padding-inline:4px}.site-header.is-compact .header-brand{width:56px}}
@media(prefers-reduced-motion:reduce){.site-header *, .site-header *:before,.site-header *:after{transition:none!important;animation:none!important}}
