.site-header .brand.site-identity {
  gap: .4rem;
  justify-content: center;
  color: #0c78a9;
  text-align: center;
}
.site-header .brand.site-identity .site-identity-mark {
  flex: 0 0 auto;
  width: auto !important;
  height: 70px !important;
  transform: translateY(2.5px);
}
.site-header .site-identity-copy {
  display: grid;
  gap: 0;
  text-align: center;
  font-family: system-ui, sans-serif;
}
.site-header .site-identity-name {
  font-size: clamp(1.35rem, 3.5vw, 1.75rem) !important;
  letter-spacing: -.025em;
  line-height: 1.12;
}
.site-header .site-identity-descriptor {
  font-size: .98rem !important;
  font-weight: 730 !important;
  letter-spacing: .045em;
  line-height: 1.12;
}
.site-header .site-identity-tagline {
  max-width: none;
  margin-top: .18rem;
  font-size: 14px !important;
  text-wrap: balance;
  font-weight: 400 !important;
  line-height: 1.12;
}
@media (max-width: 50rem) {
  .site-header .brand.site-identity .site-identity-mark {
    height: clamp(64px, calc(3.5vw + 41px), 70px) !important;
    transform: translateY(1.5px);
  }
}
@media (max-width: 28rem) {
  .site-header .brand.site-identity .site-identity-mark { height: 82px !important; }
  .site-header .site-identity-copy { max-width: 10rem; }
}

.site-footer .footer-brand.site-identity {
  --footer-brand-ink: #56a8cd;
  gap: 8px;
  justify-content: center;
  color: var(--footer-brand-ink);
  text-align: center;
}
.site-footer .footer-brand.site-identity .site-identity-mark {
  flex: 0 0 auto;
  width: auto !important;
  height: 83px !important;
  transform: translateY(1px);
}
.site-footer .site-identity-copy {
  gap: 0;
  align-items: center;
  text-align: center;
}
.site-footer .site-identity-name {
  font-size: 24px !important;
  letter-spacing: -.025em;
  line-height: 1.12;
}
.site-footer .site-identity-descriptor {
  font-size: 16px !important;
  font-weight: 730 !important;
  letter-spacing: .045em;
  line-height: 1.12;
}
.site-footer .site-identity-tagline {
  font-size: 14px !important;
  font-weight: 500 !important;
  max-width: none;
  line-height: 1.2;
}
.site-footer .footer-tagline-line {
  display: block;
}
.site-footer .footer-coverage {
  font-size: 17px;
  line-height: 1.5;
}
.site-footer .footer-coverage span {
  display: block;
}
@media (max-width: 42em) {
  .site-footer .site-identity-name {
    font-size: 22px !important;
  }
  .site-footer .footer-brand.site-identity .site-identity-mark {
    height: 81px !important;
  }
}

.site-header .header-brand-tools {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 0;
  max-width: 100%;
}
.site-header .header-brand-tools .menu-toggle {
  display: inline-grid;
  place-items: center;
  align-content: center;
  row-gap: 4px;
  padding: 3px;
  flex: 0 0 44px;
  width: 44px;
  min-height: 44px;
  margin: 0;
  color: #0c78a9;
  background: white;
  border-color: #d5e2eb;
}
.menu-toggle-lines {
  position: relative;
  width: 18px;
  height: 12px;
}
.menu-toggle-lines::before {
  position: absolute;
  inset: 5px 0 auto;
  height: 2px;
  content: "";
  border-radius: 1px;
  background: currentColor;
  box-shadow: 0 -5px currentColor, 0 5px currentColor;
}
.menu-toggle-label {
  font: 650 .75rem / 1 system-ui, sans-serif;
  white-space: nowrap;
}
.site-header .mobile-nav {
  position: absolute;
  z-index: 25;
  inset: 100% 0 auto;
  max-width: 24rem;
  max-height: calc(100dvh - 120px);
  margin-inline: auto;
  padding: 6px 14px 10px;
  background: white;
  border: 1px solid #d5e2eb;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 10px 24px rgb(11 37 54 / .12);
}
.site-header .mobile-nav[hidden] { display: none; }
.site-header .mobile-nav a { min-height: 44px; padding: 6px 8px; }
.site-header .mobile-nav a[aria-current="page"] { color: #0d4f93; font-weight: 700; }
@media (max-width: 42em) {
  .site-header .header-inner { width: calc(100% - 24px); }
  .site-header .header-brand-tools { grid-column: 1; }
}

.hero h1 {
  color: #173047;
  font: 850 clamp(2.65rem, 7vw, 4.2rem) / .98 system-ui, sans-serif;
  letter-spacing: -.04em;
}
.hero h1 .hero-brand-descriptor {
  display: block;
  margin-top: .32em;
  font-size: .57em;
  letter-spacing: -.01em;
}
.button:not(.button-secondary) {
  min-height: 2.85rem;
  padding: .6rem 1.12rem;
  gap: .45rem;
  border-color: #0d4f93;
  border-radius: .45rem;
  background: linear-gradient(180deg, #56a8cd, #fff);
  background: linear-gradient(180deg in srgb, #56a8cd, #fff);
  color: #0b2536;
  font: 730 1rem / 1.55 system-ui, sans-serif;
}
.button:not(.button-secondary):hover {
  background: linear-gradient(180deg, #56a8cd, #e7f4fb);
  background: linear-gradient(180deg in srgb, #56a8cd, #e7f4fb);
  color: #0b2536;
}

.final-cta {
  background: linear-gradient(180deg, #56a8cd, #fff);
  background: linear-gradient(180deg in srgb, #56a8cd, #fff);
}
.final-cta :is(.eyebrow, .cta-phone) { color: #0b2536; }
