/* ============================================================
   COMPONENT: Site header / navigation (fixed pill nav)
   ============================================================ */

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: var(--z-nav);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: var(--space-3);
  padding: clamp(0.85rem, 0.5rem + 1vw, 1.4rem) var(--gutter);
  pointer-events: none; /* let children re-enable; lets hero clicks pass gaps */
}
.site-header > * { pointer-events: auto; }

/* Subtle backdrop that fades in once scrolled */
.site-header::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(var(--color-bg), rgba(14, 14, 15, 0));
  opacity: 0;
  transition: opacity var(--dur) var(--ease-out);
  z-index: -1;
  pointer-events: none;
}
.site-header.is-scrolled::before { opacity: 1; }

/* ---- Logo ---- */
.brand {
  display: inline-flex;
  align-items: center;
  justify-self: start;
}
.brand img { height: clamp(44px, 3.2vw, 60px); width: auto; }
.brand .brand__fallback {
  font-style: italic;
  font-size: 1.5rem;
  font-weight: 600;
}
.brand .brand__fallback b { color: var(--color-accent); font-style: normal; }

/* ---- Center pill nav ---- */
.nav-pill {
  justify-self: center;
  display: flex;
  align-items: center;
  gap: clamp(0.5rem, 1.5vw, 1.5rem);
  padding: 0.55rem 0.85rem;
  background: rgba(26, 26, 29, 0.6);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-pill);
}
.nav-pill a {
  position: relative;
  padding: 0.4rem 0.7rem;
  font-size: var(--fs-sm);
  color: var(--color-text);
  border-radius: var(--radius-pill);
  transition: color var(--dur-fast) var(--ease-out);
}
.nav-pill a::after {
  content: "";
  position: absolute;
  left: 0.7rem; right: 0.7rem; bottom: 0.15rem;
  height: 1px;
  background: var(--color-text);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--dur-fast) var(--ease-out);
}
.nav-pill a:hover::after,
.nav-pill a[aria-current="true"]::after { transform: scaleX(1); }

/* ---- Right cluster ---- */
.nav-actions {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: var(--space-1);
}
.lang-toggle {
  display: inline-grid;
  place-items: center;
  width: 2.9rem; height: 2.9rem;
  border-radius: var(--radius-pill);
  border: 1px solid var(--color-line);
  font-size: var(--fs-sm);
  font-weight: 500;
  transition: background var(--dur-fast) var(--ease-out);
}
.lang-toggle:hover { background: var(--color-surface); }

/* ---- Mobile menu button ---- */
.nav-toggle { display: none; }

@media (max-width: 860px) {
  .site-header { grid-template-columns: auto 1fr; }
  .nav-pill {
    position: fixed;
    inset: 0 0 0 auto;
    width: min(82vw, 360px);
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: var(--space-2);
    border-radius: 0;
    padding: var(--space-6) var(--gutter);
    background: var(--color-bg-soft);
    transform: translateX(100%);
    transition: transform var(--dur) var(--ease-out);
  }
  .nav-pill a { font-size: 1.5rem; }
  body.nav-open .nav-pill { transform: translateX(0); }
  .nav-toggle {
    display: inline-grid;
    place-items: center;
    width: 2.9rem; height: 2.9rem;
    border-radius: var(--radius-pill);
    border: 1px solid var(--color-line);
    justify-self: end;
  }
  .nav-toggle span {
    width: 18px; height: 1.5px; background: var(--color-text);
    display: block; position: relative;
    transition: transform var(--dur-fast) var(--ease-out);
  }
  .nav-toggle span::before,
  .nav-toggle span::after {
    content: ""; position: absolute; left: 0; width: 18px; height: 1.5px;
    background: var(--color-text); transition: transform var(--dur-fast) var(--ease-out);
  }
  .nav-toggle span::before { top: -6px; }
  .nav-toggle span::after  { top: 6px; }
  body.nav-open .nav-toggle span { background: transparent; }
  body.nav-open .nav-toggle span::before { transform: translateY(6px) rotate(45deg); }
  body.nav-open .nav-toggle span::after  { transform: translateY(-6px) rotate(-45deg); }

  /* hide the secondary CTA label on small screens, keep it compact */
  .nav-actions .btn span.btn__label { display: none; }
}
