@media (max-width: 860px) {
  .two-col { grid-template-columns: 1fr; }
  .header-inner { gap: 6px; padding: 8px 12px; }
  .main-nav { margin-left: 0; width: 100%; }
}

@media (max-width: 600px) {
  body { font-size: 17px; }
  .main-nav { justify-content: space-between; gap: 0; }
  .main-nav a { padding: 8px 9px; font-size: 0.88rem; }
  main { padding: 16px 16px 40px; }
  .card { padding: 16px; }
  .hero { padding-top: 10px; }
  .hero-actions .btn { flex: 1 1 100%; }
  .card-actions .btn { flex: 1 1 auto; }
  .facts li { flex-direction: column; gap: 2px; }
  .facts .v { text-align: left; }
  .modal-body { padding: 14px 16px 18px; }
  dialog.modal { width: calc(100vw - 16px); }
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; scroll-behavior: auto !important; }
}

@media print {
  .site-header, .site-footer, .card-actions, .hero-actions { display: none; }
  body { background: #fff; }
  .card { box-shadow: none; }
}
