@media (max-width: 700px) {
  :root { --pad: 20px; }
  header { height: 62px; padding: 0 18px; }
  .header-buy { padding: 10px 12px; }
  .hero { height: min(100svh, 760px); min-height: 620px; max-height: 760px; }
  .hero>img { object-position: center; }
  .hero-content { padding: 92px 20px 88px; }
  .hero h1 { font-size: clamp(4.5rem, 18vw, 6.4rem); line-height: .78; }
  .hero-bottom p { max-width: 230px; font-size: .92rem; }
  .hero-bottom button { display: none; }

  .agenda { padding: 74px 20px; }
  .agenda-head { margin: 36px 0; }
  .agenda-head h2 { font-size: 3.25rem; }
  .agenda-row { grid-template-columns: 62px 1fr 38px; min-height: 88px; gap: 10px; }
  .agenda-row h3 { font-size: 1.85rem; }
  .agenda-row button { width: 36px; height: 36px; }

  .event { grid-template-columns: 1fr; gap: 32px; padding: 74px 20px; }
  .event-copy { margin: 0; }
  .event h2,.tickets h2,.lineup h2 { font-size: 3.3rem; }
  .event-copy>p { margin-top: 24px; }

  .lineup { min-height: 0; grid-template-columns: 1fr; }
  .lineup-image { height: auto; }
  .lineup-image img { display: block; height: auto; max-height: 520px; aspect-ratio: 4 / 5; object-fit: cover; }
  .lineup-content { padding: 68px 20px 76px; }
  .lineup h2 { margin: 42px 0; }

  .tickets { padding: 74px 20px 86px; }
  .tickets-head { margin: 40px 0; }
  .ticket-row { grid-template-columns: 1fr 72px 38px; min-height: 86px; gap: 8px; }
  .ticket-row strong { font-size: 1.35rem; }
  .ticket-row button { width: 36px; height: 36px; }

  .promo-signup { grid-template-columns: 1fr; gap: 34px; padding: 68px 20px; }
  .promo-signup form { grid-column: 1; grid-template-columns: 1fr; width: 100%; }
  .promo-signup form button { min-height: 50px; }
  .infos { grid-template-columns: 1fr; gap: 28px; padding: 68px 20px 90px; }
  footer { grid-template-columns: 1fr; gap: 25px; padding: 58px 20px 110px; }
  .footer-logo { grid-column: auto; margin: 0; font-size: 3rem; }
  footer>div { justify-content: flex-start; }

  .mobile-buy { display: none; }
  .checkout-panel { width: 100%; }
  .checkout-body { padding: 30px 20px 110px; }
  .checkout h2 { margin-bottom: 28px; font-size: 3.25rem; }
}

@media (max-width: 380px) {
  .hero h1 { font-size: 4.25rem; }
  .event h2,.tickets h2,.lineup h2 { font-size: 3rem; }
}
