.tournaments-page { background: var(--color-blackberry-950); }
.tournaments-page .eyebrow { margin-bottom: 0; }
.tournaments-page a:focus-visible { outline-color: var(--color-brass-300); }
.tournaments-hero { position: relative; min-height: 42.5rem; overflow: hidden; background: var(--color-blackberry-900); }
.tournaments-hero__image, .tournaments-feature__image { position: absolute; inset: 0; background-color: var(--color-blackberry-800); background-image: linear-gradient(90deg, rgb(23 17 22 / .93) 0%, rgb(23 17 22 / .68) 37%, rgb(23 17 22 / .12) 72%), url('/assets/images/tournaments-card-room-arrival.webp'); background-position: center; background-size: cover; }
.tournaments-hero__shell { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); width: min(100%, var(--container-wide)); min-height: 42.5rem; margin-inline: auto; padding: var(--space-10) var(--gutter); }
.tournaments-hero__copy { grid-column: 1; align-self: end; display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; max-width: 35rem; }
.tournaments-hero__copy > * { margin: 0; min-width: 0; }
.tournaments-hero__copy h1 { font-size: clamp(3.5rem, 6vw, 4.5rem); }
.tournaments-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); min-width: 0; }
.tournaments-hero__actions > * { min-width: 0; max-width: 100%; }
.tournaments-hero__sequence { display: flex; flex-wrap: wrap; gap: var(--space-2); max-width: 45rem; padding-top: var(--space-3); border-top: var(--rule-brass); color: var(--color-oatmeal-300); font-size: var(--text-utility); font-weight: 700; letter-spacing: var(--tracking-utility); line-height: var(--leading-utility); text-transform: uppercase; }
.tournaments-hero__line { color: var(--color-brass-300); font-family: var(--font-heading); font-size: var(--text-heading-sm); font-style: italic; }
.tournaments-room { padding: var(--space-11) 0; }
.tournaments-room__layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 8.333%; align-items: center; }
.tournaments-room__media { grid-column: 1; width: 100%; min-width: 0; aspect-ratio: 3 / 4; margin: 0; }
.tournaments-room__media img { object-position: center; }
.tournaments-room__copy { grid-column: 2; display: flex; flex-direction: column; gap: var(--space-5); min-width: 0; max-width: 37.5rem; }
.tournaments-room__copy > * { margin: 0; min-width: 0; }
.tournaments-room__intro { max-width: 37.5rem; }
.tournaments-room__statements { display: flex; flex-direction: column; gap: var(--space-5); min-width: 0; }
.tournaments-room__statement { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: var(--space-3); padding-top: var(--space-5); border-top: var(--border-light); }
.tournaments-room__statement > span { color: var(--color-rust-600); font-size: var(--text-utility); font-weight: 700; letter-spacing: var(--tracking-utility); }
.tournaments-room__statement > div { min-width: 0; max-width: 33.75rem; }
.tournaments-room__statement h3 { margin-bottom: var(--space-2); }
.tournaments-timeline { padding: var(--space-11) 0; }
.tournaments-timeline__intro { display: flex; flex-direction: column; gap: var(--space-4); width: min(100%, 38.75rem); margin-inline: auto; text-align: center; }
.tournaments-timeline__intro > * { margin: 0; }
.tournaments-timeline__steps { position: relative; display: flex; flex-direction: column; gap: var(--space-7); width: min(100%, 67.5rem); margin: var(--space-9) auto 0; }
.tournaments-timeline__steps::before { position: absolute; top: 0; bottom: 0; left: 50%; width: 2px; background: var(--color-accent); content: ''; }
.tournaments-step { position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) minmax(0, 5fr); min-width: 0; }
.tournaments-step__number { position: relative; z-index: 1; grid-column: 2; justify-self: center; width: 3rem; height: 3rem; padding-top: .7rem; background: var(--color-blackberry-950); color: var(--color-brass-300); font-size: var(--text-utility); font-weight: 700; letter-spacing: var(--tracking-utility); text-align: center; }
.tournaments-step > div { min-width: 0; max-width: 31.25rem; padding: var(--space-5); border: var(--border-dark); background: var(--color-blackberry-900); }
.tournaments-step--left > div { grid-column: 1; grid-row: 1; justify-self: end; }
.tournaments-step--right > div { grid-column: 3; grid-row: 1; }
.tournaments-step > div > :last-child { margin-bottom: 0; }
.tournaments-step__pull { color: var(--color-brass-300); font-family: var(--font-heading); font-size: var(--text-heading-sm); font-style: italic; }
.tournaments-step--final > div { border-color: rgb(214 183 122 / .48); background: var(--color-bottle-green-900); }
.tournaments-step--final a { color: var(--color-brass-300); }
.tournaments-code { padding: var(--space-11) 0; background: var(--color-blackberry-900); }
.tournaments-code__layout { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 8.333%; align-items: start; }
.tournaments-code__media { grid-column: 1; width: 100%; min-width: 0; aspect-ratio: 3 / 4; margin: var(--space-8) 0 0; }
.tournaments-code__media img { object-position: 40% center; }
.tournaments-code__copy { grid-column: 2; display: flex; flex-direction: column; gap: var(--space-5); min-width: 0; max-width: 32.5rem; }
.tournaments-code__copy > * { margin: 0; }
.tournaments-code__lead { max-width: 30rem; font-size: var(--text-lead); line-height: var(--leading-lead); }
.tournaments-code__copy article { display: flex; flex-direction: column; gap: var(--space-3); padding-top: var(--space-4); border-top: 1px solid var(--color-border); }
.tournaments-code__copy article > * { margin: 0; }
.tournaments-code__copy h3 { font-size: var(--text-heading-sm); }
.tournaments-dinner { padding: var(--space-11) 0; }
.tournaments-dinner__inner { display: flex; flex-direction: column; gap: var(--space-9); }
.tournaments-dinner__intro { display: flex; flex-direction: column; gap: var(--space-4); width: min(100%, 38.75rem); }
.tournaments-dinner__intro > * { margin: 0; }
.tournaments-dinner__beats { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); row-gap: var(--space-7); min-width: 0; }
.tournaments-dinner__beats article { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; max-width: 32.5rem; }
.tournaments-dinner__beats article > * { margin: 0; }
.tournaments-dinner__beats article:nth-child(1) { grid-column: 1 / span 4; }
.tournaments-dinner__beats article:nth-child(2) { grid-column: 7 / span 5; padding-left: var(--space-4); border-left: var(--rule-brass); }
.tournaments-dinner__beats article:nth-child(3) { grid-column: 3 / span 4; }
.tournaments-dinner__label { color: var(--color-rust-700); font-size: var(--text-utility); font-weight: 700; letter-spacing: var(--tracking-utility); text-transform: uppercase; }
.tournaments-occasions { padding: var(--space-11) 0; background: var(--color-bottle-green-900); }
.tournaments-occasions__intro { display: flex; flex-direction: column; gap: var(--space-4); width: min(100%, 36.875rem); margin-inline: auto; text-align: center; }
.tournaments-occasions__intro > * { margin: 0; }
.tournaments-occasions__panels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); align-items: start; margin-top: var(--space-8); }
.tournaments-occasion { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; padding: var(--space-5); border: var(--border-dark); background: rgb(23 17 22 / .54); }
.tournaments-occasion > * { margin: 0; }
.tournaments-occasion p:not(.eyebrow) { max-width: 23.75rem; }
.tournaments-occasion .button { align-self: flex-start; }
.tournaments-occasion--group { margin-top: var(--space-7); border-left: var(--rule-brass); }
.tournaments-occasion--private { margin-top: var(--space-5); background: var(--color-blackberry-900); }
.tournaments-feature { position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr); align-items: end; min-height: 38.75rem; overflow: hidden; background: var(--color-blackberry-800); }
.tournaments-feature__image { background-image: linear-gradient(0deg, rgb(23 17 22 / .84) 0%, rgb(23 17 22 / .12) 64%), url('/assets/images/tournaments-table-night.webp'); background-position: center; }
.tournaments-feature__statement, .tournaments-feature__caption { position: relative; z-index: 1; min-width: 0; margin-bottom: var(--space-8); }
.tournaments-feature__statement { grid-column: 1; margin-left: max(var(--gutter), calc((100vw - var(--container-wide)) / 2 + var(--gutter))); max-width: 33.75rem; }
.tournaments-feature__statement h2 { margin: var(--space-3) 0 0; font-size: clamp(3rem, 6vw, 5.25rem); }
.tournaments-feature__caption { grid-column: 3; max-width: 26.25rem; margin-right: max(var(--gutter), calc((100vw - var(--container-wide)) / 2 + var(--gutter))); padding: var(--space-5); background: var(--color-blackberry-900); }
.tournaments-feature__caption p { margin-bottom: var(--space-4); }
.tournaments-faq { padding: var(--space-11) 0; }
.tournaments-faq__intro { display: flex; flex-direction: column; gap: var(--space-4); width: min(100%, 37.5rem); margin-inline: auto; text-align: center; }
.tournaments-faq__intro > * { margin: 0; }
.tournaments-faq__list { width: min(100%, 47.5rem); margin: var(--space-8) auto 0; }
.tournaments-faq__item { border-top: var(--border-dark); }
.tournaments-faq__item:last-child { border-bottom: var(--border-dark); }
.tournaments-faq__item h3 { margin: 0; }
.tournaments-faq__item button { display: grid; grid-template-columns: minmax(0, 1fr) 1.5rem; gap: var(--space-4); width: 100%; min-height: 3.5rem; padding: var(--space-4) 0; border: 0; border-radius: 0; background: transparent; color: var(--color-oatmeal-100); font-family: var(--font-body); font-size: var(--text-body); font-weight: 700; letter-spacing: 0; line-height: var(--leading-body); text-align: left; text-transform: none; }
.tournaments-faq__item button:hover { background: transparent; color: var(--color-brass-300); }
.tournaments-faq__icon { justify-self: end; color: var(--color-brass-300); font-size: 1.5rem; font-weight: 400; line-height: 1; }
.tournaments-faq__panel { max-width: 38.75rem; padding: 0 0 var(--space-5); }
.tournaments-faq__panel p { margin: 0; }
.tournaments-planning { padding: var(--space-10) 0; }
.tournaments-planning__layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 0; align-items: stretch; }
.tournaments-planning__copy { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; max-width: 35rem; padding: var(--space-7) var(--space-8) var(--space-7) 0; }
.tournaments-planning__copy > * { margin: 0; }
.tournaments-planning__rail { display: flex; flex-direction: column; gap: var(--space-5); min-width: 0; padding: var(--space-7); background: var(--color-blackberry-900); color: var(--color-oatmeal-100); }
.tournaments-planning__rail article { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; }
.tournaments-planning__rail article > span { color: var(--color-brass-300); font-size: var(--text-utility); font-weight: 700; letter-spacing: var(--tracking-utility); }
.tournaments-planning__rail article > div { min-width: 0; max-width: 26.875rem; }
.tournaments-planning__rail h3 { margin-bottom: var(--space-2); }
.tournaments-planning__note { margin: 0; padding-top: var(--space-4); border-top: var(--border-dark); color: var(--color-oatmeal-300); font-family: var(--font-heading); font-size: var(--text-heading-sm); font-style: italic; }
.tournaments-enquiry { padding: var(--space-11) 0; background: var(--color-bottle-green-900); }
.tournaments-enquiry__intro { display: flex; flex-direction: column; gap: var(--space-4); width: min(100%, 35rem); }
.tournaments-enquiry__intro > * { margin: 0; }
.tournaments-enquiry__layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 8.333%; align-items: start; margin-top: var(--space-7); }
.tournaments-form { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; max-width: 43.75rem; padding: var(--space-6); border: var(--border-dark); background: var(--color-blackberry-900); box-shadow: var(--shadow-deep); }
.tournaments-form > * { margin: 0; min-width: 0; }
.tournaments-form__helper { color: var(--color-oatmeal-300); }
.tournaments-form__status { min-height: 1.5rem; color: var(--color-brass-300); font-weight: 700; }
.tournaments-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); min-width: 0; }
.tournaments-form__field { min-width: 0; }
.tournaments-form__field label { display: block; }
.tournaments-form__optional { color: var(--color-oatmeal-300); font-weight: 400; }
.tournaments-form__error { min-height: 1.35rem; margin: var(--space-1) 0 0; color: var(--color-brass-300); font-size: var(--text-meta); line-height: var(--leading-meta); }
.tournaments-form [aria-invalid="true"] { border-color: var(--color-rust-600); }
.tournaments-form .button { align-self: flex-start; }
.tournaments-enquiry__rail { display: flex; flex-direction: column; gap: var(--space-5); min-width: 0; max-width: 21.25rem; padding-top: var(--space-4); }
.tournaments-enquiry__rail > div { min-width: 0; }
.tournaments-enquiry__rail h3 { margin-bottom: var(--space-3); }
.tournaments-enquiry__phone { color: var(--color-oatmeal-300); }
.tournaments-enquiry__reference { padding-top: var(--space-4); border-top: var(--border-dark); color: var(--color-oatmeal-300); font-size: var(--text-meta); line-height: var(--leading-meta); }
.tournaments-enquiry__reference p { margin: 0; }
@media (max-width: 1020px) { .tournaments-occasions__panels { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tournaments-occasion--player { grid-column: 1; } .tournaments-occasion--group { grid-column: 1; margin-top: 0; } .tournaments-occasion--private { grid-column: 2; grid-row: 1 / span 2; margin-top: var(--space-6); } }
@media (max-width: 980px) { .tournaments-hero { min-height: 0; display: flex; flex-direction: column; } .tournaments-hero__image { position: relative; inset: auto; order: 2; min-height: 0; aspect-ratio: 16 / 10; background-image: linear-gradient(0deg, rgb(23 17 22 / .32), rgb(23 17 22 / .05)), url('/assets/images/tournaments-card-room-arrival.webp'); background-position: 70% center; } .tournaments-hero__shell { display: block; min-height: 0; width: 100%; padding: var(--space-8) var(--gutter); background: var(--color-blackberry-950); } .tournaments-hero__copy { max-width: 38.75rem; } }
@media (max-width: 960px) { .tournaments-code__layout { grid-template-columns: 1fr; gap: var(--space-7); } .tournaments-code__copy { grid-column: 1; grid-row: 1; max-width: 40rem; } .tournaments-code__media { grid-column: 1; grid-row: 2; margin: 0; aspect-ratio: 16 / 10; } .tournaments-feature { grid-template-columns: 1fr; min-height: 0; overflow: visible; } .tournaments-feature__image { position: relative; aspect-ratio: 16 / 10; background-position: center; } .tournaments-feature__statement, .tournaments-feature__caption { grid-column: 1; margin: 0; } .tournaments-feature__statement { padding: var(--space-7) var(--gutter) var(--space-4); background: var(--color-blackberry-950); } .tournaments-feature__caption { max-width: none; margin-right: 0; padding: var(--space-4) var(--gutter) var(--space-7); } }
@media (max-width: 950px) { .tournaments-room__layout { grid-template-columns: 1fr; gap: var(--space-7); } .tournaments-room__media { grid-column: 1; aspect-ratio: 16 / 10; } .tournaments-room__copy { grid-column: 1; max-width: 42.5rem; } }
@media (max-width: 920px) { .tournaments-planning__layout, .tournaments-enquiry__layout { grid-template-columns: 1fr; gap: var(--space-6); } .tournaments-planning__copy { max-width: 40rem; padding: 0; } .tournaments-planning__rail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: var(--space-5); } .tournaments-planning__rail article { grid-template-columns: 1.75rem minmax(0, 1fr); } .tournaments-planning__note { grid-column: 1 / -1; } .tournaments-enquiry__rail { max-width: 40rem; padding-top: 0; } }
@media (max-width: 900px) { .tournaments-timeline__steps { width: 100%; padding-left: var(--space-7); } .tournaments-timeline__steps::before { left: 0; } .tournaments-step { grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-3); } .tournaments-step__number { grid-column: 1; grid-row: 1; justify-self: start; } .tournaments-step > div, .tournaments-step--left > div, .tournaments-step--right > div { grid-column: 2; grid-row: 1; justify-self: stretch; max-width: 31.25rem; } .tournaments-dinner__beats { display: flex; flex-direction: column; gap: var(--space-6); max-width: 40rem; } .tournaments-dinner__beats article, .tournaments-dinner__beats article:nth-child(n) { max-width: 40rem; padding-left: 0; border-left: 0; } .tournaments-dinner__beats article:nth-child(2) { padding-left: var(--space-4); border-left: var(--rule-brass); } }
@media (max-width: 760px) { .tournaments-occasions__panels { grid-template-columns: 1fr; } .tournaments-occasion--player, .tournaments-occasion--group, .tournaments-occasion--private { grid-column: 1; grid-row: auto; margin-top: 0; } }
@media (max-width: 700px) { .tournaments-hero__shell { padding: var(--space-7) var(--gutter); } .tournaments-hero__copy { max-width: none; } .tournaments-hero__copy h1 { font-size: clamp(2.625rem, 13vw, 3.5rem); line-height: .96; } .tournaments-hero__actions { flex-direction: column; align-items: stretch; } .tournaments-hero__actions .button { width: 100%; } .tournaments-hero__actions .button--secondary { align-self: flex-start; width: auto; } .tournaments-hero__image { aspect-ratio: 4 / 5; background-position: 66% center; } .tournaments-room, .tournaments-timeline, .tournaments-code, .tournaments-dinner, .tournaments-occasions, .tournaments-faq, .tournaments-enquiry { padding: var(--space-9) 0; } .tournaments-room__media { aspect-ratio: 4 / 5; } .tournaments-room__statement { grid-template-columns: 1fr; gap: var(--space-2); } .tournaments-timeline__intro, .tournaments-faq__intro, .tournaments-occasions__intro { width: 100%; text-align: left; } .tournaments-timeline__steps { margin-top: var(--space-7); padding-left: var(--space-5); } .tournaments-step { grid-template-columns: 1.5rem minmax(0, 1fr); gap: var(--space-3); } .tournaments-step__number { width: 1.5rem; height: auto; padding-top: var(--space-2); font-size: .65rem; } .tournaments-step > div, .tournaments-step--left > div, .tournaments-step--right > div { padding: var(--space-4); } .tournaments-code__media { aspect-ratio: 3 / 4; } .tournaments-dinner__inner { gap: var(--space-7); } .tournaments-dinner__intro { width: 100%; } .tournaments-occasion { padding: var(--space-5); } .tournaments-occasion .button { width: 100%; } .tournaments-feature__image { aspect-ratio: 4 / 5; background-position: 55% center; } .tournaments-feature__statement { padding-top: var(--space-6); } .tournaments-feature__statement h2 { font-size: clamp(2.625rem, 12vw, 3.125rem); } .tournaments-feature__caption { padding-bottom: var(--space-6); } .tournaments-feature__caption .button { width: 100%; } .tournaments-faq__list { width: 100%; margin-top: var(--space-7); } .tournaments-faq__item button { min-height: 3.5rem; } .tournaments-planning { padding: 0; } .tournaments-planning__layout { gap: 0; } .tournaments-planning__copy { padding: var(--space-9) 0 var(--space-7); } .tournaments-planning__rail { display: flex; padding: var(--space-5) var(--gutter); margin-inline: calc(var(--gutter) * -1); } .tournaments-planning__rail article { grid-template-columns: 1.75rem minmax(0, 1fr); } .tournaments-enquiry__layout { margin-top: var(--space-6); } .tournaments-form { padding: var(--space-4); } .tournaments-form__row { grid-template-columns: 1fr; } .tournaments-form .button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .tournaments-page *, .tournaments-page *::before, .tournaments-page *::after { scroll-behavior: auto; } }