:root {
  --hia-navy: #123f62;
  --hia-deep: #082b46;
  --hia-blue: #0d789d;
  --hia-cyan: #00b8e8;
  --hia-green: #1e7659;
  --hia-gold: #d9a441;
  --hia-ink: #142d40;
  --hia-muted: #526979;
  --hia-line: #d8e4eb;
  --hia-soft: #f3f7f9;
  --hia-shell: min(1600px, calc(100% - 40px));
}

body:not(.wp-admin) {
  color: var(--hia-ink);
  background: #fff;
}

body:not(.wp-admin) .site-header {
  width: 100%;
  border-bottom: 1px solid rgba(18, 63, 98, .14);
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 8px 24px rgba(8, 43, 70, .08);
}

body:not(.wp-admin) .site-header .shell,
body:not(.wp-admin) footer.hia-home-footer .shell {
  width: var(--hia-shell);
  max-width: 1600px;
  margin-inline: auto;
}

body:not(.wp-admin) .site-header .brand,
body:not(.wp-admin) .site-header .nav a,
body:not(.wp-admin) .site-header .nav-group__toggle {
  color: var(--hia-navy);
}

body:not(.wp-admin) .site-header .nav a:hover,
body:not(.wp-admin) .site-header .nav a:focus-visible,
body:not(.wp-admin) .site-header .nav-group__toggle:hover,
body:not(.wp-admin) .site-header .nav-group__toggle:focus-visible {
  color: var(--hia-blue);
}

body:not(.wp-admin) .hia-integrated-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 36px;
  padding: 7px max(20px, calc((100vw - 1600px) / 2));
  background: var(--hia-deep);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}

body:not(.wp-admin) .hia-integrated-topbar span:last-child {
  display: flex;
  gap: 22px;
}

body:not(.wp-admin) .hia-integrated-topbar a {
  color: #fff;
  text-decoration: none;
}

body:not(.wp-admin) main#content > :is(.pg-hero, .hc-hero.hc-full-hero),
body:not(.wp-admin) main > :is(.pg-hero, .hc-hero.hc-full-hero),
body:not(.wp-admin) #hia-integrated-page-hero {
  width: 100%;
  min-height: 660px;
  border-radius: 0;
  background-color: var(--hia-deep);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

body:not(.wp-admin) :is(.pg-hero, .hc-hero.hc-full-hero) :is(h1, .hc-intro, .hc-kicker, .hc-link) {
  color: #fff;
  text-shadow: 0 2px 6px rgba(0, 0, 0, .68);
}

body[data-hia-sitewide] #hia-integrated-page-hero.hia-hero {
  padding-left: max(24px, calc((100vw - 1200px) / 2)) !important;
  padding-right: max(24px, calc((100vw - 1200px) / 2)) !important;
}

body:not(.wp-admin) main#content :is(.hc-wrap, .hia-authority-wrap, .shell),
body:not(.wp-admin) main :is(.hc-wrap, .hia-authority-wrap, .shell) {
  max-width: 1440px;
}

body:not(.wp-admin) :is(.hc-section, .hia-authority-section) h2 {
  color: var(--hia-navy);
  letter-spacing: 0;
}

body:not(.wp-admin) :is(.hc-cards article, .hia-authority-card, .hc-body-grid article) {
  border-color: var(--hia-line);
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(8, 43, 70, .08);
}

body:not(.wp-admin) :is(.hc-btn, .hia-authority-btn) {
  border-radius: 6px;
  background: var(--hia-blue);
  color: #fff;
}

body:not(.wp-admin) :is(.hc-btn, .hia-authority-btn):hover,
body:not(.wp-admin) :is(.hc-btn, .hia-authority-btn):focus-visible {
  background: var(--hia-deep);
}

body:not(.wp-admin) :is(.hc-form, form.hc-detailed-form) {
  border: 1px solid var(--hia-line);
  border-radius: 8px;
  box-shadow: 0 20px 52px rgba(8, 43, 70, .18);
}

body:not(.wp-admin) footer.hia-home-footer {
  width: 100%;
  margin: 0;
  color: #fff;
}

body:not(.wp-admin) footer.hia-home-footer .footer__grid {
  align-items: start;
  gap: 28px;
}

body:not(.wp-admin) footer.hia-home-footer .footer__copy,
body:not(.wp-admin) footer.hia-home-footer .footer__legal-notice {
  max-width: 980px;
  line-height: 1.65;
}

@media (max-width: 900px) {
  :root {
    --hia-shell: min(100% - 28px, 1600px);
  }

  body:not(.wp-admin) main#content > :is(.pg-hero, .hc-hero.hc-full-hero),
  body:not(.wp-admin) main > :is(.pg-hero, .hc-hero.hc-full-hero),
  body:not(.wp-admin) #hia-integrated-page-hero {
    min-height: 660px;
    height: auto;
  }
}

@media (max-width: 560px) {
  body:not(.wp-admin) .hia-integrated-topbar {
    justify-content: center;
    padding-inline: 12px;
    font-size: 12px;
  }

  body:not(.wp-admin) .hia-integrated-topbar > span:first-child {
    display: none;
  }

  body:not(.wp-admin) .hia-integrated-topbar span:last-child {
    gap: 16px;
  }

  body:not(.wp-admin) footer.hia-home-footer .footer__grid {
    grid-template-columns: 1fr;
  }
}
