.poker-page {
  overflow: clip;
}

.poker-page a:focus-visible,
.poker-page button:focus-visible {
  outline: 2px solid var(--color-deep-aubergine);
  outline-offset: 3px;
}

.poker-page .poker-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 650ms ease, transform 650ms ease;
}

.poker-page .poker-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.poker-hero {
  position: relative;
  min-height: min(78vh, 54rem);
  background: var(--color-deep-juniper);
  color: var(--color-warm-ivory);
}

.poker-hero__media,
.poker-hero__media::after {
  position: absolute;
  inset: 0;
}

.poker-hero__media::after {
  content: "";
  background: linear-gradient(90deg, rgb(18 51 40 / 82%) 0%, rgb(18 51 40 / 62%) 42%, rgb(18 51 40 / 12%) 76%);
}

.poker-hero__media img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.poker-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  min-height: min(78vh, 54rem);
  align-items: end;
  padding-block: var(--space-9);
}

.poker-hero__panel {
  grid-column: 1 / span 5;
  min-width: 0;
  max-width: 42rem;
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  background: rgb(18 51 40 / 82%);
}

.poker-hero__panel h1,
.poker-hero__panel p {
  color: var(--color-warm-ivory);
}

.poker-hero__deck {
  max-width: 40rem;
  font-size: var(--text-intro);
  line-height: var(--leading-intro);
}

.poker-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  min-width: 0;
  margin-block: var(--space-5);
}

.poker-hero__actions > * {
  min-width: 0;
}

.poker-hero__text-link {
  color: var(--color-warm-ivory);
  font-size: var(--text-utility);
  font-weight: 700;
}

.poker-hero__text-link:hover {
  color: var(--color-sky-blue);
}

.poker-hero__note {
  max-width: 40rem;
  margin-bottom: 0;
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.poker-plate {
  padding-block: clamp(var(--space-9), 12vw, var(--space-10));
}

.poker-plate__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.poker-plate__heading {
  grid-column: 1 / span 6;
  min-width: 0;
  max-width: 42rem;
}

.poker-plate__heading .running-line {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
}

.poker-plate__block {
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-juniper-green);
}

.poker-plate__block h3 {
  font-size: var(--text-heading-sm);
}

.poker-plate__block p {
  max-width: 34rem;
}

.poker-plate__block--seasonal {
  grid-column: 1 / span 4;
}

.poker-plate__block--signature {
  grid-column: 5 / span 4;
  align-self: start;
  margin-top: var(--space-6);
  padding: var(--space-5);
}

.poker-plate__block--cocktails {
  grid-column: 9 / span 4;
}

.poker-plate__pull {
  color: var(--color-juniper-green);
  font-family: var(--font-heading);
  font-size: var(--text-heading-sm);
  font-style: italic;
  line-height: var(--leading-heading-sm);
}

.poker-architecture {
  padding-block: var(--space-9);
  background: var(--color-paper-white);
}

.poker-architecture__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
}

.poker-architecture__copy {
  grid-column: 1 / span 4;
  min-width: 0;
  max-width: 36rem;
}

.poker-architecture__copy-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.poker-architecture__copy-block + .poker-architecture__copy-block {
  margin-top: var(--space-5);
}

.poker-architecture__copy-block h3,
.poker-architecture__copy-block p {
  margin: 0;
}

.poker-architecture__figure {
  grid-column: 6 / span 7;
  min-width: 0;
  margin: 0;
}

.poker-architecture__figure img {
  width: 100%;
  height: 43rem;
  object-fit: cover;
  object-position: center;
}

.poker-architecture__figure figcaption {
  max-width: 50rem;
}

.poker-architecture__figure figcaption span {
  display: block;
  margin-bottom: var(--space-1);
  color: var(--color-juniper-green);
  font-weight: 700;
}

.poker-physical {
  padding-block: var(--space-9);
  background: var(--color-deep-aubergine);
  color: var(--color-warm-ivory);
}

.poker-physical__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
}

.poker-physical__heading {
  grid-column: 1 / span 7;
  min-width: 0;
  max-width: 40rem;
}

.poker-physical h2,
.poker-physical h3,
.poker-physical p,
.poker-physical a {
  color: inherit;
}

.poker-physical__panels {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  min-width: 0;
  border-top: 1px solid rgb(246 241 231 / 35%);
  border-bottom: 1px solid rgb(246 241 231 / 35%);
}

.poker-physical__panel,
.poker-physical__note {
  min-width: 0;
  padding: var(--space-6);
}

.poker-physical__panel + .poker-physical__panel,
.poker-physical__note {
  border-left: 1px solid rgb(246 241 231 / 35%);
}

.poker-physical__panel--soft {
  background: rgb(255 253 248 / 7%);
}

.poker-physical__panel p,
.poker-physical__note p {
  max-width: 30rem;
}

.poker-physical__motif {
  color: var(--color-sky-blue) !important;
  font-size: var(--text-utility);
  letter-spacing: 0.2em;
}

.poker-physical__note {
  background: var(--color-juniper-green);
}

.poker-physical__note p:last-child {
  margin-bottom: 0;
  max-width: 32rem;
}

.poker-ritual {
  position: relative;
  padding-bottom: var(--space-10);
}

.poker-ritual__figure {
  margin: 0;
}

.poker-ritual__figure img {
  width: 100%;
  height: min(58vw, 47rem);
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.poker-ritual__inner {
  position: relative;
}

.poker-ritual__caption {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: min(100%, 31rem);
  min-width: 0;
  margin-top: -10rem;
  padding: var(--space-6);
  position: relative;
}

.poker-ritual__caption h2,
.poker-ritual__caption p {
  margin: 0;
}

.poker-ritual__annotation {
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.poker-collection {
  padding-block: var(--space-9);
  background: var(--color-paper-white);
}

.poker-collection__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
}

.poker-collection__heading {
  grid-column: 1 / span 7;
  min-width: 0;
  max-width: 44rem;
}

.poker-collection__heading .running-line {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.poker-collection__cards {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
}

.poker-collection__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  background: var(--color-warm-ivory);
}

.poker-collection__card h3,
.poker-collection__card p {
  margin: 0;
}

.poker-collection__card p {
  max-width: 27rem;
}

.poker-collection__card--poker {
  border-top: 3px solid var(--color-juniper-green);
  background: var(--color-juniper-mist);
}

.poker-collection__card--roulette {
  border-top: 3px solid var(--color-sky-blue);
}

.poker-collection__card--blackjack {
  border-top: 3px solid var(--color-persimmon);
}

.poker-materials {
  padding-block: var(--space-10);
}

.poker-materials__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
}

.poker-materials__figure {
  grid-column: 8 / span 5;
  min-width: 0;
  margin: 0;
  order: 2;
}

.poker-materials__figure img {
  width: 100%;
  height: 42rem;
  object-fit: cover;
  object-position: center;
}

.poker-materials__content {
  grid-column: 1 / span 6;
  min-width: 0;
  max-width: 42rem;
  order: 1;
}

.poker-materials__intro {
  max-width: 34rem;
  font-size: var(--text-intro);
  line-height: var(--leading-intro);
}

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

.poker-materials__note {
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 2px solid var(--color-juniper-green);
}

.poker-materials__note--stone {
  border-color: var(--color-sky-blue);
}

.poker-materials__note--light {
  border-color: var(--color-persimmon);
}

.poker-materials__note p:last-child {
  max-width: 26rem;
}

.poker-sequence {
  padding-block: var(--space-9);
  background: var(--color-juniper-mist);
}

.poker-sequence__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
}

.poker-sequence__heading {
  grid-column: 1 / span 6;
  min-width: 0;
  max-width: 42rem;
}

.poker-sequence__list {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: 1fr;
  gap: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.poker-sequence__item {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 6fr) minmax(0, 4fr);
  gap: var(--space-5);
  min-width: 0;
  padding-block: var(--space-5);
  border-top: 1px solid rgb(33 76 58 / 25%);
}

.poker-sequence__number {
  grid-column: 1;
  min-width: 0;
  color: var(--color-juniper-green);
  font-family: var(--font-heading);
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 600;
  line-height: 0.9;
}

.poker-sequence__copy {
  grid-column: 2;
  min-width: 0;
  max-width: 32rem;
}

.poker-sequence__copy h3 {
  font-size: var(--text-heading-sm);
}

.poker-faq {
  padding-block: var(--space-10);
}

.poker-faq__shell {
  width: min(100% - 8rem, 60rem);
  margin-inline: auto;
  padding: clamp(var(--space-5), 5vw, var(--space-7));
  border-radius: var(--radius-panel);
}

.poker-faq__heading {
  max-width: 44rem;
}

.poker-faq__heading > p:last-child {
  max-width: 44rem;
}

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

.poker-faq__item {
  border-bottom: 1px solid var(--color-border);
}

.poker-faq__item h3 {
  margin: 0;
}

.poker-faq__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-width: 0;
  min-height: 3.5rem;
  padding: var(--space-4) 0;
  border: 0;
  background: transparent;
  color: var(--color-deep-juniper);
  font-family: var(--font-body);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-utility);
  text-align: left;
  text-transform: uppercase;
}

.poker-faq__trigger::after {
  flex: 0 0 auto;
  width: 1.25rem;
  margin-left: var(--space-4);
  color: var(--color-persimmon);
  content: "+";
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

.poker-faq__trigger[aria-expanded="true"]::after {
  content: "−";
}

.poker-faq__answer {
  overflow: hidden;
  max-width: 48rem;
  padding: 0 0 var(--space-5) var(--space-7);
}

.poker-faq__answer p {
  margin: 0;
}

.poker-closing {
  padding-block: var(--space-9);
  background: var(--color-juniper-green);
  color: var(--color-warm-ivory);
}

.poker-closing__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: center;
}

.poker-closing__copy {
  display: flex;
  grid-column: 1 / span 6;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
  max-width: 42rem;
}

.poker-closing__copy h2,
.poker-closing__copy p,
.poker-closing__contact {
  margin: 0;
  color: var(--color-warm-ivory);
}

.poker-closing__copy > p:not(.eyebrow) {
  max-width: 42rem;
  font-size: var(--text-intro);
  line-height: var(--leading-intro);
}

.poker-closing__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  min-width: 0;
}

.poker-closing__actions > * {
  min-width: 0;
}

.poker-closing__contact {
  align-self: flex-start;
  font-size: var(--text-utility);
  font-weight: 700;
}

.poker-closing__contact:hover {
  color: var(--color-sky-blue);
}

.poker-closing__branch {
  display: grid;
  grid-column: 8 / span 5;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: center;
  min-width: 0;
  height: 14rem;
  border-top: 1px solid rgb(246 241 231 / 50%);
  border-bottom: 1px solid rgb(246 241 231 / 50%);
  transform: rotate(-7deg);
}

.poker-closing__branch span {
  width: 100%;
  height: 1px;
  background: var(--color-sky-blue);
}

.poker-closing__branch span:nth-child(2),
.poker-closing__branch span:nth-child(4) {
  transform: translateY(-2.5rem) rotate(48deg);
}

.poker-closing__branch span:nth-child(3),
.poker-closing__branch span:nth-child(5) {
  transform: translateY(2.5rem) rotate(-48deg);
}

@media (max-width: 74.9375rem) {
  .poker-hero__panel { grid-column: 1 / span 6; }
  .poker-plate__block--seasonal { grid-column: 1 / span 6; }
  .poker-plate__block--signature { grid-column: 7 / span 6; margin-top: 0; }
  .poker-plate__block--cocktails { grid-column: 1 / span 6; }
  .poker-architecture__grid { gap: var(--space-5); }
  .poker-architecture__copy { grid-column: 1 / span 5; }
  .poker-architecture__figure { grid-column: 7 / span 6; }
  .poker-architecture__figure img { height: 36rem; }
  .poker-physical__panels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .poker-physical__note { grid-column: 1 / -1; border-top: 1px solid rgb(246 241 231 / 35%); border-left: 0; }
  .poker-collection__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .poker-collection__card--blackjack { grid-column: 1 / span 2; }
  .poker-materials__content { grid-column: 1 / span 7; }
  .poker-materials__figure { grid-column: 9 / span 4; }
  .poker-materials__figure img { height: 36rem; }
  .poker-materials__notes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .poker-materials__note--light { grid-column: 1 / span 2; }
  .poker-faq__shell { width: min(100% - 3rem, 60rem); }
}

@media (max-width: 61.1875rem) {
  .poker-architecture__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .poker-architecture__copy { grid-column: 1 / span 6; max-width: none; }
  .poker-architecture__figure { grid-column: 1 / span 6; }
  .poker-architecture__figure img { height: 32rem; }
  .poker-materials__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .poker-materials__figure { grid-column: 1 / span 6; order: 1; }
  .poker-materials__content { grid-column: 1 / span 6; order: 2; max-width: none; }
  .poker-materials__figure img { height: 34rem; }
}

@media (max-width: 52.5rem) {
  .poker-hero__inner { min-height: auto; padding-block: var(--space-8); }
  .poker-hero__panel { grid-column: 1 / span 8; }
  .poker-closing__copy { grid-column: 1 / span 8; }
  .poker-closing__branch { display: none; }
  .poker-closing__actions { flex-direction: column; align-items: stretch; }
  .poker-closing__actions .button { width: 100%; }
}

@media (max-width: 47.5rem) {
  .poker-page .poker-reveal { opacity: 1; transform: none; }
  .poker-hero { display: flex; flex-direction: column; min-height: 0; }
  .poker-hero__media { position: relative; display: block; aspect-ratio: 4 / 3; }
  .poker-hero__media::after { background: linear-gradient(180deg, rgb(18 51 40 / 8%), rgb(18 51 40 / 28%)); }
  .poker-hero__media img { position: absolute; object-position: 58% center; }
  .poker-hero__inner { display: block; width: 100%; min-height: 0; padding: 0; }
  .poker-hero__panel { width: 100%; max-width: none; padding: var(--space-6) var(--container-padding) var(--space-7); background: var(--color-deep-juniper); }
  .poker-hero__panel h1 { font-size: 2.625rem; }
  .poker-hero__deck { max-width: none; font-size: 1.125rem; }
  .poker-hero__actions { display: grid; grid-template-columns: 1fr; gap: var(--space-3); }
  .poker-hero__actions .button { width: 100%; }
  .poker-hero__text-link { padding: var(--space-3) 0; }
  .poker-plate, .poker-architecture, .poker-physical, .poker-collection, .poker-materials, .poker-sequence, .poker-faq, .poker-closing { padding-block: var(--space-8); }
  .poker-plate__grid, .poker-architecture__grid, .poker-physical__grid, .poker-collection__grid, .poker-materials__grid, .poker-sequence__grid, .poker-closing__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .poker-plate__heading, .poker-plate__block--seasonal, .poker-plate__block--signature, .poker-plate__block--cocktails, .poker-architecture__copy, .poker-architecture__figure, .poker-physical__heading, .poker-collection__heading, .poker-materials__figure, .poker-materials__content, .poker-sequence__heading, .poker-closing__copy { grid-column: 1; width: 100%; max-width: none; }
  .poker-plate__block--signature { margin-top: 0; }
  .poker-plate__block p, .poker-plate__heading, .poker-architecture__copy, .poker-physical__heading, .poker-collection__heading, .poker-materials__intro, .poker-sequence__heading, .poker-closing__copy > p:not(.eyebrow) { max-width: none; }
  .poker-architecture__figure { order: -1; margin-inline: calc(var(--container-padding) * -1); width: calc(100% + (var(--container-padding) * 2)); }
  .poker-architecture__figure img { height: auto; aspect-ratio: 4 / 3; object-position: center; }
  .poker-architecture__figure figcaption { margin-inline: var(--container-padding); }
  .poker-physical__panels { grid-template-columns: 1fr; }
  .poker-physical__panel, .poker-physical__note { padding: var(--space-5); border-left: 0; }
  .poker-physical__panel + .poker-physical__panel, .poker-physical__note { border-top: 1px solid rgb(246 241 231 / 35%); }
  .poker-ritual { padding-bottom: var(--space-8); }
  .poker-ritual__figure img { height: auto; aspect-ratio: 1; object-position: center; }
  .poker-ritual__caption { width: 100%; margin-top: 0; padding: var(--space-5); border-inline: 0; }
  .poker-collection__cards { grid-template-columns: 1fr; gap: var(--space-4); }
  .poker-collection__card--blackjack { grid-column: 1; }
  .poker-materials__figure { margin-inline: calc(var(--container-padding) * -1); width: calc(100% + (var(--container-padding) * 2)); }
  .poker-materials__figure img { height: auto; aspect-ratio: 4 / 5; }
  .poker-materials__notes { grid-template-columns: 1fr; gap: var(--space-5); }
  .poker-materials__note--light { grid-column: 1; }
  .poker-sequence__item { grid-template-columns: 1fr; gap: var(--space-3); }
  .poker-sequence__number, .poker-sequence__copy { grid-column: 1; max-width: none; }
  .poker-faq__shell { width: 100%; padding: var(--space-5); border-inline: 0; border-radius: 0; }
  .poker-faq__trigger { min-height: 3.5rem; }
  .poker-faq__answer { max-width: none; padding-left: 0; }
  .poker-closing__actions { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .poker-page .poker-reveal { opacity: 1; transform: none; transition: none; }
}
