/* Header uses the viewport edges, independently from the editorial grid. */
@media(min-width:1051px){
 :root{--header-height:84px}
 #header{width:100%;max-width:none;height:var(--header-height);margin:0;padding:0 3.9vw;gap:clamp(45px,6.3vw,180px);display:flex;align-items:center}
 #header .brand{display:block;flex:0 0 auto;margin:0;padding:0}
 #header .ref-wordmark{width:clamp(180px,10.35vw,270px)}
 #main-nav{display:flex;flex:1;min-width:0;align-items:center;gap:clamp(38px,4.5vw,130px);margin:0;padding:0}
 #main-nav>a,.nav-service-toggle{font-size:18px;font-weight:500;line-height:1.2}
 #main-nav>a:not(.nav-contact){padding:15px 0}
 #main-nav .nav-contact{margin-left:auto;min-height:44px;padding:12px 24px;display:flex;align-items:center;justify-content:center;border-radius:40px;line-height:1.2}
 .nav-service-toggle{padding:15px 0;gap:12px}
 .service-menu{top:100%;left:-24px;width:290px;border-radius:0;padding:16px 24px;box-shadow:0 14px 30px #0002}
 #main-nav .service-menu a{white-space:normal;font-size:17px;line-height:1.4;padding:13px 0}
}
.nav-service-toggle span{font-size:0;display:block;width:7px;height:7px;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s;margin:0 3px}
.nav-service-toggle[aria-expanded=true] span{transform:rotate(135deg)}
#main-nav a:focus-visible,.nav-service-toggle:focus-visible,.preview-burger:focus-visible{outline:2px solid var(--cds-accent);outline-offset:6px}
#main-nav .service-menu a:hover{color:var(--cds-accent)}
@media(max-width:1050px){#header{padding-left:clamp(22px,4vw,42px);padding-right:clamp(22px,4vw,42px)}.nav-service-toggle{gap:14px}.nav-service-toggle span{width:8px;height:8px}}
/* Submenu labels inherit the mobile menu palette, including after scrolling. */
@media(max-width:1050px){
 #main-nav .service-menu{color:inherit}
 #headerwrap:is(.scrolled,.menu-open) #main-nav .service-menu a{color:inherit}
 #headerwrap:is(.scrolled,.menu-open) #main-nav .service-menu a:is(:hover,:focus-visible){color:var(--cds-accent)}
}

/* Compact header wordmark; the footer signature retains its approved size. */
@media(max-width:1050px){#header .ref-wordmark{width:clamp(189px,17.5vw,243px)}}
@media(max-width:540px){#header .ref-wordmark{width:180px}}

/* Shared theme preference, beside the contact action on every viewport. */
#main-nav .nav-actions{display:flex;align-items:center;gap:12px;flex-shrink:0;margin-left:auto}
#main-nav .nav-actions .nav-contact{margin:0;font-size:18px}
#main-nav .header-theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:10px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;cursor:pointer}
.header-theme-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.header-theme-toggle .theme-sun{display:none}
.header-theme-toggle[aria-pressed=true] .theme-moon{display:none}
.header-theme-toggle[aria-pressed=true] .theme-sun{display:block}
#main-nav .header-theme-toggle:focus-visible{outline:2px solid var(--cds-accent);outline-offset:5px}
@media(max-width:1050px){#main-nav .nav-actions{margin-left:0;gap:16px}}
