.poker-page {
  background: var(--color-pearl-white);
}

.poker-page .label {
  margin: 0;
}

.poker-hero {
  position: relative;
  min-height: 35rem;
  overflow: hidden;
  background: var(--color-deep-marine);
  color: var(--color-pearl-white);
}

.poker-hero__image,
.poker-hero__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.poker-hero__image {
  max-width: none;
  object-fit: cover;
  object-position: center center;
}

.poker-hero__shade {
  background: linear-gradient(90deg, rgb(16 47 67 / 88%) 0%, rgb(16 47 67 / 68%) 45%, rgb(16 47 67 / 10%) 78%);
}

.poker-hero__container {
  position: relative;
  display: flex;
  min-height: 35rem;
  align-items: center;
}

.poker-hero__content {
  display: flex;
  width: min(52%, 43.125rem);
  min-width: 31.25rem;
  flex-direction: column;
  gap: var(--space-4);
}

.poker-kicker {
  margin: 0;
  color: var(--color-warm-sand);
  font-size: var(--font-size-label);
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.poker-hero h1 {
  margin: 0;
  color: var(--color-pearl-white);
  font-size: clamp(3rem, 2.3rem + 2.5vw, 4rem);
}

.poker-hero__lead {
  max-width: 38rem;
  margin: 0;
  color: var(--color-pearl-white);
  font-size: clamp(1.125rem, 1.02rem + .35vw, 1.25rem);
  line-height: 1.45;
}

.poker-hero__route {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-pearl-white);
  font-size: var(--font-size-label);
  letter-spacing: .12em;
  line-height: 1.2;
}

.poker-hero__route span {
  display: block;
  width: 4rem;
  height: 1px;
  flex: 0 0 auto;
  background: var(--color-restrained-brass);
}

.poker-meaning__layout {
  display: grid;
  grid-template-columns: minmax(0, .42fr) minmax(0, .58fr);
  gap: var(--space-7) var(--space-6);
}

.poker-meaning__intro,
.poker-scenarios,
.poker-role,
.poker-space__copy,
.poker-space__figure,
.poker-space__note,
.poker-availability__intro,
.poker-availability__marker,
.poker-availability__notice,
.poker-current-source,
.poker-checklist__intro,
.poker-checklist__groups,
.poker-checklist__advice,
.poker-atmosphere__copy,
.poker-atmosphere__figure,
.poker-atmosphere__quote {
  min-width: 0;
}

.poker-meaning__intro {
  grid-column: 1;
  width: 100%;
  max-width: 28.75rem;
}

.poker-scenarios {
  grid-column: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  align-self: end;
}

.poker-scenario {
  min-width: 0;
  border-top: 1px solid var(--color-harbour-blue);
  padding-top: var(--space-3);
}

.poker-scenario > span,
.poker-summary__rules span {
  display: block;
  margin-bottom: var(--space-2);
  color: var(--color-restrained-brass);
  font-size: var(--font-size-caption);
  font-weight: 700;
  letter-spacing: .08em;
}

.poker-scenario h3 {
  margin-bottom: var(--space-2);
  font-size: 1.5rem;
}

.poker-scenario p {
  margin: 0;
  font-size: var(--font-size-small);
}

.poker-role {
  grid-column: 1 / -1;
  width: 100%;
}

.poker-role p:not(.label) {
  max-width: 52rem;
  margin-top: var(--space-3);
  margin-bottom: 0;
}

.poker-space__grid {
  display: grid;
  grid-template-columns: minmax(21.25rem, .41fr) minmax(26.25rem, .59fr);
  gap: var(--space-6);
}

.poker-space__copy {
  grid-column: 1;
  width: 100%;
}

.poker-space__copy > .label {
  margin-bottom: var(--space-3);
}

.poker-space__figure {
  grid-column: 2;
  width: 100%;
}

.poker-space__figure img,
.poker-atmosphere__figure img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  transition: transform var(--transition-fast);
}

.poker-space__figure:hover img,
.poker-atmosphere__figure:hover img {
  transform: scale(1.02);
}

.poker-space__figure,
.poker-atmosphere__figure {
  overflow: hidden;
}

.poker-observations {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-5);
}

.poker-observations > div {
  width: 100%;
  min-width: 0;
  border-top: 1px solid var(--color-line-aqua);
  padding-top: var(--space-3);
}

.poker-observations h3 {
  margin-bottom: var(--space-1);
  font-family: var(--font-sans);
  font-size: var(--font-size-small);
  font-weight: 700;
}

.poker-observations p {
  margin: 0;
  font-size: var(--font-size-small);
}

.poker-space__note {
  grid-column: 1 / -1;
  width: 100%;
  border-left: 2px solid var(--color-restrained-brass);
  background: var(--color-warm-sand);
  padding: var(--space-4);
}

.poker-space__note p:not(.label) {
  max-width: 55rem;
  margin-top: var(--space-2);
  margin-bottom: 0;
}

.poker-formats__intro {
  width: min(100%, 47.5rem);
  margin-inline: auto;
  text-align: center;
}

.poker-formats__intro .label {
  justify-content: center;
}

.poker-formats__intro .rule {
  margin: var(--space-5) 0 0;
}

.poker-format-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-6);
}

.poker-format-card {
  display: flex;
  min-width: 0;
}

.poker-format-card .card__body {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.poker-format-card .card__body > * {
  margin: 0;
}

.poker-format-card h3 {
  font-size: 1.75rem;
}

.poker-availability {
  position: relative;
}

.poker-availability__layout {
  display: grid;
  grid-template-columns: minmax(0, .62fr) minmax(0, .38fr);
  gap: var(--space-6);
}

.poker-availability__intro {
  grid-column: 1;
  width: 100%;
  max-width: 47.5rem;
}

.poker-availability__intro h2 {
  margin-top: var(--space-3);
}

.poker-availability__intro p:not(.poker-kicker) {
  margin-bottom: 0;
}

.poker-availability__marker {
  grid-column: 2;
  display: flex;
  width: 100%;
  align-items: flex-start;
  justify-content: flex-end;
  gap: var(--space-2);
  border-left: 1px solid rgb(233 214 181 / 50%);
  padding-left: var(--space-5);
  color: var(--color-warm-sand);
}

.poker-availability__marker span {
  font-size: var(--font-size-label);
  font-weight: 700;
  letter-spacing: .12em;
}

.poker-availability__marker b {
  font-size: 2.25rem;
  line-height: .95;
}

.poker-availability__notice {
  grid-column: 1 / -1;
  width: min(100%, 61.25rem);
  margin: 0;
  background: var(--color-pearl-white);
}

.poker-availability__notice .label {
  color: var(--color-signal-red);
}

.poker-availability__notice p:not(.label) {
  margin-top: var(--space-3);
}

.poker-availability__notice ul {
  margin: var(--space-3) 0;
}

.poker-current-source {
  grid-column: 1;
  width: 100%;
  max-width: 47.5rem;
  border-top: 2px solid var(--color-restrained-brass);
  padding-top: var(--space-3);
}

.poker-current-source .label {
  color: var(--color-warm-sand);
}

.poker-current-source p:not(.label) {
  margin-top: var(--space-2);
  margin-bottom: 0;
}

.poker-differences__intro {
  width: min(100%, 42.5rem);
}

.poker-differences__intro .label {
  margin-bottom: var(--space-3);
}

.poker-scroll-hint {
  display: none;
  margin: var(--space-5) 0 var(--space-2);
  color: var(--color-muted-harbour);
  font-size: var(--font-size-caption);
  font-weight: 700;
}

.poker-table-scroll {
  width: 100%;
  margin-top: var(--space-5);
}

.poker-table-scroll table {
  min-width: 46.875rem;
}

.poker-table-scroll th:nth-child(1) { width: 20%; }
.poker-table-scroll th:nth-child(2) { width: 45%; }
.poker-table-scroll th:nth-child(3) { width: 35%; }

.poker-differences__conclusion {
  width: min(100%, 42.5rem);
  margin: var(--space-5) 0 0;
  color: var(--color-deep-marine);
  font-weight: 600;
}

.poker-checklist__layout {
  display: grid;
  grid-template-columns: minmax(22.5rem, .45fr) minmax(31.25rem, .55fr);
  gap: var(--space-6);
}

.poker-checklist__intro {
  grid-column: 1;
  width: 100%;
}

.poker-checklist__intro .label {
  margin-bottom: var(--space-3);
}

.poker-checklist__groups {
  grid-column: 2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
}

.poker-checklist__group {
  min-width: 0;
}

.poker-checklist__group h3,
.poker-checklist__toggle {
  width: 100%;
  margin: 0 0 var(--space-3);
  color: var(--color-deep-marine);
  font-family: var(--font-sans);
  font-size: var(--font-size-small);
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
}

.poker-checklist__toggle {
  display: flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: space-between;
  border: 0;
  border-bottom: 1px solid var(--color-line-aqua);
  background: transparent;
  padding: 0 0 var(--space-2);
}

.poker-checklist__toggle span {
  color: var(--color-harbour-blue);
  font-size: var(--font-size-caption);
}

.poker-checklist__list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.poker-checklist__list li {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
  border-top: 1px solid var(--color-line-aqua);
  padding-top: var(--space-3);
}

.poker-checklist__list li::marker {
  content: "";
}

.poker-checklist__list span {
  display: flex;
  width: 1.75rem;
  height: 1.75rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-harbour-blue);
  border-radius: 50%;
  color: var(--color-harbour-blue);
  font-size: var(--font-size-label);
  font-weight: 700;
}

.poker-checklist__list p {
  margin: 0;
  font-size: var(--font-size-small);
}

.poker-checklist__advice {
  grid-column: 1 / -1;
  width: 100%;
  border-left: 2px solid var(--color-restrained-brass);
  background: var(--color-warm-sand);
  padding: var(--space-4);
}

.poker-checklist__advice p:not(.label) {
  max-width: 55rem;
  margin-top: var(--space-2);
  margin-bottom: 0;
}

.poker-atmosphere__grid {
  display: grid;
  grid-template-columns: minmax(22.5rem, .48fr) minmax(26.25rem, .52fr);
  gap: var(--space-6);
}

.poker-atmosphere__copy {
  grid-column: 1;
  width: 100%;
}

.poker-atmosphere__copy .label {
  margin-bottom: var(--space-3);
}

.poker-atmosphere__figure {
  grid-column: 2;
  width: 100%;
}

.poker-etiquette {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-5);
}

.poker-etiquette article {
  min-width: 0;
  border-top: 1px solid var(--color-line-aqua);
  padding-top: var(--space-3);
}

.poker-etiquette h3 {
  margin-bottom: var(--space-2);
  font-family: var(--font-sans);
  font-size: var(--font-size-small);
  font-weight: 700;
}

.poker-etiquette p {
  margin: 0;
  font-size: var(--font-size-small);
}

.poker-atmosphere__quote {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0;
  border-left: 0;
  background: var(--color-deep-marine);
  padding: var(--space-5);
  color: var(--color-pearl-white);
}

.poker-atmosphere__quote p {
  margin: 0;
  color: var(--color-pearl-white);
  font-size: clamp(1.5rem, 1.3rem + .8vw, 2rem);
}

.poker-related {
  border-top: 1px solid var(--color-line-aqua);
}

.poker-related__intro {
  width: min(100%, 38.75rem);
}

.poker-related__intro .label {
  margin-bottom: var(--space-3);
}

.poker-related__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-6);
}

.poker-related__card {
  display: flex;
  min-width: 0;
}

.poker-related__card .card__body {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.poker-related__card .card__body > * {
  margin: 0;
}

.poker-related__card h3 {
  font-size: 1.75rem;
}

.poker-related__card a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-2);
  margin-top: auto;
  font-size: var(--font-size-small);
  font-weight: 700;
}

.poker-summary {
  padding: 5rem 0 6rem;
}

.poker-summary__copy {
  width: min(100%, 47.5rem);
}

.poker-summary__copy .label {
  margin-bottom: var(--space-3);
}

.poker-summary__rules {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  width: min(100%, 61.25rem);
  margin-top: var(--space-6);
}

.poker-summary__rules > div {
  min-width: 0;
  border-top: 1px solid var(--color-line-aqua);
  padding-top: var(--space-3);
}

.poker-summary__rules p {
  margin: 0;
  font-size: var(--font-size-small);
}

.poker-summary__rule {
  width: min(100%, 61.25rem);
  margin: var(--space-6) 0 0;
}

@media (max-width: 61.1875rem) {
  .poker-meaning__layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .poker-meaning__intro { grid-column: 1 / -1; max-width: 36rem; }
  .poker-scenarios { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .poker-scenarios .poker-scenario:nth-child(3) { grid-column: 1 / -1; }

  .poker-space__grid,
  .poker-atmosphere__grid {
    grid-template-columns: 1fr;
  }

  .poker-space__copy,
  .poker-space__figure,
  .poker-atmosphere__copy,
  .poker-atmosphere__figure { grid-column: 1; }

  .poker-checklist__layout {
    grid-template-columns: 1fr;
  }

  .poker-checklist__intro,
  .poker-checklist__groups { grid-column: 1; }

  .poker-checklist__intro { max-width: 42rem; }
}

@media (max-width: 56.1875rem) {
  .poker-hero,
  .poker-hero__container { min-height: 29.375rem; }

  .poker-hero__shade {
    background: linear-gradient(90deg, rgb(16 47 67 / 90%) 0%, rgb(16 47 67 / 72%) 63%, rgb(16 47 67 / 35%) 100%);
  }

  .poker-hero__content { width: min(100%, 38rem); min-width: 0; }

  .poker-format-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .poker-format-cards .poker-format-card:nth-child(3) { grid-column: 1 / -1; }

  .poker-availability__layout { grid-template-columns: 1fr; }
  .poker-availability__intro,
  .poker-availability__notice,
  .poker-current-source { grid-column: 1; }
  .poker-availability__marker { display: none; }

  .poker-related__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .poker-related__cards .poker-related__card:nth-child(3) { grid-column: 1 / -1; }
}

@media (max-width: 44.9375rem) {
  .poker-hero,
  .poker-hero__container { min-height: 29.375rem; }

  .poker-hero__image { object-position: 55% center; }

  .poker-hero__shade {
    background: linear-gradient(0deg, rgb(16 47 67 / 92%) 0%, rgb(16 47 67 / 76%) 62%, rgb(16 47 67 / 15%) 100%);
  }

  .poker-hero__container { align-items: flex-end; padding-bottom: var(--space-6); }
  .poker-hero__content { gap: var(--space-3); }
  .poker-hero h1 { font-size: clamp(2.625rem, 9vw, 3.25rem); }
  .poker-hero__lead { font-size: 1.125rem; }
  .poker-hero__route span { width: 2.5rem; }

  .poker-meaning__layout,
  .poker-space__grid,
  .poker-atmosphere__grid,
  .poker-checklist__layout {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .poker-meaning__intro,
  .poker-scenarios,
  .poker-role,
  .poker-space__copy,
  .poker-space__figure,
  .poker-space__note,
  .poker-atmosphere__copy,
  .poker-atmosphere__figure,
  .poker-atmosphere__quote,
  .poker-checklist__intro,
  .poker-checklist__groups,
  .poker-checklist__advice { grid-column: 1; }

  .poker-scenarios,
  .poker-format-cards,
  .poker-related__cards,
  .poker-summary__rules,
  .poker-checklist__groups,
  .poker-etiquette {
    grid-template-columns: 1fr;
  }

  .poker-scenarios .poker-scenario:nth-child(3),
  .poker-format-cards .poker-format-card:nth-child(3),
  .poker-related__cards .poker-related__card:nth-child(3) { grid-column: 1; }

  .poker-scenario { padding-top: var(--space-3); }
  .poker-role { padding: var(--space-4); }
  .poker-space__note,
  .poker-checklist__advice { padding: var(--space-4); }

  .poker-formats__intro { width: 100%; margin-inline: 0; text-align: left; }
  .poker-formats__intro .label { justify-content: flex-start; }
  .poker-format-cards { margin-top: var(--space-5); gap: var(--space-4); }

  .poker-availability__layout { grid-template-columns: 1fr; gap: var(--space-5); }
  .poker-availability__notice { width: 100%; padding: var(--space-4); }

  .poker-scroll-hint { display: block; }
  .poker-table-scroll { margin-top: 0; }
  .poker-table-scroll table { min-width: 46.875rem; font-size: .875rem; }
  .poker-table-scroll th,
  .poker-table-scroll td { padding: var(--space-3); }

  .poker-checklist__toggle { display: flex; }
  .poker-checklist__group h3 { display: none; }
  .poker-checklist__groups { gap: var(--space-4); }
  .poker-checklist__list li { min-height: 2.75rem; }

  .poker-atmosphere__quote { padding: var(--space-4); }
  .poker-atmosphere__quote p { font-size: 1.5rem; }

  .poker-related__cards { gap: var(--space-4); margin-top: var(--space-5); }
  .poker-related__card .card__body { padding: var(--space-5); }

  .poker-summary { padding: var(--space-7) 0 var(--space-8); }
  .poker-summary__rules { gap: var(--space-4); margin-top: var(--space-5); }
}

@media (min-width: 45rem) {
  .poker-checklist__toggle { pointer-events: none; }
}
