/* The site header uses one geometry on every route. */
body .site-header .sv-container.sv-container { width: min(1440px,calc(100% - 48px)); max-width: none; }
body .site-header .header-top { min-height: 98px; grid-template-columns: 350px minmax(300px,650px) 1fr; gap: 34px; }
body .site-header .brand-mark { width: 46px; height: 46px; border-radius: 14px; }
body .site-header .brand-mark .sv-icon { width: 29px; height: 29px; }
body .site-header .brand-copy strong { font-size: 33px; letter-spacing: -1.7px; }
body .site-header .brand-copy small { display: block; margin-top: 7px; font-size: 11px; }
body .site-header .header-search { height: 52px; display: flex; grid-column: auto; grid-row: auto; margin-bottom: 0; padding: 0 18px; border-radius: 13px; font-size: 14px; }
body .site-header .header-actions { gap: 14px; }
body .site-header .header-actions .button { min-height: 48px; display: inline-flex; padding: 0 22px; border-radius: 10px; font-size: 14px; }
body .site-header .header-actions .icon-button { width: 42px; height: 42px; display: grid; }
body .site-header .mobile-menu-toggle { display: none; }
body .site-header .site-nav { display: block; }
body .site-header .nav-inner { height: 58px; display: flex; grid-template-columns: none; gap: 16px; padding-block: 0; }
body .site-header .nav-inner > a { min-width: 125px; height: 42px; justify-content: center; padding: 0 16px; border-radius: 10px; font-size: 14px; }
body .site-header .nav-inner > a .sv-icon { width: 20px; height: 20px; }
body .site-header .nav-inner > a.nav-more { min-width: 45px; margin-left: auto; padding: 0; }

@media (max-width: 1700px) and (min-width: 1381px) {
  body .site-header .nav-inner { gap: 7px; }
  body .site-header .nav-inner > a { min-width: auto; padding-inline: 11px; font-size: 12px; }
  body .site-header .nav-inner > a.nav-more { min-width: 40px; }
}

@media (max-width: 1380px) and (min-width: 1025px) {
  body .site-header .header-top { grid-template-columns: 300px minmax(300px,1fr) auto; gap: 20px; }
  body .site-header .brand-copy strong { font-size: 28px; }
  body .site-header .nav-inner { gap: 4px; }
  body .site-header .nav-inner > a { min-width: auto; padding-inline: 13px; }
}

@media (max-width: 1024px) {
  body .site-header .sv-container.sv-container { width: min(100% - 30px,920px); }
  body .site-header .header-top { min-height: 80px; grid-template-columns: 1fr auto; gap: 20px; }
  body .site-header .header-search { height: 52px; display: flex; grid-column: 1 / -1; grid-row: 2; margin-bottom: 14px; }
  body .site-header .site-nav { display: none; }
  body .site-header .site-nav.is-open { display: block; }
  body .site-header .mobile-menu-toggle { display: grid; }
  body .site-header .site-nav.is-open .nav-inner { height: auto; display: grid; grid-template-columns: repeat(3,1fr); padding-block: 10px; }
  body .site-header .nav-inner > a { min-width: auto; justify-content: center; }
  body .site-header .nav-inner > a.nav-more { margin-left: 0; }
}

@media (max-width: 760px) {
  body .site-header .sv-container.sv-container { width: min(100% - 20px,680px); }
  body .site-header .header-top { min-height: 70px; gap: 10px; }
  body .site-header .brand-mark { width: 38px; height: 38px; border-radius: 11px; }
  body .site-header .brand-mark .sv-icon { width: 23px; height: 23px; }
  body .site-header .brand-copy strong { font-size: 23px; letter-spacing: -1px; }
  body .site-header .brand-copy small { display: none; }
  body .site-header .header-actions { gap: 4px; }
  body .site-header .header-actions .button-outline { display: none; }
  body .site-header .header-actions .button { min-height: 39px; padding: 0 11px; font-size: 11px; }
  body .site-header .header-actions .icon-button { display: none; }
  body .site-header .header-search { height: 45px; }
  body .site-header .site-nav.is-open .nav-inner { grid-template-columns: repeat(2,1fr); }
  body .site-header .nav-inner > a { height: 42px; justify-content: flex-start; padding-inline: 13px; font-size: 13px; }
}

@media (max-width: 420px) {
  body .site-header .header-top { grid-template-columns: minmax(0,1fr) auto; }
  body .site-header .header-actions .button-primary { display: none; }
  body .site-header .brand-copy strong { font-size: 20px; }
}
/* Illustrated logos retain their full proportions on every route. */
body .site-header .site-brand:has(.site-custom-logo) { max-width: 100%; padding-block: 8px; }
body .site-header .site-custom-logo { width: 240px; max-width: 100%; height: auto; max-height: none; object-fit: contain; }
body .site-footer .site-brand:has(.site-custom-logo) { width: min(220px,100%); }
body .site-footer .site-custom-logo { width: 100%; max-width: 220px; height: auto; max-height: none; object-fit: contain; }
@media (max-width: 760px) {
  body .site-header .site-custom-logo { width: 180px; }
  body .site-header .site-brand:has(.site-custom-logo) { padding-block: 6px; }
}
