/* WordPress integration and accessible responsive behavior. */
/* Keep the shared header aligned with the top bar and page content. */
#siteHeader .nav-inner { width: 100%; max-width: 1280px; margin-inline: auto; gap: 20px; }
#siteHeader .logo, #siteHeader .nav-cta { flex-shrink: 0; }
#siteHeader .nav-links { gap: 16px; }
#siteHeader .nav-links > li > a { white-space: nowrap; font-weight: 600; }
#siteHeader:not(.solid) { background: #f7f6f2; }
#siteHeader:not(.solid) .nav-links > li > a { color: #162a4d; }
#siteHeader:not(.solid) .nav-links > li > a:hover,
#siteHeader:not(.solid) .nav-links > li > a:focus-visible { color: #6c5cff; }
#siteHeader:not(.solid) .hamburger span { background: #0a0b12; }
#siteHeader.solid .nav-links > li > a { color: #f7f6f2; }
#siteHeader.solid .nav-links > li > a:hover,
#siteHeader.solid .nav-links > li > a:focus-visible { color: #a99dff; }
#siteHeader .mega h5 { color: #a99dff; }
#siteHeader .mega ul li a, #mobileMenu .mm-link { color: #f7f6f2; }
#siteHeader .mega ul li a:hover, #siteHeader .mega ul li a:focus-visible,
#mobileMenu .mm-link:hover, #mobileMenu .mm-link:focus-visible { color: #a99dff; }
#siteHeader .nav-cta .btn, #mobileMenu .btn { color: #fff; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 10000; padding: 12px 18px; color: #0a0b12; background: #fff; }
.skip-link:focus { top: 16px; }
:focus-visible { outline: 2px solid #8b7cff; outline-offset: 5px; }
.nav-links > li:focus-within .mega { opacity: 1; visibility: visible; transform: translate(-50%, 0); pointer-events: auto; }
body.menu-open { overflow: hidden; }
.mobile-menu { overflow-y: auto; }
body.admin-bar header { top: 32px; }
@media (max-width: 782px) { body.admin-bar header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar header { top: 0; } }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; } }

@media (min-width: 961px) and (max-width: 1180px) {
    .nav-links, .nav-cta .btn { display: none; }
    .hamburger { display: flex; }
}
