/* 1200–1439: the mockup has no frame here. The desktop composition holds, but
 * the fixed column widths of the 1440 frame become flex bases that may shrink,
 * and blocks the frame lets run past their column are reined in. Loaded last. */
@media (min-width: 1200px) and (max-width: 1439px) {
  /* hero-type splits: text column / gutter / photo panel */
  .hero__left, .page-hero__left, .hiw-hero__left, .contact-hero__left, .help-hero__left,
  .rg-hero__left, .bs-hero__left, .racing__left, .explain__left, .conversion__left {
    flex: 0 1 auto; min-width: 0;
  }
  .hero__right, .page-hero__right, .racing__right, .hiw-hero__right, .quick-support,
  .rg-index, .explain__right, .conversion__right, .bs-official__left, .bs-official__right {
    flex: 0 1 auto; min-width: 0;
  }
  .hero__divider, .page-hero__divider, .racing__divider, .hiw-hero__divider,
  .contact-hero__divider, .help-hero__divider, .rg-hero__divider, .bs-hero__divider,
  .bs-official__divider, .workspace__divider { flex: 0 1 60px; }
  .hero__right { flex-basis: 520px; }
  .page-hero__right { flex-basis: 640px; }
  .racing__right { flex-basis: 560px; }
  .racing__left { flex: 0 1 640px; }
  .race-row__right { flex: none; }
  /* blocks drawn wider than their column */
  .hero__intro, .featured-match, .hero__cta, .racing__head, .racing__list,
  .page-hero__intro, .page-hero__cta, .showdown-hero__foot, .hiw-hero__intro,
  .contact-hero__intro, .help-hero__intro, .rg-hero__top, .bs-hero__intro { width: 100%; max-width: 100%; }
  .hero__title, .page-hero__title { white-space: normal; }

  /* two-column bodies with fixed widths */
  .step__text, .step__example, .contact-form__info, .contact-card, .legal-index, .legal-article,
  .slip-work, .summary, .topic-panel, .faq, .rg-marker, .rg-content, .rg-split__info, .rg-card,
  .rg-age__block:first-child, .rg-age__block:last-child, .bs-official__copy, .ex-col--checks,
  .ex-col--totals, .rg-head .rg-intro { flex: 0 1 auto; min-width: 0; max-width: 100%; }
  .rg-head .rg-intro { width: auto; white-space: normal; }
  .step__example { flex: 1 1 0; }
  .step__text { flex: 1 1 0; }
  .contact-form__inner { gap: var(--space-64); }
  .contact-card { flex: 1 1 0; }
  .legal-article, .faq, .rg-content, .slip-work { flex: 1 1 0; }
  .rg-checklist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rg-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bs-track { grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr) 40px minmax(0, 1fr); }
  .bs-official__title { width: auto; white-space: normal; }
  .legal-hero__decor { font-size: 100px; }
  .cookie-row__info { width: auto; }
}

/* 600–1199: the 390 frame's 220px photo strip crops the players' heads once it is
   stretched to tablet width; let the panel grow with the viewport instead. */
@media (min-width: 600px) and (max-width: 1199px) {
  .hero__right, .page-hero__right, .racing__right { min-height: clamp(220px, 42vw, 480px); }
}
