@media (max-width: 980px) {
  :root { --page: calc(100vw - 40px); }
  .hero { min-height: auto; grid-template-columns: 1fr; }
  .hero-copy { max-width: 800px; }
  .loop-card { max-width: 500px; margin-left: auto; }
  .knowledge-shell { grid-template-columns: 150px minmax(0, 1fr); gap: 44px; }
  .feed-intro { grid-template-columns: 1fr; gap: 24px; }
  .module-heading { grid-template-columns: 52px 1fr; }
  .module-heading > p { grid-column: 2; }
  .topic summary { padding-left: 20px; }
  .topic-body { padding-left: 20px; padding-right: 20px; }
}

@media (max-width: 720px) {
  :root { --page: calc(100vw - 28px); }
  .country-line { text-align: left; padding-left: 14px; }
  .site-header { min-height: 64px; }
  .header-links a:not(.github-link) { display: none; }
  .github-link { padding-left: 0; border: 0; }
  .hero { padding: 58px 0 76px; gap: 72px; }
  .hero-copy h2 { font-size: clamp(47px, 14vw, 68px); }
  .hero-deck { font-size: 16px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .loop-card { width: 100%; max-width: none; }
  .knowledge-shell { display: block; padding: 76px 0 90px; }
  .index-rail { position: relative; top: auto; display: block; margin-bottom: 64px; }
  .index-rail > p { margin: 0 0 18px; }
  .index-rail nav { grid-template-columns: repeat(2, 1fr); gap: 0 14px; margin: 0 0 22px; }
  .progress-block { max-width: 170px; }
  .feed-intro { margin-bottom: 76px; }
  .feed-intro h2 { font-size: 45px; }
  .module { margin-bottom: 88px; }
  .module-heading { padding-bottom: 18px; grid-template-columns: 38px 1fr; gap: 8px; }
  .module-heading h2 { font-size: 28px; }
  .module-heading > p { margin-top: 10px; }
  .topic summary { min-height: 82px; padding: 18px 8px; grid-template-columns: 1fr 28px; gap: 12px; }
  .topic-summary { display: none; }
  .topic-title { gap: 8px; }
  .topic h3 { font-size: 16px; }
  .topic-body { padding: 8px 8px 34px; }
  .lesson-grid { grid-template-columns: 1fr; gap: 24px; }
  .lesson-aside { padding: 15px; border: 1px solid var(--line); }
  .lesson-footer { flex-wrap: wrap; }
  .focus-toast { right: 14px; bottom: 14px; left: 14px; justify-content: space-between; }
  .disclaimer { padding: 66px 0 76px; }
  .disclaimer > div { grid-template-columns: 1fr; gap: 30px; }
  .site-footer { min-height: 160px; align-items: flex-start; justify-content: center; flex-direction: column; gap: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

@media print {
  .landing, .hero, .index-rail, .focus-toast, .site-footer { display: none; }
  .knowledge-shell { display: block; width: 100%; padding: 0; border: 0; }
  .topic[open] { break-inside: avoid; }
}
