.poker-nights-page {
  background: var(--color-obsidian);
  overflow: hidden;
}

.poker-nights-page .section {
  position: relative;
}

.pn-hero {
  position: relative;
  min-height: clamp(42.5rem, 62vw, 47.5rem);
  display: grid;
  align-items: stretch;
  overflow: hidden;
  border-bottom: var(--border-default);
}

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

.pn-hero__media {
  width: 100%;
  height: 100%;
}

.pn-hero__media::after {
  content: "";
  background: linear-gradient(90deg, rgba(9, 9, 11, 0.9) 0%, rgba(9, 9, 11, 0.58) 47%, rgba(9, 9, 11, 0.2) 100%), linear-gradient(0deg, rgba(9, 9, 11, 0.82) 0%, rgba(9, 9, 11, 0.04) 58%);
}

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

.pn-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--grid-gap);
  align-items: end;
  padding-block: var(--space-8);
}

.pn-hero__copy {
  grid-column: 1 / span 6;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.pn-hero__copy > * { margin: 0; }
.pn-hero__copy h1 { max-width: 22ch; }
.pn-hero__copy .lead { max-width: 52ch; }
.pn-hero__actions { display: flex; min-width: 0; width: auto; }

.pn-hero__proof {
  grid-column: 8 / span 5;
  min-width: 0;
  padding: var(--panel-padding);
  border: var(--border-default);
  border-radius: var(--radius-feature);
  background: rgba(24, 24, 27, 0.94);
  box-shadow: var(--shadow-overlay);
}

.pn-hero__proof > * { margin: 0; }
.pn-hero__proof-list { display: grid; grid-template-columns: 1fr; gap: var(--space-3); }
.pn-hero__proof-item { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; padding-top: var(--space-3); border-top: 1px solid var(--color-zinc-grid); transition: border-color var(--transition-base), background-color var(--transition-base); }
.pn-hero__proof-item:hover { border-color: var(--color-metal-line); background: rgba(255,255,255,.02); }
.pn-hero__proof-item > span { color: var(--color-amber); font-size: var(--text-xs); font-weight: 700; letter-spacing: .12em; }
.pn-hero__proof-item div { min-width: 0; display: flex; flex-direction: column; gap: var(--space-1); }
.pn-hero__proof-item small { color: var(--color-mist); line-height: 1.45; }

.pn-services__intro,
.pn-process__intro {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: var(--grid-gap);
  align-items: end;
  margin-bottom: var(--group-space);
}
.pn-services__intro > *, .pn-process__intro > * { min-width: 0; }
.pn-services__intro h2, .pn-process__intro h2 { max-width: 19ch; }
.pn-services__intro .lead, .pn-process__intro .lead { max-width: 58ch; margin: 0; }

.pn-services__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--grid-gap); }
.pn-service-card { min-width: 0; min-height: 25rem; gap: var(--space-4); }
.pn-service-card > * { margin: 0; }
.pn-service-card .pn-number { color: var(--color-amber); font-size: var(--text-xs); font-weight: 700; letter-spacing: .12em; }
.pn-service-card h3 { font-size: var(--text-card-title); }
.pn-service-card p:not(.pn-card-meta) { max-width: 40ch; }
.pn-service-card--host { border-color: var(--color-metal-line); }
.pn-service-card--catering { border-top-color: var(--color-amber); }
.pn-card-meta { margin-top: auto !important; color: var(--color-mist); font-size: var(--text-xs); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.pn-micro-list { display: grid; grid-template-columns: 1fr; gap: var(--space-2); margin-top: auto; }
.pn-micro-list span { color: var(--color-paper); font-size: var(--text-sm); }

.pn-host__grid { display: grid; grid-template-columns: 5fr 6fr; gap: calc(var(--grid-gap) * 1.25); align-items: center; }
.pn-host__grid > * { min-width: 0; }
.pn-host__media { width: 100%; margin: 0; }
.pn-host__media img { width: 100%; height: clamp(35rem, 48vw, 43rem); border: var(--border-default); border-radius: var(--radius-feature); object-fit: cover; object-position: center; }
.pn-host__content { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-5); min-width: 0; }
.pn-host__content > * { margin: 0; }
.pn-host__content h2 { max-width: 18ch; }
.pn-host__content > p:not(.eyebrow) { max-width: 58ch; }
.pn-host__rows { display: grid; grid-template-columns: 1fr; gap: var(--space-3); }
.pn-host__rows > div { min-width: 0; padding: var(--space-4); border: var(--border-default); background: var(--color-slate-panel); transition: border-color var(--transition-base), border-left-color var(--transition-base); }
.pn-host__rows > div:hover, .pn-host__rows > div:focus-visible { border-color: var(--color-metal-line); border-left-color: var(--color-amber); }
.pn-host__rows p { max-width: 46ch; margin: var(--space-1) 0 0; }
.pn-host__note { max-width: 42ch; padding: var(--space-4); border-left: 2px solid var(--color-amber); background: var(--color-amber-wash); color: var(--color-paper); }

.pn-occasions__intro { max-width: 50ch; margin-bottom: var(--group-space); }
.pn-occasions__intro .lead { margin-bottom: 0; }
.pn-occasions__grid { display: grid; grid-template-columns: 5fr 3fr 4fr; gap: var(--grid-gap); align-items: stretch; }
.pn-occasion { min-width: 0; gap: var(--space-4); color: var(--color-paper); text-decoration: none; }
.pn-occasion > * { margin: 0; }
.pn-occasion p:not(.eyebrow):not(.pn-card-meta) { max-width: 44ch; }
.pn-occasion--private { border-top-color: var(--color-amber); }
.pn-occasion--retreat { justify-content: flex-start; }
.pn-text-link, .pn-process__link, .pn-atmosphere__link, .pn-venue__prompt a { color: var(--color-amber); font-size: var(--text-sm); font-weight: 700; text-decoration: none; }
.pn-text-link { margin-top: auto !important; }
.pn-meta-stack { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-2) !important; }
.pn-meta-stack span { color: var(--color-mist); font-size: var(--text-xs); letter-spacing: .1em; text-transform: uppercase; }

.pn-process { border-block: var(--border-default); background: #0d0d10; }
.pn-process__grid { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--grid-gap); }
.pn-process__grid::before { content: ""; position: absolute; z-index: 0; top: 2.05rem; left: 0; right: 0; height: 1px; background: var(--color-amber); }
.pn-step { position: relative; z-index: 1; min-width: 0; min-height: 19rem; padding: var(--panel-padding); border: var(--border-default); background: var(--color-slate-panel); transition: border-color var(--transition-base), transform var(--transition-base); }
.pn-step > * { margin: 0; }
.pn-step > span { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; margin-bottom: var(--space-4); border: 1px solid var(--color-amber); background: var(--color-obsidian); color: var(--color-amber); font-size: var(--text-xs); font-weight: 700; }
.pn-step h3 { font-size: var(--text-card-title); }
.pn-step p { max-width: 36ch; }
.pn-step:hover, .pn-step:focus-visible { border-color: var(--color-metal-line); transform: translateY(-2px); }
.pn-step--final { border-bottom-color: var(--color-felt-green); }
.pn-step-tags { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-4); }
.pn-step-tags span { color: var(--color-mist); font-size: var(--text-xs); }
.pn-process__link { display: inline-block; margin-top: var(--space-6); }

.pn-venue__grid { display: grid; grid-template-columns: 5fr 6fr; gap: calc(var(--grid-gap) * 1.25); align-items: start; }
.pn-venue__content, .pn-venue__media, .pn-venue__prompt { min-width: 0; }
.pn-venue__content { display: flex; flex-direction: column; gap: var(--space-5); }
.pn-venue__content > * { margin: 0; }
.pn-venue__content h2 { max-width: 17ch; }
.pn-venue__content > p:not(.eyebrow) { max-width: 56ch; }
.pn-venue__points { display: grid; grid-template-columns: 1fr; gap: var(--space-3); }
.pn-venue__points > div { min-width: 0; padding: var(--space-4); border: var(--border-default); transition: border-color var(--transition-base); }
.pn-venue__points > div:hover { border-color: var(--color-metal-line); }
.pn-venue__points p { max-width: 38ch; margin: var(--space-1) 0 0; }
.pn-venue__media { width: 100%; margin: 0; }
.pn-venue__media img { width: 100%; height: clamp(28.75rem, 43vw, 36rem); border: var(--border-default); border-radius: var(--radius-feature); object-fit: cover; }
.pn-venue__prompt { grid-column: 1 / span 1; display: flex; flex-direction: column; gap: var(--space-3); margin-top: calc(var(--space-6) * -1); padding: var(--space-5); border: var(--border-green); background: var(--color-green-wash); }
.pn-venue__prompt > * { margin: 0; }
.pn-venue__prompt p { max-width: 42ch; }

.pn-custom__intro { max-width: 52ch; margin-bottom: var(--group-space); }
.pn-custom__grid { display: grid; grid-template-columns: 7fr 4fr; gap: var(--grid-gap); align-items: stretch; }
.pn-custom__grid > * { min-width: 0; }
.pn-custom__feature { display: flex; flex-direction: column; justify-content: center; gap: var(--space-4); min-height: 24rem; }
.pn-custom__feature > * { margin: 0; }
.pn-custom__feature h3 { max-width: 20ch; }
.pn-custom__feature p { max-width: 54ch; }
.pn-custom__support { display: grid; grid-template-columns: 1fr; gap: var(--grid-gap); }
.pn-custom__panel { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
.pn-custom__panel > * { margin: 0; }
.pn-custom__panel h3 { font-size: var(--text-card-title); }
.pn-custom__panel p { max-width: 40ch; }
.pn-custom__panel--cta { border-top-color: var(--color-amber); }
.pn-custom__panel--cta .button { margin-top: auto; align-self: flex-start; }

.pn-atmosphere { background: #0d0d10; border-block: var(--border-default); }
.pn-atmosphere__grid { display: grid; grid-template-columns: 5fr 6fr; gap: calc(var(--grid-gap) * 1.25); align-items: stretch; }
.pn-atmosphere__grid > * { min-width: 0; }
.pn-atmosphere__narrative { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.pn-atmosphere__narrative > * { margin: 0; }
.pn-atmosphere__narrative h2 { max-width: 18ch; }
.pn-atmosphere__narrative p { max-width: 56ch; }
.pn-atmosphere__proof { display: grid; grid-template-columns: 1fr; grid-template-rows: 3fr 2fr; gap: var(--space-4); }
.pn-atmosphere__proof article { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; margin: 0; }
.pn-atmosphere__proof article > * { margin: 0; }
.pn-atmosphere__proof p { max-width: 44ch; }
.pn-atmosphere__proof strong { color: var(--color-amber); font-size: var(--text-xs); letter-spacing: .12em; text-transform: uppercase; }
.pn-atmosphere__lower { background: #111114; }

.pn-faq__grid { display: grid; grid-template-columns: 5fr 5fr; gap: calc(var(--grid-gap) * 1.5); align-items: start; }
.pn-faq__grid > * { min-width: 0; }
.pn-faq__intro { max-width: 48ch; }
.pn-faq__intro .lead { margin-bottom: 0; }
.pn-faq__list { display: grid; grid-template-columns: 1fr; gap: var(--space-3); }
.pn-faq__list details { min-width: 0; border: var(--border-default); background: var(--color-slate-panel); }
.pn-faq__list summary { position: relative; min-height: 3.75rem; display: flex; align-items: center; padding: var(--space-4) 3.25rem var(--space-4) var(--space-4); color: var(--color-paper); font-weight: 700; cursor: pointer; list-style: none; }
.pn-faq__list summary::-webkit-details-marker { display: none; }
.pn-faq__list summary::after { content: "+"; position: absolute; right: var(--space-4); color: var(--color-amber); font-size: 1.5rem; font-weight: 400; }
.pn-faq__list details[open] { border-left-color: var(--color-amber); }
.pn-faq__list details[open] summary::after { content: "−"; }
.pn-faq__list details > div { padding: 0 var(--space-4) var(--space-4); }
.pn-faq__list details p { max-width: 54ch; margin: 0; }

.pn-final { padding-top: 0; }
.pn-final__panel { display: grid; grid-template-columns: 7fr 4fr; gap: var(--grid-gap); align-items: center; padding: calc(var(--panel-padding) * 1.35); }
.pn-final__panel > * { min-width: 0; }
.pn-final__copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.pn-final__copy > * { margin: 0; }
.pn-final__copy h2 { max-width: 24ch; }
.pn-final__copy p:not(.eyebrow) { max-width: 54ch; }
.pn-final__action { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.pn-final__action > * { margin: 0; }
.pn-final__action .button { min-width: 13.75rem; }
.pn-final__action p { max-width: 46ch; font-size: var(--text-sm); }

@media (max-width: 74.9375rem) {
  .pn-hero__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .pn-hero__copy { grid-column: 1 / span 8; }
  .pn-hero__proof { grid-column: 1 / span 8; }
  .pn-hero__proof-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pn-hero__proof-item { grid-template-columns: 1.75rem minmax(0, 1fr); }
  .pn-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pn-service-card:nth-child(3) { grid-column: 1 / span 2; }
  .pn-occasions__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pn-occasion--retreat { grid-column: 1 / span 2; }
  .pn-process__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pn-process__grid::before { display: none; }
  .pn-step { min-height: 0; }
  .pn-venue__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--grid-gap); }
  .pn-venue__prompt { grid-column: 1 / span 1; margin-top: 0; }
  .pn-custom__grid { grid-template-columns: 5fr 3fr; }
  .pn-atmosphere__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--grid-gap); }
  .pn-faq__grid { grid-template-columns: 1fr; gap: var(--group-space); }
}

@media (max-width: 62.5rem) {
  .pn-host__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--grid-gap); }
  .pn-venue__media img { height: 29rem; }
  .pn-final__panel { grid-template-columns: 1fr; }
}

@media (max-width: 52.5rem) {
  .pn-host__grid { grid-template-columns: 1fr; }
  .pn-host__content { grid-row: 1; }
  .pn-host__media { grid-row: 2; }
  .pn-host__media img { height: auto; aspect-ratio: 4 / 5; }
  .pn-venue__grid { grid-template-columns: 1fr; }
  .pn-venue__content, .pn-venue__media, .pn-venue__prompt { grid-column: 1; }
  .pn-venue__media { grid-row: 2; }
  .pn-venue__prompt { grid-row: 3; }
  .pn-venue__media img { height: auto; aspect-ratio: 3 / 2; }
  .pn-custom__grid { grid-template-columns: 1fr; }
  .pn-custom__feature { min-height: 0; }
  .pn-custom__support { grid-template-columns: 1fr; }
  .pn-atmosphere__grid { grid-template-columns: 1fr; }
  .pn-atmosphere__proof { grid-template-rows: auto; }
}

@media (max-width: 47.9375rem) {
  .pn-hero { min-height: 0; display: flex; flex-direction: column; }
  .pn-hero__media { position: relative; order: 2; height: auto; }
  .pn-hero__media::after { background: linear-gradient(0deg, rgba(9,9,11,.55), rgba(9,9,11,.06)); }
  .pn-hero__media img { height: auto; aspect-ratio: 4 / 3; object-position: 62% center; }
  .pn-hero__grid { order: 1; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); padding-block: var(--space-7); }
  .pn-hero__copy, .pn-hero__proof { grid-column: 1 / span 4; }
  .pn-hero__copy h1 { max-width: 22ch; font-size: 2.5rem; line-height: 1.04; }
  .pn-hero__copy .lead { max-width: none; font-size: 1.125rem; }
  .pn-hero__actions { width: 100%; }
  .pn-hero__actions .button { width: 100%; }
  .pn-hero__proof { padding: var(--panel-padding); box-shadow: none; }
  .pn-hero__proof-list { grid-template-columns: 1fr; }

  .pn-services__intro, .pn-process__intro { grid-template-columns: 1fr; gap: var(--space-4); }
  .pn-services__intro h2, .pn-process__intro h2 { max-width: none; font-size: 1.875rem; }
  .pn-services__grid { grid-template-columns: 1fr; gap: var(--space-4); }
  .pn-service-card, .pn-service-card:nth-child(3) { grid-column: 1; min-height: 0; }
  .pn-service-card { padding: var(--panel-padding); }

  .pn-host__content h2, .pn-occasions__intro h2, .pn-venue__content h2, .pn-custom__intro h2, .pn-atmosphere__narrative h2, .pn-faq__intro h2, .pn-final__copy h2 { font-size: 1.875rem; }
  .pn-host__content h2, .pn-venue__content h2, .pn-atmosphere__narrative h2 { max-width: none; }

  .pn-occasions__grid { grid-template-columns: 1fr; gap: var(--space-4); }
  .pn-occasion, .pn-occasion--retreat { grid-column: 1; }
  .pn-meta-stack { display: grid; grid-template-columns: 1fr; }

  .pn-process__grid { grid-template-columns: 1fr; gap: var(--space-4); padding-left: var(--space-5); }
  .pn-process__grid::after { content: ""; position: absolute; top: 1rem; bottom: 1rem; left: .5rem; width: 1px; background: var(--color-amber); }
  .pn-step { padding: var(--panel-padding); }
  .pn-step > span { position: relative; z-index: 1; margin-left: calc(var(--space-5) * -1.5); }

  .pn-venue__content, .pn-host__content { gap: var(--space-4); }
  .pn-venue__prompt { padding: var(--panel-padding); }
  .pn-custom__panel--cta .button { width: 100%; }

  .pn-final { padding-bottom: var(--section-space); }
  .pn-final__panel { padding: var(--panel-padding); gap: var(--space-5); }
  .pn-final__action { align-items: stretch; }
  .pn-final__action .button { width: 100%; min-width: 0; min-height: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  .poker-nights-page *, .poker-nights-page *::before, .poker-nights-page *::after { transition-duration: .01ms !important; }
}

ul { list-style: none !important; }
.nav-toggle { flex-direction: column; }