.offline-poker-page { background: var(--color-cream-50); }
.offline-poker-page .button { min-width: 0; }
.op-hero { position: relative; min-height: 43rem; isolation: isolate; background: var(--color-forest-950); color: var(--color-cream-50); overflow: hidden; }
.op-hero__media, .op-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.op-hero__media { z-index: -2; }
.op-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(16 44 38 / 96%) 0%, rgb(16 44 38 / 88%) 39%, rgb(16 44 38 / 31%) 65%, rgb(16 44 38 / 10%) 100%); transition: background-color var(--transition-base); }
.op-hero__media img { object-fit: cover; object-position: 68% center; }
.op-hero__inner { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-height: 43rem; align-items: center; }
.op-hero__panel { grid-column: 1; min-width: 0; max-width: 31.25rem; display: flex; flex-direction: column; gap: var(--space-5); padding-block: var(--space-9); }
.op-hero .eyebrow, .op-hero h1, .op-hero__lead, .op-hero__assurance { margin: 0; color: var(--color-cream-50); }
.op-hero h1 { font-size: clamp(2.75rem, 5vw, 4rem); line-height: var(--leading-display); }
.op-hero__lead { font-size: var(--text-body-large); line-height: 1.55; }
.op-hero__actions { gap: var(--space-4); }
.op-hero__actions > * { min-width: 0; flex: 0 1 auto; }
.op-hero__text-link { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--color-cream-50); font-weight: 700; }
.op-hero__assurance { border-top: 1px solid rgb(184 137 69 / 80%); padding-top: var(--space-3); font-size: var(--text-small); line-height: var(--leading-small); }
.op-hero__assurance span { color: var(--color-brass-500); font-size: 1.25rem; margin-right: var(--space-2); }
@media (hover: hover) { .op-hero:hover .op-hero__media::after { background: linear-gradient(90deg, rgb(16 44 38 / 94%) 0%, rgb(16 44 38 / 84%) 39%, rgb(116 75 50 / 25%) 66%, rgb(16 44 38 / 8%) 100%); } }

.op-format__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); align-items: start; }
.op-format__copy { grid-column: 2 / span 6; min-width: 0; max-width: 36.875rem; }
.op-format__figure { grid-column: 8 / span 4; min-width: 17.5rem; width: 100%; margin-top: var(--space-7); }
.op-format__figure img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.op-inline-emphasis { border-bottom: 2px solid var(--color-brass-500); font-weight: 700; }
.op-format__assurance { display: flex; flex-direction: column; gap: var(--space-3); max-width: 40.625rem; margin-top: var(--space-6); padding: var(--space-5); background: var(--color-cream-100); border: 1px solid var(--color-border); }
.op-format__assurance > * { min-width: 0; margin: 0; }
.op-format__assurance dl { display: grid; grid-template-columns: 1fr; gap: var(--space-3); }
.op-format__assurance dl > div { display: grid; grid-template-columns: minmax(0, 10rem) minmax(0, 1fr); gap: var(--space-3); }
.op-format__assurance dd { margin: 0; color: var(--color-muted-600); }
.op-format__bridge { border-left: 2px solid var(--color-wood-700); padding-left: var(--space-4); margin-top: var(--space-6); font-size: var(--text-body-large); }

.op-welcome__intro { width: min(100%, 38.75rem); margin-bottom: var(--space-7); }
.op-welcome__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); align-items: stretch; }
.op-welcome__cards > * { min-width: 0; width: 100%; }
.op-welcome__card { display: flex; flex-direction: column; gap: var(--space-3); }
.op-welcome__card > * { min-width: 0; margin: 0; }
.op-suit-mark { color: var(--color-brass-500); font-size: 1.75rem; line-height: 1; }

.op-tables__intro { width: min(100%, 38.75rem); margin-bottom: var(--space-7); }
.op-tables__details { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-bottom: var(--space-8); border-top: 1px solid var(--color-wood-700); }
.op-tables__details > article { min-width: 0; width: 100%; padding: var(--space-5); border-right: 1px solid var(--color-border); }
.op-tables__details > article:first-child { padding-left: 0; }
.op-tables__details > article:last-child { border-right: 0; }
.op-tables__details h3 { font-family: var(--font-body); font-size: var(--text-h4); }
.op-tables__details p { margin-bottom: 0; }
.op-dining-band { width: 100%; }
.op-dining-band__inner { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); padding-block: var(--space-8); }
.op-dining-band__copy { grid-column: 2 / span 7; min-width: 0; max-width: 40.625rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.op-dining-band__copy > * { min-width: 0; margin: 0; }
.op-tables__note { width: min(100% - (var(--container-padding) * 2), var(--container-max)); padding-top: var(--space-6); }
.op-tables__note p { width: min(100%, 43.75rem); border-top: 2px solid var(--color-brass-500); padding-top: var(--space-3); margin: 0; }

.op-etiquette__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); align-items: start; }
.op-etiquette__intro { grid-column: 1 / span 4; min-width: 0; max-width: 24.375rem; }
.op-etiquette__intro .rule { margin-bottom: var(--space-4); }
.op-etiquette__pull { color: var(--color-amber-300); font-family: var(--font-heading); font-size: var(--text-h3); line-height: var(--leading-h3); }
.op-disclosures { grid-column: 6 / span 7; min-width: 0; width: 100%; max-width: 42.5rem; display: flex; flex-direction: column; gap: var(--space-3); }
.op-disclosure { min-width: 0; width: 100%; border-top: 1px solid var(--color-border-dark); border-bottom: 1px solid var(--color-border-dark); }
.op-disclosure + .op-disclosure { border-top: 0; }
.op-disclosure__button { width: 100%; min-height: 3.25rem; display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) 0; background: transparent; color: var(--color-cream-50); border: 0; border-radius: 0; font-family: var(--font-heading); font-size: var(--text-h4); letter-spacing: 0; text-align: left; }
.op-disclosure__button:hover { background: transparent; color: var(--color-amber-300); }
.op-disclosure__symbol { color: var(--color-brass-500); font-family: var(--font-body); font-size: 1.5rem; line-height: 1; }
.op-disclosure__panel { overflow: hidden; padding-bottom: var(--space-4); }
.op-disclosure__panel p { margin: 0; }
.op-etiquette__closing { margin: var(--space-3) 0 0; }

.op-private__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); align-items: start; }
.op-private__content { grid-column: 8 / span 5; min-width: 0; max-width: 29.375rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.op-private__content > * { min-width: 0; margin: 0; }
.op-private__figure { grid-column: 1 / span 6; grid-row: 1; min-width: 0; width: 100%; }
.op-private__figure img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.op-private__reasons { display: flex; flex-direction: column; gap: var(--space-4); margin-left: 0; padding-left: 2rem; }
.op-private__reasons li { padding-left: var(--space-2); }
.op-private__assurance { width: 100%; padding: var(--space-4); border: 1px solid var(--color-border); background: var(--color-cream-50); }
.op-private__assurance > * { margin: 0; }
.op-private__assurance h3 { font-family: var(--font-body); font-size: var(--text-h4); }

.op-evening__intro { width: min(100%, 40rem); margin-bottom: var(--space-7); }
.op-evening__stages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
.op-evening__stages > article { min-width: 0; width: 100%; border-top: 2px solid var(--color-brass-500); padding-top: var(--space-4); }
.op-stage__number { display: block; color: var(--color-brass-500); font-family: var(--font-heading); font-size: 2.5rem; line-height: 1; margin-bottom: var(--space-4); }
.op-evening__stages p { margin-bottom: 0; }
.op-evening__assurance { margin-top: var(--space-8); }
.op-evening__assurance-inner { display: grid; grid-template-columns: minmax(0, 7fr) minmax(12rem, 5fr); gap: var(--space-6); align-items: center; padding-block: var(--space-6); }
.op-evening__assurance-inner > * { min-width: 0; width: 100%; }
.op-evening__assurance-inner h3, .op-evening__assurance-inner p { margin: 0; }
.op-evening__assurance-inner p { margin-top: var(--space-3); max-width: 38.75rem; }
.op-evening__assurance-inner .button { justify-self: end; width: fit-content; }

.op-reservation { padding-block: var(--space-9); }
.op-reservation__intro { width: min(100% - (var(--container-padding) * 2), 40rem); margin-inline: auto; text-align: left; margin-bottom: var(--space-7); }
.op-reservation__intro > * { min-width: 0; }
.op-reservation__form { width: min(100% - (var(--container-padding) * 2), 47.5rem); margin-inline: auto; padding: var(--space-6); background: var(--color-cream-100); color: var(--color-ink-900); border-radius: var(--radius-md); display: flex; flex-direction: column; gap: var(--space-5); }
.op-reservation__form > * { min-width: 0; margin: 0; }
.op-reservation__form h3 { color: var(--color-forest-950); }
.op-reservation__required-note { color: var(--color-muted-600); font-size: var(--text-small); }
.op-reservation__required-note span, .op-reservation__form label > span[aria-hidden="true"], .op-reservation__form b { color: var(--color-leather-600); }
.op-form__status { min-height: 0; }
.op-form__status:not(:empty) { padding: var(--space-3); border-left: 3px solid var(--color-forest-950); background: var(--color-cream-50); font-weight: 700; }
.op-form__status--error { border-color: var(--color-forest-950); color: var(--color-forest-950); }
.op-form__status--success { border-color: var(--color-success-700); color: var(--color-success-700); }
.op-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.op-form__grid > * { min-width: 0; width: 100%; }
.op-form__field { display: flex; flex-direction: column; gap: var(--space-2); }
.op-form__field label { margin: 0; }
.op-form__field input, .op-form__field select, .op-form__field textarea { min-width: 0; }
.op-form__field--date, .op-form__field--full { grid-column: 1 / -1; }
.op-field-error { min-height: 1.25rem; margin: 0; color: var(--color-forest-950); font-size: var(--text-small); font-weight: 700; line-height: 1.3; }
.op-optional { color: var(--color-muted-600); font-weight: 400; }
.op-form__consent label { display: flex; align-items: flex-start; gap: var(--space-2); color: var(--color-forest-950); }
.op-form__consent input { flex: 0 0 auto; margin-top: 0.15rem; }
.op-reservation__before-send { padding-top: var(--space-4); border-top: 1px solid var(--color-border); }
.op-reservation__before-send > * { margin: 0; }
.op-reservation__before-send p { margin-top: var(--space-2); }
.op-reservation__form button { align-self: flex-start; }

.op-closing__content { width: min(100% - (var(--container-padding) * 2), var(--container-max)); padding-left: calc((100% / 12) + var(--space-5)); }
.op-closing__content > * { min-width: 0; }
.op-closing__content h2, .op-closing__content p { width: min(100%, 42.5rem); }
.op-closing__link { display: inline-flex; min-height: 2.75rem; align-items: center; font-weight: 700; }

@media (max-width: 64rem) {
  .op-hero { min-height: 39rem; }
  .op-hero__inner { min-height: 39rem; }
  .op-format__grid { grid-template-columns: minmax(0, 55fr) minmax(0, 45fr); gap: var(--space-5); }
  .op-format__copy { grid-column: 1; }
  .op-format__figure { grid-column: 2; }
  .op-welcome__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .op-welcome__cards > :last-child { grid-column: 1 / -1; width: min(100%, calc(50% - (var(--space-5) / 2))); }
  .op-tables__details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .op-tables__details > article { padding: var(--space-5); border-bottom: 1px solid var(--color-border); }
  .op-tables__details > article:nth-child(odd) { padding-left: 0; }
  .op-tables__details > article:nth-child(even) { border-right: 0; }
  .op-etiquette__grid { grid-template-columns: 1fr; gap: var(--space-7); }
  .op-etiquette__intro, .op-disclosures { grid-column: 1; max-width: 42.5rem; }
  .op-private__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
  .op-private__content, .op-private__figure { grid-column: auto; grid-row: auto; max-width: none; }
  .op-evening__stages { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-6); }
  .op-evening__assurance-inner { grid-template-columns: minmax(0, 1fr) auto; }
}

@media (max-width: 60rem) {
  .op-hero__media::after { background: linear-gradient(90deg, rgb(16 44 38 / 96%) 0%, rgb(16 44 38 / 88%) 52%, rgb(16 44 38 / 38%) 100%); }
}

@media (max-width: 50rem) {
  .op-form__grid { grid-template-columns: 1fr; }
  .op-form__field--date, .op-form__field--full { grid-column: auto; }
  .op-evening__assurance-inner { grid-template-columns: 1fr; gap: var(--space-4); }
  .op-evening__assurance-inner .button { justify-self: start; }
}

@media (max-width: 48rem) {
  .op-hero { display: flex; flex-direction: column; min-height: 0; }
  .op-hero__media { position: relative; inset: auto; height: clamp(18.75rem, 72vw, 22.5rem); order: 0; }
  .op-hero__media::after { background: linear-gradient(180deg, rgb(16 44 38 / 8%), rgb(16 44 38 / 28%)); }
  .op-hero__media img { object-position: 63% center; }
  .op-hero__inner { display: block; width: 100%; min-height: 0; order: 1; padding-inline: var(--container-padding); background: var(--color-forest-950); }
  .op-hero__panel { width: 100%; max-width: none; padding-block: var(--space-7); gap: var(--space-4); }
  .op-hero h1 { font-size: 2.375rem; }
  .op-hero__actions { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-3); }
  .op-hero__actions > * { width: 100%; }
  .op-hero__text-link { justify-content: center; }
  .op-format__grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .op-format__copy, .op-format__figure { grid-column: 1; width: 100%; max-width: none; min-width: 0; margin-top: 0; }
  .op-format__assurance dl > div { grid-template-columns: 1fr; gap: var(--space-1); }
  .op-format__figure { order: 2; }
  .op-welcome__intro, .op-tables__intro, .op-evening__intro { width: 100%; margin-bottom: var(--space-6); }
  .op-welcome__cards { grid-template-columns: 1fr; gap: var(--space-5); }
  .op-welcome__cards > :last-child { grid-column: auto; width: 100%; }
  .op-tables__details { grid-template-columns: 1fr; margin-bottom: var(--space-7); }
  .op-tables__details > article, .op-tables__details > article:first-child, .op-tables__details > article:nth-child(odd) { padding: var(--space-5) 0; border-right: 0; }
  .op-dining-band__inner { display: block; padding-block: var(--space-7); }
  .op-dining-band__copy { width: 100%; max-width: none; }
  .op-tables__note { padding-top: var(--space-5); }
  .op-etiquette__grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .op-etiquette__intro, .op-disclosures { width: 100%; max-width: none; }
  .op-disclosure__button { min-height: 3.25rem; font-size: 1.125rem; }
  .op-private__grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .op-private__content, .op-private__figure { grid-column: 1; width: 100%; }
  .op-private__content { order: 0; }
  .op-private__figure { order: 1; }
  .op-private__action { width: 100%; }
  .op-evening__stages { grid-template-columns: 1fr; gap: var(--space-5); }
  .op-evening__assurance { margin-top: var(--space-7); }
  .op-evening__assurance-inner { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-4); padding-block: var(--space-6); }
  .op-evening__assurance-inner .button { width: 100%; }
  .op-reservation { padding-block: var(--space-7); }
  .op-reservation__intro { width: min(100% - (var(--container-padding) * 2), 40rem); margin-bottom: var(--space-6); }
  .op-reservation__form { width: min(100% - (var(--container-padding) * 2), 47.5rem); padding: var(--space-4); }
  .op-reservation__form button { width: 100%; }
  .op-closing__content { padding-left: 0; }
  .op-closing__content h2, .op-closing__content p { width: 100%; }
}

@media (prefers-reduced-motion: no-preference) {
  .op-disclosure__panel { transition: opacity 180ms ease; }
}
