/* Shared top navigation. Single source of truth for the site header so it can
   never drift between pages again. Colors resolve from each page's :root
   custom properties when present and fall back to the canonical palette
   otherwise, so this file styles the nav identically on every page. */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
  backdrop-filter: blur(12px);
  background: rgba(10, 10, 15, 0.85);
  border-bottom: 1px solid var(--border, #2a2a38);
}
.nav-inner {
  max-width: 1200px; margin: 0 auto;
  padding: 0.875rem 1.5rem;
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 0.5rem 1rem;
}
.logo { font-size: 1.125rem; font-weight: 700; letter-spacing: -0.02em; }
a.logo { color: var(--text, #e4e4ef); text-decoration: none; }
.logo span { color: var(--accent, #3b82f6); }
.nav-links { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.nav-links a { color: var(--muted-strong, #a8a8c0); font-size: 0.875rem; font-weight: 500; }
.nav-links a:hover { color: var(--text, #e4e4ef); text-decoration: none; }
.nav-links a[aria-current="page"] { color: var(--text, #e4e4ef); }
@media (max-width: 640px) {
  .nav-links { gap: 0.75rem 0.875rem; }
  .nav-links a { font-size: 0.8125rem; }
}
