.tournament-page {
  position: relative;
  overflow-x: clip;
  background:
    radial-gradient(circle at 86% 14%, rgba(23, 45, 80, 0.35), transparent 28rem),
    radial-gradient(circle at 12% 42%, rgba(52, 43, 88, 0.26), transparent 28rem),
    var(--color-ink-950);
}

.tournament-page::before {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 0;
  width: 22rem;
  height: 22rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(66, 215, 196, 0.09), transparent 68%);
  content: "";
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%);
  transition: opacity var(--transition-fast);
}

.tournament-page.te-cursor-active::before { opacity: 1; }
.tournament-page > section { position: relative; z-index: 1; }

.te-hero__grid,
.te-framing__grid,
.te-bridge__grid,
.te-enquiry__grid {
  display: grid;
  min-width: 0;
  gap: var(--space-5);
}

.te-hero__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr); align-items: center; }
.te-hero__copy { grid-column: 1 / span 1; min-width: 0; max-width: 52ch; }
.te-hero__copy h1 { max-width: 30ch; }
.te-hero__lead { max-width: 52ch; }
.te-hero__media { grid-column: 3; width: 100%; max-width: 100%; aspect-ratio: 4 / 5; margin: 0; }
.te-hero__media img { object-position: 60% 42%; }
.te-signal-note { display: flex; align-items: center; gap: var(--space-2); margin: var(--space-3) 0 0; color: var(--color-ultramarine-400); font-family: var(--font-heading); font-size: var(--text-xs); letter-spacing: .08em; text-transform: uppercase; }
.te-signal-note span { color: var(--color-turquoise-400); font-size: 1.2rem; }

.te-sequence__heading { width: 100%; max-width: 44ch; }
.te-sequence__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; gap: var(--space-5); margin-top: var(--space-7); }
.te-phase { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); min-width: 0; gap: var(--space-3); padding-top: var(--space-4); border-top: var(--border-subtle); }
.te-phase__number { min-width: 0; color: var(--color-ultramarine-400); font-family: var(--font-mono); font-size: var(--text-sm); font-variant-numeric: tabular-nums; }
.te-phase__content { min-width: 0; max-width: 34ch; }
.te-phase__content h3 { font-size: var(--text-xl); }

.te-framing__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr); align-items: start; }
.te-framing__copy { grid-column: 1; min-width: 0; max-width: 58ch; }
.te-framing__copy h2 { max-width: 20ch; }
.te-definitions { grid-column: 3; min-width: 0; padding: var(--space-6); border-radius: var(--radius-lg); }
.te-definition { min-width: 0; max-width: 34ch; padding-block: var(--space-4); border-bottom: var(--border-subtle); }
.te-definition:first-child { padding-top: 0; }
.te-definition:last-child { padding-bottom: 0; border-bottom: 0; }
.te-definition p:last-child { margin-bottom: 0; }
.te-definition__label { margin: 0 0 var(--space-2); color: var(--color-platinum-100); font-family: var(--font-heading); font-size: .6875rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.te-definition__label--turquoise { color: var(--color-turquoise-400); }
.te-definition__label--warning { color: var(--color-warning-400); }

.te-conditions__intro { width: 41.666%; min-width: 0; max-width: 48ch; margin-left: 8.333%; }
.te-conditions__media { width: 100%; max-width: 100%; aspect-ratio: 2 / 1; margin: var(--space-7) 0 0; }
.te-conditions__media img { object-position: center; }
.te-captions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; gap: var(--space-5); margin-top: var(--space-5); }
.te-caption { min-width: 0; max-width: 30ch; padding-top: var(--space-4); border-top: var(--border-subtle); }
.te-caption h3 { font-size: var(--text-xl); }
.te-caption__node { display: block; width: .55rem; height: .55rem; margin-bottom: var(--space-3); border-radius: 50%; background: var(--color-turquoise-400); }
.te-caption__line { display: block; width: 2.5rem; height: 1px; margin-bottom: var(--space-3); background: var(--color-ultramarine-400); }

.te-protocol__intro { width: 50%; min-width: 0; max-width: 50ch; }
.te-protocol__cards { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); min-width: 0; gap: var(--space-5); margin-top: var(--space-7); }
.te-protocol-card { min-width: 0; padding: var(--space-5); border-radius: var(--radius-lg); transition: border-color var(--transition-fast), box-shadow var(--transition-fast); }
.te-protocol-card:nth-child(1) { grid-column: 1 / span 5; }
.te-protocol-card:nth-child(2) { grid-column: 8 / span 4; }
.te-protocol-card:nth-child(3) { grid-column: 2 / span 4; }
.te-protocol-card:nth-child(4) { grid-column: 7 / span 5; }
.te-protocol-card:hover { border-color: var(--color-turquoise-400); box-shadow: inset 0 2px 0 rgba(66, 215, 196, .7); }
.te-protocol-card h3 { font-size: var(--text-xl); }
.te-protocol-card p:not(.meta) { max-width: 30ch; }

.te-guests__intro { width: 50%; min-width: 0; max-width: 55ch; }
.te-perspectives { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; gap: var(--space-5); margin-top: var(--space-7); }
.te-perspective { min-width: 0; max-width: 33ch; padding-top: var(--space-4); border-top: var(--border-subtle); }
.te-perspective h3 { font-size: var(--text-xl); }
.te-perspective__signal { color: var(--color-ultramarine-400); }
.te-perspective a { display: inline-flex; align-items: center; min-height: 44px; }

.te-faq__intro { width: 50%; min-width: 0; max-width: 52ch; }
.te-faq__panel { width: 75%; min-width: 0; margin-top: var(--space-7); padding: 0 var(--space-6); border-radius: var(--radius-lg); }
.te-faq-item { min-width: 0; border-bottom: var(--border-subtle); }
.te-faq-item:last-child { border-bottom: 0; }
.te-faq-item h3 { margin: 0; font-size: var(--text-lg); }
.te-faq-item button { display: flex; align-items: center; justify-content: space-between; width: 100%; min-width: 0; min-height: 56px; gap: var(--space-4); padding: var(--space-4) 0; background: transparent; color: var(--color-platinum-100); font-family: var(--font-heading); font-size: var(--text-lg); font-weight: 600; letter-spacing: -.02em; text-align: left; }
.te-faq-item button span { flex: 0 0 auto; color: var(--color-turquoise-400); font-size: 1.35rem; }
.te-faq-item__answer { max-width: 58ch; padding-bottom: var(--space-4); }
.te-faq-item__answer p { margin-bottom: 0; }
.te-faq-enhanced .te-faq-item__answer[hidden] { display: none; }

.te-bridge__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 1fr) minmax(0, 5fr); align-items: center; }
.te-bridge__media { grid-column: 1; width: 100%; max-width: 100%; aspect-ratio: 3 / 2; margin: 0; }
.te-bridge__media img { object-position: 40% center; }
.te-bridge__copy { grid-column: 3; min-width: 0; max-width: 46ch; }
.te-bridge__copy h2 { max-width: 32ch; font-size: var(--text-3xl); }
.te-bridge__links { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; gap: var(--space-2); }
.te-bridge__links a { display: inline-flex; align-items: center; min-height: 44px; }

.te-enquiry__intro { width: 58.333%; min-width: 0; max-width: 52ch; }
.te-enquiry__grid { grid-template-columns: minmax(0, 8fr) minmax(0, 1fr) minmax(0, 3fr); align-items: start; margin-top: var(--space-7); }
.te-enquiry__form { grid-column: 1; min-width: 0; }
.te-enquiry__guidance { grid-column: 3; min-width: 0; padding: var(--space-5); border-radius: var(--radius-lg); }
.te-enquiry__guidance h3 { font-size: var(--text-xl); }
.te-enquiry__guidance p { max-width: 34ch; }
.te-contact-lines { display: flex; flex-direction: column; min-width: 0; gap: var(--space-2); }
.te-contact-lines a { display: inline-flex; align-items: center; min-height: 44px; }
.te-form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; gap: var(--space-4); }
.te-form-row > .form-field { min-width: 0; }
.te-optional { color: var(--color-muted-500); font-size: var(--text-xs); font-weight: 400; }
.te-consent { display: grid; grid-template-columns: 1.125rem minmax(0, 1fr); min-width: 0; align-items: start; gap: var(--space-3); margin-bottom: var(--space-5); }
.te-consent label { margin: 0; }
.te-consent .form-error { display: block; margin-top: var(--space-1); }
.te-form-status { display: none; margin-bottom: var(--space-5); padding: var(--space-3) var(--space-4); border: 1px solid var(--color-success-400); border-radius: var(--radius-sm); color: var(--color-success-400); }
.te-form-status.is-visible { display: block; }
.te-form-status.is-error { border-color: var(--color-warning-400); color: var(--color-warning-400); }

.te-closing { padding-bottom: clamp(var(--space-8), 10vw, var(--space-10)); }
.te-closing__content { display: flex; flex-direction: column; align-items: center; min-width: 0; gap: var(--space-4); width: 58.333%; max-width: 44ch; margin-inline: auto; padding: var(--space-7) 0; text-align: center; }
.te-closing__content h2 { margin: 0; font-size: var(--text-3xl); }
.te-closing__content p { margin: 0; }

@media (max-width: 980px) {
  .te-hero__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); }
  .te-hero__copy { grid-column: 1; }
  .te-hero__media { grid-column: 2; }
  .te-protocol__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .te-protocol-card:nth-child(n) { grid-column: auto; }
  .te-enquiry__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .te-enquiry__form { grid-column: 1; }
  .te-enquiry__guidance { grid-column: 2; }
}

@media (max-width: 900px) {
  .te-framing__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .te-framing__copy { grid-column: 1; }
  .te-definitions { grid-column: 2; padding: var(--space-5); }
  .te-conditions__intro { width: 58.333%; margin-left: 0; }
  .te-captions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .te-caption:nth-child(3) { grid-column: 1 / -1; }
  .te-perspectives { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .te-perspective:nth-child(3) { grid-column: 1 / -1; }
  .te-faq__panel { width: 83.333%; }
  .te-bridge__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .te-bridge__media { grid-column: 1; }
  .te-bridge__copy { grid-column: 2; }
}

@media (max-width: 760px) {
  .tournament-page { background: radial-gradient(circle at 85% 10%, rgba(23, 45, 80, .18), transparent 18rem), var(--color-ink-950); }
  .te-hero__grid,
  .te-framing__grid,
  .te-bridge__grid,
  .te-enquiry__grid { grid-template-columns: minmax(0, 1fr); }
  .te-hero__copy,
  .te-hero__media,
  .te-framing__copy,
  .te-definitions,
  .te-bridge__media,
  .te-bridge__copy,
  .te-enquiry__form,
  .te-enquiry__guidance { grid-column: 1; }
  .te-hero__grid { gap: var(--space-5); }
  .te-hero__copy { max-width: none; }
  .te-hero__copy h1 { max-width: 21ch; }
  .te-hero__lead { max-width: 52ch; }
  .te-hero__media { aspect-ratio: 4 / 5; }
  .te-signal-note { display: none; }
  .te-sequence__list { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: var(--space-6); }
  .te-phase { padding-block: var(--space-5); }
  .te-phase__content { max-width: none; }
  .te-framing__copy { max-width: none; }
  .te-definitions { padding: var(--space-5); }
  .te-definition { max-width: none; }
  .te-conditions__intro,
  .te-protocol__intro,
  .te-guests__intro,
  .te-faq__intro,
  .te-enquiry__intro { width: 100%; max-width: none; margin-left: 0; }
  .te-conditions__media { aspect-ratio: 4 / 3; margin-top: var(--space-6); }
  .te-captions,
  .te-protocol__cards,
  .te-perspectives { grid-template-columns: minmax(0, 1fr); }
  .te-caption:nth-child(3),
  .te-perspective:nth-child(3) { grid-column: auto; }
  .te-caption { max-width: none; }
  .te-protocol__cards { margin-top: var(--space-6); gap: var(--space-4); }
  .te-protocol-card { padding: var(--space-5); }
  .te-protocol-card p:not(.meta) { max-width: none; }
  .te-perspectives { gap: 0; margin-top: var(--space-6); }
  .te-perspective { max-width: none; padding-block: var(--space-5); }
  .te-faq__panel { width: 100%; padding: 0 var(--space-5); margin-top: var(--space-6); }
  .te-faq-item button { font-size: var(--text-body); }
  .te-faq-item__answer { max-width: none; }
  .te-bridge__copy { order: 1; max-width: none; }
  .te-bridge__media { order: 2; aspect-ratio: 4 / 3; }
  .te-bridge__links { margin-top: var(--space-2); }
  .te-enquiry__grid { gap: var(--space-5); margin-top: var(--space-6); }
  .te-form-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .te-enquiry__form,
  .te-enquiry__guidance { padding: var(--space-5); }
  .te-closing__content { align-items: stretch; width: 100%; max-width: none; padding: var(--space-6) 0; text-align: left; }
  .te-closing__content .button { width: 100%; }
}

@media (max-width: 600px) {
  .te-hero__copy h1 { max-width: none; }
  .te-conditions__media img { object-position: center; }
  .te-bridge__copy h2,
  .te-closing__content h2 { font-size: var(--text-2xl); }
}

@media (prefers-reduced-motion: reduce) {
  .tournament-page::before { display: none; }
  .te-protocol-card { transition: none; }
}
