@media (max-width: 370px) {
  .site-shell { width: min(calc(100% - 20px), var(--content)); }
  .hero { padding-top: 16px; }
  .social-links { gap: 9px; }
  .social-link { width: 52px; min-width: 52px; height: 52px; }
  .primary-card { grid-template-columns: 52px minmax(0, 1fr) 32px; gap: 10px; padding: 13px 11px; }
  .card-icon { width: 52px; height: 52px; }
  .card-arrow { width: 32px; height: 32px; }
  .hero__tagline { letter-spacing: .09em; }
}

@media (min-width: 560px) {
  .site-shell { width: min(calc(100% - 44px), var(--content)); padding-top: 34px; }
  .social-links { gap: 16px; }
  .social-link { width: 64px; min-width: 64px; height: 64px; }
  .primary-card { min-height: 120px; padding: 18px 20px; }
  .resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .featured-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 820px) {
  .site-shell { padding-top: 46px; }
  .hero { padding-top: 30px; }
  .hero__crest-wrap { margin-bottom: 28px; }
  .primary-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .primary-card:first-child { grid-column: 1 / -1; }
  .featured-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .link-sections { gap: 20px; }
  .resource-card { min-height: 88px; }
}

@media (min-width: 1100px) {
  .site-shell { padding-top: 54px; }
  .page-backdrop { background-size: cover; }
  .primary-card { padding-inline: 22px; }
}

@media (hover: none) {
  .social-link::after { display: none; }
  .primary-card:hover,
  .resource-card:hover,
  .featured-card:hover,
  .social-link:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .primary-card::before { display: none; }
}

@media (prefers-contrast: more) {
  :root {
    --line: rgba(240, 211, 147, .55);
    --line-strong: rgba(255, 226, 162, .9);
    --muted: #d0d5cf;
    --muted-2: #bbc0ba;
  }
  .page-backdrop { filter: brightness(.66) contrast(1.16); }
}
