/* ---------- Site header (Figma: logo 292x51 at 66/26, nav 15px, CTA 133x45) ---------- */
.site-header.on-dark { background: transparent; }
.site-header {
  position: fixed; inset: 0 0 auto 0; z-index: var(--z-header);
  padding-block: 26px; color: var(--c-white); background: transparent;
  transition: background-color var(--dur) var(--ease), padding var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.site-header__inner { display: flex; align-items: flex-start; gap: 0; width: min(100% - 2 * var(--gutter), var(--container)); margin-inline: auto; }
.site-header__logo { display: block; width: 292px; flex: none; color: var(--c-white); margin-right: auto; }
.site-header__logo svg { width: 100%; height: auto; }
.site-nav__list { display: flex; gap: 45.4px; margin-top: 17.5px; }   /* text top at y=51.5 */
.site-nav a { display: block; padding-block: 8px; position: relative; transition: color var(--dur-fast) var(--ease); }
.site-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 2px; background: var(--c-yellow); transform: scaleX(0); transform-origin: left; transition: transform var(--dur) var(--ease); }
.site-nav a:hover::after, .site-nav a.is-active::after { transform: scaleX(1); }   /* [ASSUMED] hover/active underline */
.site-header__cta { margin-left: 37.9px; margin-top: 11.66px; width: 133.4px; padding-inline: 0; }   /* top at y=37.7 */
.site-header__toggle { display: none; }

/* Scrolled state (added by JS): solid black bar, tighter padding [ASSUMED: Figma shows only the top state] */
.site-header.on-dark.is-scrolled { background: rgba(0, 0, 0, 0.92); padding-block: 14px; backdrop-filter: blur(6px); }
.site-header.is-hidden { transform: translateY(-100%); }



.site-nav__cta-item { display: none; }

/* ---------- Tablet / mobile: nav becomes a full-screen menu [ASSUMED: no mobile frames in Figma] ---------- */
@media (max-width: 1100px) {
  .site-header__inner { position: relative; align-items: center; }
  .site-header__logo { width: 220px; position: relative; z-index: 2; }
  .site-header__cta { margin: 0 16px 0 0; width: auto; padding-inline: 18px; position: relative; z-index: 2; }
  .site-header__toggle { display: block; position: relative; z-index: 2; width: 44px; height: 44px; margin-right: -10px; }
  .site-header__bars, .site-header__bars::before, .site-header__bars::after {
    position: absolute; left: 10px; width: 24px; height: 2px; background: var(--c-white);
    transition: transform var(--dur) var(--ease), opacity var(--dur-fast) var(--ease);
  }
  .site-header__bars { top: 21px; }
  .site-header__bars::before, .site-header__bars::after { content: ""; left: 0; }
  .site-header__bars::before { top: -7px; }
  .site-header__bars::after { top: 7px; }
  .is-open .site-header__bars { background: transparent; }
  .is-open .site-header__bars::before { transform: translateY(7px) rotate(45deg); }
  .is-open .site-header__bars::after { transform: translateY(-7px) rotate(-45deg); }

  .site-nav {
    position: fixed; inset: 0; z-index: 1; display: flex; flex-direction: column; justify-content: center;
    padding: var(--header-h) var(--gutter) 2rem; background: var(--c-black);
    opacity: 0; visibility: hidden; transition: opacity var(--dur) var(--ease), visibility var(--dur);
  }
  .is-open .site-nav { opacity: 1; visibility: visible; }
  .site-nav__list { flex-direction: column; gap: 0; margin-top: 0; }
  .site-nav a.t-nav {
    font-family: var(--font-display); font-size: clamp(2.5rem, 9vw, 4rem); line-height: 1; letter-spacing: 0;
    padding-block: 0.6rem; color: var(--c-white);
  }
  .site-nav a.t-nav:hover, .site-nav a.t-nav.is-active { color: var(--c-yellow); }
  .site-nav a::after { display: none; }
  .site-nav__cta-item { display: none; margin-top: 1.5rem; }
}
@media (max-width: 767px) {
  .site-header { padding-block: 16px; }
  .site-header__logo { width: 176px; }
  .site-header__cta { display: none; }
  .site-nav__cta-item { display: block; }
}

/* Buttons inside the nav keep button layout */
.site-nav .btn { display: inline-flex; padding: 14px 26px; }
@media (max-width: 1100px) { .site-nav__cta-item .btn { display: flex; width: 100%; padding-block: 14px; } }

/* Logged-in admin bar offsets */
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
