@media (max-width: 1050px) {
  .primary-nav { gap: 0; }
  .primary-nav a { padding-inline: .45rem; font-size: .8rem; }
  .header-progress { display: none; }
  .reading-layout { grid-template-columns: minmax(0, 1fr) 210px; gap: var(--space-6); }
}

@media (max-width: 820px) {
  .header-inner { position: relative; }
  .menu-toggle { display: inline-grid; margin-left: auto; }
  .primary-nav { position: absolute; top: calc(100% + 1px); right: 1rem; left: 1rem; display: none; flex-direction: column; align-items: stretch; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-md); padding: .5rem; }
  .primary-nav.is-open { display: flex; }
  .primary-nav a { border: 0; border-radius: var(--radius-sm); padding: .75rem 1rem; }
  .primary-nav a[aria-current="page"] { background: var(--brand-soft); }
  .hero-grid, .module-index, .reading-layout { grid-template-columns: 1fr; }
  .hero-art-placeholder { min-height: 260px; }
  .reading-sidebar { position: static; order: -1; display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-5); }
  .sidebar-box + .sidebar-box { margin-top: 0; }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .lesson-hero { grid-template-columns: 1fr; }
  .lesson-hero .lesson-visual { max-width: 280px; }
  .photo-mosaic { grid-template-columns: 1fr 1fr; }
  .photo-card-large { grid-row: auto; }
  .photo-card-large img { min-height: 220px; height: 220px; }
  .photo-card-wide { grid-column: span 2; }
}

@media (max-width: 600px) {
  .container { width: min(var(--max-width), calc(100% - 1.25rem)); }
  .section { padding-block: var(--space-10); }
  main > .page-shell { padding-block: var(--space-8) var(--space-12); }
  .site-header { position: sticky; }
  .brand-text { font-size: .77rem; }
  .page-intro { padding-block: var(--space-8) var(--space-6); }
  .page-intro-grid { display: block; }
  .page-intro h1 { margin-bottom: var(--space-4); }
  .grid-2, .grid-3, .grid-4, .stat-strip, .reading-sidebar { grid-template-columns: 1fr; }
  .stat { border-top: 1px solid var(--line); }
  .stat + .stat { border-left: 0; }
  .stat:first-child { border-top: 0; }
  .module-row { grid-template-columns: auto 1fr; }
  .module-row .button { grid-column: 2; justify-self: start; }
  .lesson-item { grid-template-columns: 46px 1fr; padding: var(--space-4); }
  .lesson-item .lesson-status { grid-column: 2; }
  .lesson-number { width: 38px; height: 38px; }
  .lesson-actions, .lesson-nav { display: grid; grid-template-columns: 1fr; }
  .lesson-actions .button, .lesson-nav .button { width: 100%; }
  .footer-grid { grid-template-columns: 1fr; gap: var(--space-6); padding-block: var(--space-8); }
  .footer-bottom { display: grid; }
  .button-row { align-items: stretch; flex-direction: column; }
  .button-row .button, .button-row .button-link { width: 100%; }
  .segmented { border-radius: var(--radius-md); }
  .segmented button { flex: 1; }
  .photo-mosaic { grid-template-columns: 1fr; }
  .photo-card-wide { grid-column: auto; }
  .photo-card img, .photo-card-large img { height: 220px; min-height: 0; }
}
