/* Shared navigation: loaded after page styles to keep every header consistent. */
:root { --nav-h: 72px; }
nav.site-nav, .site-menu { --header-bg: #f4eee7; --header-ink: #302e29; --header-muted: #68645e; --header-blue: oklch(55% .17 246); box-sizing: border-box; font-family: 'Figtree', system-ui, sans-serif; }
nav.site-nav { position: fixed; inset: 0 0 auto; z-index: 100; height: 72px; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 max(5vw, calc((100vw - 1100px) / 2)); background: var(--header-bg); border: 0; box-shadow: none; }
nav.site-nav .nav-logo { position: static; transform: none; margin: 0; font: 700 1.45rem/1 'Quantico', Arial, sans-serif; letter-spacing: .015em; text-transform: uppercase; text-decoration: none; color: var(--header-ink); white-space: nowrap; }
nav.site-nav .nav-logo span { color: var(--header-blue); }
nav.site-nav .nav-right { display: flex; align-items: center; gap: 24px; }
nav.site-nav .nav-link, .site-menu .mobile-link { font: 400 .82rem/1.4 'Figtree', system-ui, sans-serif; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; color: var(--header-muted); white-space: nowrap; }
nav.site-nav .nav-link:hover, nav.site-nav .nav-link[aria-current], .site-menu .mobile-link:hover, .site-menu .mobile-link[aria-current] { color: var(--header-blue); }
nav.site-nav .nav-cta, .site-menu .nav-cta { display: inline-block; font: 500 .82rem/1.4 'Figtree', system-ui, sans-serif; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; background: var(--header-ink); color: var(--header-bg); padding: .6rem 1.4rem; border: 0; border-radius: 2px; white-space: nowrap; }
nav.site-nav .nav-cta:hover, .site-menu .nav-cta:hover { background: var(--header-blue); }
nav.site-nav .nav-hamburger { display: none; flex-direction: column; align-items: center; justify-content: center; gap: 5px; width: 44px; height: 44px; padding: 4px; border: 0; background: none; cursor: pointer; }
nav.site-nav .nav-hamburger span { display: block; width: 22px; height: 1.5px; background: var(--header-ink); transition: transform .2s, opacity .2s; }
nav.site-nav .nav-hamburger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
nav.site-nav .nav-hamburger.open span:nth-child(2) { opacity: 0; }
nav.site-nav .nav-hamburger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
.site-menu { display: none; }
.site-nav a:focus-visible, .site-nav button:focus-visible, .site-menu a:focus-visible { outline: 3px solid var(--header-blue); outline-offset: 5px; }
body.has-added-header { padding-top: 72px; }
.article-tools { display: flex; justify-content: space-between; margin-bottom: 28px; }
@media (max-width: 1000px) {
 nav.site-nav { padding: 0 6vw; }
 nav.site-nav .nav-right { display: none; }
 nav.site-nav .nav-hamburger { display: flex; }
 .site-menu { position: fixed; inset: 72px 0 0; z-index: 99; background: var(--header-bg); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2rem; overflow-y: auto; padding: 24px; opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s; }
 .site-menu.open { opacity: 1; visibility: visible; }
 .site-menu .mobile-link { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .site-menu, nav.site-nav .nav-hamburger span { transition: none; } }
