/* ===========================================================================
   Site header — Zibal-style floating capsule → full-width on scroll
   Fixed positioning so it stays visible; landing bg shows through subtle glass.
   =========================================================================== */

:root {
  --site-header-h: 4rem;
  --site-header-float-top: 1.5rem;
}

/* Landing page body tones — extend behind fixed glass header */
body:has(.hl-page) { background: #F5F7FF; }
body:has(.or-page) { background: #07060d; }
body:has(.sc-page) { background: #0a0717; }
body:has(.fb-page) { background: #0a0717; }
body:has(.dr-page) { background: #0a0b1e; }
body:has(.pc-page) { background: #06241f; }

.site-header {
  position: fixed;
  top: var(--site-header-float-top);
  left: 0;
  right: 0;
  z-index: 50;
  margin-inline: auto;
  width: calc(100% - 2rem);
  max-width: 69.75rem;
  border-radius: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.45);
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(12px) saturate(120%);
  -webkit-backdrop-filter: blur(12px) saturate(120%);
  box-shadow:
    0 4px 24px -4px rgba(0, 0, 0, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.6);
  font-family: var(--ht-font-sans);
  transition:
    top 0.3s ease-in-out,
    width 0.3s ease-in-out,
    max-width 0.3s ease-in-out,
    border-radius 0.3s ease-in-out,
    background 0.3s ease-in-out,
    box-shadow 0.3s ease-in-out,
    border-color 0.3s ease-in-out;
}

.site-header.is-scrolled {
  top: 0;
  width: 100%;
  max-width: none;
  border-radius: 0;
  border-inline: none;
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(16px) saturate(130%);
  -webkit-backdrop-filter: blur(16px) saturate(130%);
  box-shadow:
    0 2px 12px -2px rgba(0, 0, 0, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--site-header-h);
  padding-inline: 1.5rem;
}

.site-header__nav {
  font-size: 0.875rem;
  font-weight: 500;
  transition: font-size 0.3s ease-in-out;
}

.site-header.is-scrolled .site-header__nav {
  font-size: 0.8125rem;
}

.site-header.is-scrolled .site-header__nav a {
  padding-inline: 1rem;
}

@media (max-width: 767px) {
  :root {
    --site-header-float-top: 0;
  }

  .site-header {
    top: 0;
    width: 100%;
    max-width: none;
    border-radius: 0;
    border-inline: none;
  }

  .site-header__inner {
    padding-inline: 1rem;
  }
}
