.site-header { position: sticky; top: 0; z-index: var(--z-header); border-bottom: 1px solid rgba(213,207,192,.65); background: rgba(245,243,238,.94); backdrop-filter: blur(14px); }
.site-header__inner { min-height: 96px; display: grid; grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr); align-items: center; gap: 30px; }
.site-header__brand { justify-self: start; text-decoration: none; }
.site-header__logo { max-width: 190px; max-height: 64px; width: auto; }
.site-header__wordmark, .site-footer__wordmark { font-family: var(--font-heading); font-size: 28px; letter-spacing: .02em; }
.site-header__menu { display: flex; align-items: center; gap: 30px; margin: 0; padding: 0; list-style: none; }
.site-header__menu a { font-size: 14px; text-decoration: none; }
.site-header__menu a:hover { color: var(--color-accent); }
.site-header__cta { justify-self: end; }
.site-header__toggle { display: none; width: 46px; height: 46px; border: 0; background: transparent; padding: 12px; }
.site-header__toggle span[aria-hidden] { display: block; height: 1px; margin: 7px 0; background: currentColor; transition: transform var(--transition-base); }

@media (max-width: 960px) {
  .site-header__inner { min-height: 76px; grid-template-columns: 1fr auto; }
  .site-header__toggle { display: block; grid-column: 2; grid-row: 1; }
  .site-header__nav { position: fixed; inset: 76px 0 auto; display: none; min-height: calc(100vh - 76px); padding: 44px 24px; background: var(--color-bg-dark); color: #fff; }
  .site-header__nav.is-open { display: block; }
  .site-header__menu { align-items: flex-start; flex-direction: column; gap: 24px; }
  .site-header__menu a { font-family: var(--font-heading); font-size: 34px; }
  .site-header__cta { display: none; }
  .site-header__toggle[aria-expanded="true"] span:first-of-type { transform: translateY(4px) rotate(45deg); }
  .site-header__toggle[aria-expanded="true"] span:last-of-type { transform: translateY(-4px) rotate(-45deg); }
}

