.tournament-page {
  overflow: clip;
}

.tournament-page .section {
  position: relative;
}

.tournament-hero__grid,
.programme-board__grid,
.selection-ledger__grid,
.format-note__grid,
.table-fit__grid,
.expectations__grid,
.room-note__grid,
.continue-evening__grid {
  display: grid;
  min-width: 0;
  gap: 2rem;
}

.tournament-hero__grid {
  grid-template-columns: minmax(0, 7fr) minmax(330px, 5fr);
  align-items: center;
}

.tournament-hero__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2rem;
}

.tournament-hero__copy-flow {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
}

.tournament-hero__copy-flow > * { margin: 0; }
.tournament-hero__copy-flow .intro { max-width: 42rem; }
.tournament-hero__actions { display: flex; min-width: 0; }

.tournament-hero__rail {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: var(--border-subtle);
}

.tournament-hero__rail-item {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-4);
  color: var(--color-muted-slate);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.tournament-hero__rail-item + .tournament-hero__rail-item { border-inline-start: var(--border-subtle); }
.tournament-hero__media,
.format-note__media,
.room-note__media { min-width: 0; width: 100%; margin: 0; }
.tournament-hero__media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: center; border-radius: var(--radius-panel); }
.tournament-hero__media figcaption,
.format-note__media figcaption,
.room-note__media figcaption { margin: var(--space-2) 0 0; }

.programme-board__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); align-items: start; }
.programme-board__intro { min-width: 0; max-width: 30rem; }
.programme-board__rule { width: 3rem; margin: var(--space-5) 0 0; background: var(--color-brass-gold); }
.programme-board__content { min-width: 0; }
.programme-board__filters { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-3); margin-bottom: var(--space-5); }
.programme-filter { min-height: 2.75rem; padding: .7rem 1rem; border: 1px solid var(--color-line-slate); border-radius: var(--radius-control); background: transparent; color: var(--color-white); font-weight: 600; }
.programme-filter[aria-pressed="true"] { border-inline-start: 3px solid var(--color-brass-gold); background: color-mix(in srgb, var(--color-brass-gold) 8%, var(--color-panel-slate)); color: var(--color-brass-gold); }
.programme-lane { display: grid; min-width: 0; grid-template-columns: 72px minmax(260px, 1fr) 220px; gap: var(--space-5); align-items: start; }
.programme-lane + .programme-lane { margin-top: var(--space-4); }
.programme-lane__rank,
.selection-item__rank,
.expectation-row__marker,
.format-step > span { color: var(--color-brass-gold); font-size: 1.35rem; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.2; }
.programme-lane__narrative,
.programme-lane__meta { min-width: 0; }
.programme-lane__narrative > :last-child,
.programme-lane__meta > :last-child { margin-bottom: 0; }
.programme-lane__label { margin: 0 0 var(--space-2); color: var(--color-brass-gold); font-size: var(--text-xs); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.programme-lane__meta { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.programme-lane__tags { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-2); }
.programme-lane__tags span { padding: .3rem .45rem; border: 1px solid var(--color-line-slate); border-radius: var(--radius-sm); color: var(--color-muted-slate); font-size: var(--text-xs); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }

.selection-ledger__grid { grid-template-columns: minmax(300px, 4fr) minmax(0, 8fr); align-items: start; }
.selection-ledger__intro { min-width: 0; max-width: 34rem; }
.selection-ledger__list { min-width: 0; border-top: var(--border-subtle); }
.selection-item { display: grid; min-width: 0; grid-template-columns: 64px minmax(260px, 1fr) 160px; gap: var(--space-4); padding: var(--space-5) 0; border-bottom: var(--border-subtle); transition: transform var(--transition-standard), box-shadow var(--transition-standard); }
.selection-item:hover { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(0,0,0,.12); }
.selection-item__body,
.selection-item__fit { min-width: 0; margin: 0; }
.selection-item__body > :last-child { margin-bottom: 0; }
.selection-item__fit { color: var(--color-muted-slate); font-size: var(--text-sm); line-height: 1.45; }
.selection-item__fit span { display: block; margin-bottom: var(--space-2); color: var(--color-brass-gold); font-size: var(--text-xs); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }

.format-note__grid { grid-template-columns: minmax(0, 7fr) minmax(300px, 5fr); align-items: start; }
.format-note__copy { min-width: 0; max-width: 44rem; }
.format-note__steps { display: flex; min-width: 0; flex-direction: column; gap: 0; margin-top: var(--space-6); border-top: var(--border-subtle); }
.format-step { display: grid; min-width: 0; grid-template-columns: 36px minmax(0, 1fr); gap: var(--space-3); padding: var(--space-4) 0; border-bottom: var(--border-subtle); }
.format-step > div { min-width: 0; }
.format-step h3,
.format-step p { margin: 0; }
.format-step h3 { margin-bottom: var(--space-2); }
.format-note__trophy { margin-top: var(--space-6); border-top: 2px solid var(--color-brass-gold); }
.format-note__media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: center; border-radius: var(--radius-panel); }

.table-fit__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); align-items: start; }
.table-fit__intro { min-width: 0; max-width: 32rem; }
.table-fit__cards { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(280px, 1fr)); gap: 2rem; }
.table-fit-card { min-width: 0; min-height: 100%; justify-content: space-between; gap: var(--space-6); }
.table-fit-card__flow,
.table-fit-card__meta { min-width: 0; }
.table-fit-card__flow > :last-child,
.table-fit-card__meta > :last-child { margin-bottom: 0; }
.table-fit-card__meta { padding-top: var(--space-4); border-top: var(--border-subtle); color: var(--color-muted-slate); font-size: var(--text-sm); }
.table-fit-card__meta > span { display: block; margin-bottom: var(--space-2); color: var(--color-brass-gold); font-size: var(--text-xs); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.table-fit-card__meta .button { margin-top: var(--space-3); }

.expectations__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); align-items: start; }
.expectations__intro { min-width: 0; max-width: 32rem; }
.expectations__rows { min-width: 0; border-top: var(--border-subtle); }
.expectation-row { display: grid; min-width: 0; grid-template-columns: 48px minmax(300px, 1fr) 170px; gap: var(--space-4); padding: var(--space-5) 0; border-bottom: var(--border-subtle); }
.expectation-row__body,
.expectation-row__actions { min-width: 0; }
.expectation-row__body > :last-child { margin-bottom: 0; }
.expectation-row__actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.expectation-row__actions .button { text-align: left; }

.room-note__grid { grid-template-columns: minmax(310px, 5fr) minmax(390px, 7fr); align-items: start; }
.room-note__copy { min-width: 0; max-width: 34rem; }
.room-note__links { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); margin-top: var(--space-5); }
.room-note__links a { width: fit-content; max-width: 100%; padding-bottom: var(--space-2); border-bottom: 1px solid var(--color-line-slate); }
.room-note__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; border-radius: var(--radius-panel); }

.booking-handoff__panel { display: grid; width: min(100%, 50rem); min-width: 0; grid-template-columns: minmax(0, 7fr) minmax(220px, 5fr); gap: 2rem; margin-right: auto; }
.booking-handoff__copy,
.booking-handoff__actions { min-width: 0; }
.booking-handoff__copy { max-width: 36rem; }
.booking-handoff__actions { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: var(--space-3); }

.continue-evening__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); align-items: start; }
.continue-evening__intro { min-width: 0; max-width: 30rem; }
.continue-evening__list { min-width: 0; border-top: var(--border-subtle); }
.continue-row { display: grid; min-width: 0; grid-template-columns: minmax(360px, 1fr) 170px; gap: var(--space-5); align-items: center; padding: var(--space-5) 0; border-bottom: var(--border-subtle); }
.continue-row > div { min-width: 0; }
.continue-row h3,
.continue-row p { margin: 0; }
.continue-row h3 { margin-bottom: var(--space-2); }
.continue-row > a { min-width: 0; width: fit-content; max-width: 100%; }

.closing-note__copy { width: min(100%, 37.5rem); min-width: 0; margin-inline: auto; text-align: left; }
.closing-note__copy hr { width: 3rem; margin: 0 0 var(--space-5); background: var(--color-brass-gold); }
.closing-note__copy > :last-child { margin-bottom: 0; }

@media (max-width: 67.4375rem) {
  .tournament-hero__grid { grid-template-columns: repeat(2, minmax(280px, 1fr)); gap: 1.5rem; }
  .tournament-hero__rail { grid-template-columns: 1fr; }
  .tournament-hero__rail-item + .tournament-hero__rail-item { border-inline-start: 0; border-top: var(--border-subtle); }
  .programme-board__grid,
  .selection-ledger__grid { grid-template-columns: 1fr; }
  .programme-board__intro,
  .selection-ledger__intro { max-width: 34rem; }
  .programme-lane { grid-template-columns: 44px minmax(0, 1fr); }
  .programme-lane__meta { grid-column: 2; }
  .selection-item { grid-template-columns: 44px minmax(0, 1fr); }
  .selection-item__fit { grid-column: 2; }
  .format-note__grid { grid-template-columns: 1fr; }
  .format-note__copy { max-width: 44rem; }
  .format-note__media { max-width: 46rem; }
  .table-fit__grid,
  .expectations__grid { grid-template-columns: 1fr; }
  .table-fit__intro,
  .expectations__intro { max-width: 34rem; }
  .room-note__grid { grid-template-columns: 1fr; }
  .room-note__copy { max-width: 34rem; }
  .room-note__media { max-width: 48rem; }
}

@media (max-width: 59.9375rem) {
  .expectation-row { grid-template-columns: 48px minmax(0, 1fr); }
  .expectation-row__actions { grid-column: 2; flex-direction: row; flex-wrap: wrap; }
  .booking-handoff__panel { width: 100%; grid-template-columns: 1fr; }
  .booking-handoff__actions { flex-direction: row; flex-wrap: wrap; }
  .continue-evening__grid { grid-template-columns: 1fr; }
  .continue-evening__intro { max-width: 30rem; }
  .continue-row { grid-template-columns: 1fr; gap: var(--space-3); }
}

@media (max-width: 47.9375rem) {
  .tournament-hero__grid,
  .programme-board__grid,
  .selection-ledger__grid,
  .format-note__grid,
  .table-fit__grid,
  .expectations__grid,
  .room-note__grid,
  .continue-evening__grid { grid-template-columns: 1fr; gap: 1rem; }
  .tournament-hero__copy { gap: var(--space-5); }
  .tournament-hero__copy-flow { gap: var(--space-4); }
  .tournament-hero__media img { aspect-ratio: 4 / 3; }
  .programme-board__filters { display: grid; grid-template-columns: 1fr; }
  .programme-filter { width: 100%; }
  .programme-lane { grid-template-columns: 1fr; gap: var(--space-4); }
  .programme-lane__rank { font-size: var(--text-sm); }
  .programme-lane__meta { grid-column: auto; }
  .selection-item { grid-template-columns: 1fr; gap: var(--space-3); }
  .selection-item__rank { font-size: var(--text-sm); }
  .selection-item__fit { grid-column: auto; }
  .format-note__media img { aspect-ratio: 4 / 3; }
  .table-fit__cards { grid-template-columns: 1fr; gap: 1rem; }
  .expectation-row { grid-template-columns: 1fr; gap: var(--space-3); }
  .expectation-row__marker { font-size: var(--text-sm); }
  .expectation-row__actions { grid-column: auto; flex-direction: column; align-items: flex-start; }
  .room-note__media img { aspect-ratio: 4 / 3; }
  .booking-handoff__panel { gap: var(--space-5); }
  .booking-handoff__actions { flex-direction: column; align-items: stretch; }
  .booking-handoff__actions .button { width: 100%; }
  .continue-row { gap: var(--space-3); }
  .continue-row > a { display: inline-flex; min-height: 2.75rem; align-items: center; }
  .closing-note__copy { width: 100%; }
}
