/* Header and navigation only. Brand dimensions are independent of footer.css. */
.utility-bar{background:var(--navy);color:#e4f1fc;font-size:.8125rem;letter-spacing:.02em}
.utility-bar .container{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.utility-bar a{color:var(--aqua);text-decoration:none}
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.header-inner{min-height:98px;display:flex;align-items:center;gap:38px;position:relative}
.header-brand{display:block;flex:0 0 auto}
.header-logo{display:block;width:220px;height:60px;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:27px;margin-left:auto;align-self:stretch}
.nav-link,.services-toggle{font:700 .875rem/1.25 var(--body);letter-spacing:.07em;text-transform:uppercase;color:var(--navy);text-decoration:none;display:flex;align-items:center;gap:7px;position:relative;padding:12px 0;background:none;border:0;cursor:pointer}
.nav-link:after,.services-toggle:after{content:'';position:absolute;left:0;right:0;bottom:-20px;height:3px;background:var(--blue);transform:scaleX(0);transition:transform .2s}
.nav-link:hover:after,.services-toggle[aria-expanded=true]:after{transform:scaleX(1)}
.services-toggle .icon{width:15px;height:15px;transition:transform .2s}
.services-toggle[aria-expanded=true] .icon{transform:rotate(180deg)}
.header-cta{padding:15px 19px;white-space:nowrap;font-size:.875rem;flex-shrink:0}
.mobile-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:4px;color:var(--blue);padding:10px;cursor:pointer}
.mega-menu{position:absolute;top:calc(100% - 1px);left:0;right:0;background:var(--navy);color:#fff;border:1px solid #315577;border-top:4px solid var(--aqua);box-shadow:0 22px 40px #0b254530;padding:30px 34px 0;border-radius:0 0 8px 8px;max-height:calc(100dvh - 105px);overflow-y:auto;overscroll-behavior:contain}
.mega-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 32px}
.mega-group h2{font-family:var(--heading);font-size:1.35rem;letter-spacing:.015em;color:var(--aqua);text-transform:uppercase;margin:0 0 11px;padding-bottom:10px;border-bottom:1px solid #315577}
.mega-group ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.mega-group a{color:#e4f1fc;text-decoration:none;font-size:.9375rem;line-height:1.4;display:block}
.mega-group a:hover{color:var(--orange);text-decoration:underline;text-underline-offset:4px}
.mega-bottom{margin:26px -34px 0;padding:16px 34px;background:#143658;display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:.875rem}
.mega-bottom a{display:flex;align-items:center;gap:8px;color:var(--aqua);font-weight:700;text-decoration:none}
.mega-bottom .icon{width:18px;height:18px}
@media(min-width:1001px){.main-nav[hidden]{display:flex!important}}
@media(max-width:1150px){.header-inner{gap:24px}.main-nav{gap:20px}.header-logo{width:195px;height:54px}.header-cta{font-size:.8125rem;padding:14px}}
@media(max-width:1000px){.header-inner{min-height:82px;justify-content:space-between;gap:15px}.header-logo{width:200px;height:55px}.header-cta{margin-left:auto}.mobile-toggle{display:flex}.main-nav{position:absolute;left:0;right:0;top:100%;background:#fff;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px 22px 24px;border:1px solid var(--line);box-shadow:0 15px 25px #0b254522;max-height:calc(100dvh - 82px);overflow-y:auto;overscroll-behavior:contain}.nav-link,.services-toggle{padding:17px 0;width:100%;justify-content:space-between;border-bottom:1px solid var(--line)}.nav-link:after,.services-toggle:after{display:none}.mega-menu{position:static;margin:10px 0 0;padding:22px;max-height:none;border-radius:4px;box-shadow:none}.mega-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.mega-bottom{margin:24px -22px -22px;padding:18px 22px;align-items:flex-start;flex-direction:column}.mega-group h2{font-size:1.2rem}.main-nav[hidden]{display:none}}
@media(max-width:600px){.utility-bar .container{justify-content:center;font-size:.75rem;min-height:30px}.utility-bar span:last-child{display:none}.header-inner{min-height:76px;gap:12px}.header-logo{width:180px;height:49px}.header-cta{display:none}.mobile-toggle{margin-left:auto}.mega-grid{grid-template-columns:1fr}.mega-menu{padding:20px}.mega-bottom{margin:22px -20px -20px;padding:18px 20px}.mega-group a{font-size:1rem}.main-nav{max-height:calc(100dvh - 76px)}}
