/* Header (20) owns dropdown stacking; panels start at the header edge. */
@font-face{font-family:ThemeIcons;src:url('/assets/theme-icons.woff2') format('woff2');font-display:block}
.theme-button{margin-left:auto;flex-shrink:0;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--pale);color:var(--text);cursor:pointer;transition:background .2s,transform .2s}
.theme-button:hover{background:var(--surface);transform:rotate(12deg);border-color:var(--accent)}
.theme-button:active{transform:scale(.94)}
.theme-button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.theme-icon{font-family:ThemeIcons;font-size:22px;line-height:1}
.sun:before{content:'\e472'}
.moon:before{content:'\e330'}
.theme-button .moon{display:none}
html[data-theme=dark] .theme-button .sun{display:none}
html[data-theme=dark] .theme-button .moon{display:block}
@media(max-width:1100px){.theme-button{order:1}}
.theme-control{display:flex;align-items:center;gap:6px;flex-shrink:0;font-size:12px;white-space:nowrap;margin-left:auto}
.theme-control select{font:inherit;background:var(--surface);color:var(--text);border:1px solid var(--line);padding:8px 5px;min-height:40px;cursor:pointer}
.theme-control select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
header{gap:28px}
header>.brand{flex-shrink:0}
header>nav{gap:28px;margin-left:auto;height:100%;flex-shrink:0;align-items:center}
header>.theme-button{margin-left:0}
header nav>a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
header nav>.contact-link{position:relative;border:0;padding:0}
header nav>.contact-link:after{content:'';position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor}
.footer-global{white-space:nowrap;letter-spacing:.08em;font-size:12px}
.nav-group{position:relative;display:flex;height:100%;align-items:center}
.nav-trigger{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 0;border:0;background:transparent;color:var(--text);font-weight:550;white-space:nowrap;cursor:pointer}
.chevron{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px}
.nav-trigger[aria-expanded=true] .chevron{transform:rotate(225deg);margin-top:3px}
.nav-trigger:hover,.nav-trigger[aria-expanded=true],nav a:hover{color:var(--accent)}
.dropdown{top:calc(100% + 1px);left:-20px;min-width:240px;padding:12px;gap:2px;max-height:calc(100dvh - 120px);overflow-y:auto;box-shadow:0 16px 36px #00284124}
.dropdown[hidden]{display:none}
.dropdown a{display:block;min-height:44px;padding:10px 12px;white-space:nowrap}
.dropdown a:hover,.dropdown a:focus-visible{background:var(--pale);color:var(--text)}
@media(max-width:1100px){
 .theme-control{order:1;margin-left:auto}
 .theme-control>span{display:none}
 .menu-toggle{order:2}
 header{gap:12px}
 header>.theme-button{margin-left:auto}
 header>nav{margin-left:0;height:auto}
 header{height:78px}
 .menu-toggle{display:block;background:transparent;color:var(--text);border:1px solid var(--line);padding:7px 14px;min-height:44px}
 nav{display:none;position:absolute;top:78px;left:0;right:0;height:auto;padding:20px 6vw;background:var(--surface);border-bottom:1px solid var(--line);max-height:calc(100dvh - 78px);overflow-y:auto;overscroll-behavior:contain}
 nav.open{display:grid;gap:12px}
 nav>a{padding:10px 0;min-height:44px;justify-self:start}
 .nav-group{display:block;height:auto;min-width:0}
 .nav-trigger{width:100%;justify-content:space-between;text-align:left}
 .dropdown{position:static;min-width:0;width:100%;max-height:none;box-shadow:none;border:0;border-left:1px solid var(--line);margin:8px 0 12px;padding:0 12px}
 .global{display:block}
 .hero{height:calc(100dvh - 78px)}
}
