.texas-holdem-page {
  overflow: clip;
}

.texas-holdem-page .container {
  width: min(calc(100% - 4rem), var(--container-max));
}

.texas-holdem-page .lead {
  margin-block-end: 0;
}

.th-hero__grid,
.th-real-table__grid,
.th-salon__grid,
.th-local__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: center;
}

.th-hero__copy {
  grid-column: 1 / span 5;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.th-hero__copy > * { margin: 0; min-width: 0; }
.th-hero__copy h1 { max-width: 11ch; }
.th-hero__copy .lead { max-width: 57ch; }
.th-hero__media { grid-column: 7 / -1; width: 100%; min-width: 0; margin: 0; }
.th-hero__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }

.th-hero__actions,
.th-local__actions {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
}
.th-hero__actions > *, .th-local__actions > * { min-width: 0; }

.th-evening__intro { width: min(100%, 35rem); }
.th-evening__steps,
.th-basics__cards,
.th-guidelines__cards,
.th-explore__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}
.th-evening__steps { margin-top: var(--space-7); }
.th-evening__step,
.th-basic-card,
.th-guideline-card,
.th-destination-card,
.th-cuisine-copy,
.th-sensory-card { min-width: 0; }

.th-evening__step {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border-top: 1px solid var(--color-border-strong);
  background: var(--color-linen);
}
.th-evening__step > * { margin: 0; }
.th-evening__step--warm { background: var(--color-natural-linen); transform: translateY(var(--space-5)); }
.th-step__number,
.th-basic-card__number { color: var(--color-seringa-green); font-size: var(--text-caption); font-weight: 700; letter-spacing: .12em; }

.th-botanical-trace { position: relative; }
.th-botanical-trace::before {
  content: "";
  position: absolute;
  top: -1rem;
  right: 2rem;
  width: 7rem;
  height: 3.5rem;
  border-top: 1px solid rgb(63 102 85 / 40%);
  border-right: 1px solid rgb(63 102 85 / 40%);
  pointer-events: none;
}

.th-basics__intro { width: min(100%, 43rem); }
.th-basics__cards { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: var(--space-7); gap: var(--space-4); }
.th-basic-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  background: var(--color-linen);
}
.th-basic-card > * { margin: 0; }
.th-basic-card h3 { font-size: clamp(1.65rem, 2.25vw, 2rem); }
.th-basic-card--warm { background: var(--color-natural-linen); }
.th-basic-card--night { background: var(--color-felt-green); border-color: var(--color-felt-green); }
.th-basic-card--night :is(h3, p) { color: var(--color-linen); }
.th-basic-card--night .th-basic-card__number { color: var(--color-celadon); }

.th-real-table__media { grid-column: 1 / span 7; width: 100%; min-width: 0; margin: 0; }
.th-real-table__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.th-real-table__copy {
  grid-column: 9 / -1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}
.th-real-table__copy > * { margin: 0; }
.th-real-table__copy h2 { max-width: 11ch; }
.th-fragment { min-width: 0; }
.th-fragment > :last-child { margin-bottom: 0; }
.th-fragment h3 { font-size: clamp(1.65rem, 2.25vw, 2rem); }
.th-fragment--lined { padding-inline-start: var(--space-4); border-inline-start: 1px solid var(--color-seringa-green); }

.th-before-table__intro { width: min(100%, 43rem); }
.th-before-table__intro .editorial-line { margin-bottom: var(--space-5); }
.th-before-table__media { width: 100%; margin: var(--space-7) 0; }
.th-before-table__media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.th-before-table__content {
  display: grid;
  grid-template-columns: 5fr 3fr 3fr;
  gap: var(--space-5);
  align-items: start;
}
.th-cuisine-copy { padding: var(--space-5) 0; }
.th-cuisine-copy > :last-child, .th-sensory-card > :last-child { margin-bottom: 0; }
.th-sensory-card { padding: var(--space-5); border: 1px solid var(--color-border); background: var(--color-natural-linen); }
.th-sensory-card--peach { border-color: var(--color-peach-coral); background: #f4d5ca; }

.th-salon { position: relative; }
.th-salon__copy {
  grid-column: 1 / span 5;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}
.th-salon__copy > * { margin: 0; }
.th-salon__copy h2 { max-width: 11ch; }
.th-salon__copy .lead { max-width: 55ch; }
.th-salon__media { grid-column: 7 / -1; width: 100%; min-width: 0; margin: 0; }
.th-salon__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.th-salon__details { display: flex; width: 100%; min-width: 0; flex-direction: column; gap: var(--space-5); }
.th-salon__details > * { min-width: 0; }
.th-material-note { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: var(--space-4); align-items: start; }
.th-material-note > * { min-width: 0; }
.th-material-note__word { color: var(--color-celadon); font-family: var(--font-heading); font-size: 1.7rem; line-height: 1; }
.th-material-note h3, .th-salon-close h3 { font-size: 1.7rem; }
.th-material-note > div > :last-child, .th-salon-close > :last-child { margin-bottom: 0; }
.th-card-trace { position: relative; }
.th-card-trace::after { content: ""; position: absolute; right: -3rem; bottom: 2rem; width: 7rem; height: 7rem; border: 1px solid rgb(155 200 194 / 42%); border-left: 0; border-bottom: 0; pointer-events: none; }

.th-guidelines__intro { width: min(100%, 43rem); }
.th-guidelines__cards { margin-top: var(--space-7); }
.th-guideline-card { padding: var(--space-5); border: 1px solid var(--color-border); background: var(--color-linen); }
.th-guideline-card > :last-child { margin-bottom: 0; }
.th-guideline-card h3 { font-size: clamp(1.65rem, 2.25vw, 2rem); }
.th-guideline-card--green { border-color: var(--color-seringa-green); background: #e2ebe4; }

.th-local__copy {
  grid-column: 1 / span 7;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}
.th-local__copy > * { margin: 0; }
.th-local__copy h2 { max-width: 15ch; }
.th-local__copy .lead { max-width: 62ch; }
.th-local__ornament { grid-column: 9 / -1; min-width: 0; min-height: 17rem; border: 1px solid rgb(63 102 85 / 42%); border-left: 0; position: relative; }
.th-local__ornament::before, .th-local__ornament::after { content: ""; position: absolute; border: 1px solid rgb(63 102 85 / 42%); }
.th-local__ornament::before { width: 55%; height: 55%; top: 2rem; left: -2rem; border-left: 0; border-bottom: 0; }
.th-local__ornament::after { width: 1.25rem; height: 1.25rem; right: 2rem; bottom: 2rem; border-radius: 50%; }

.th-explore__intro { width: min(100%, 35rem); }
.th-explore__cards { margin-top: var(--space-7); }
.th-destination-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  background: var(--color-natural-linen);
  color: var(--color-deep-plum);
  text-decoration: none;
  transition: background-color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}
.th-destination-card > * { margin: 0; min-width: 0; }
.th-destination-card:hover { background: var(--color-linen); border-color: var(--color-nickel); color: var(--color-deep-plum); transform: translateY(-1px); }
.th-destination-card__eyebrow { color: var(--color-seringa-green); font-size: var(--text-caption); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.th-destination-card__link { margin-top: auto; min-height: 2.75rem; display: inline-flex; align-items: center; color: var(--color-seringa-green); font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; text-decoration: underline; text-underline-offset: .2em; }
.th-destination-card--poker { border-color: var(--color-felt-green); background: var(--color-felt-green); }
.th-destination-card--poker :is(h3, p) { color: var(--color-linen); }
.th-destination-card--poker .th-destination-card__eyebrow, .th-destination-card--poker .th-destination-card__link { color: var(--color-celadon); }
.th-destination-card--poker:hover { background: #1f413a; border-color: #1f413a; color: var(--color-linen); }

.th-reassurance__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); }
.th-reassurance__copy { grid-column: 1 / span 8; min-width: 0; }
.th-reassurance__copy h2 { max-width: 25ch; font-size: clamp(2rem, 4vw, 3.4rem); }
.th-reassurance__copy p { max-width: 65ch; padding-top: var(--space-5); border-top: 1px solid var(--color-nickel); }

.th-text-link { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--color-seringa-green); font-size: .75rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.surface-poker .th-text-link, .surface-night .th-text-link { color: var(--color-celadon); }

@media (max-width: 980px) {
  .th-basics__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 920px) {
  .th-hero__grid, .th-real-table__grid, .th-salon__grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .th-hero__media, .th-real-table__media, .th-salon__media { grid-column: 1; order: -1; }
  .th-hero__copy, .th-real-table__copy, .th-salon__copy { grid-column: 1; }
  .th-hero__copy h1, .th-real-table__copy h2, .th-salon__copy h2 { max-width: none; }
  .th-hero__media img { aspect-ratio: 16 / 9; }
  .th-real-table__media img, .th-salon__media img { aspect-ratio: 4 / 5; }
  .th-before-table__content { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .th-cuisine-copy { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
  .th-evening__steps, .th-guidelines__cards, .th-explore__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .th-evening__step--warm { transform: none; }
  .th-local__grid { grid-template-columns: 1fr; }
  .th-local__copy { grid-column: 1; }
  .th-local__ornament { display: none; }
}

@media (max-width: 767px) {
  .texas-holdem-page .container { width: min(calc(100% - 2.5rem), var(--container-max)); }
  .th-hero__grid, .th-real-table__grid, .th-salon__grid, .th-local__grid, .th-reassurance__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
  .th-hero__media, .th-real-table__media, .th-salon__media, .th-hero__copy, .th-real-table__copy, .th-salon__copy, .th-local__copy, .th-reassurance__copy { grid-column: 1 / -1; }
  .th-hero__copy { gap: var(--space-4); }
  .th-hero__copy h1 { font-size: clamp(2.5rem, 11vw, 2.75rem); }
  .th-hero__copy .lead { max-width: none; font-size: 1.125rem; }
  .th-hero__media img { aspect-ratio: 4 / 5; }
  .th-hero__actions, .th-local__actions { flex-direction: column; align-items: stretch; }
  .th-hero__actions > .button, .th-local__actions > .button { width: 100%; min-height: 2.75rem; }
  .th-evening__intro, .th-basics__intro, .th-before-table__intro, .th-guidelines__intro, .th-explore__intro { width: 100%; }
  .th-evening__steps, .th-basics__cards, .th-guidelines__cards, .th-explore__cards, .th-before-table__content { grid-template-columns: 1fr; gap: var(--space-4); }
  .th-evening__steps, .th-basics__cards, .th-guidelines__cards, .th-explore__cards { margin-top: var(--space-6); }
  .th-evening__step, .th-basic-card, .th-guideline-card, .th-destination-card { padding: var(--space-5); }
  .th-real-table__copy { gap: var(--space-5); }
  .th-real-table__media img, .th-salon__media img { aspect-ratio: 4 / 5; }
  .th-before-table__media { margin: var(--space-6) 0; }
  .th-before-table__media img { aspect-ratio: 3 / 2; }
  .th-cuisine-copy { padding: 0; }
  .th-material-note { grid-template-columns: 1fr; gap: var(--space-2); }
  .th-card-trace::after, .th-botanical-trace::before { display: none; }
  .th-reassurance__copy h2 { max-width: none; font-size: clamp(1.9rem, 8vw, 2.2rem); }
}

@media (prefers-reduced-motion: reduce) {
  .th-destination-card { transition: none; }
  .th-destination-card:hover { transform: none; }
}
