.texas-holdem-page { overflow: hidden; }
.texas-holdem-page .th-hero { position: relative; min-height: 47.5rem; display: grid; grid-template-columns: minmax(0, 1fr); align-items: end; background: var(--color-dark-timber); }
.th-hero__media, .th-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.th-hero__media { overflow: hidden; }
.th-hero__media::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(36,21,34,.94) 0%, rgba(36,21,34,.66) 36%, rgba(36,21,34,.12) 70%), linear-gradient(0deg, rgba(36,21,34,.78), transparent 50%); content: ""; }
.th-hero__media img { object-fit: cover; object-position: center; transition: transform var(--transition-surface); }
@media (hover:hover) { .th-hero:hover .th-hero__media img { transform: scale(1.02); } }
.th-hero__content-wrap { position: relative; z-index: 1; width: 100%; padding-block: var(--space-10); }
.th-hero__content { width: min(43%, 36.875rem); min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); }
.th-hero__content :is(h1,p) { margin: 0; }
.th-hero__lead { max-width: 41.25rem; font-size: var(--text-lead); line-height: var(--line-lead); }
.th-hero__rule-copy { max-width: 36.875rem; padding-top: var(--space-4); border-top: 1px solid var(--color-muted-brass); }
.th-hero__rule-copy p { margin: 0; color: var(--color-warm-linen); }
.th-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); min-width: 0; }
.th-progression__layout { display: grid; grid-template-columns: minmax(0, 28fr) minmax(0, 72fr); gap: var(--space-6); align-items: start; }
.th-progression__intro { width: 100%; min-width: 0; max-width: 40.625rem; }
.th-progression__beats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); align-items: start; min-width: 0; }
.th-beat { min-width: 0; padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-3); border: 1px solid var(--color-border-light); }
.th-beat :is(h3,p) { margin: 0; }
.th-beat__number { color: var(--color-muted-brass); font-family: var(--font-heading); font-size: 3.25rem; line-height: .8; }
.th-beat p { max-width: 22.5rem; }
.th-beat--dining { background: rgba(239,229,210,.44); color: var(--color-deep-teal); }
.th-beat--evening { margin-top: 2.75rem; background: var(--color-aubergine); color: var(--color-oat-cream); border-color: var(--color-border-dark); }
.th-beat--tables { margin-top: .875rem; background: var(--color-ocean-teal); color: var(--color-oat-cream); }
.th-beat--tables::before { width: 2rem; height: 2px; background: var(--color-ember-red); content: ""; }
.th-beat .text-link { margin-top: var(--space-2); align-self: flex-start; }
.th-terms { padding-block: 1.25rem; background: var(--color-deep-teal); color: var(--color-oat-cream); }
.th-terms__sequence { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; min-width: 0; font-size: var(--text-utility); font-weight: 700; letter-spacing: var(--tracking-utility); line-height: 1.5; }
.th-terms__sequence span { color: var(--color-muted-brass); flex: 0 0 auto; }
.th-table__layout { display: grid; grid-template-columns: minmax(0, 58fr) minmax(0, 42fr); align-items: start; }
.th-table__figure { grid-column: 1; width: 100%; min-width: 0; margin: 0; aspect-ratio: 3 / 2; overflow: hidden; }
.th-table__figure img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform var(--transition-surface); }
.th-table__panel { grid-column: 2; width: calc(100% + 3rem); min-width: 0; margin-top: 4rem; margin-left: -3rem; padding: var(--space-7); position: relative; z-index: 1; display: flex; flex-direction: column; gap: var(--space-4); }
.th-table__panel :is(h2,p) { margin: 0; }
.th-table__entries { display: flex; flex-direction: column; gap: var(--space-5); }
.th-table__entries > div { min-width: 0; display: flex; flex-direction: column; gap: var(--space-3); padding-top: var(--space-5); border-top: 1px solid var(--color-border-light); }
.th-table__entries > div:first-child { padding-top: 0; border-top: 0; }
.th-table__entries h3 { margin: 0; }
.th-table__entries p { max-width: 31.25rem; }
.th-table__entries .text-link { align-self: flex-start; }
@media (hover:hover) { .th-table__layout:hover .th-table__figure img { transform: translateX(1%); } }
.th-principles__intro { width: min(35%, 38.75rem); min-width: 0; margin-bottom: var(--space-8); }
.th-principles__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); align-items: start; }
.th-principle { min-width: 0; padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-3); border: 1px solid var(--color-border-dark); }
.th-principle :is(h3,p) { margin: 0; }
.th-principle p { max-width: 18.125rem; }
.th-principle--one { background: var(--color-aubergine); }
.th-principle--two { margin-top: 2rem; border-left: 2px solid var(--color-ember-red); background: var(--color-aubergine); }
.th-principle--three { margin-top: .75rem; background: var(--color-aubergine-velvet); }
.th-principle--four { margin-top: 2.75rem; border-color: var(--color-border-light); background: var(--color-warm-linen); color: var(--color-deep-teal); }
.th-lounge { padding-top: var(--section-space); background: var(--color-aubergine); }
.th-lounge__heading { width: min(100% - (var(--gutter) * 2), var(--container-max)); margin-bottom: var(--space-6); }
.th-lounge__heading h2 { width: min(100%, 37.5rem); }
.th-lounge__media { position: relative; min-height: 43rem; overflow: hidden; }
.th-lounge__media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.th-lounge__media::after { position: absolute; inset: 0; background: linear-gradient(90deg, transparent 38%, rgba(20,17,22,.18) 60%, rgba(20,17,22,.6)); content: ""; }
.th-lounge__content-wrap { position: relative; z-index: 1; width: 100%; min-height: 43rem; display: flex; justify-content: flex-end; align-items: end; padding-block: var(--space-8); }
.th-lounge__panel { width: min(100%, 28.125rem); min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); border: 1px solid var(--color-border-dark); background: var(--color-smoked-glass); box-shadow: var(--shadow-floating); }
.th-lounge__panel :is(h3,p) { margin: 0; }
.th-lounge__panel .button { align-self: flex-start; }
.th-lounge__panel[data-th-reveal] { opacity: 1; transform: none; }
.th-lounge__panel[data-th-reveal].is-visible { opacity: 1; transform: none; }
.th-language__layout { display: grid; grid-template-columns: minmax(0, 30fr) minmax(0, 70fr); }
.th-language__column { grid-column: 2; width: min(100%, 42.5rem); min-width: 0; display: flex; flex-direction: column; gap: var(--space-6); }
.th-language__column :is(h2,p) { margin: 0; }
.th-language__notes { display: flex; flex-direction: column; gap: var(--space-7); }
.th-language__notes article { min-width: 0; display: flex; flex-direction: column; gap: var(--space-3); padding-top: var(--space-6); border-top: 1px solid var(--color-muted-brass); }
.th-language__notes article:first-child { padding-top: 0; border-top: 0; }
.th-language__notes h3 { margin: 0; }
.th-language__notes p { max-width: 33.75rem; }
.th-language__notes .utility-label { color: var(--color-muted-brass); }
.th-language__notes .text-link { align-self: flex-start; margin-top: var(--space-2); }
.th-faq__column { width: min(100% - (var(--gutter) * 2), 82.5rem); }
.th-faq__intro { width: min(100%, 38.75rem); margin-bottom: var(--space-7); }
.th-faq__list { width: min(100%, 53.75rem); min-width: 0; display: flex; flex-direction: column; border-top: 1px solid var(--color-border-dark); }
.th-faq__item { min-width: 0; border-bottom: 1px solid var(--color-border-dark); }
.th-faq__item h3 { margin: 0; font-family: var(--font-body); font-size: 1rem; letter-spacing: 0; line-height: 1.4; }
.th-faq__item button { width: 100%; min-width: 0; min-height: 3.5rem; display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) 0; border: 0; background: transparent; color: var(--color-oat-cream); text-align: left; text-transform: none; }
.th-faq__item button:hover { background: transparent; color: var(--color-warm-linen); transform: none; }
.th-faq__item button span { flex: 0 0 auto; color: var(--color-muted-brass); font-size: 1.5rem; font-weight: 400; transition: transform var(--transition-control); }
.th-faq__item button[aria-expanded="true"] span { transform: rotate(45deg); }
.th-faq__answer { overflow: hidden; }
.th-faq__answer > div { width: min(100%, 36.875rem); padding-bottom: var(--space-5); }
.th-faq__answer p { margin: 0; color: var(--color-warm-linen); }
.th-continue__intro { width: min(100%, 36.25rem); margin-bottom: var(--space-7); }
.th-continue__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 4fr) minmax(0, 3fr); gap: var(--space-4); align-items: end; }
.th-route { min-width: 0; min-height: 20rem; padding: var(--space-6); display: flex; flex-direction: column; gap: var(--space-4); border: 1px solid var(--color-border-dark); }
.th-route :is(h3,p) { margin: 0; }
.th-route p { max-width: 20.625rem; }
.th-route .text-link, .th-route .button { margin-top: auto; align-self: flex-start; }
.th-route--dining, .th-route--contact { background: var(--color-aubergine); }
.th-route--lounge { min-height: 21.75rem; margin-top: -1.75rem; background: var(--color-ocean-teal); box-shadow: var(--shadow-floating); }
.th-closing { padding-block: var(--space-11); background: var(--color-aubergine); }
.th-closing__layout { display: grid; grid-template-columns: 2px minmax(0, 1fr); gap: var(--space-6); align-items: stretch; width: min(100% - (var(--gutter) * 2), var(--container-max)); padding-left: 16%; }
.th-closing__rule { width: 2px; min-width: 2px; background: var(--color-ember-red); }
.th-closing__copy { width: min(100%, 47.5rem); min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); }
.th-closing__copy :is(h2,p) { margin: 0; }
.th-closing__copy h2 { font-size: clamp(3.25rem, 7vw, 6.25rem); line-height: .92; }
.th-closing__copy p { width: min(100%, 31.25rem); }
.th-closing__copy .text-link { align-self: flex-start; }
@media (max-width: 1040px) { .th-progression__layout { grid-template-columns: minmax(0, 1fr); } .th-progression__beats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .th-beat--tables { grid-column: 1 / -1; width: calc(50% - var(--space-2)); margin-top: 0; } .th-principles__intro { width: min(100%, 38.75rem); } .th-principles__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); } .th-principle { margin-top: 0; } }
@media (max-width: 1000px) { .th-table__layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); } .th-table__panel { width: 100%; margin: 0; padding: var(--space-6); } }
@media (max-width: 980px) { .th-hero { min-height: 40.625rem; align-items: end; } .th-hero__media { bottom: 40%; } .th-hero__media::after { background: linear-gradient(0deg, rgba(36,21,34,.35), transparent); } .th-hero__content-wrap { width: 100%; padding-block: var(--space-6); background: var(--color-aubergine); } .th-hero__content { width: min(100%, 41.25rem); } }
@media (max-width: 960px) { .th-continue__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .th-route--lounge { grid-column: 1 / -1; grid-row: 1; margin-top: 0; min-height: auto; } .th-route--dining { grid-column: 1; grid-row: 2; } .th-route--contact { grid-column: 2; grid-row: 2; } }
@media (max-width: 900px) { .th-terms { padding-block: var(--space-4); } .th-lounge__media, .th-lounge__content-wrap { min-height: auto; } .th-lounge__media { display: flex; flex-direction: column; } .th-lounge__media > img { position: relative; aspect-ratio: 3 / 2; object-position: center; } .th-lounge__media::after { display: none; } .th-lounge__content-wrap { order: 2; display: block; padding-block: 0; } .th-lounge__panel { width: 100%; box-shadow: none; border-radius: 0; background: var(--color-aubergine); } .th-language__layout { grid-template-columns: minmax(0, 1fr); } .th-language__column { grid-column: 1; margin-inline: auto; } .th-faq__list { margin-inline: auto; } .th-faq__intro { margin-inline: auto; } .th-closing { padding-block: 6rem; } .th-closing__layout { padding-left: 0; } }
@media (max-width: 700px) { .th-hero { min-height: auto; display: flex; flex-direction: column; } .th-hero__media { position: relative; inset: auto; width: 100%; height: auto; aspect-ratio: 4 / 5; } .th-hero__media img { object-position: 58% center; } .th-hero__media::after { display: none; } .th-hero__content-wrap { padding-block: var(--space-6); } .th-hero__content { width: 100%; gap: var(--space-4); } .th-hero__content h1 { font-size: clamp(3rem, 15vw, 4.25rem); } .th-hero__actions { align-items: stretch; flex-direction: column; gap: var(--space-3); } .th-hero__actions .button { width: 100%; } .th-hero__actions .text-link { min-height: 2.75rem; } .th-progression__layout { gap: var(--space-6); } .th-progression__beats { grid-template-columns: minmax(0, 1fr); } .th-beat, .th-beat--evening, .th-beat--tables { grid-column: 1; width: 100%; margin-top: 0; } .th-beat--evening, .th-beat--tables { position: relative; } .th-beat--evening::after, .th-beat--tables::after { position: absolute; z-index: -1; top: .5rem; right: -.5rem; bottom: -.5rem; left: .5rem; border: 1px solid var(--color-muted-brass); content: ""; } .th-terms__sequence { gap: .5rem .75rem; line-height: 1.8; } .th-table__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); } .th-table__figure { grid-column: 1; aspect-ratio: 4 / 3; } .th-table__panel { grid-column: 1; position: relative; padding: var(--space-5); } .th-table__panel::after { position: absolute; z-index: -1; top: .5rem; right: -.5rem; bottom: -.5rem; left: .5rem; border: 1px solid var(--color-aubergine); content: ""; } .th-principles__intro { margin-bottom: var(--space-6); } .th-principles__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); } .th-principle { padding: var(--space-5); } .th-principle--two, .th-principle--four { position: relative; margin-right: .5rem; } .th-principle--two::after, .th-principle--four::after { position: absolute; z-index: -1; top: .5rem; right: -.5rem; bottom: -.5rem; left: .5rem; border: 1px solid var(--color-muted-brass); content: ""; } .th-lounge { padding-top: var(--section-space); } .th-lounge__heading h2 { font-size: clamp(2.5rem, 11vw, 3rem); } .th-lounge__media > img { aspect-ratio: 4 / 5; object-position: 48% center; } .th-lounge__panel { padding: var(--space-6) 0; } .th-lounge__panel .button { width: 100%; } .th-language__notes { gap: var(--space-6); } .th-faq__item button { min-height: 3.5rem; font-size: 1rem; } .th-faq__answer > div { padding-bottom: var(--space-5); } .th-continue__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); } .th-route, .th-route--lounge, .th-route--dining, .th-route--contact { grid-column: 1; min-height: auto; margin: 0; padding: 1.75rem; } .th-route--lounge { grid-row: 1; position: relative; } .th-route--dining { grid-row: 2; } .th-route--contact { grid-row: 3; } .th-route--lounge::after { position: absolute; z-index: -1; top: .5rem; right: -.5rem; bottom: -.5rem; left: .5rem; border: 1px solid var(--color-muted-brass); content: ""; } .th-route .button { width: 100%; } .th-closing { padding-block: var(--space-8); } .th-closing__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); } .th-closing__rule { width: 3rem; height: 2px; min-width: 3rem; } .th-closing__copy h2 { font-size: clamp(2.75rem, 13vw, 3.625rem); line-height: .96; } }
@media (prefers-reduced-motion: no-preference) { .th-lounge__panel[data-th-reveal] { opacity: 0; transform: translateY(1rem); transition: opacity var(--transition-surface), transform var(--transition-surface); } .th-lounge__panel[data-th-reveal].is-visible { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .th-hero__media img, .th-table__figure img { transition: none; } }
