/* Clear section navigation; the original mark and the site's blue/gold palette. */
.site-header { position: fixed; top: 0; left: 0; z-index: 50; width: 100%; background: #fff; border-bottom: 1px solid rgb(0 59 109 / 12%); }
.site-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; width: 100%; max-width: 96rem; min-height: 88px; margin-inline: auto; padding: 1rem 3rem; }
.site-brand { display: inline-flex; align-items: center; flex-shrink: 0; min-height: 44px; }
.site-brand img { display: block; width: 140px; height: auto; max-width: 100%; object-fit: contain; }
.site-nav a { color: #365e80; text-decoration: none; }
.site-nav a:hover, .site-nav a:focus-visible { color: #003b6d; text-decoration: underline; text-decoration-thickness: 1px; }
.site-nav a[aria-current="location"] { color: #80641c; text-decoration: underline; text-decoration-thickness: 2px; }
.desktop-nav { display: flex; flex: 1 1 auto; flex-wrap: wrap; justify-content: center; align-items: center; gap: .25rem clamp(.75rem,1.8vw,2rem); min-width: 0; }
.desktop-nav a { display: inline-flex; align-items: center; min-height: 44px; padding-inline: .25rem; font-size: .8125rem; font-weight: 500; line-height: 1.5; }
.header-quote { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; gap: .75rem; min-height: 44px; padding: .75rem 1rem; border-radius: 2px; background: #003b6d; color: #fff; font-size: .8125rem; font-weight: 600; line-height: 1.5; transition: background-color 180ms; }
.header-quote:hover, .header-quote:focus-visible, .mobile-quote:hover, .mobile-quote:focus-visible { background: #005da9; }
.header-quote svg, .mobile-quote svg { flex-shrink: 0; }
.menu-toggle { display: none; align-items: center; justify-content: center; flex-shrink: 0; gap: 12px; min-height: 44px; min-width: 44px; padding: 8px; color: #003b6d; }
.menu-toggle-label { font-size: .875rem; font-weight: 500; line-height: 1.5; }
.menu-toggle-icon { position: relative; display: block; width: 24px; height: 24px; }
.menu-toggle-icon i { position: absolute; top: 8px; left: 0; width: 24px; height: 1.5px; background: currentColor; transition: transform 180ms,top 180ms; }
.menu-toggle-icon i:last-child { top: 15px; }
.menu-toggle[aria-expanded="true"] .menu-toggle-icon i { top: 11px; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle-icon i:last-child { transform: rotate(-45deg); }
.mobile-menu { position: fixed; inset: 0; z-index: 40; overflow-y: auto; overscroll-behavior: contain; padding: calc(var(--site-header-height,88px) + 1.5rem) 1.5rem 2rem; background: #fff; }
.mobile-menu-inner { width: 100%; max-width: 40rem; margin-inline: auto; }
.mobile-nav { display: flex; flex-direction: column; }
.mobile-nav a { display: flex; align-items: center; min-height: 64px; padding: 1rem .25rem; border-bottom: 1px solid rgb(0 59 109 / 15%); color: #003b6d; font-size: clamp(1.5rem,3.5vw,2rem); font-weight: 600; line-height: 1.2; letter-spacing: -.02em; overflow-wrap: anywhere; hyphens: auto; }
.mobile-quote { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 56px; margin-top: 1.5rem; padding: 16px 12px; border-radius: 2px; background: #003b6d; color: #fff; font-size: .9375rem; font-weight: 600; line-height: 1.5; }
.mobile-quote span { min-width: 0; overflow-wrap: anywhere; }
#mobile-menu[hidden], #mobile-menu-btn[hidden] { display: none; }
body.menu-open { overflow: hidden; }
.fallback-navigation { display: none; }
@media (max-width: 63.999rem) {
  .site-header-inner { gap: 16px; padding: 16px 24px; }
  .desktop-nav, .header-quote { display: none; }
  .menu-toggle { display: inline-flex; }
  .site-brand img { width: 120px; }
  .site-header-inner:has(.fallback-navigation) { flex-wrap: wrap; }
  .fallback-navigation { display: flex; flex-wrap: wrap; gap: .25rem 1rem; width: 100%; }
  .fallback-navigation a { display: inline-flex; align-items: center; min-height: 44px; color: #003b6d; font-size: .8125rem; line-height: 1.5; }
}
@media (min-width: 64rem) { .mobile-menu { display: none; } }
@media (forced-colors: active) {
  .header-quote, .mobile-quote { border: 1px solid LinkText; }
  .menu-toggle-icon i { forced-color-adjust: none; background: ButtonText; }
}
