.tournaments-page { overflow: hidden; }
.tournaments-page .tht-shell { width: min(100% - (var(--container-gutter) * 2), var(--container-max)); margin-inline: auto; }
.tournaments-page .eyebrow { margin-bottom: var(--space-4); }
.tournaments-page .button { min-height: 3rem; }
.tournaments-page .button--text { min-height: 2.75rem; align-items: center; }
.tournaments-page .tht-hero { position: relative; min-height: 47.5rem; padding-block: var(--space-10); isolation: isolate; overflow: clip; }
.tournaments-page .tht-hero__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: center; min-height: 31rem; }
.tournaments-page .tht-hero__copy { grid-column: 2 / span 5; min-width: 0; position: relative; z-index: 2; }
.tournaments-page .tht-hero__copy .lede { max-width: 34rem; color: var(--colour-ivory-200); }
.tournaments-page .tht-hero__actions { gap: var(--space-4); }
.tournaments-page .tht-hero__note { margin-top: var(--space-4); color: var(--colour-ivory-200); max-width: 32rem; }
.tournaments-page .tht-hero__media { grid-column: 7 / 13; width: calc(100% + max(0px, (100vw - var(--container-max)) / 2)); max-width: none; min-width: 0; margin: 0; border-left: 4px solid var(--colour-cobalt-600); overflow: hidden; align-self: stretch; }
.tournaments-page .tht-hero__media img { width: 100%; height: 100%; min-height: 31rem; object-fit: cover; object-position: 72% center; transition: transform var(--transition-image); }
.tournaments-page .tht-hero__media:hover img { transform: translateY(-8px) scale(1.015); }
.tournaments-page .tht-hero .button:hover { box-shadow: 0 0 0 1px var(--colour-ivory-100); }
.tournaments-page .tht-numeral { position: absolute; font-family: var(--font-heading); font-size: clamp(9rem, 17vw, 18rem); font-weight: 700; line-height: .75; color: var(--colour-ivory-100); opacity: .055; pointer-events: none; z-index: 0; }
.tournaments-page .tht-hero__numeral { right: -1vw; bottom: -1rem; }
.tournaments-page .tht-room__top { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: start; }
.tournaments-page .tht-room__intro { grid-column: 2 / span 6; min-width: 0; }
.tournaments-page .tht-room__intro .lede { max-width: 42rem; }
.tournaments-page .tht-room__media { grid-column: 8 / 13; min-width: 0; margin: 0; overflow: hidden; }
.tournaments-page .tht-room__media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform var(--transition-image); }
.tournaments-page .tht-room__media:hover img { transform: scale(1.025); }
.tournaments-page .tht-room__narratives { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: var(--space-8); }
.tournaments-page .tht-room__story { min-width: 0; padding: var(--space-5); border-top: 1px solid var(--colour-line-light); border-left: 1px solid var(--colour-line-light); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.tournaments-page .tht-room__story:last-child { border-right: 1px solid var(--colour-line-light); }
.tournaments-page .tht-room__story::before { content: ""; width: 3rem; height: 3px; background: var(--colour-cobalt-600); }
.tournaments-page .tht-room__story--brick::before { background: var(--colour-brick-600); }
.tournaments-page .tht-room__story h3, .tournaments-page .tht-room__story p { margin: 0; }
.tournaments-page .tht-flow__header { width: min(100%, 40rem); }
.tournaments-page .tht-flow__header .lede { max-width: 34rem; }
.tournaments-page .tht-flow__stages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: var(--space-8); border: 1px solid rgb(255 249 239 / 30%); }
.tournaments-page .tht-stage { min-width: 0; padding: var(--space-5); border-left: 1px solid rgb(255 249 239 / 30%); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.tournaments-page .tht-stage:first-child { border-left: 0; }
.tournaments-page .tht-stage p, .tournaments-page .tht-stage h3 { margin: 0; }
.tournaments-page .tht-stage__number, .tournaments-page .tht-prepare__number { font-family: var(--font-heading); font-size: 2.25rem; font-weight: 600; line-height: 1; letter-spacing: var(--tracking-h3); }
.tournaments-page .tht-chip-diagram { display: flex; flex-direction: column; gap: 4px; width: 4rem; }
.tournaments-page .tht-chip-diagram span { display: block; height: 7px; border: 1px solid var(--colour-ivory-100); }
.tournaments-page .tht-card-sequence { display: flex; gap: var(--space-2); }
.tournaments-page .tht-card-sequence span { display: grid; place-items: center; width: 1.7rem; height: 2.2rem; border: 1px solid var(--colour-ivory-100); font-size: .75rem; }
.tournaments-page .tht-format__header { width: min(100%, 48rem); }
.tournaments-page .tht-format__header .lede { max-width: 48rem; }
.tournaments-page .tht-format__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-8); }
.tournaments-page .tht-format__item { min-width: 0; padding: var(--space-5); border: 1px solid var(--colour-line-light); }
.tournaments-page .tht-format__item:nth-child(1), .tournaments-page .tht-format__item:nth-child(2), .tournaments-page .tht-format__item:nth-child(3) { grid-column: span 2; }
.tournaments-page .tht-format__item:nth-child(4), .tournaments-page .tht-format__item:nth-child(5) { grid-column: span 3; }
.tournaments-page .tht-format__item:last-child { grid-column: 1 / -1; }
.tournaments-page .tht-format__item .meta { color: var(--colour-cobalt-600); margin-bottom: var(--space-3); }
.tournaments-page .tht-format__item p { max-width: 30rem; }
.tournaments-page .tht-format__item:last-child p { max-width: 44rem; }
.tournaments-page .tht-pathways { position: relative; overflow: hidden; }
.tournaments-page .tht-pathways__header { width: min(100%, 40rem); }
.tournaments-page .tht-pathways__header .lede { max-width: 34rem; }
.tournaments-page .tht-pathways__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-8); }
.tournaments-page .tht-pathway { position: relative; min-width: 0; min-height: 23rem; overflow: hidden; padding: var(--space-5); border: 1px solid var(--colour-line-dark); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.tournaments-page .tht-pathway h3, .tournaments-page .tht-pathway p { margin: 0; position: relative; z-index: 1; }
.tournaments-page .tht-pathway .button { margin-top: auto; position: relative; z-index: 1; }
.tournaments-page .tht-pathway::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: transparent; transition: background-color var(--transition-control); }
.tournaments-page .tht-pathway:hover::before { background: var(--colour-cobalt-600); }
.tournaments-page .tht-pathway--cobalt::before { background: var(--colour-cobalt-600); }
.tournaments-page .tht-pathway--brick::before { background: var(--colour-brick-600); }
.tournaments-page .tht-pathway__numeral { position: absolute; right: -1rem; top: -2rem; font-family: var(--font-heading); font-size: 13vw; font-weight: 700; line-height: 1; opacity: .06; }
.tournaments-page .tht-venue__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: start; }
.tournaments-page .tht-venue__media { grid-column: 2 / span 5; min-width: 0; margin: 0; overflow: hidden; }
.tournaments-page .tht-venue__media img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; transition: transform var(--transition-image); }
.tournaments-page .tht-venue__media:hover img { transform: translateY(-6px) scale(1.02); }
.tournaments-page .tht-venue__content { grid-column: 7 / span 5; min-width: 0; }
.tournaments-page .tht-venue__content > p { max-width: 34rem; }
.tournaments-page .tht-venue__notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-6); }
.tournaments-page .tht-venue__note { min-width: 0; padding: var(--space-4); border: 1px solid var(--colour-line-light); }
.tournaments-page .tht-venue__note--brick { border-top: 3px solid var(--colour-brick-600); }
.tournaments-page .tht-venue__note .actions { gap: var(--space-2); }
.tournaments-page .tht-etiquette__header { width: min(100%, 44rem); }
.tournaments-page .tht-etiquette__header .lede { max-width: 42rem; }
.tournaments-page .tht-etiquette__rows { width: min(100%, 68rem); margin-top: var(--space-8); }
.tournaments-page .tht-etiquette__row { display: grid; grid-template-columns: minmax(4rem, 1fr) minmax(0, 7fr); gap: var(--space-5); min-width: 0; padding-block: var(--space-6); border-top: 1px solid var(--colour-line-light); }
.tournaments-page .tht-etiquette__row > div { min-width: 0; max-width: 46rem; }
.tournaments-page .tht-etiquette__row h3, .tournaments-page .tht-etiquette__row p { margin-top: 0; }
.tournaments-page .tht-etiquette__index { margin: 0; color: var(--colour-cobalt-600); font-family: var(--font-heading); font-size: 2rem; font-weight: 600; line-height: 1; }
.tournaments-page .tht-etiquette__row--age { padding-left: var(--space-4); border-left: 4px solid var(--colour-cobalt-600); }
.tournaments-page .tht-etiquette__row--age .meta { color: var(--colour-cobalt-600); margin-bottom: var(--space-3); }
.tournaments-page .tht-gallery__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.tournaments-page .tht-gallery__header { grid-column: 2 / span 5; min-width: 0; }
.tournaments-page .tht-gallery__header h2 { max-width: 38rem; }
.tournaments-page .tht-gallery__main { grid-column: 2 / span 6; min-width: 0; margin: var(--space-4) 0 0; }
.tournaments-page .tht-gallery__secondary { grid-column: 8 / span 4; min-width: 0; margin: var(--space-9) 0 0; }
.tournaments-page .tht-gallery figure { display: flex; flex-direction: column; gap: var(--space-3); }
.tournaments-page .tht-gallery img { width: 100%; }
.tournaments-page .tht-gallery__main img { aspect-ratio: 4 / 5; object-fit: cover; }
.tournaments-page .tht-gallery__secondary img { aspect-ratio: 1; object-fit: cover; }
.tournaments-page .tht-gallery figcaption { max-width: 34rem; margin: 0; color: var(--colour-ivory-200); }
.tournaments-page .tht-gallery figcaption .meta { display: block; color: var(--colour-ivory-100); margin-bottom: var(--space-2); }
.tournaments-page .tht-prepare__header { width: min(100%, 42rem); }
.tournaments-page .tht-prepare__header .lede { max-width: 40rem; }
.tournaments-page .tht-prepare__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-8); }
.tournaments-page .tht-prepare__steps article { min-width: 0; padding-top: var(--space-4); border-top: 1px solid rgb(255 249 239 / 45%); }
.tournaments-page .tht-prepare__steps h3 { margin-top: 0; }
.tournaments-page .tht-prepare__steps p { max-width: 30rem; }
.tournaments-page .tht-prepare__note { width: min(100%, 48rem); margin-top: var(--space-7); padding-top: var(--space-5); border-top: 1px solid rgb(255 249 239 / 45%); }
.tournaments-page .tht-prepare__note .meta { color: var(--colour-ivory-100); margin-bottom: var(--space-3); }
.tournaments-page .tht-prepare__action { margin-top: var(--space-5); border-color: var(--colour-ivory-100); background: var(--colour-ivory-100); color: var(--colour-charcoal-950); }
.tournaments-page .tht-prepare__action:hover { border-color: var(--colour-charcoal-950); background: var(--colour-charcoal-950); color: var(--colour-ivory-100); }
.tournaments-page .tht-final { position: relative; overflow: clip; }
.tournaments-page .tht-final__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: center; }
.tournaments-page .tht-final__copy { grid-column: 2 / span 6; min-width: 0; position: relative; z-index: 1; }
.tournaments-page .tht-final__copy .lede { max-width: 34rem; color: var(--colour-ivory-200); }
.tournaments-page .tht-final__plane { grid-column: 9 / span 4; min-width: 0; min-height: 23rem; background: var(--colour-cobalt-600); overflow: hidden; display: grid; place-items: center; }
.tournaments-page .tht-final__plane span { font-family: var(--font-heading); font-size: clamp(9rem, 17vw, 16rem); font-weight: 700; line-height: 1; color: var(--colour-ivory-100); opacity: .16; }

@media (max-width: 73.75rem) { .tournaments-page .tht-flow__stages { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tournaments-page .tht-stage:nth-child(3) { border-left: 0; border-top: 1px solid rgb(255 249 239 / 30%); } .tournaments-page .tht-stage:nth-child(4) { border-top: 1px solid rgb(255 249 239 / 30%); } }
@media (max-width: 67.5rem) { .tournaments-page .tht-room__top { grid-template-columns: repeat(8, minmax(0, 1fr)); } .tournaments-page .tht-room__intro { grid-column: 1 / span 6; } .tournaments-page .tht-room__media { grid-column: 7 / span 2; } .tournaments-page .tht-room__narratives { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tournaments-page .tht-room__story:last-child { grid-column: 1 / -1; border-right: 1px solid var(--colour-line-light); } .tournaments-page .tht-pathways__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tournaments-page .tht-pathway:last-child { grid-column: 1 / -1; } .tournaments-page .tht-format__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tournaments-page .tht-format__item:nth-child(n) { grid-column: auto; } .tournaments-page .tht-format__item:last-child { grid-column: 1 / -1; } }
@media (max-width: 64rem) { .tournaments-page .tht-hero { min-height: auto; } .tournaments-page .tht-hero__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); min-height: 28rem; } .tournaments-page .tht-hero__copy { grid-column: 1 / span 5; } .tournaments-page .tht-hero__media { grid-column: 6 / span 3; width: 100%; } .tournaments-page .tht-hero__media img { min-height: 28rem; } .tournaments-page .tht-venue__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); } .tournaments-page .tht-venue__media { grid-column: 1 / span 4; } .tournaments-page .tht-venue__content { grid-column: 5 / span 4; } .tournaments-page .tht-venue__notes { grid-column: 1 / -1; } }
@media (max-width: 61.25rem) { .tournaments-page .tht-gallery__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); } .tournaments-page .tht-gallery__header { grid-column: 1 / span 5; } .tournaments-page .tht-gallery__main { grid-column: 1 / span 5; } .tournaments-page .tht-gallery__secondary { grid-column: 6 / span 3; margin-top: var(--space-8); } }
@media (max-width: 57.5rem) { .tournaments-page .tht-venue__grid { grid-template-columns: 1fr; } .tournaments-page .tht-venue__content { grid-column: 1; } .tournaments-page .tht-venue__media { grid-column: 1; grid-row: 2; } }
@media (max-width: 56.25rem) { .tournaments-page .tht-final__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); } .tournaments-page .tht-final__copy { grid-column: 1 / span 6; } .tournaments-page .tht-final__plane { display: none; } }
@media (max-width: 47.5rem) { .tournaments-page .tht-etiquette__row { grid-template-columns: 1fr; gap: var(--space-3); padding-block: var(--space-5); } .tournaments-page .tht-etiquette__row--age { padding-left: var(--space-4); } }
@media (max-width: 45rem) { .tournaments-page .tht-hero { padding-block: var(--space-8); } .tournaments-page .tht-hero__grid { grid-template-columns: 1fr; gap: var(--space-6); min-height: 0; } .tournaments-page .tht-hero__copy, .tournaments-page .tht-hero__media { grid-column: 1; width: 100%; } .tournaments-page .tht-hero__media img { min-height: 0; aspect-ratio: 4 / 5; } .tournaments-page .tht-room__top { grid-template-columns: 1fr; gap: var(--space-5); } .tournaments-page .tht-room__intro, .tournaments-page .tht-room__media { grid-column: 1; } .tournaments-page .tht-room__media { grid-row: 2; } .tournaments-page .tht-room__narratives { grid-template-columns: 1fr; margin-top: var(--space-6); } .tournaments-page .tht-room__story, .tournaments-page .tht-room__story:last-child { border-right: 1px solid var(--colour-line-light); } .tournaments-page .tht-room__story + .tht-room__story { border-top: 0; } .tournaments-page .tht-flow__stages, .tournaments-page .tht-format__grid, .tournaments-page .tht-pathways__grid, .tournaments-page .tht-prepare__steps { grid-template-columns: 1fr; } .tournaments-page .tht-stage { border-left: 0; border-top: 1px solid rgb(255 249 239 / 30%); } .tournaments-page .tht-stage:first-child { border-top: 0; } .tournaments-page .tht-pathway:last-child { grid-column: auto; } .tournaments-page .tht-format__item:last-child { grid-column: auto; } .tournaments-page .tht-venue__notes { grid-template-columns: 1fr; } .tournaments-page .tht-gallery__grid { grid-template-columns: 1fr; } .tournaments-page .tht-gallery__header, .tournaments-page .tht-gallery__main, .tournaments-page .tht-gallery__secondary { grid-column: 1; margin-top: 0; } .tournaments-page .tht-gallery__main { margin-top: var(--space-4); } .tournaments-page .tht-gallery__secondary img { aspect-ratio: 3 / 2; } .tournaments-page .tht-final__grid { grid-template-columns: 1fr; } .tournaments-page .tht-final__copy { grid-column: 1; } }
@media (max-width: 39.9375rem) { .tournaments-page .tht-hero__copy h1 { font-size: clamp(3.25rem, 15vw, 3.75rem); } .tournaments-page .tht-hero__actions, .tournaments-page .tht-final__actions { align-items: stretch; } .tournaments-page .tht-hero__actions .button, .tournaments-page .tht-final__actions .button { width: 100%; } .tournaments-page .tht-pathway { min-height: 0; } .tournaments-page .tht-pathway__numeral { font-size: 28vw; } .tournaments-page .tht-prepare__action { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .tournaments-page .tht-hero__media:hover img, .tournaments-page .tht-room__media:hover img, .tournaments-page .tht-venue__media:hover img { transform: none; } }
