/* ── Responsive + reduced motion ─────────────────────────────── */
@media (max-width: 940px) {
  .demos { grid-template-columns: 1fr; }
  .viewport { height: 300px; }
  .modgrid { grid-template-columns: repeat(3, 1fr); }
  .ent-grid, .stats { grid-template-columns: repeat(2, 1fr); }
  .tactile { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 600px) {
  .nav-links { display: none; }
  .modgrid { grid-template-columns: repeat(2, 1fr); }
  .charts { grid-template-columns: 1fr; }
  .screen { padding: 88px 0 48px; }
  html { scroll-snap-type: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; scroll-snap-type: none; }
  .reveal { transition: none; opacity: 1; transform: none; }
  .loop .halo, .loop .sweep, .loop .orbit, .loop .node, .loop .core, .railcard, .tool, .promptbar .cursor { animation: none !important; }
}
