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

.poker-nights-page .button,
.poker-nights-page .poker-nights-text-link {
  min-height: 2.75rem;
}

.poker-nights-hero {
  padding: clamp(4rem, 9vw, 7.5rem) 0;
  background: var(--surface-section);
}

.poker-nights-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: var(--space-7);
}

.poker-nights-hero__copy,
.poker-nights-hero__image,
.poker-nights-room__content,
.poker-nights-room__image,
.poker-nights-atmosphere__content,
.poker-nights-atmosphere__image {
  min-width: 0;
  width: 100%;
}

.poker-nights-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  max-width: 38.75rem;
}

.poker-nights-hero__copy .eyebrow,
.poker-nights-hero__copy h1,
.poker-nights-hero__copy p {
  margin: 0;
}

.poker-nights-hero h1 {
  font-size: var(--text-hero);
  line-height: 0.96;
}

.poker-nights-hero h1 span {
  color: var(--color-brass);
}

.poker-nights-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  width: 100%;
}

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

.poker-nights-hero__image {
  aspect-ratio: 16 / 10;
  margin: 0;
}

.poker-nights-hero__image img {
  height: 100%;
  object-fit: cover;
  object-position: right center;
}

.poker-nights-overview__intro,
.poker-nights-ledger__intro,
.poker-nights-flow__intro,
.poker-nights-pathways__intro,
.poker-nights-reserve__intro {
  max-width: 35rem;
}

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

.poker-nights-step,
.poker-nights-note,
.poker-nights-flow__card,
.poker-nights-principle,
.poker-nights-atmosphere__note,
.poker-nights-pathway {
  min-width: 0;
  border: var(--border-brass-muted);
  border-radius: var(--radius-panel);
  background: var(--surface-panel);
  box-shadow: var(--shadow-panel);
  transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);
}

.poker-nights-step:hover,
.poker-nights-note:hover,
.poker-nights-flow__card:hover,
.poker-nights-principle:hover,
.poker-nights-atmosphere__note:hover,
.poker-nights-pathway:hover {
  border-color: var(--color-brass);
  box-shadow: var(--shadow-panel-hover);
  transform: translateY(-2px);
}

.poker-nights-step {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
}

.poker-nights-step > * {
  margin: 0;
}

.poker-nights-step__meta,
.poker-nights-flow__meta,
.poker-nights-flow__labels {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
}

.poker-nights-step__meta > *,
.poker-nights-flow__meta > *,
.poker-nights-flow__labels > * {
  min-width: 0;
}

.poker-nights-step__meta > span:first-child,
.poker-nights-flow__meta > span:first-child {
  color: var(--color-brass);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
}

.poker-nights-step h3,
.poker-nights-note h3,
.poker-nights-flow__card h3,
.poker-nights-principle h3,
.poker-nights-atmosphere__note h3,
.poker-nights-pathway h3,
.poker-nights-reserve__panel h3 {
  margin: 0;
}

.poker-nights-step__strip {
  margin-top: auto;
  padding: var(--space-3);
  border: var(--border-brass-muted);
  background: var(--surface-inset);
  color: var(--color-dim-text);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
  line-height: 1.35;
  text-transform: uppercase;
}

.poker-nights-room__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: center;
  gap: var(--space-7);
}

.poker-nights-room__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.poker-nights-room__narrative {
  max-width: 36.875rem;
}

.poker-nights-room__eyebrow {
  margin: 0 0 var(--space-3);
  color: #b7d1bd;
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
  line-height: 1.35;
  text-transform: uppercase;
}

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

.poker-nights-room__image {
  aspect-ratio: 4 / 5;
  margin: 0;
}

.poker-nights-room__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.poker-nights-room__notes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  width: 100%;
  max-width: 36.875rem;
}

.poker-nights-note {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
}

.poker-nights-note > * {
  margin: 0;
}

.poker-nights-note--green {
  border-top: 2px solid var(--color-felt-green);
}

.poker-nights-note__index {
  color: var(--color-brass);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
}

.poker-nights-ledger__frame {
  margin-top: var(--space-7);
  padding: var(--space-2);
  border: var(--border-brass);
  background: var(--surface-section);
  box-shadow: var(--shadow-panel);
}

.poker-nights-ledger__row {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr) 8.125rem;
  align-items: start;
  gap: var(--space-5);
  padding: var(--space-6);
  border-bottom: 1px solid rgba(197, 154, 74, 0.45);
  background: var(--surface-inset);
  transition: border-color var(--transition-base), background-color var(--transition-base);
}

.poker-nights-ledger__row:last-child {
  border-bottom: 0;
}

.poker-nights-ledger__row:hover {
  border-color: var(--color-brass-bright);
  background: #181d1f;
}

.poker-nights-ledger__index,
.poker-nights-ledger__body,
.poker-nights-ledger__status {
  min-width: 0;
}

.poker-nights-ledger__index {
  color: var(--color-brass);
  font-family: var(--font-heading);
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 1;
}

.poker-nights-ledger__body {
  max-width: 68ch;
}

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

.poker-nights-ledger__body h3 {
  margin-bottom: var(--space-3);
}

.poker-nights-ledger__status {
  display: flex;
  justify-content: flex-end;
}

.poker-nights-ledger__row--honours {
  border-bottom-color: var(--color-copper);
}

.poker-nights-flow__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  max-width: 38.75rem;
}

.poker-nights-flow__intro > * {
  margin: 0;
}

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

.poker-nights-flow__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-5);
  border-top: 2px solid rgba(197, 154, 74, 0.55);
}

.poker-nights-flow__card > * {
  margin: 0;
}

.poker-nights-flow__meta > span:last-child {
  color: var(--color-muted-white);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

.poker-nights-flow__card--copper {
  border-top-color: var(--color-copper);
}

.poker-nights-flow__card--green {
  border-top-color: var(--color-felt-green);
}

.poker-nights-strategy__lead {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.poker-nights-strategy__lead > * {
  margin: 0;
}

.poker-nights-strategy__lead p:last-child {
  max-width: 40rem;
}

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

.poker-nights-principle {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border-top: 2px solid var(--color-brass);
}

.poker-nights-principle > * {
  margin: 0;
}

.poker-nights-principle--green {
  border-top-color: var(--color-felt-green);
}

.poker-nights-text-link {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  color: var(--color-brass-bright);
  font-size: var(--text-label);
  font-weight: 800;
  text-decoration-thickness: 1px;
  transition: color var(--transition-fast), text-decoration-color var(--transition-fast);
}

.poker-nights-principle .poker-nights-text-link,
.poker-nights-pathway .poker-nights-text-link {
  margin-top: auto;
}

.poker-nights-atmosphere__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: var(--space-7);
}

.poker-nights-atmosphere__image {
  aspect-ratio: 3 / 2;
  margin: 0;
}

.poker-nights-atmosphere__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.poker-nights-atmosphere__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.poker-nights-atmosphere__content > * {
  margin: 0;
}

.poker-nights-atmosphere__content > p:not(.eyebrow) {
  max-width: 60ch;
}

.poker-nights-atmosphere__content .rule {
  margin: var(--space-2) 0;
}

.poker-nights-atmosphere__notes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  width: 100%;
  margin-top: var(--space-2);
}

.poker-nights-atmosphere__note {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4);
}

.poker-nights-atmosphere__note > * {
  margin: 0;
}

.poker-nights-atmosphere__note--green {
  border-top: 2px solid var(--color-felt-green);
}

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

.poker-nights-pathway {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
}

.poker-nights-pathway > * {
  margin: 0;
}

.poker-nights-pathway--reserve {
  border-color: var(--color-brass);
}

.poker-nights-pathway .button {
  margin-top: auto;
}

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

.poker-nights-reserve__panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.poker-nights-reserve__panel > * {
  margin: 0;
}

.poker-nights-reserve__panel .button {
  margin-top: auto;
}

.poker-nights-reserve__email {
  margin-top: var(--space-5);
}

.poker-nights-reserve__email p {
  max-width: 70ch;
  margin: 0;
}

.poker-nights-closing {
  padding-top: var(--space-8);
}

.poker-nights-closing__panel {
  padding: var(--space-2);
  border: var(--border-brass);
  background: var(--surface-section);
  box-shadow: var(--shadow-panel);
}

.poker-nights-closing__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  padding: clamp(2rem, 5vw, 4rem);
  border: 1px solid rgba(78, 118, 93, 0.85);
  text-align: center;
}

.poker-nights-closing__copy > * {
  margin: 0;
}

.poker-nights-closing__copy > p:not(.poker-nights-room__eyebrow) {
  max-width: 38.75rem;
}

.poker-nights-closing__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
}

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

@media (max-width: 980px) {
  .poker-nights-room__grid,
  .poker-nights-atmosphere__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .poker-nights-room__content,
  .poker-nights-atmosphere__content {
    order: 1;
  }

  .poker-nights-room__image,
  .poker-nights-atmosphere__image {
    order: 2;
  }

  .poker-nights-room__narrative,
  .poker-nights-room__notes {
    max-width: none;
  }

  .poker-nights-room__image {
    aspect-ratio: 16 / 10;
  }

  .poker-nights-flow__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .poker-nights-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .poker-nights-hero__copy {
    max-width: none;
  }

  .poker-nights-hero__image {
    aspect-ratio: 16 / 10;
  }

  .poker-nights-overview__grid,
  .poker-nights-strategy__grid,
  .poker-nights-pathways__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .poker-nights-overview__grid > :nth-child(3),
  .poker-nights-strategy__grid > :nth-child(3),
  .poker-nights-pathways__grid > :nth-child(2) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 820px) {
  .poker-nights-ledger__row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-4);
  }

  .poker-nights-ledger__index {
    grid-column: 1;
    grid-row: 1;
    font-size: 1.75rem;
  }

  .poker-nights-ledger__status {
    grid-column: 2;
    grid-row: 1;
    justify-content: flex-end;
  }

  .poker-nights-ledger__body {
    grid-column: 1 / -1;
    grid-row: 2;
    max-width: none;
  }
}

@media (max-width: 800px) {
  .poker-nights-reserve__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 720px) {
  .poker-nights-hero {
    padding: var(--space-8) 0;
  }

  .poker-nights-hero h1 {
    font-size: clamp(3rem, 13vw, 4.5rem);
  }

  .poker-nights-hero__actions {
    flex-direction: column;
  }

  .poker-nights-hero__actions > * {
    width: 100%;
  }

  .poker-nights-hero__image,
  .poker-nights-room__image,
  .poker-nights-atmosphere__image {
    aspect-ratio: 4 / 3;
  }

  .poker-nights-overview__grid,
  .poker-nights-room__notes,
  .poker-nights-flow__grid,
  .poker-nights-strategy__grid,
  .poker-nights-atmosphere__notes,
  .poker-nights-pathways__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .poker-nights-overview__grid > :nth-child(3),
  .poker-nights-strategy__grid > :nth-child(3),
  .poker-nights-pathways__grid > :nth-child(2) {
    grid-column: auto;
  }

  .poker-nights-step,
  .poker-nights-principle,
  .poker-nights-pathway,
  .poker-nights-flow__card {
    padding: var(--space-5);
  }

  .poker-nights-ledger__frame {
    padding: 0;
  }

  .poker-nights-ledger__row {
    padding: var(--space-5);
  }

  .poker-nights-atmosphere__content {
    gap: var(--space-4);
  }
}

@media (max-width: 620px) {
  .poker-nights-closing__actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .poker-nights-closing__actions .button,
  .poker-nights-closing__actions .poker-nights-text-link {
    width: 100%;
  }

  .poker-nights-closing__actions .poker-nights-text-link {
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .poker-nights-step,
  .poker-nights-note,
  .poker-nights-flow__card,
  .poker-nights-principle,
  .poker-nights-atmosphere__note,
  .poker-nights-pathway,
  .poker-nights-ledger__row {
    padding: var(--space-4);
  }

  .poker-nights-closing__copy {
    padding: var(--space-5);
  }
}
