/* NNL reference: compact sticky header on scroll; 200ms ease, burger 400ms. */
html{scroll-padding-top:155px}
body>header{position:fixed;inset:0 0 auto;z-index:1000;max-height:100dvh;overflow:auto;overflow-anchor:none}
.header-spacer{pointer-events:none;overflow-anchor:none}
header .head{transition:padding .2s ease,grid-template-rows .2s ease}
header .region-brand{transition:width .2s ease}
header .primary-topics{overflow:hidden;transition:height .2s ease,margin .2s ease;box-sizing:border-box}
header .header-contour{overflow:hidden;transition:height .2s ease}
header.is-scrolled{box-shadow:0 0 18px #00000017,0 0 5px #00000012}
header.is-scrolled .head{grid-template-columns:minmax(0,1fr) 185px;grid-template-rows:100px auto}
header.is-scrolled .region-brand{width:185px}
header.is-scrolled .quick-links{padding-top:20px}
header.is-scrolled .header-contour{height:0;margin:0}
header.is-scrolled .primary-topics{height:0!important;margin:0!important;visibility:hidden}
body.nav-open header.is-scrolled .primary-topics{height:auto!important;visibility:visible;margin:0 0 20px!important}
header #site-tools{overflow:hidden}
header .burger-icon i{transition:transform .4s ease,opacity .4s ease}
@media(max-width:700px){
 html{scroll-padding-top:90px}
 header.is-scrolled .head{grid-template-columns:minmax(0,1fr) 200px;grid-template-rows:auto;min-height:80px}
 header.is-scrolled .quick-links{padding-top:18px;padding-bottom:18px}
 header.is-scrolled .region-brand{width:200px}
 body:not(.nav-open) header.is-scrolled{background:transparent;box-shadow:none;pointer-events:none}
 body:not(.nav-open) header.is-scrolled .region-brand{display:none}
 header.is-scrolled .quick-links>button{pointer-events:auto;border-color:white}
 body.nav-open header.is-scrolled .primary-topics{margin:12px 0!important}
}
.contrast header.is-scrolled{background:#000;box-shadow:0 1px white}
@media(prefers-reduced-motion:reduce){header *,header *:before{transition:none!important;animation:none!important}}
@media print{.header-spacer{display:none}}
@media(max-width:700px){body:not(.nav-open) header.is-scrolled .head{grid-template-columns:1fr}body:not(.nav-open) header.is-scrolled .quick-links{flex-wrap:nowrap}body:not(.nav-open) header.is-scrolled #search-toggle{margin-inline-start:auto}}
body>.skip:focus{z-index:1001}

/* Do not compensate a shrinking header reservation by scrolling the document. */
html,body{overflow-anchor:none}
