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

.poker-lounge-page .pl-hero {
  position: relative;
  min-height: 43rem;
  display: grid;
  overflow: hidden;
  background: var(--color-ink);
  color: var(--color-paper-white);
}

.pl-hero__image,
.pl-hero__shade,
.pl-hero__container {
  grid-area: 1 / 1;
}

.pl-hero__image {
  width: 100%;
  height: 100%;
  min-height: 43rem;
  object-fit: cover;
  object-position: 68% center;
}

.pl-hero__shade {
  background: linear-gradient(90deg, rgb(30 41 38 / 78%) 0%, rgb(30 41 38 / 48%) 41%, rgb(30 41 38 / 8%) 72%);
}

.pl-hero__container {
  width: min(100% - (var(--container-gutter) * 2), var(--container-max));
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: end;
  padding-block: 7rem 5rem;
}

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

.pl-hero__copy :is(h1, p) { margin: 0; }
.pl-hero__copy h1 { color: var(--color-paper-white); }
.pl-hero__copy > p:not(.eyebrow) { max-width: 36rem; }
.pl-hero__copy .eyebrow { color: var(--color-mist-blue); }

.pl-breadcrumb {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-2);
  color: var(--color-paper-white);
  font-size: var(--font-size-fine);
}

.pl-breadcrumb a { color: var(--color-paper-white); }

.pl-hero__actions {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
}

.pl-hero__actions > * { min-width: 0; }
.pl-hero__actions .action-link { color: var(--color-paper-white); }

.pl-people__grid,
.pl-interior__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: center;
}

.pl-people__copy {
  grid-column: 2 / span 6;
  min-width: 0;
  max-width: 42.5rem;
}

.pl-people__figure {
  grid-column: 9 / span 4;
  min-width: 18.75rem;
  width: 100%;
  margin: 0;
  padding: var(--space-3);
  border: var(--border);
  border-radius: var(--radius-field);
  background: var(--color-paper-white);
  box-shadow: var(--shadow-ticket);
  transform: rotate(1deg);
  transition: transform var(--transition-base);
}

.pl-people__figure:hover,
.pl-people__figure:focus-visible { transform: translateX(6px) rotate(0); }
.pl-people__figure img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }

.pl-space__intro {
  width: 58.333%;
  min-width: 0;
  max-width: 47.5rem;
}

.pl-space__tickets {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: start;
  margin-top: var(--space-7);
}

.pl-space__ticket {
  min-width: 17.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.pl-space__ticket > :is(h3, p) { margin: 0; }
.pl-space__ticket--table { grid-column: 2 / span 4; transform: rotate(-1deg); }
.pl-space__ticket--bar { grid-column: 7 / span 4; border-top: 3px solid var(--color-moss-green); transform: translateY(1.5rem) rotate(1deg); }
.pl-space__ticket:hover { transform: translateX(6px) rotate(0); }

.pl-ticket-label,
.pl-occasion-card__meta,
.pl-evening-card__head {
  color: var(--color-moss-green);
  font-size: var(--font-size-label);
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.pl-ticket-label { margin: 0; }

.pl-occasions__intro {
  width: 50%;
  min-width: 0;
  max-width: 38.75rem;
}

.pl-occasions__grid,
.pl-evening__grid,
.pl-related__grid,
.pl-process__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: start;
}

.pl-occasions__grid { margin-top: var(--space-7); }

.pl-occasion-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.pl-occasion-card > :is(h3, p) { margin: 0; }
.pl-occasion-card--offset { transform: translateY(1.5rem) rotate(1deg); }
.pl-occasion-card:hover,
.pl-occasion-card:focus-within { transform: translateX(6px) rotate(0); }
.pl-occasion-card__meta { display: flex; width: 100%; justify-content: space-between; gap: var(--space-2); }
.pl-occasion-card__meta span { min-width: 0; }

.pl-evening__intro {
  width: 58.333%;
  min-width: 0;
  max-width: 45rem;
}

.pl-evening__grid { margin-top: var(--space-7); }

.pl-evening-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.pl-evening-card > p { margin: 0; }
.pl-evening-card__head { display: flex; width: 100%; gap: var(--space-3); align-items: baseline; }
.pl-evening-card__head > * { margin: 0; min-width: 0; }
.pl-evening-card__head span { color: var(--color-rosewood); font-size: 1.5rem; }
.pl-evening-card__head--green { color: var(--color-moss-green); }
.pl-evening-card__head--blue { color: var(--color-cornflower-blue); }
.pl-detail-toggle {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-2);
  padding: 0;
  color: var(--color-cornflower-blue);
  font-size: var(--font-size-meta);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: .18em;
}
.pl-detail-toggle span { font-size: 1.25rem; }
.pl-detail { width: 100%; border-top: var(--rule-perforated); padding-top: var(--space-4); }
.pl-detail p { margin: 0; }

.pl-interior__figure {
  grid-column: 1 / span 7;
  min-width: 0;
  width: 100%;
  margin: 0;
}
.pl-interior__figure img { width: 100%; aspect-ratio: 3 / 2; border-radius: var(--radius-field); object-fit: cover; }
.pl-interior__ticket {
  grid-column: 9 / span 4;
  min-width: 20rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-top: 5rem;
}
.pl-interior__ticket > :is(h2, p, hr) { margin: 0; }
.pl-interior__ticket hr { width: 100%; }
.pl-interior__quote { color: var(--color-moss-green); font-family: var(--font-heading); font-size: 1.5rem; }

.pl-process__intro {
  width: 58.333%;
  min-width: 0;
  max-width: 42.5rem;
  margin-inline: auto;
}
.pl-process__steps { margin-top: var(--space-7); border-top: var(--border); }
.pl-process-step {
  min-width: 0;
  padding-top: var(--space-5);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}
.pl-process-step > :is(h3, p) { margin: 0; }
.pl-process-step__number { color: var(--color-cornflower-blue); font-family: var(--font-heading); font-size: 2rem; }
.pl-process-step__number--green { color: var(--color-moss-green); }

.pl-related__intro {
  width: 66.667%;
  min-width: 0;
  max-width: 51.25rem;
}
.pl-related__grid { margin-top: var(--space-7); }
.pl-related-card {
  min-width: 0;
  min-height: 17.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  color: var(--color-ink);
  text-decoration: none;
  transition: transform var(--transition-base), border-color var(--transition-fast);
}
.pl-related-card > :is(h3, p, strong) { margin: 0; }
.pl-related-card > span { color: var(--color-cornflower-blue); font-size: var(--font-size-label); font-weight: 700; letter-spacing: .1em; }
.pl-related-card strong { margin-top: auto; color: var(--color-cornflower-blue); font-size: var(--font-size-meta); }
.pl-related-card:hover,
.pl-related-card:focus-visible { color: var(--color-ink); border-color: var(--color-cornflower-blue); transform: translateX(6px); }

.pl-closing { border-top: var(--border); padding-block: var(--space-10); }
.pl-closing__content {
  width: min(100%, 51.25rem);
  min-width: 0;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  text-align: center;
}
.pl-closing__content :is(h2, p) { margin: 0; }
.pl-closing__content > p:not(.eyebrow) { max-width: 31.25rem; }

@media (max-width: 1100px) {
  .pl-hero__container,
  .pl-people__grid,
  .pl-interior__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .pl-hero__copy { grid-column: 1 / span 6; }
  .pl-people__copy { grid-column: 1 / span 5; }
  .pl-people__figure { grid-column: 6 / span 3; min-width: 0; }
  .pl-space__intro,
  .pl-evening__intro,
  .pl-process__intro { width: 75%; }
  .pl-space__tickets { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .pl-space__ticket--table { grid-column: 1 / span 4; }
  .pl-space__ticket--bar { grid-column: 5 / span 4; }
  .pl-occasions__intro { width: 75%; }
  .pl-occasions__grid,
  .pl-evening__grid,
  .pl-related__grid,
  .pl-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pl-occasion-card:nth-child(3),
  .pl-evening-card:nth-child(3),
  .pl-related-card:nth-child(3),
  .pl-process-step:nth-child(3) { grid-column: 1 / span 1; }
  .pl-interior__figure { grid-column: 1 / span 5; }
  .pl-interior__ticket { grid-column: 6 / span 3; min-width: 0; margin-top: 2rem; }
  .pl-related__intro { width: 87.5%; }
}

@media (max-width: 820px) {
  .pl-hero { min-height: 36rem; }
  .pl-hero__image { min-height: 36rem; }
  .pl-space__ticket { min-width: 0; }
  .pl-interior__grid { gap: var(--space-5); }
  .pl-interior__figure { grid-column: 1 / span 5; }
  .pl-interior__ticket { grid-column: 6 / span 3; }
}

@media (max-width: 767px) {
  .poker-lounge-page .pl-hero { min-height: auto; display: block; background: var(--color-bone-white); color: var(--color-ink); }
  .pl-hero__image { height: 56vh; min-height: 24rem; object-position: 66% center; }
  .pl-hero__shade { display: none; }
  .pl-hero__container { display: block; width: 100%; padding: 0; }
  .pl-hero__copy { width: min(100% - (var(--container-gutter) * 2), 38.75rem); max-width: none; margin: -2.5rem auto 0; position: relative; padding: var(--space-5); background: var(--color-bone-white); color: var(--color-ink); }
  .pl-hero__copy h1 { color: var(--color-ink); font-size: clamp(2.75rem, 12vw, 3.25rem); }
  .pl-hero__copy .eyebrow { color: var(--color-cornflower-blue); }
  .pl-breadcrumb, .pl-breadcrumb a, .pl-hero__actions .action-link { color: var(--color-ink); }
  .pl-hero__actions { flex-direction: column; align-items: stretch; }
  .pl-hero__actions > * { width: 100%; }
  .pl-hero__actions .action-link { min-height: 2.75rem; justify-content: center; }

  .pl-people__grid,
  .pl-interior__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .pl-people__copy, .pl-people__figure, .pl-interior__figure, .pl-interior__ticket { grid-column: 1; width: 100%; min-width: 0; margin: 0; }
  .pl-people__figure { max-width: 32.5rem; justify-self: center; transform: none; }
  .pl-people__figure:hover, .pl-people__figure:focus-visible { transform: none; }
  .pl-space__intro, .pl-occasions__intro, .pl-evening__intro, .pl-process__intro, .pl-related__intro { width: 100%; max-width: none; }
  .pl-space__tickets { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); margin-top: var(--space-5); }
  .pl-space__ticket--table, .pl-space__ticket--bar { grid-column: 1; transform: none; }
  .pl-space__ticket:hover { transform: none; }
  .pl-occasions__grid, .pl-evening__grid, .pl-related__grid, .pl-process__steps { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); margin-top: var(--space-5); }
  .pl-occasion-card:nth-child(3), .pl-evening-card:nth-child(3), .pl-related-card:nth-child(3), .pl-process-step:nth-child(3) { grid-column: 1; }
  .pl-occasion-card--offset { transform: none; }
  .pl-occasion-card:hover, .pl-occasion-card:focus-within { transform: none; }
  .pl-process__steps { border-top: 0; border-left: var(--border); padding-left: var(--space-5); }
  .pl-process-step { position: relative; padding-top: 0; }
  .pl-process-step::before { width: .5rem; height: .5rem; content: ""; position: absolute; left: calc(var(--space-5) * -1 - .28125rem); top: .65rem; border-radius: 50%; background: var(--color-cornflower-blue); }
  .pl-process-step > .button { width: 100%; min-height: 3rem; }
  .pl-related-card { min-height: 0; transform: none; }
  .pl-related-card:hover, .pl-related-card:focus-visible { transform: none; }
  .pl-closing { padding-block: var(--space-8); }
  .pl-closing__content { width: 100%; }
  .pl-closing__content .button { width: 100%; min-height: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  .pl-people__figure,
  .pl-space__ticket,
  .pl-occasion-card,
  .pl-related-card { transition: none; }
}
