/* Header geometry is shared by all brand worlds and all page lengths. */
html { scrollbar-gutter: stable; }
.site-header { height: 76px; gap: 24px; padding-inline: max(48px, calc((100% - 1376px) / 2)); }
.site-header .nav { display: grid; grid-template-columns: 44px 156px 128px 250px; gap: 28px; align-items: center; flex-shrink: 0; padding: 0; }
.site-header .nav > a { display: inline-flex; align-items: center; justify-content: flex-start; height: 48px; min-height: 48px; padding: 0; margin: 0; font: 700 1rem/1.5 'Manrope', Arial, sans-serif; letter-spacing: 0; white-space: nowrap; }
.site-header .nav > a[aria-current] { font-weight: 700; }
.site-header .nav > .button { width: 250px; min-width: 250px; padding: 11px 20px; justify-content: center; }
.site-header > .brand,.site-header > .swim-brand { min-height: 48px; flex-shrink: 0; }
.site-header > .swim-brand { display: inline-flex; align-items: center; gap: 0; padding: 6px 8px; margin-left: -8px; }
.site-header > .swim-brand img { width: auto; height: 56px; object-fit: contain; }
.site-header > .swim-brand span { display: none; }
@media (max-width:1100px) {
  .site-header { padding-inline: 32px; }
  .site-header .menu { display: block; min-height: 44px; color: #1C355E; }
  .site-header .nav { display: none; position: absolute; top: 100%; left: 0; right: 0; grid-template-columns: minmax(0,1fr); gap: 8px; padding: 20px 32px; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 12px 24px #1c355e12; }
  .site-header .nav.open { display: grid; }
  .site-header .nav > a { width: 100%; }
  .site-header .nav > .button { width: 100%; min-width: 0; }
}
@media (max-width:760px) {
  .site-header { height: 72px; padding-inline: 20px; }
  .site-header > .swim-brand img { height: 52px; }
  .site-header .nav { padding-inline: 20px; }
}
