.poker-tables-page {
  background: var(--surface-page);
}

.poker-tables-page .text-link {
  text-decoration: none;
  background-image: linear-gradient(var(--color-bronze), var(--color-bronze));
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  transition: color var(--transition-fast), background-size var(--transition-media);
}

.poker-tables-page .text-link:hover {
  background-size: 100% 2px;
}

.pt-hero {
  position: relative;
  display: grid;
  min-height: 42.5rem;
  overflow: hidden;
  background: var(--color-deep-teal);
  color: var(--color-on-dark);
}

.pt-hero__image,
.pt-hero__overlay,
.pt-hero__frame {
  grid-area: 1 / 1;
  min-width: 0;
}

.pt-hero__image {
  width: 100%;
  height: 100%;
  min-height: 42.5rem;
  object-fit: cover;
  object-position: center center;
}

.pt-hero__overlay {
  background: linear-gradient(90deg, rgba(18, 63, 67, 0.72) 0%, rgba(18, 63, 67, 0.42) 45%, rgba(18, 63, 67, 0.18) 100%);
}

.pt-hero__frame {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: end;
  width: min(100% - (var(--gutter) * 2), var(--container-max));
  margin-inline: auto;
  padding-block: var(--space-26);
}

.pt-hero__content {
  display: flex;
  flex: 0 1 35rem;
  min-width: 24.375rem;
  flex-direction: column;
  gap: var(--space-4);
}

.pt-hero__content :is(h1, p) {
  margin: 0;
  color: var(--color-on-dark);
}

.pt-hero__content h1 {
  max-width: 10.5ch;
}

.pt-hero__content > p:not(.eyebrow) {
  max-width: 34rem;
  font-size: var(--text-intro);
  line-height: 1.45;
}

.pt-hero__content .eyebrow {
  color: var(--color-eucalyptus);
}

.pt-hero__actions {
  margin-top: var(--space-2);
}

.pt-hero__actions > * {
  flex: 0 0 auto;
}

.pt-hero__actions .text-link {
  color: var(--color-on-dark);
}

.pt-shapes__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-12) 1.5rem;
}

.pt-shapes__intro {
  grid-column: 1 / span 5;
  min-width: 0;
}

.pt-shapes__intro p:not(.eyebrow) {
  max-width: 32.5rem;
}

.pt-shapes__media {
  grid-column: 9 / span 4;
  grid-row: 1 / span 2;
  width: calc(100% + 1.5rem);
  min-width: 0;
  margin-top: var(--space-18);
  margin-right: -1.5rem;
  align-self: start;
  border: 1px solid var(--color-line);
}

.pt-shapes__media img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.pt-shapes__media figcaption {
  padding: var(--space-3) var(--space-4);
  background: var(--color-warm-white);
}

.pt-layout-list {
  display: flex;
  grid-column: 2 / span 5;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-8);
}

.pt-layout {
  display: grid;
  grid-template-columns: minmax(4.5rem, 5.5rem) minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
}

.pt-layout__diagram {
  position: relative;
  width: 4.75rem;
  height: 4.75rem;
  min-width: 0;
  border: 1px solid var(--color-deep-teal);
}

.pt-layout__diagram--round { border-radius: 50%; }
.pt-layout__diagram--long { border-radius: 999px; height: 3.75rem; margin-top: .5rem; }
.pt-layout__diagram--room { border-radius: 2px; }
.pt-layout__diagram span,
.pt-layout__diagram i,
.pt-layout__diagram b { position: absolute; display: block; width: .45rem; height: .45rem; border-radius: 50%; background: var(--color-bronze); }
.pt-layout__diagram--round span { top: -.25rem; left: calc(50% - .225rem); }
.pt-layout__diagram--round i { right: -.25rem; top: calc(50% - .225rem); }
.pt-layout__diagram--round b { bottom: -.25rem; left: calc(50% - .225rem); }
.pt-layout__diagram--long span { top: -.25rem; left: 22%; }
.pt-layout__diagram--long i { bottom: -.25rem; left: 48%; }
.pt-layout__diagram--long b { top: -.25rem; right: 22%; }
.pt-layout__diagram--room span { top: .65rem; left: .65rem; }
.pt-layout__diagram--room i { right: .65rem; bottom: .65rem; }
.pt-layout__diagram--room b { top: calc(50% - .225rem); left: calc(50% - .225rem); width: 2rem; border-radius: 999px; transform: translateX(-.75rem); }

.pt-layout__copy { min-width: 0; }
.pt-layout__copy h3 { margin-bottom: var(--space-2); }
.pt-layout__copy p:last-child { max-width: 22rem; margin-bottom: 0; }
.pt-layout__number { margin: 0 0 var(--space-1); color: var(--color-bronze); font-size: var(--text-eyebrow); font-weight: 700; letter-spacing: .14em; }

.pt-rhythm__title {
  display: flex;
  max-width: 42.5rem;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  margin-inline: auto;
  text-align: center;
}

.pt-rhythm__title :is(h2, p, hr) { margin: 0; }
.pt-rhythm__title .rule { margin-inline: auto; }

.pt-steps {
  display: flex;
  max-width: 53.333rem;
  min-width: 0;
  flex-direction: column;
  margin: var(--space-18) auto 0;
}

.pt-step {
  display: grid;
  grid-template-columns: minmax(6rem, 1fr) minmax(0, 4fr) minmax(0, 3fr);
  gap: var(--space-6);
  min-width: 0;
  padding-block: var(--space-6);
  border-top: var(--border-light);
}

.pt-step:last-child { border-bottom: var(--border-light); }
.pt-step__rail, .pt-step__copy, .pt-step__cue { min-width: 0; }
.pt-step__rail span { display: block; color: var(--color-bronze); font-family: var(--font-heading); font-size: 2rem; line-height: 1; }
.pt-step__rail p { margin: var(--space-1) 0 0; color: var(--color-muted-ink); font-size: var(--text-eyebrow); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.pt-step__copy h3 { margin-bottom: var(--space-2); }
.pt-step__copy p, .pt-step__cue { margin: 0; }
.pt-step__copy p { max-width: 26rem; }
.pt-step__cue { align-self: center; color: var(--color-muted-ink); font-family: var(--font-heading); font-size: 1.25rem; line-height: 1.15; }

.pt-components__heading { width: min(100%, 47.5rem); min-width: 0; }
.pt-components__heading h2 { margin-bottom: var(--space-12); }
.pt-components__grid { display: grid; grid-template-columns: 3fr 4fr 2fr 3fr; min-width: 0; border-top: var(--border-dark); border-bottom: var(--border-dark); }
.pt-component { min-width: 0; padding: var(--space-6); border-right: var(--border-dark); }
.pt-component:first-child { padding-left: 0; }
.pt-component:last-child { border-right: 0; padding-right: 0; }
.pt-component h3 { color: var(--color-on-dark); }
.pt-component p { color: var(--color-on-dark); }
.pt-component small { display: block; color: var(--color-eucalyptus); letter-spacing: .05em; }
.pt-component__line { display: block; width: 2.5rem; height: 1px; margin-bottom: var(--space-6); background: var(--color-bronze); transition: width var(--transition-fast); }
.pt-component:hover .pt-component__line { width: 4rem; }

.pt-room { overflow: hidden; }
.pt-room__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-width: 0; }
.pt-room__media { width: 100%; min-width: 0; margin: 0; border-radius: 0; }
.pt-room__media img { width: 100%; height: 35rem; object-fit: cover; }
.pt-room__content { display: flex; width: min(100% - (var(--gutter) * 2), 30rem); min-width: 0; flex-direction: column; gap: var(--space-4); margin: auto; padding-block: var(--space-18); }
.pt-room__content :is(h2, p, hr) { margin: 0; }
.pt-room__content > p:not(.eyebrow) { max-width: 28rem; color: var(--color-on-dark); }
.pt-room__note { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding-top: var(--space-4); border-top: var(--border-dark); }
.pt-room__note .rule { margin: 0; }
.pt-room__note h3, .pt-room__note p { margin: 0; color: var(--color-on-dark); }
.pt-room__note p { max-width: 28rem; }
.pt-room__note .text-link { width: fit-content; color: var(--color-on-dark); }

.pt-social__grid { display: grid; grid-template-columns: 5fr 1fr 6fr; gap: var(--space-6); min-width: 0; }
.pt-social__intro { grid-column: 1; min-width: 0; }
.pt-social__intro p:not(.eyebrow) { max-width: 32.5rem; }
.pt-social__notes { display: flex; grid-column: 3; min-width: 0; flex-direction: column; gap: var(--space-4); }
.pt-social-note { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: var(--space-4); min-width: 0; padding: var(--space-6); background: var(--color-warm-white); border: var(--border-light); }
.pt-social-note:nth-child(2) { margin-left: var(--space-6); }
.pt-social-note:nth-child(3) { margin-left: var(--space-12); }
.pt-social-note__label { color: var(--color-bronze); font-family: var(--font-heading); font-size: 2rem; line-height: .9; }
.pt-social-note__label span { color: var(--color-muted-ink); font-family: var(--font-body); font-size: var(--text-eyebrow); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.pt-social-note h3 { margin-bottom: var(--space-2); }
.pt-social-note p { max-width: 26rem; }
.pt-social-note p:last-of-type { margin-bottom: var(--space-3); }

.pt-planning__title { max-width: 42.5rem; min-width: 0; margin-inline: auto; text-align: center; }
.pt-planning__title p:not(.eyebrow) { max-width: 34rem; margin-inline: auto; }
.pt-planning__routes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; margin-top: var(--space-12); }
.pt-route { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); padding: 0 var(--space-6); border-right: var(--border-light); }
.pt-route:first-child { padding-left: 0; }
.pt-route:last-child { padding-right: 0; border-right: 0; }
.pt-route :is(h3, p) { margin: 0; }
.pt-route h3 { min-height: 5.2rem; }
.pt-route p:not(.eyebrow) { max-width: 20rem; }
.pt-route .text-link { width: fit-content; margin-top: auto; }

.pt-pause__panel { display: flex; min-width: 0; flex-direction: column; gap: var(--space-12); width: min(100%, 106.667rem); margin-inline: auto; padding: var(--space-18); background: var(--color-deep-teal); color: var(--color-on-dark); }
.pt-pause__statement { max-width: 47.5rem; min-width: 0; margin-inline: auto; text-align: center; }
.pt-pause__statement :is(h2, p) { color: var(--color-on-dark); }
.pt-pause__statement p:not(.eyebrow) { max-width: 43rem; margin-inline: auto; }
.pt-pause__routes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-12); width: min(100%, 42rem); min-width: 0; margin-inline: auto; }
.pt-pause__routes article { min-width: 0; }
.pt-pause__routes h3, .pt-pause__routes p { color: var(--color-on-dark); }
.pt-pause__routes p { max-width: 20rem; }
.pt-pause__routes .text-link { color: var(--color-on-dark); width: fit-content; }

.pt-closing__content { display: flex; max-width: 47.5rem; min-width: 0; flex-direction: column; align-items: center; gap: var(--space-4); margin-inline: auto; text-align: center; }
.pt-closing__content :is(h2, p) { margin: 0; color: var(--color-on-dark); }
.pt-closing__content > p:not(.eyebrow) { max-width: 32.5rem; }
.pt-closing__content .eyebrow { color: var(--color-eucalyptus); }
.pt-closing__actions { justify-content: center; margin-top: var(--space-2); }
.pt-closing__actions > * { flex: 0 0 auto; min-width: 11.25rem; }
.pt-closing__actions .text-link { color: var(--color-on-dark); }

@media (max-width: 65rem) {
  .pt-components__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pt-component { padding: var(--space-6); border-bottom: var(--border-dark); }
  .pt-component:nth-child(2n) { border-right: 0; }
  .pt-component:nth-child(3), .pt-component:nth-child(4) { border-bottom: 0; }
  .pt-component:first-child, .pt-component:last-child { padding-inline: var(--space-6); }
  .pt-social__grid { grid-template-columns: 1fr; }
  .pt-social__intro, .pt-social__notes { grid-column: 1; }
  .pt-social__notes { gap: var(--space-4); }
  .pt-social-note:nth-child(n) { margin-left: 0; }
}

@media (max-width: 61.25rem) {
  .pt-shapes__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .pt-shapes__intro { grid-column: 1 / span 4; }
  .pt-shapes__media { grid-column: 1 / span 3; grid-row: 2; width: 100%; margin: 0; }
  .pt-layout-list { display: grid; grid-column: 1 / span 6; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
  .pt-layout:nth-child(3) { grid-column: 1 / span 2; }
  .pt-room__grid { grid-template-columns: 1fr; }
  .pt-room__media { width: min(100% - (var(--gutter) * 2), var(--container-max)); margin-inline: auto; border-radius: var(--radius-media); }
  .pt-room__content { width: min(100% - (var(--gutter) * 2), 42.5rem); margin-inline: auto; }
}

@media (max-width: 56.25rem) {
  .pt-hero { min-height: 38rem; }
  .pt-hero__image { min-height: 38rem; }
  .pt-planning__routes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8) 0; }
  .pt-route:nth-child(2) { border-right: 0; padding-right: 0; }
  .pt-route:nth-child(3) { grid-column: 1 / span 2; padding-left: 0; border-right: 0; border-top: var(--border-light); padding-top: var(--space-8); }
  .pt-route h3 { min-height: auto; }
}

@media (max-width: 53.75rem) {
  .pt-step { grid-template-columns: minmax(6rem, 1fr) minmax(0, 5fr); }
  .pt-step__cue { display: none; }
}

@media (max-width: 45rem) {
  .pt-hero { display: flex; min-height: 0; flex-direction: column; }
  .pt-hero__image { order: 1; min-height: 16.25rem; height: 46vw; }
  .pt-hero__overlay { display: none; }
  .pt-hero__frame { order: 2; width: 100%; padding: var(--space-8) var(--gutter) var(--space-12); background: var(--color-deep-teal); }
  .pt-hero__content { flex-basis: auto; min-width: 0; width: min(100%, 34ch); }
  .pt-hero__content h1 { font-size: clamp(3rem, 13vw, 4rem); }
  .pt-hero__content > p:not(.eyebrow) { max-width: 34ch; }
  .pt-hero__actions { align-items: stretch; width: 100%; }
  .pt-hero__actions > * { flex: 1 1 100%; width: 100%; }
  .pt-hero__actions .text-link { justify-content: center; min-height: 2.875rem; }

  .pt-shapes__grid { display: flex; flex-direction: column; gap: var(--space-8); }
  .pt-shapes__intro, .pt-shapes__media, .pt-layout-list { width: 100%; }
  .pt-layout-list { display: flex; gap: var(--space-6); }
  .pt-layout:nth-child(3) { width: auto; }
  .pt-layout__copy p:last-child { max-width: none; }

  .pt-rhythm__title { text-align: left; }
  .pt-rhythm__title .rule { margin-inline: 0; }
  .pt-steps { margin-top: var(--space-8); }
  .pt-step { display: flex; flex-direction: column; gap: var(--space-3); padding-block: var(--space-6); }
  .pt-step__rail { display: flex; align-items: baseline; gap: var(--space-2); }
  .pt-step__rail p { margin: 0; }
  .pt-step__copy p { max-width: none; }

  .pt-components__heading h2 { margin-bottom: var(--space-8); }
  .pt-components__grid { grid-template-columns: 1fr; }
  .pt-component:nth-child(n) { padding: var(--space-6) 0; border-right: 0; border-bottom: var(--border-dark); }
  .pt-component:last-child { border-bottom: 0; }

  .pt-room__media { width: 100%; border-radius: 0; }
  .pt-room__media img { height: max(58vw, 17.5rem); }
  .pt-room__content { padding-block: var(--space-8); }

  .pt-social-note { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-6) var(--space-4); }
  .pt-social-note h3 { margin-bottom: var(--space-2); }
  .pt-social-note p { max-width: none; }

  .pt-planning__title { text-align: left; }
  .pt-planning__title p:not(.eyebrow) { margin-inline: 0; }
  .pt-planning__routes { display: flex; flex-direction: column; margin-top: var(--space-8); }
  .pt-route:nth-child(n) { padding: var(--space-6) 0; border-right: 0; border-top: var(--border-light); }
  .pt-route:first-child { padding-top: 0; border-top: 0; }
  .pt-route p:not(.eyebrow) { max-width: none; }

  .pt-pause__panel { gap: var(--space-8); padding: var(--space-8) var(--space-4); }
  .pt-pause__statement { text-align: left; }
  .pt-pause__statement p:not(.eyebrow) { margin-inline: 0; }
  .pt-pause__routes { display: flex; flex-direction: column; gap: var(--space-6); }
  .pt-pause__routes article + article { padding-top: var(--space-6); border-top: var(--border-dark); }
  .pt-pause__routes p { max-width: none; }

  .pt-closing__content { align-items: stretch; text-align: center; }
  .pt-closing__actions { align-items: stretch; width: 100%; }
  .pt-closing__actions > * { flex: 1 1 100%; width: 100%; }
  .pt-closing__actions .text-link { justify-content: center; min-height: 2.875rem; }
}

@media (max-width: 25rem) {
  .pt-layout { grid-template-columns: 1fr; }
  .pt-layout__diagram { margin-bottom: var(--space-2); }
}

@media (prefers-reduced-motion: reduce) {
  .poker-tables-page .text-link, .pt-component__line { transition: none; }
}
