/* Spacious, click-operated navigation. Native details work without JavaScript. */
header{position:sticky;top:0;z-index:50}
header #site-menu,body.homepage header #site-menu{align-items:center;gap:22px}
header .mega-group{position:static}
header .mega-group summary{display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none;color:#07134f;font:600 13px 'Montserrat',sans-serif;letter-spacing:0;text-transform:none;padding:18px 0;white-space:nowrap}
header .mega-group summary::-webkit-details-marker{display:none}
header .mega-caret{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px}
header .mega-group[open] .mega-caret{transform:rotate(225deg);margin-top:4px}
header .mega-panel{position:absolute;top:calc(100% - 1px);right:24px;left:24px;max-width:1120px;margin:auto;background:#fff;border:1px solid #dce4e9;border-top:3px solid #00aeef;border-radius:0 0 14px 14px;box-shadow:0 18px 35px #07134f1f;display:grid;grid-template-columns:240px 1fr;overflow:hidden;text-align:left}
header .mega-intro{padding:30px;background:#f2f8fb}
header .mega-intro strong{display:block;font:600 25px 'Alegreya',serif;color:#07134f;margin-bottom:12px}
header .mega-intro p{font:400 14px/1.7 'Montserrat',sans-serif;color:#41506b;margin:0}
header .mega-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:28px 32px}
header .mega-heading{font:600 11px/1.5 'Montserrat',sans-serif;color:#53647d;letter-spacing:.09em;text-transform:uppercase;margin:0 0 12px}
header #site-menu .mega-column a,body.homepage header #site-menu .mega-column a{display:block;padding:12px;border-radius:6px;white-space:normal;text-decoration:none;letter-spacing:0;text-transform:none;color:#07134f;margin:0 -12px;font:600 14px/1.45 'Montserrat',sans-serif}
header .mega-column a small{display:block;margin-top:4px;font:400 12px/1.6 'Montserrat',sans-serif;color:#526079}
header #site-menu .mega-column a:hover,header #site-menu .mega-column a:focus-visible{background:#f0f7fb;color:#07134f}
header summary:focus-visible,header #site-menu a:focus-visible{outline:3px solid #00aeef;outline-offset:4px}
html{scroll-padding-top:120px}
[id]{scroll-margin-top:120px}
@media(min-width:1181px){header .menu-toggle,body.homepage header .menu-toggle{display:none}header #site-menu,body.homepage header #site-menu{display:flex}}
@media(max-width:1180px){header .menu-toggle,body.homepage header .menu-toggle{display:flex}header #site-menu,body.homepage header #site-menu{display:none}header #site-menu.is-open,body.homepage header #site-menu.is-open{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:16px 24px;background:#fff;border-bottom:1px solid #dce4e9;max-height:calc(100dvh - 90px);overflow-y:auto}header #site-menu>a,body.homepage header #site-menu>a{padding:16px 0}header .mega-group{border-bottom:1px solid #e5eaf0}header .mega-group summary{justify-content:space-between;padding:18px 0;white-space:normal}header .mega-panel{position:static;display:block;border:0;border-radius:0;box-shadow:none;padding:0 0 12px;overflow:visible}header .mega-intro{padding:16px;border-radius:6px}header .mega-intro strong{display:none}header .mega-columns{padding:20px 12px 0;gap:20px}header #site-menu>a.button,body.homepage header #site-menu>a.button{padding:14px 20px;margin-top:12px;text-align:center}}
@media(max-width:600px){header .mega-columns{grid-template-columns:1fr}header .mega-column a small{font-size:13px}header .mega-intro p{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
header .mega-group{margin:0;padding:0;background:transparent;border-radius:0;box-shadow:none}

header .mega-intro .mega-start-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;padding:14px 16px;border-radius:8px;background:#07134f;color:#fff;font:600 14px/1.5 'Montserrat',sans-serif;text-transform:none;letter-spacing:0;text-decoration:none}
header .mega-intro .mega-start-cta:hover{background:#15387a}
/* Keep navigation mode consistent at tablet/narrow-desktop widths. */
@media(max-width:1180px){body header #site-menu:not(.is-open){display:none!important}body header .menu-toggle{display:flex!important}}
