.site-header {
  position: relative;
  z-index: 100;
  width: 100%;
  background: var(--color-willow-cream);
  border-bottom: 1px solid var(--color-border);
}

.site-header__shell {
  padding-block: var(--space-3);
}

.site-header__board {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  align-items: center;
  gap: var(--space-5);
  min-height: 52px;
}

.site-header__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__logo {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  object-fit: contain;
}

.site-header__brand-copy {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.site-header__brand-name,
.site-header__brand-line,
.site-header__ticker-track,
.site-header__primary-list a,
.site-header__mobile-links a {
  font-family: var(--font-body);
  font-weight: 700;
  letter-spacing: var(--tracking-nav);
  text-transform: uppercase;
}

.site-header__brand-name {
  font-size: 0.875rem;
  line-height: 1.2;
  white-space: nowrap;
}

.site-header__brand-line {
  color: var(--color-muted-ink);
  font-size: 0.625rem;
  line-height: 1.3;
  letter-spacing: 0.09em;
  white-space: nowrap;
}

.site-header__navigation { min-width: 0; }

.site-header__navigation-inner { display: block; }

.site-header__primary-list {
  display: flex;
  align-items: center;
  gap: clamp(0.65rem, 1.15vw, 1.1rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-header__primary-list li,
.site-header__primary-list li + li { margin: 0; padding: 0; }

.site-header__primary-list a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: var(--color-ink);
  font-size: 0.625rem;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.site-header__primary-list a::after,
.site-header__mobile-links a::after {
  width: 0;
  height: 2px;
  position: absolute;
  bottom: 8px;
  left: 0;
  background: var(--color-warm-brass);
  content: "";
  transition: width var(--transition-fast);
}

.site-header__primary-list a,
.site-header__mobile-links a { position: relative; }

.site-header__primary-list a:hover::after,
.site-header__mobile-links a:hover::after { width: 100%; }

.site-header__cta { white-space: nowrap; }

.site-header__toggle,
.site-header__mobile-links,
.site-header__mobile-cta { display: none; }

.site-header__ticker {
  overflow: hidden;
  border-top: 1px solid var(--color-border);
  background: var(--color-cream-limestone);
}

.site-header__ticker-track {
  display: flex;
  width: max-content;
  min-height: 30px;
  align-items: center;
  gap: var(--space-3);
  padding-inline: max(var(--container-padding), calc((100vw - var(--container-max)) / 2 + var(--container-padding)));
  color: var(--color-muted-ink);
  font-size: 0.625rem;
  line-height: 1;
  white-space: nowrap;
}

.site-header__ticker-track span { color: var(--color-warm-brass); }

@media (max-width: 74rem) {
  .site-header__board { grid-template-columns: minmax(0, 1fr) auto auto; gap: var(--space-3); }
  .site-header__primary-list { gap: var(--space-2); }
  .site-header__primary-list a { font-size: 0.575rem; letter-spacing: 0.075em; }
  .site-header__cta { padding-inline: 0.75rem; font-size: 0.75rem; }
}

@media (max-width: 64rem) {
  .site-header__shell { padding-block: var(--space-2); }
  .site-header__board { grid-template-columns: minmax(0, 1fr) auto; }
  .site-header__cta,
  .site-header__navigation { display: none; }
  .site-header__toggle {
    display: inline-grid;
    width: 48px;
    height: 48px;
    place-content: center;
    gap: 5px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-control);
    background: var(--color-cream-limestone);
    padding: 0;
  }
  .site-header__toggle:hover { background: var(--color-cream-limestone); }
  .site-header__toggle-line {
    display: block;
    width: 21px;
    height: 1px;
    background: var(--color-ink);
    transform-origin: center;
    transition: transform var(--transition-fast), opacity var(--transition-fast);
  }
  .site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(2) { opacity: 0; }
  .site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .site-header__navigation.is-open {
    display: block;
    position: absolute;
    z-index: 110;
    top: calc(100% + var(--space-2));
    right: max(var(--container-padding), calc((100vw - var(--container-max)) / 2 + var(--container-padding)));
    left: max(var(--container-padding), calc((100vw - var(--container-max)) / 2 + var(--container-padding)));
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-panel);
    background: var(--color-willow-cream);
    box-shadow: var(--shadow-floating);
  }
  .site-header__navigation-inner { display: grid; gap: var(--space-4); padding: var(--space-5); }
  .site-header__primary-list { display: grid; gap: 0; }
  .site-header__primary-list a { min-height: 44px; font-size: 0.75rem; }
  .site-header__mobile-links { display: grid; gap: var(--space-2); border-top: 1px solid var(--color-border); padding-top: var(--space-4); }
  .site-header__mobile-links a {
    display: inline-flex;
    width: max-content;
    min-height: 36px;
    align-items: center;
    color: var(--color-muted-ink);
    font-size: 0.6875rem;
    line-height: 1.2;
    text-decoration: none;
  }
  .site-header__mobile-cta { display: inline-flex; width: 100%; }
}

@media (max-width: 48rem) {
  .site-header__shell { padding-inline: var(--space-3); }
  .site-header__logo { width: 36px; height: 36px; flex-basis: 36px; }
  .site-header__brand { gap: var(--space-2); }
  .site-header__brand-name { font-size: 0.75rem; letter-spacing: 0.085em; }
  .site-header__brand-line { max-width: 220px; overflow: hidden; font-size: 0.5625rem; text-overflow: ellipsis; }
  .site-header__ticker-track { animation: site-header-marquee 24s linear infinite; }
  .site-header__navigation.is-open { right: var(--space-3); left: var(--space-3); }
}

@keyframes site-header-marquee { to { transform: translateX(-18%); } }

@media (prefers-reduced-motion: reduce) { .site-header__ticker-track { animation: none; } }
