/* Shared header overrides, including legacy page-specific header rules. */
header.site .hdr {
  max-width: var(--maxw, 1180px);
  margin: 0 auto;
  flex-wrap: nowrap;
}
header.site .logo { flex: 0 1 auto; min-width: 0; }
header.site .logo .mark { white-space: nowrap; }
header.site .hdr-icons { margin-left: auto; order: 0; flex-basis: auto; }
header.site .header-call {
  padding: .55rem 1.1rem;
  font-size: .9rem;
  white-space: nowrap;
  color: #fff;
}
header.site .header-call:hover { color: #fff; }
header.site .call-short { display: none; }
header.site nav.main .wrap { flex-wrap: nowrap; }
header.site nav.main a { white-space: nowrap; }
header.site a:focus-visible,
header.site button:focus-visible,
.util a:focus-visible { outline: 3px solid var(--amber); outline-offset: -3px; }
@media (max-width: 900px) {
  .util .u-promo { display: none; }
  .util .wrap { justify-content: center; padding: .2rem 16px; }
  .util .u-links { gap: 1rem; flex-wrap: nowrap; }
  .util .u-links a { display: inline-flex; align-items: center; min-height: 36px; font-size: .75rem; }
  header.site .hdr { gap: .75rem; padding: .75rem 16px; }
  header.site .nav-toggle { display: flex; flex-shrink: 0; width: 44px; height: 44px; }
  header.site nav.main .wrap { display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 0; }
  header.site nav.main.open .wrap { display: flex; max-height: calc(100dvh - 120px); overflow-y: auto; }
  header.site nav.main a { width: 100%; padding: .9rem 22px; border-bottom: 1px solid rgba(255,255,255,.08); }
  header.site nav.main a.cta { margin-left: 0; order: 0; }
}
@media (max-width: 540px) {
  header.site .hdr { gap: .4rem; }
  header.site .logo .mark { font-size: 1.2rem; }
  header.site .logo .tag { font-size: .5rem; letter-spacing: .06em; white-space: nowrap; }
  header.site .call-full { display: none; }
  header.site .call-short { display: inline; }
  header.site .header-call { min-height: 44px; padding: .55rem .75rem; justify-content: center; }
}
