@media (max-width: 1080px) {
  .events-page-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(340px, 0.68fr); gap: 3rem; }
  .event-format-card { min-height: 420px; }
  .availability-layout { grid-template-columns: 1fr 0.82fr; }
  .commercial-callout__grid { grid-template-columns: 60px 1fr 0.8fr; }
}

@media (max-width: 820px) {
  .events-page-hero__grid, .event-page-heading, .availability-layout, .commercial-callout__grid, .event-media__grid { grid-template-columns: 1fr; }
  .events-page-hero__grid { min-height: 0; padding-block: 4.5rem 6rem; }
  .events-page-hero__visual { width: min(82%, 520px); margin: 1rem auto 0; }
  .event-page-heading { align-items: start; gap: 1.5rem; }
  .event-format-grid { grid-template-columns: 1fr; }
  .event-format-card { min-height: 360px; }
  .availability-layout { overflow: visible; border-radius: var(--radius-m); }
  .calendar-panel { border-radius: var(--radius-m) var(--radius-m) 0 0; }
  .request-panel { border-radius: 0 0 var(--radius-m) var(--radius-m); }
  .commercial-callout__mark { display: none; }
  .commercial-callout__grid { gap: 2rem; }
  .brochure-card { grid-template-columns: 0.72fr 1fr; grid-template-rows: auto; align-items: center; }
}

@media (max-width: 560px) {
  .events-page-hero h1 { font-size: clamp(3.5rem, 18vw, 5rem); }
  .events-page-hero__actions { align-items: flex-start; flex-direction: column; }
  .events-page-hero__visual { width: calc(100% - 1.5rem); margin-right: 1.5rem; }
  .events-page-hero__visual > p { right: -1.3rem; }
  .event-format-card { min-height: 390px; }
  .calendar-panel, .request-panel { padding: 1.2rem; }
  .calendar-panel__top { align-items: flex-start; }
  .calendar-weekdays, .calendar-grid { gap: 0.25rem; }
  .calendar-day { border-radius: 8px; font-size: 0.76rem; }
  .calendar-day::after { right: 4px; bottom: 4px; width: 5px; height: 5px; }
  .calendar-legend { align-items: flex-start; flex-direction: column; }
  .request-form__row { grid-template-columns: 1fr; }
  .commercial-callout h2, .video-card h2, .brochure-card h2 { font-size: 3.2rem; }
  .video-card, .brochure-card { padding: 1.2rem; border-radius: var(--radius-m); }
  .video-frame button span { width: 58px; height: 58px; }
  .brochure-card { grid-template-columns: 1fr; }
  .brochure-preview { min-height: 300px; }
  .event-detail { width: calc(100vw - 1rem); max-height: calc(100vh - 1rem); padding: 3.5rem 1.3rem 1.3rem; border-radius: var(--radius-m); }
}
