.skip-link {
  position: absolute;
  left: 1rem;
  top: 0.5rem;
  transform: translateY(-150%);
  background: var(--accent-3);
  color: #07110f;
  padding: .75rem 1rem;
  border-radius: .5rem;
  z-index: 1000;
}
.skip-link:focus { transform: translateY(0); }
.site-header, main, .site-footer { max-width: var(--max-width); margin: 0 auto; padding-inline: var(--space-3); }
.site-header { padding-block: var(--space-4) var(--space-2); }
.brand-row { display: flex; align-items: center; gap: var(--space-3); }
.site-logo { width: 4.5rem; height: 4.5rem; flex: 0 0 auto; }
.site-title { font-size: clamp(2rem, 6vw, 4.25rem); letter-spacing: .04em; text-transform: uppercase; }
.tagline { color: var(--text-muted); font-size: clamp(1rem, 2.4vw, 1.25rem); margin: 0; }
.header-actions { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); margin-top: var(--space-3); }
.site-nav ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.site-nav a { display: inline-block; padding: .65rem .85rem; border: 1px solid transparent; border-radius: 999px; text-decoration: none; color: var(--text-main); }
.site-nav a:hover, .site-nav a:focus-visible { border-color: var(--border); background: var(--panel-bg); }
.hero { margin-block: var(--space-4); }
.accordion-stack { display: grid; gap: var(--space-3); margin-block: var(--space-4); }
.card-grid { display: grid; gap: var(--space-3); grid-template-columns: 1fr; }
.site-footer { padding-block: var(--space-5); color: var(--text-muted); }
.footer-links { display: flex; flex-wrap: wrap; gap: var(--space-3); }
@media (max-width: 700px) {
  .brand-row { align-items: flex-start; }
  .site-logo { width: 3.25rem; height: 3.25rem; }
  .header-actions { display: block; }
  .site-nav { margin-top: var(--space-2); }
  .site-nav[hidden] { display: none; }
  .site-nav ul { display: grid; gap: .35rem; }
  .site-nav a { display: block; min-height: 44px; padding: .85rem 1rem; border: 1px solid var(--border); border-radius: .75rem; background: var(--panel-bg); }
}
@media (min-width: 701px) {
  .menu-toggle { display: none !important; }
  .site-nav[hidden] { display: block; }
}
@media (min-width: 760px) { .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1020px) { .card-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
