/* Header (builds on base.css) */
.site-header { position: sticky; top: 0; background: var(--color-bg-primary); border-bottom: 1px solid var(--color-gray-200); z-index: var(--z-sticky); }
.header-inner { display: flex; align-items: center; justify-content: space-between; padding-top: var(--space-3); padding-bottom: var(--space-3); }

.site-brand { display: inline-flex; align-items: center; gap: var(--space-3); font-family: var(--font-secondary); font-weight: var(--font-weight-extrabold); color: var(--color-primary-dark); letter-spacing: 0.2px; }
.site-brand:hover { color: var(--color-primary-light); }

.menu-toggle { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--color-primary); border-color: var(--color-gray-300); }
.menu-toggle .menu-toggle__icon { font-size: 1.125rem; line-height: 1; }

.primary-nav { position: static; }
.primary-nav-list { display: flex; align-items: center; gap: var(--space-6); }
.primary-nav-list a { display: block; padding: var(--space-2) var(--space-3); border-radius: var(--radius-base); color: var(--color-text-primary); font-weight: var(--font-weight-medium); }
.primary-nav-list a:hover { background: var(--color-bg-tertiary); color: var(--color-primary-dark); }
.primary-nav-list a:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }

@media (max-width: 1023px) {
  .header-inner { position: relative; }
  .primary-nav { position: absolute; top: 100%; left: 0; right: 0; background: var(--color-bg-primary); border-top: 1px solid var(--color-gray-200); box-shadow: var(--shadow-lg); }
  .primary-nav-list { flex-direction: column; gap: 0; padding: var(--space-2); }
  .primary-nav-list li { border-bottom: 1px solid var(--color-gray-200); }
  .primary-nav-list li:last-child { border-bottom: 0; }
  .primary-nav-list a { padding: var(--space-4) var(--space-6); }
  /* Progressive enhancement: collapse only when JS is available */
  .site-header.js .primary-nav { display: none; }
  .site-header.js .primary-nav[data-open="true"] { display: block; }
}

@media (min-width: 1024px) {
  .menu-toggle { display: none; }
  .primary-nav { display: block !important; position: static; box-shadow: none; }
}

/* Prevent body scroll when mobile nav is open */
body.nav-open { overflow: hidden; }