/* Shared compact navigation and accessible dropdown panels. */
:root { --header: 88px; }
.site-header { height:var(--header); background:#fff; color:#082947; border-bottom:1px solid #e4e9ee; z-index:100; transition:background .2s,color .2s,box-shadow .2s; }
.site-header.is-scrolled { box-shadow:0 4px 20px #08294712; }
.header-inner { position:relative; max-width:1480px; height:100%; margin:auto; padding:0 32px; gap:32px; }
.site-header .brand { color:inherit; font-size:1.0625rem; gap:12px; flex-shrink:0; }
.site-header .brand-logo { width:50px; height:auto; }
.site-header nav#primary-navigation { gap:32px; margin-left:auto; }
.site-header nav ul { gap:20px; }
.site-header .has-menu { position:static; }
.site-header .submenu-toggle { display:flex; align-items:center; gap:9px; width:auto; height:48px; padding:0; border:0; background:transparent; color:inherit; font:inherit; font-size:.9375rem; cursor:pointer; }
.nav-chevron { width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); transition:transform .2s; margin-top:-4px; }
.submenu-toggle[aria-expanded="true"] .nav-chevron { transform:rotate(225deg); margin-top:4px; }
.site-header .button.small { border-radius:30px; padding:13px 24px; white-space:nowrap; }
.site-header .mega-menu { position:absolute; top:calc(100% + 8px); left:auto; right:24px; width:min(1000px,calc(100vw - 48px)); display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:36px; padding:32px; border:1px solid #e4e9ee; border-radius:16px; background:#fff; color:#082947; box-shadow:0 16px 48px #08294724; }
.site-header .mega-menu[hidden] { display:none; }
.site-header .mega-menu h2 { font-size:1.65rem; margin:0 0 14px; }
.site-header .mega-menu h3 { font-size:1.0625rem; margin:0 0 12px; }
.site-header .mega-menu p { font-size:.9375rem; line-height:1.6; margin:0; }
.site-header .mega-menu .eyebrow { font-size:.7rem; margin-bottom:14px; }
.site-header .mega-menu .menu-links { display:block; }
.site-header nav .mega-menu a { display:block; padding:12px 0; font-size:.9375rem; white-space:normal; color:#073f81; border-bottom:1px solid #e4e9ee; }
.site-header .menu-feature { background:#eef4f8; padding:24px; border-radius:10px; }
.site-header .mega-menu .menu-feature a { border:0; margin-top:12px; }
body[data-page="index"] .site-header:not(.is-scrolled) { background:#073f81; color:#fff; border-color:#073f81; }
body[data-page="index"] .site-header:not(.is-scrolled) .button.small { background:#fff; border-color:#fff; color:#073f81; }
@media (max-width:1100px) {
 :root { --header:82px; }
 .header-inner { padding:0 24px; gap:16px; }
 .site-header .mobile-toggle { margin-left:auto; background:transparent; color:inherit; border-color:currentColor; border-radius:24px; }
 .site-header nav#primary-navigation { gap:20px; margin-left:0; color:#082947; padding:24px; }
 .site-header nav ul { gap:0; }
 .site-header .submenu-toggle { width:100%; height:auto; min-height:64px; justify-content:space-between; padding:16px 0; font-size:1.125rem; }
 .site-header .mega-menu { position:static; width:auto; display:block; padding:0 0 20px; border:0; border-radius:0; box-shadow:none; }
 .site-header .mega-menu .menu-intro,.site-header .mega-menu .menu-feature { display:none; }
 .site-header .mega-menu .menu-links { display:block; }
 .site-header .menu-links h3 { display:none; }
 .site-header nav .mega-menu a { padding:14px 16px; font-size:1rem; background:#f3f6f8; border:0; margin-bottom:4px; }
 body[data-page="index"] .site-header:not(.is-scrolled) nav .button.small { background:#073f81; border-color:#073f81; color:#fff; }
}
@media (max-width:620px) {
 :root { --header:76px; }
 .header-inner { padding:0 20px; gap:10px; }
 .site-header .brand { font-size:.9375rem; gap:10px; }
 .site-header .brand-logo { width:42px; }
 .site-header nav#primary-navigation { padding:20px; }
}
@media (prefers-reduced-motion:reduce) { .site-header,.nav-chevron { transition:none; } }
