/* Header (scoped) */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: var(--color-surface);
  border-bottom: 1px solid var(--gray-200);
  box-shadow: var(--shadow-sm);
}
.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: var(--space-4);
}

/* Skip link */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--color-primary-600);
  color: #fff;
  padding: 0.5rem 0.75rem;
  border-radius: var(--radius-sm);
}
.skip-link:focus-visible {
  left: var(--space-4);
  top: var(--space-4);
  z-index: 1100;
  box-shadow: var(--focus-shadow);
}

/* Brand */
.brand { display: inline-flex; align-items: center; gap: 0.65rem; color: inherit; }
.brand__logo { width: 36px; height: 36px; border-radius: 8px; box-shadow: var(--shadow-sm); }
.brand__name { font-family: var(--font-serif); font-weight: 600; font-size: 1.25rem; letter-spacing: -0.01em; }

/* Navigation */
.site-nav { position: relative; }
.nav__list { display: flex; align-items: center; gap: var(--space-6); }
.nav__link {
  display: inline-block;
  padding: 0.5rem 0.25rem;
  border-radius: var(--radius-sm);
  color: var(--color-text);
}
.nav__link:hover { color: var(--color-primary-700); }
.nav__link:focus-visible { box-shadow: var(--focus-shadow); outline: none; }

/* Mobile toggle */
.menu-toggle {
  display: none;
  background: transparent;
  border: 1px solid var(--gray-300);
  color: var(--color-text);
  border-radius: var(--radius-sm);
  padding: 0.5rem;
  line-height: 0;
}
.menu-toggle:focus-visible { box-shadow: var(--focus-shadow); outline: none; }
.menu-toggle__bars {
  position: relative;
  width: 22px; height: 2px;
  background: var(--color-text);
  display: inline-block;
}
.menu-toggle__bars::before,
.menu-toggle__bars::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  height: 2px;
  background: var(--color-text);
}
.menu-toggle__bars::before { top: -6px; }
.menu-toggle__bars::after { top: 6px; }

/* Responsive behavior: keep nav visible without JS. Hide only when JS is present */
@media (max-width: 768px) {
  .menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .site-header { position: sticky; }
  .site-header .nav__list { gap: var(--space-4); }
  /* With JS enabled, collapse nav */
  .js .site-header .site-nav { position: absolute; top: 100%; left: 0; right: 0; }
  .js .site-header .site-nav .nav__list {
    display: grid;
    grid-auto-rows: minmax(44px, auto);
    gap: 0;
    padding: var(--space-4);
    background: var(--color-surface);
    border-bottom: 1px solid var(--gray-200);
    box-shadow: var(--shadow-sm);
  }
  .js .site-header .site-nav { display: none; }
  .js .site-header .site-nav.is-open { display: block; animation: menuSlideIn var(--duration-base) var(--ease-standard); }
  .js .site-header .nav__link { padding: 0.75rem; border-radius: var(--radius-md); }
}

@keyframes menuSlideIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
