/* Phone-first refinements. The approved desktop composition stays intact. */
.nav-left > a { min-height: 44px; }
.footer-links a { min-width: 44px; }
.tournament-preview-note { margin-top: 12px; color: #bfc8b6; font-size: 14px; line-height: 1.6; }
@media (max-width: 640px) {
  .hero, html[dir="rtl"] .hero { padding: 104px 20px 0; gap: 20px; overflow: hidden; }
  .hero h1 { font-size: clamp(32px, 9.2vw, 40px); line-height: 1.08; letter-spacing: -1.1px; margin-bottom: 20px; }
  html[lang="ar"] .hero h1 { font-size: clamp(30px, 8.6vw, 38px); line-height: 1.4; letter-spacing: 0; }
  .hero-sub { font-size: 17px; line-height: 1.6; margin-bottom: 22px; color: #d8ddcf; }
  .hero-badges { margin-top: 0; gap: 10px; }
  .hero-phones-mobile { padding: 0 8px 32px; gap: 12px; }
  .hero-bg, html[dir="rtl"] .hero-bg {
    background-image: linear-gradient(180deg,rgba(0,0,0,.78),rgba(0,0,0,.64) 52%,rgba(0,0,0,.28)),url('../assets/backgrounds/hero-blue-hour-match-mobile.webp');
    background-position: center, 58% center;
  }
  .hero-bg::after, html[dir="rtl"] .hero-bg::after {
    background-image: linear-gradient(180deg,rgba(0,0,0,.78),rgba(0,0,0,.64) 52%,rgba(0,0,0,.28)),url('../assets/backgrounds/hero-partido-celebration-mobile.webp');
    background-position: center, 60% center;
  }
  /* Large, complete phone screens and wide scenes, rather than tiny side thumbnails. */
  .how-step, .org-card { grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto auto; padding: 20px; gap: 14px; }
  .how-step__meta, .org-card__meta { grid-column: 1; grid-row: 1; }
  .how-step__visual, .org-card__visual { grid-column: 1; grid-row: 2; height: 260px; max-height: none; }
  .how-step__mockup, .org-card__visual .phone { width: 195px; }
  .how-step__photo, .org-card__image { grid-column: 1; grid-row: 2; min-height: 0; height: auto; aspect-ratio: 4 / 3; }
  .how-step__photo img, .org-card__image img { display: block; object-position: center 35%; }
  .how-step__content, .org-card__text { grid-column: 1; grid-row: 3; }
  .how-step__content h3, .org-card__title { font-size: 21px; min-height: 0; margin-bottom: 8px; }
  .how-step__content p, .org-card__desc { font-size: 16px; line-height: 1.6; }
  .how-section__action { gap: 12px; }
  .story-image { aspect-ratio: 4 / 3; }
  /* Off-screen slide animations must never widen the document on phones. */
  .js-animations .reveal-left, .js-animations .reveal-right { transform: translateY(16px); }
  .js-animations .reveal-left.visible, .js-animations .reveal-right.visible { transform: none; }
  .tournament-intro { gap: 20px; margin-bottom: 24px; }
  .tournament-intro .tourn-mockup { width: 190px; }
  .tournament-heading h2 { font-size: 32px; margin-bottom: 16px; }
  .tournament-benefit { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 8px 14px; padding: 20px; }
  .tournament-benefit .tournament-icon--color { width: 40px; height: 40px; grid-row: 1 / 3; margin: 0; }
  .tournament-benefit h3 { font-size: 19px; margin: 0; }
  .tournament-benefit p { grid-column: 2; font-size: 16px; }
  .tournament-leagues { padding: 12px 0 20px; }
  .tournament-follow { padding-top: 20px; }
  .tournament-details-link { font-size: 17px; font-weight: 700; }
  .guide-grid { gap: 16px; }
  .guide-grid .ed-card__body { padding: 20px; }
  .guide-grid .ed-card__title { font-size: 20px; }
  .guide-grid .ed-card__desc { margin-bottom: 12px; }
  .guide-grid .ed-card:not(:first-child) { display: grid; grid-template-columns: 88px minmax(0,1fr); align-items: start; padding: 16px; gap: 14px; }
  .guide-grid .ed-card:not(:first-child) .ed-card__img { aspect-ratio: 1; border-radius: 10px; }
  .guide-grid .ed-card:not(:first-child) .ed-card__body { padding: 0; }
  .guide-grid .ed-card:not(:first-child) .ed-card__title { font-size: 18px; margin-bottom: 8px; }
  .guide-grid .ed-card:not(:first-child) .ed-card__desc { display: none; }
  .guide-grid .ed-card:not(:first-child) .ed-card__cta { margin-top: 0; }
}
@media (max-width: 360px) {
  .hero, html[dir="rtl"] .hero { padding-inline: 16px; padding-top: 92px; }
  .hero-sub { font-size: 16px; }
  .how-step, .org-card { padding: 16px; }
  .guide-grid .ed-card:not(:first-child) { grid-template-columns: 64px minmax(0,1fr); gap: 12px; }
}
@media (max-width: 640px) {
  .pitch-cta__text { padding: 24px 20px; }
  .pitch-cta__image { aspect-ratio: 16 / 9; }
  .pitch-cta__text h2 { font-size: 28px; }
  .pp-sidebar { position: sticky; top: 68px; z-index: 20; align-self: start; background: var(--black); }
  .pp-toc { padding: 10px 16px; }
  .pp-toc__nav.is-open { max-height: 50vh; overflow-y: auto; overscroll-behavior: contain; }
  .event-page .event-hero-photo { height: 280px; }
}
