/* Local evaluation: scoped to the header; menu geometry and footer stay unchanged. */
.site-header { background: #fff; }
.site-header .site-nav { position: relative; isolation: isolate; background: var(--blue); border-top-color: var(--blue); }
/* Paint a full-window band without widening the container or clipping link focus. */
.site-header .site-nav::before { content: ''; position: absolute; inset: -1px 0 0; z-index: -1; background: var(--blue); box-shadow: 0 0 0 100vmax var(--blue); clip-path: inset(0 -100vmax); pointer-events: none; }
.site-header .site-nav .menu a,
.site-header .site-nav .contributions-link { color: #fff; text-decoration: none; border-radius: var(--radius); }
.site-header .site-nav .menu a:hover,
.site-header .site-nav .contributions-link:hover { color: #fff; background: rgb(255 255 255 / 10%); }
.site-header .site-nav .menu .current-menu-item > a,
.site-header .site-nav .menu a.site-area-current { color: #fff; text-decoration: underline; text-decoration-color: var(--gold); text-decoration-thickness: 2px; text-underline-offset: .55rem; }
.site-header .site-nav .menu .menu-association > a,
.site-header .site-nav .header-actions .button { position: relative; background: var(--gold); color: var(--blue-dark); border-color: var(--gold); }
.site-header .site-nav .menu .menu-association > a:hover,
.site-header .site-nav .header-actions .button:hover { background: var(--gold); color: var(--blue-dark); box-shadow: inset 0 0 0 100vmax rgb(255 255 255 / 12%); }
.site-header .site-nav .menu .menu-association.current-menu-item > a { text-decoration: none; }
.site-header .site-nav .menu .menu-association.current-menu-item > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -.25rem; height: 2px; background: var(--gold); }
.site-header .site-nav .sub-menu { background: var(--blue); }
.site-header .site-nav .submenu-toggle { color: #fff; }
.site-header .site-nav a:focus-visible,
.site-header .site-nav button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 6px var(--blue-dark); }
.js .site-header .menu-toggle { background: var(--blue); color: #fff; border-color: var(--blue); }
.js .site-header .menu-toggle:hover,
.js .site-header .menu-toggle[aria-expanded="true"] { background: var(--blue-dark); color: #fff; }
.site-header .menu-toggle:focus-visible { outline: 3px solid var(--blue-dark); outline-offset: 3px; box-shadow: 0 0 0 3px #fff; }
.site-header .menu-lines,
.site-header .menu-lines::before,
.site-header .menu-lines::after { display: block; width: 16px; height: 2px; background: currentColor; }
.site-header .menu-lines { position: relative; flex-shrink: 0; }
.site-header .menu-lines::before,
.site-header .menu-lines::after { content: ''; position: absolute; left: 0; }
.site-header .menu-lines::before { top: -5px; }
.site-header .menu-lines::after { top: 5px; }
.site-header .menu-toggle[aria-expanded="true"] .menu-lines { background: transparent; }
.site-header .menu-toggle[aria-expanded="true"] .menu-lines::before { top: 0; transform: rotate(45deg); }
.site-header .menu-toggle[aria-expanded="true"] .menu-lines::after { top: 0; transform: rotate(-45deg); }

/* Keep the user's high-contrast palette instead of using its yellow --blue as a band. */
.high-contrast .site-header,
.high-contrast .site-header .site-nav,
.high-contrast .site-header .site-nav .sub-menu { background: #000; color: #fff; }
.high-contrast .site-header .site-nav::before { background: #000; box-shadow: 0 0 0 100vmax #000; }
.high-contrast .site-header .site-nav .menu a,
.high-contrast .site-header .site-nav .contributions-link { color: #fff; text-decoration: underline; }
.high-contrast .site-header .site-nav .menu .current-menu-item > a,
.high-contrast .site-header .site-nav .menu a.site-area-current { text-decoration-color: #ffe66d; text-decoration-thickness: 3px; }
.high-contrast .site-header .site-nav .menu .menu-association > a,
.high-contrast .site-header .site-nav .header-actions .button,
.high-contrast.js .site-header .menu-toggle { background: #000; color: #fff; border: 2px solid #fff; box-shadow: none; }
.high-contrast .site-header .site-nav .menu a:hover,
.high-contrast .site-header .site-nav .contributions-link:hover,
.high-contrast .site-header .site-nav .header-actions .button:hover,
.high-contrast.js .site-header .menu-toggle:hover { background: #ffe66d; color: #000; box-shadow: none; }
.high-contrast .site-header .site-nav :focus-visible,
.high-contrast .site-header .menu-toggle:focus-visible { outline-color: #ffe66d; box-shadow: 0 0 0 6px #000; }
@media (forced-colors: active) {
    .site-header .site-nav { background: Canvas; border-color: CanvasText; }
    .site-header .site-nav::before { background: Canvas; box-shadow: none; }
    .site-header .site-nav .menu a { color: LinkText; }
    .site-header .site-nav .menu .menu-association > a { border: 1px solid ButtonText; }
    .site-header .site-nav :focus-visible,.site-header .menu-toggle:focus-visible { outline-color: Highlight; }
}
