/* One header component for every public and administrative page. */
.site-header{height:72px;position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:24px;padding:0 4.7%;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 96%,transparent);backdrop-filter:blur(14px);transition:background-color .3s,border-color .3s}
.brand{display:inline-flex;align-items:center;flex-shrink:0;line-height:1}
.brand .brand-mark{display:block;width:136px;height:32px;fill:currentColor;flex-shrink:0;overflow:visible}
.site-header nav{display:flex;align-items:center;gap:28px;margin-left:auto;font:500 12px/1.5 var(--body)}
.site-header nav>a{display:inline-flex;align-items:center;min-height:44px;position:relative;white-space:nowrap}
.site-header nav>a:after{content:'';position:absolute;bottom:6px;left:0;right:0;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.site-header nav>a:hover:after,.site-header nav>a[aria-current=page]:after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:10px;margin-left:8px;flex-shrink:0}
.site-header .header-actions .button{height:42px;min-height:42px;margin:0;padding:0 18px;font:500 12px/1.5 var(--body);gap:12px;white-space:nowrap}
.site-header .header-actions .button span{font-size:16px;line-height:1}
.theme-toggle{width:42px;height:42px;min-width:42px;margin:0;padding:0;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--navy);display:grid;place-items:center;cursor:pointer;transition:color .2s,border-color .2s}
.theme-toggle svg{grid-area:1/1;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .theme-sun{display:none}
.theme-toggle .theme-moon{display:block}
[data-theme=dark] .theme-toggle .theme-sun{display:block;color:var(--orange)}
[data-theme=dark] .theme-toggle .theme-moon{display:none}
.theme-toggle:hover{color:var(--orange);border-color:var(--orange)}
.menu-toggle{display:none}
@media(max-width:1000px){
 .site-header{height:68px;padding:0 6%;gap:16px}
 .menu-toggle{display:flex;align-items:center;gap:13px;margin-left:auto;padding:10px 0 10px 12px;min-height:44px;border:0;background:none;color:var(--navy);font:500 10px/1.5 var(--body);letter-spacing:1px}
 .menu-toggle span{font-size:25px;line-height:1;transition:transform .2s}
 .menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}
 .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:20px 6% 28px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 18px 28px #071e3911;flex-direction:column;align-items:stretch;gap:4px;max-height:calc(100svh - 68px);overflow-y:auto}
 .site-header nav.open{display:flex}
 .site-header nav>a{font:500 25px/1.3 var(--heading);padding:10px 0;min-height:48px}
 .header-actions{width:100%;margin:12px 0 0;gap:10px}
 .site-header .header-actions .button{flex:1;height:44px;min-height:44px}
 .theme-toggle{width:44px;height:44px;min-width:44px}
}
@media(prefers-reduced-motion:reduce){.site-header,.site-header nav>a:after,.menu-toggle span,.theme-toggle{transition:none}}
