body.tournaments-page main {
  padding-bottom: var(--space-64);
}

.hero--tournaments {
  position: relative;
  min-height: 60vh;
  display: flex;
  align-items: stretch;
  isolation: isolate;
}

.hero--tournaments .hero__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.hero--tournaments .hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.05) contrast(1.05) brightness(0.8);
  transform: scale(1.03);
}

.hero--tournaments::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top, rgba(5, 9, 8, 0.1), rgba(5, 9, 8, 0.95));
  mix-blend-mode: multiply;
}

.hero__inner--tournaments {
  position: relative;
  z-index: 1;
  padding-top: var(--space-80);
  padding-bottom: var(--space-64);
  max-width: 720px;
}

.hero-meta {
  margin-top: var(--space-24);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-12);
  align-items: center;
}

.hero-meta__text {
  font-size: var(--font-size-sm);
  color: var(--color-text-soft);
}

.section-header {
  margin-bottom: var(--space-32);
}

.section-header--center {
  text-align: center;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.section-header--split {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-24);
  align-items: flex-end;
  margin-bottom: var(--space-32);
}

.section-header--split > div:first-child {
  flex: 1 1 260px;
}

.section-header--split > .vip-actions,
.section-header--split > .pricing-highlight {
  flex: 0 0 280px;
}

.section-header p {
  max-width: 40rem;
}

.section-intro .intro-layout {
  margin-top: var(--space-24);
  padding: var(--space-24);
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr);
  gap: var(--space-24);
}

.intro-layout__image img {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
}

.intro-layout__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.intro-list {
  margin-top: var(--space-16);
  margin-bottom: var(--space-16);
}

.intro-list li {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  margin-bottom: var(--space-8);
}

.intro-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-12);
}

.formats-grid .card-list li,
.vip-grid .card-list li,
.section-pricing .card-list li,
.section-rules .card-list li,
.section-faq-partners .card-list li,
.section-leaderboard .card-list li,
.section-join .card-list li {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  margin-bottom: var(--space-8);
}

.section-vip .vip-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-12);
  justify-content: flex-end;
}

.vip-grid {
  gap: var(--space-24);
}

.schedule-wrapper {
  margin-top: var(--space-24);
  border-radius: var(--radius-lg);
  padding: var(--space-24);
}

.schedule-header,
.schedule-row {
  display: grid;
  grid-template-columns: 1.1fr 1fr 1.3fr 0.9fr;
  gap: var(--space-16);
  align-items: center;
}

.schedule-header {
  font-size: var(--font-size-xs);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-text-soft);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding-bottom: var(--space-12);
}

.schedule-row {
  padding-top: var(--space-16);
  padding-bottom: var(--space-16);
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  font-size: var(--font-size-sm);
}

.schedule-row:last-of-type {
  border-bottom: none;
}

.schedule-row strong {
  display: block;
  margin-bottom: var(--space-4);
}

.schedule-row span {
  display: block;
  color: var(--color-text-muted);
}

.schedule-note {
  margin-top: var(--space-16);
}

.schedule-cta {
  margin-top: var(--space-24);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-16);
  justify-content: center;
}

.section-pricing .pricing-highlight {
  padding: var(--space-24);
}

.rules-grid {
  gap: var(--space-24);
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-24);
  margin-top: var(--space-24);
}

.gallery-item img {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
}

.gallery-item figcaption {
  font-size: var(--font-size-sm);
  color: var(--color-text-soft);
  margin-top: var(--space-8);
}

.gallery-cta {
  margin-top: var(--space-24);
  text-align: center;
}

.gallery-cta .btn[aria-disabled="true"] {
  opacity: 0.45;
  cursor: not-allowed;
}

.faq-partners-grid {
  align-items: flex-start;
  gap: var(--space-32);
}

.faq-list {
  margin-top: var(--space-16);
}

.faq-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  padding-top: var(--space-12);
  padding-bottom: var(--space-12);
}

.faq-item dt {
  font-weight: 500;
  font-family: var(--font-serif);
  margin-bottom: var(--space-8);
}

.faq-item dd {
  margin: 0;
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.leaderboard {
  margin-top: var(--space-24);
  padding: var(--space-24);
}

.leaderboard-header,
.leaderboard-row {
  display: grid;
  grid-template-columns: 0.5fr 1.5fr 1fr 1.7fr;
  gap: var(--space-16);
  align-items: center;
}

.leaderboard-header {
  font-size: var(--font-size-xs);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-text-soft);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding-bottom: var(--space-12);
}

.leaderboard-row {
  padding-top: var(--space-12);
  padding-bottom: var(--space-12);
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  font-size: var(--font-size-sm);
}

.leaderboard-row:last-of-type {
  border-bottom: none;
}

.leaderboard-footer {
  margin-top: var(--space-16);
}

.section-join .join-wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: var(--space-24);
  padding: var(--space-32);
}

.join-content h2 {
  margin-bottom: var(--space-16);
}

.join-actions {
  margin-top: var(--space-24);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-16);
}

.join-side .join-note {
  height: 100%;
  padding: var(--space-24);
}

@media (max-width: 1024px) {
  .section-intro .intro-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .section-join .join-wrapper {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .hero__inner--tournaments {
    padding-top: var(--space-64);
    padding-bottom: var(--space-48);
  }
  .section-header--split {
    flex-direction: column;
    align-items: flex-start;
  }
  .schedule-header,
  .schedule-row,
  .leaderboard-header,
  .leaderboard-row {
    grid-template-columns: minmax(0, 1fr);
  }
  .schedule-header div:nth-child(n+2),
  .leaderboard-header div:nth-child(n+2) {
    display: none;
  }
  .gallery-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .faq-partners-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
