.site-header {
  position: relative;
  z-index: 100;
  background: var(--color-limestone);
  color: var(--color-ink);
}

.site-header__rail {
  border-block-end: 1px solid var(--color-border);
  background: linear-gradient(90deg, var(--color-limestone) 0 68%, var(--color-terrazzo) 68% 100%);
}

.site-header__inner {
  display: grid;
  min-height: 5.5rem;
  grid-template-columns: minmax(14rem, 1fr) auto auto;
  gap: var(--space-5);
  align-items: center;
}

.site-header__brand,
.site-footer__brand {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-ink);
  text-decoration: none;
}

.site-header__brand:hover { color: var(--color-ink); }

.site-header__mark {
  width: 2.625rem;
  height: 2.625rem;
  flex: 0 0 2.625rem;
  object-fit: contain;
}

.site-header__identity { display: grid; min-width: 0; line-height: 1; }
.site-header__name { font-size: 0.9rem; font-weight: 700; letter-spacing: 0.11em; white-space: nowrap; }
.site-header__subtitle { margin-top: 0.34rem; color: var(--color-slate); font-size: 0.56rem; font-weight: 700; letter-spacing: 0.105em; line-height: 1.25; white-space: nowrap; }
.site-header__actions { display: flex; gap: var(--space-3); align-items: center; }
.site-header__cta { white-space: nowrap; }
.site-header__toggle { display: none; min-height: 2.75rem; align-items: center; gap: var(--space-2); padding: 0.5rem; color: var(--color-ink); font-size: var(--text-label); font-weight: 700; letter-spacing: 0.1em; }
.site-header__toggle-icon { display: grid; width: 1.35rem; gap: 0.22rem; }
.site-header__toggle-icon span { display: block; height: 1px; background: currentColor; transition: transform var(--transition-fast), opacity var(--transition-fast); }
.site-header__toggle[aria-expanded="true"] .site-header__toggle-icon span:first-child { transform: translateY(0.44rem) rotate(45deg); }
.site-header__toggle[aria-expanded="true"] .site-header__toggle-icon span:nth-child(2) { opacity: 0; }
.site-header__toggle[aria-expanded="true"] .site-header__toggle-icon span:last-child { transform: translateY(-0.44rem) rotate(-45deg); }

.site-header__nav { min-width: 0; }
.site-header__nav-head { display: none; }
.site-header__nav-list { display: flex; align-items: center; gap: 0; margin: 0; padding: 0; list-style: none; }
.site-header__nav-list li,
.site-header__nav-list li + li { margin: 0; padding: 0; }
.site-header__nav-list li { display: flex; align-items: center; }
.site-header__nav-list li + li::before { width: 1px; height: 0.85rem; margin-inline: 0.6rem; background: var(--color-steel); content: ""; }
.site-header__nav-list a { position: relative; display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--color-ink); font-size: 0.69rem; font-weight: 700; letter-spacing: 0.065em; line-height: 1; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.site-header__nav-list a::after { position: absolute; right: 0; bottom: 0.45rem; left: 0; height: 1px; background: var(--color-cobalt); content: ""; transform: scaleX(0); transform-origin: left; transition: transform var(--transition-fast); }
.site-header__nav-list a:hover,
.site-header__nav-list a[aria-current="page"] { color: var(--color-cobalt); }
.site-header__nav-list a:hover::after,
.site-header__nav-list a[aria-current="page"]::after { transform: scaleX(1); }

.site-header__ticker { overflow: hidden; border-block-end: 1px solid var(--color-border); background: var(--color-terrazzo); }
.site-header__ticker-inner { width: max-content; min-width: 100%; padding: 0.48rem var(--gutter); color: var(--color-slate); font-size: 0.65rem; font-weight: 700; letter-spacing: 0.115em; line-height: 1.25; text-align: center; white-space: nowrap; }
.site-header__ticker span { padding-inline: 0.55rem; color: var(--color-mandarin); }

@media (max-width: 1180px) {
  .site-header__inner { grid-template-columns: minmax(0, 1fr) auto; }
  .site-header__toggle { display: inline-flex; }
  .site-header__nav { position: fixed; z-index: 110; top: 0; right: 0; bottom: 0; width: min(31rem, 100%); padding: max(1.5rem, env(safe-area-inset-top)) var(--gutter) max(1.5rem, env(safe-area-inset-bottom)); overflow-y: auto; border-inline-start: 1px solid var(--color-border); background: linear-gradient(135deg, var(--color-limestone), var(--color-terrazzo)); box-shadow: var(--shadow-layered); transform: translateX(101%); transition: transform var(--transition-medium); }
  .site-header__nav.is-open { transform: translateX(0); }
  .site-header__nav-head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding-bottom: var(--space-5); border-block-end: 1px solid var(--color-border); }
  .site-header__close { min-height: 2.75rem; padding: 0.5rem; color: var(--color-cobalt); font-size: var(--text-label); font-weight: 700; letter-spacing: 0.1em; }
  .site-header__nav-list { display: grid; gap: 0; padding-block: var(--space-4); }
  .site-header__nav-list li { border-block-end: 1px solid var(--color-border); }
  .site-header__nav-list li + li::before { display: none; }
  .site-header__nav-list a { width: 100%; min-height: 3.35rem; font-size: 0.78rem; }
  .site-header__nav-list a::after { right: auto; bottom: 0.55rem; width: 3rem; }
  body.site-header-menu-open { overflow: hidden; }
}

@media (max-width: 600px) {
  .site-header__inner { min-height: 4.75rem; gap: var(--space-3); }
  .site-header__mark { width: 2.125rem; height: 2.125rem; flex-basis: 2.125rem; }
  .site-header__name { font-size: 0.78rem; }
  .site-header__subtitle { display: none; }
  .site-header__cta { min-height: 2.75rem; padding-inline: 0.65rem; font-size: 0.61rem; }
  .site-header__toggle { padding-inline: 0.25rem; }
  .site-header__toggle-label { display: none; }
  .site-header__ticker-inner { padding-inline: var(--gutter); white-space: normal; }
}

@media (prefers-reduced-motion: reduce) { .site-header__nav { transition: none; } }
