/* =========================================================
   header.css
   VioLev — floating nav island (blank-branded, violet)
   Pattern carried from Wildridge; recolored to the violet tokens.
   Rest state is calm near-black; violet arrives on interaction.
   ========================================================= */

.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: var(--z-nav);
  display: flex; justify-content: center;
  padding-top: 28px; pointer-events: none;
}
.site-header.scrolled .nav-island {
  box-shadow: 0 14px 34px -20px rgba(0, 0, 0, .7), var(--glow-violet-soft);
  border-color: var(--border-active);
}

.nav-island {
  pointer-events: auto; position: relative;
  display: flex; align-items: center; gap: 28px;
  width: calc(100% - 60px); max-width: 860px;
  padding: 10px 18px; border-radius: var(--radius-pill);
  background: var(--bg-panel); backdrop-filter: blur(12px);
  border: 1px solid var(--border-primary);
  box-shadow: 0 10px 28px -20px rgba(0, 0, 0, .6);
  transition: background var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);
}

.nav-wordmark {
  font-family: var(--display); font-weight: 600; font-size: 1.25rem; letter-spacing: -.01em;
  color: var(--mist); margin-right: auto; transition: text-shadow var(--transition-fast), color var(--transition-fast);
}
.nav-wordmark:hover { color: var(--violet-bright); text-shadow: var(--glow-violet-soft); }

.nav-group { display: flex; align-items: center; gap: 26px; }
.nav-link {
  font-family: var(--mono); font-size: .74rem; letter-spacing: .16em; text-transform: uppercase;
  color: var(--haze); transition: color var(--transition-fast), text-shadow var(--transition-fast);
}
.nav-link:hover, .nav-link[aria-current="page"] { color: var(--violet-bright); text-shadow: var(--glow-violet-soft); }

.nav-hamburger {
  display: none; background: none; border: 0; cursor: pointer;
  width: 34px; height: 34px; flex-direction: column; justify-content: center; gap: 5px; padding: 6px;
}
.nav-hamburger span { display: block; height: 2px; width: 100%; background: var(--mist); border-radius: 2px;
  transition: transform var(--transition-fast), opacity var(--transition-fast), background var(--transition-fast); }
.nav-hamburger:hover span { background: var(--violet-bright); }
.nav-hamburger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-hamburger.is-open span:nth-child(2) { opacity: 0; }
.nav-hamburger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* mobile drawer */
.nav-drawer {
  display: none; position: absolute; top: calc(100% + 10px); left: 0; right: 0;
  background: var(--bg-panel-strong); backdrop-filter: blur(12px);
  border: 1px solid var(--border-primary); border-radius: var(--radius-md);
  padding: 10px; box-shadow: 0 18px 40px -22px rgba(0, 0, 0, .7);
}
.nav-drawer a {
  display: block; font-family: var(--mono); font-size: .78rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--mist); padding: 12px 14px; border-radius: var(--radius-sm); transition: background var(--transition-fast), color var(--transition-fast);
}
.nav-drawer a:hover { background: rgba(139, 92, 255, .10); color: var(--violet-bright); }

@media (max-width: 768px) {
  .nav-island { width: calc(100% - 28px); }
  .nav-group { display: none; }
  .nav-hamburger { display: flex; }
  .nav-drawer.is-open { display: block; }
}
