/* == css/app/responsive.css · 由 css/style.css L871-895 原样拆分，规则与顺序未动 == */
/* ============================================================
   响应式
   ============================================================ */
@media (max-width: 1024px) {
  .hero-grid { grid-template-columns: 1fr; gap: 64px; }
  .hero-visual { max-width: 460px; }
  .page-grid { grid-template-columns: 1fr; }
  .flow-row { flex-wrap: wrap; gap: 20px 0; }
  .flow-line { display: none; }
  .flow-step { width: 50%; }
}
@media (max-width: 768px) {
  .hero { padding: 56px 0 72px; }
  .hero h1 { font-size: 36px; }
  .types { padding: 56px 0; }
  .type-grid { grid-template-columns: 1fr; }
  .nav-links { display: none; }
  .tickets-head h2, .section-head h2 { font-size: 22px; }
  .type-options { grid-template-columns: 1fr; }
  .select-row { grid-template-columns: 1fr; }
  .form-foot { flex-direction: column; align-items: stretch; }
  .form-foot .btn { width: 100%; }
  .footer-top { flex-direction: column; align-items: flex-start; gap: 20px; }
}
