

:root {
  --color-ivory: #f8f4ec;
  --color-cream: #fffdf8;
  --color-forest: #183f35;
  --color-deep-forest: #102d27;
  --color-burgundy: #772f3d;
  --color-burnt-orange: #b95732;
  --color-soft-coral: #e99b87;
  --color-muted-gold: #b58a4a;
  --color-pale-sage: #dce7d9;
  --color-charcoal: #202522;
  --color-muted-ink: #5d625c;
  --color-line: #d9d2c5;
  --color-focus: #c96e2d;

  --color-page: var(--color-ivory);
  --color-surface: var(--color-cream);
  --color-text: var(--color-charcoal);
  --color-text-muted: var(--color-muted-ink);
  --color-action: var(--color-forest);
  --color-action-hover: var(--color-deep-forest);
  --color-on-dark: var(--color-ivory);
  --color-on-dark-muted: var(--color-pale-sage);

  --font-heading: "Fraunces", Georgia, serif;
  --font-body: "DM Sans", Arial, sans-serif;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.375rem;
  --text-2xl: 1.75rem;
  --text-3xl: 2.25rem;
  --text-display: clamp(2.75rem, 7vw, 5.75rem);

  --leading-xs: 1.1;
  --leading-sm: 1.35;
  --leading-body: 1.55;
  --leading-tight: 1.15;
  --leading-heading: 1.05;
  --leading-display: 0.94;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 8rem;
  --space-11: 10rem;

  --container-max: 90rem;
  --content-max: 73.75rem;
  --reading-max: 47.5rem;
  --container-padding: 1.25rem;

  --section-space: 4rem;
  --section-space-compact: 2.5rem;
  --section-space-major: 6rem;

  --radius-control: 0.125rem;
  --radius-card: 0.5rem;
  --radius-panel: 1rem;
  --radius-pill: 999px;

  --border-default: 1px solid var(--color-line);
  --border-gold: 1px solid var(--color-muted-gold);

  --shadow-card: 0 3px 12px rgb(32 37 34 / 0.06);
  --shadow-raised: 0 10px 30px rgb(32 37 34 / 0.08);

  --transition-fast: 180ms ease-out;
  --transition-base: 220ms ease-out;
  --transition-slow: 260ms ease-out;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  min-width: 0;
  scroll-behavior: smooth;
  scroll-padding-top: var(--space-8);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  min-width: 0;
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  background: var(--color-page);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: 400;
  line-height: var(--leading-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

main,
header,
footer,
section,
article,
aside,
nav,
form,
fieldset,
figure,
blockquote,
table {
  min-width: 0;
}

img,
picture,
svg,
video,
canvas,
iframe {
  display: block;
  max-width: 100%;
}

img,
video {
  height: auto;
}

svg {
  fill: currentColor;
}

iframe {
  width: 100%;
  border: 0;
}

button,
input,
select,
textarea {
  margin: 0;
  color: inherit;
  font: inherit;
}

button,
select {
  text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}

textarea {
  min-height: 8rem;
  resize: vertical;
}

input,
select,
textarea {
  width: 100%;
  border: var(--border-default);
  border-radius: var(--radius-control);
  background: var(--color-cream);
  color: var(--color-text);
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
select {
  min-height: 3rem;
  padding: 0.625rem 0.75rem;
}

textarea {
  padding: 0.75rem;
}

input[type="checkbox"],
input[type="radio"] {
  width: 1.125rem;
  height: 1.125rem;
  accent-color: var(--color-forest);
}

input::placeholder,
textarea::placeholder {
  color: var(--color-muted-ink);
  opacity: 1;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-variant-numeric: tabular-nums;
}

caption {
  padding-block-end: var(--space-3);
  color: var(--color-muted-ink);
  text-align: left;
}

th,
td {
  padding: var(--space-3) var(--space-4);
  border-block-end: var(--border-default);
  text-align: left;
  vertical-align: top;
}

th {
  color: var(--color-forest);
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: var(--leading-sm);
}

hr {
  height: 1px;
  margin-block: var(--space-6);
  border: 0;
  background: var(--color-line);
}

a {
  color: var(--color-forest);
  text-decoration-color: var(--color-muted-gold);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
  transition: color var(--transition-fast), text-decoration-color var(--transition-fast);
}

a:hover {
  color: var(--color-deep-forest);
  text-decoration-color: currentColor;
}

a:active {
  color: var(--color-burgundy);
}

:focus-visible {
  outline: 3px solid var(--color-focus);
  outline-offset: 2px;
}

::selection {
  background: var(--color-pale-sage);
  color: var(--color-deep-forest);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-block: 0 var(--space-4);
  color: var(--color-charcoal);
  font-family: var(--font-heading);
  font-weight: 500;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

h1 {
  font-size: var(--text-display);
  line-height: var(--leading-display);
}

h2 {
  font-size: clamp(2rem, 4vw, var(--text-3xl));
  line-height: var(--leading-heading);
}

h3 {
  font-size: var(--text-2xl);
  line-height: var(--leading-tight);
}

h4 {
  font-size: var(--text-xl);
  line-height: 1.25;
}

h5 {
  font-size: var(--text-lg);
  line-height: 1.35;
}

h6 {
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: 700;
  letter-spacing: 0;
  line-height: var(--leading-body);
}

p {
  margin-block: 0 var(--space-4);
}

ul,
ol {
  margin-block: 0 var(--space-4);
  padding-inline-start: 1.25rem;
}

ul ul,
ul ol,
ol ul,
ol ol {
  margin-block: var(--space-2) 0;
}

blockquote {
  margin: 0 0 var(--space-5);
  padding: var(--space-4) 0 var(--space-4) var(--space-5);
  border-inline-start: 2px solid var(--color-muted-gold);
  color: var(--color-forest);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  line-height: 1.35;
}

figure {
  margin: 0 0 var(--space-5);
}

figcaption {
  margin-block-start: var(--space-3);
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}

dl {
  margin: 0 0 var(--space-5);
}

dt {
  color: var(--color-forest);
  font-weight: 700;
}

dd {
  margin: 0 0 var(--space-3);
}

small {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}

strong,
b {
  font-weight: 700;
}

em,
i {
  font-style: italic;
}

address {
  margin: 0 0 var(--space-4);
  font-style: normal;
}

label {
  display: inline-block;
  margin-block-end: var(--space-2);
  color: var(--color-charcoal);
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: var(--leading-sm);
}

legend {
  padding-inline: var(--space-1);
  color: var(--color-forest);
  font-weight: 700;
}

fieldset {
  margin: 0 0 var(--space-5);
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-card);
}

button,
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 3rem;
  padding: 0.6875rem 1rem;
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  background: var(--color-forest);
  color: var(--color-ivory);
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition:
    background-color var(--transition-base),
    border-color var(--transition-base),
    box-shadow var(--transition-base),
    color var(--transition-base),
    transform var(--transition-base);
}

button:hover,
.button:hover {
  background: var(--color-deep-forest);
  color: var(--color-ivory);
  text-decoration: none;
}

button:active,
.button:active {
  transform: translateY(1px);
}

.button--secondary {
  border-color: var(--color-forest);
  background: transparent;
  color: var(--color-forest);
}

.button--secondary:hover {
  border-color: var(--color-deep-forest);
  background: var(--color-deep-forest);
  color: var(--color-ivory);
}

.button--accent {
  background: var(--color-burnt-orange);
  color: var(--color-ivory);
}

.button--accent:hover {
  background: #934324;
  color: var(--color-ivory);
}

.button--text {
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-forest);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--color-muted-gold);
  text-underline-offset: 0.22em;
}

.button--text:hover {
  background: transparent;
  color: var(--color-deep-forest);
}

.container {
  width: min(100%, var(--container-max));
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

.content-container {
  width: min(100%, var(--content-max));
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

.reading-container {
  width: min(100%, var(--reading-max));
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

.section {
  padding-block: var(--section-space);
}

.section--compact {
  padding-block: var(--section-space-compact);
}

.section--major {
  padding-block: var(--section-space-major);
}

.surface {
  background: var(--color-surface);
}

.surface--forest {
  background: var(--color-forest);
  color: var(--color-on-dark);
}

.surface--deep-forest {
  background: var(--color-deep-forest);
  color: var(--color-on-dark);
}

.surface--sage {
  background: var(--color-pale-sage);
}

.surface--coral {
  background: var(--color-soft-coral);
}

.surface--forest :is(h1, h2, h3, h4, h5, h6),
.surface--deep-forest :is(h1, h2, h3, h4, h5, h6) {
  color: var(--color-on-dark);
}

.surface--forest :is(a, .button--text),
.surface--deep-forest :is(a, .button--text) {
  color: var(--color-ivory);
  text-decoration-color: var(--color-muted-gold);
}

.surface--forest :is(small, figcaption, .muted),
.surface--deep-forest :is(small, figcaption, .muted) {
  color: var(--color-on-dark-muted);
}

.card {
  min-width: 0;
  border: var(--border-default);
  border-radius: var(--radius-card);
  background: var(--color-cream);
}

.card--raised {
  box-shadow: var(--shadow-card);
}

.panel {
  min-width: 0;
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-panel);
  background: var(--color-cream);
}

.panel--raised {
  box-shadow: var(--shadow-raised);
}

.stack {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
}

.stack--tight {
  gap: var(--space-2);
}

.stack--loose {
  gap: var(--space-6);
}

.cluster {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
}

.cluster > * {
  min-width: 0;
}

.actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
}

.actions > * {
  min-width: 0;
}

.content-list {
  margin: 0 0 var(--space-4);
  padding-inline-start: 1.25rem;
}

.content-list > li:not(:first-child) {
  margin-block-start: var(--space-2);
}

.eyebrow {
  margin: 0 0 var(--space-3);
  color: var(--color-burgundy);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-xs);
  text-transform: uppercase;
}

.muted {
  color: var(--color-muted-ink);
}

.tabular-nums {
  font-variant-numeric: tabular-nums;
}

.rule {
  width: 100%;
  height: 1px;
  border: 0;
  background: var(--color-muted-gold);
}

.rule--line {
  background: var(--color-line);
}

.skip-link {
  position: fixed;
  z-index: 1000;
  inset: var(--space-3) auto auto var(--space-3);
  transform: translateY(-200%);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-control);
  background: var(--color-deep-forest);
  color: var(--color-ivory);
  font-weight: 700;
  text-decoration: none;
  transition: transform var(--transition-fast);
}

.skip-link:focus {
  transform: translateY(0);
}

.card > :last-child,
.panel > :last-child,
.stack > :last-child,
.surface > :last-child {
  margin-block-end: 0;
}

@media (min-width: 48rem) {
  :root {
    --container-padding: 1.75rem;
    --section-space: 5.5rem;
    --section-space-compact: 2.5rem;
    --section-space-major: 8rem;
  }

  .panel {
    padding: var(--space-6);
  }
}

@media (min-width: 75rem) {
  :root {
    --container-padding: 3rem;
    --section-space: 8rem;
    --section-space-compact: 2.5rem;
    --section-space-major: 10rem;
  }
}

@media (max-width: 47.99rem) {
  .actions {
    align-items: stretch;
    flex-direction: column;
  }

  .actions > .button {
    width: 100%;
  }
}

@media (hover: hover) {
  .card--interactive {
    transition: box-shadow var(--transition-base), transform var(--transition-base);
  }

  .card--interactive:hover {
    box-shadow: var(--shadow-card);
    transform: translateY(-2px);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}


.site-header {
  position: relative;
  z-index: 100;
  width: 100%;
  border-block-end: 1px solid var(--color-line);
  background: var(--color-ivory);
  color: var(--color-charcoal);
}

.site-header__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  min-height: 4.75rem;
  gap: var(--space-4);
}

.site-header__brand {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 0.625rem;
  color: var(--color-forest);
  text-decoration: none;
}

.site-header__brand:hover {
  color: var(--color-deep-forest);
}

.site-header__mark {
  flex: 0 0 auto;
  width: 2.375rem;
  height: 2.375rem;
  max-width: none;
  object-fit: contain;
}

.site-header__brand-name {
  overflow: hidden;
  color: currentColor;
  font-family: var(--font-heading);
  font-size: 1.375rem;
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site-header__nav {
  min-width: 0;
}

.site-header__primary-list {
  display: flex;
  align-items: center;
  gap: clamp(0.75rem, 1.5vw, 1.5rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-header__primary-list li {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

.site-header__primary-list a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  color: var(--color-charcoal);
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}

.site-header__primary-list a::after {
  width: 100%;
  height: 1px;
  margin-block-start: 0.25rem;
  position: absolute;
  inset: auto 0 0;
  background: var(--color-muted-gold);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--transition-fast);
}

.site-header__primary-list a {
  position: relative;
}

.site-header__primary-list a:hover::after,
.site-header__primary-list a[aria-current="page"]::after {
  transform: scaleX(1);
}

.site-header__booking {
  min-height: 2.75rem;
  padding-inline: 0.875rem;
  font-size: var(--text-sm);
  white-space: nowrap;
}

.site-header__toggle,
.site-header__nav-top,
.site-header__mobile-groups,
.site-header__mobile-actions {
  display: none;
}

@media (max-width: 74.99rem) {
  .site-header__inner {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }

  .site-header__nav {
    position: fixed;
    z-index: 110;
    inset: 0 0 0 auto;
    display: flex;
    width: min(28rem, 100vw);
    min-width: 0;
    flex-direction: column;
    padding: var(--space-5) var(--container-padding) var(--space-6);
    overflow-x: hidden;
    overflow-y: auto;
    border-inline-start: 1px solid var(--color-line);
    background: var(--color-ivory);
    box-shadow: -12px 0 30px rgb(32 37 34 / 0.12);
    opacity: 0;
    pointer-events: none;
    transform: translateX(100%);
    transition: opacity var(--transition-base), transform var(--transition-base);
  }

  .site-header__nav.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
  }

  .site-header__nav-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    padding-block-end: var(--space-4);
    border-block-end: 1px solid var(--color-line);
  }

  .site-header__nav-title {
    color: var(--color-forest);
    font-family: var(--font-heading);
    font-size: var(--text-xl);
    font-weight: 600;
  }

  .site-header__nav-close {
    min-height: 2.75rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--color-forest);
    background: transparent;
    color: var(--color-forest);
    font-size: var(--text-sm);
  }

  .site-header__primary-list {
    display: grid;
    gap: 0;
    padding-block: var(--space-4);
    border-block-end: 1px solid var(--color-line);
  }

  .site-header__primary-list li {
    display: block;
  }

  .site-header__primary-list a {
    display: flex;
    min-height: 3rem;
    padding-block: var(--space-2);
    font-size: var(--text-base);
  }

  .site-header__mobile-groups {
    display: grid;
    gap: var(--space-5);
    padding-block: var(--space-5);
  }

  .site-header__mobile-group {
    display: grid;
    gap: var(--space-2);
  }

  .site-header__mobile-group p {
    margin: 0 0 var(--space-1);
    color: var(--color-burgundy);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: var(--leading-xs);
    text-transform: uppercase;
  }

  .site-header__mobile-group a {
    display: inline-flex;
    width: fit-content;
    min-height: 2.75rem;
    align-items: center;
    color: var(--color-charcoal);
    font-weight: 700;
  }

  .site-header__mobile-actions {
    display: grid;
    gap: var(--space-3);
    margin-block-start: auto;
    padding-block-start: var(--space-5);
    border-block-start: 1px solid var(--color-line);
  }

  .site-header__mobile-actions .button {
    width: 100%;
  }

  .site-header__toggle {
    display: inline-flex;
    width: 3rem;
    min-width: 3rem;
    min-height: 3rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.3125rem;
    padding: 0;
    border: 1px solid var(--color-forest);
    background: transparent;
    color: var(--color-forest);
  }

  .site-header__toggle:hover {
    background: var(--color-forest);
    color: var(--color-ivory);
  }

  .site-header__toggle-line {
    display: block;
    width: 1.25rem;
    height: 1px;
    background: currentColor;
    transition: transform var(--transition-fast), opacity var(--transition-fast);
  }

  .site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(1) {
    transform: translateY(0.375rem) rotate(45deg);
  }

  .site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(2) {
    opacity: 0;
  }

  .site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(3) {
    transform: translateY(-0.375rem) rotate(-45deg);
  }
}

@media (max-width: 47.99rem) {
  .site-header__inner {
    min-height: 4rem;
    gap: var(--space-3);
  }

  .site-header__mark {
    width: 2rem;
    height: 2rem;
  }

  .site-header__brand-name {
    font-size: 1.125rem;
  }

  .site-header__booking {
    display: none;
  }

  .site-header__nav {
    width: min(100%, 28rem);
  }
}

@media (min-width: 75rem) {
  .site-header__inner {
    min-height: 5rem;
    gap: clamp(1rem, 2vw, 2rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header__nav,
  .site-header__toggle-line,
  .site-header__primary-list a::after {
    transition: none;
  }
}


.site-footer {
  background: var(--color-deep-forest);
  color: var(--color-on-dark);
}

.site-footer__inner {
  display: grid;
  gap: var(--space-7);
  padding-block: var(--space-8) var(--space-5);
}

.site-footer__brand-block {
  display: grid;
  gap: var(--space-3);
  align-content: start;
}

.site-footer__brand {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-ivory);
  font-family: var(--font-heading);
  font-size: var(--text-2xl);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1;
  text-decoration: none;
}

.site-footer__brand:hover {
  color: var(--color-pale-sage);
}

.site-footer__mark {
  width: 4.5rem;
  height: 4.5rem;
  max-width: none;
  object-fit: contain;
}

.site-footer__intro,
.site-footer__address,
.site-footer__contact {
  margin: 0;
  color: var(--color-on-dark-muted);
}

.site-footer__intro {
  max-width: 30rem;
}

.site-footer__address,
.site-footer__contact {
  width: fit-content;
  text-decoration-color: var(--color-muted-gold);
}

.site-footer__external {
  display: inline-block;
  margin-inline-start: 0.125rem;
}

.site-footer__nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6) var(--space-5);
}

.site-footer__group {
  min-width: 0;
}

.site-footer__group h2 {
  margin: 0 0 var(--space-3);
  color: var(--color-ivory);
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-xs);
  text-transform: uppercase;
}

.site-footer__group ul {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__group li {
  margin: 0;
  padding: 0;
}

.site-footer__group a {
  color: var(--color-on-dark-muted);
}

.site-footer__group a:hover {
  color: var(--color-ivory);
}

.site-footer__disclaimer {
  max-width: 56rem;
  padding-block: var(--space-5);
  border-block: 1px solid var(--color-muted-gold);
}

.site-footer__disclaimer p {
  margin: 0;
  color: var(--color-pale-sage);
  font-size: var(--text-sm);
  line-height: var(--leading-body);
}

.site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-3) var(--space-5);
  padding-block-start: var(--space-4);
  border-block-start: 1px solid rgb(220 231 217 / 0.3);
}

.site-footer__bottom p {
  margin: 0;
  color: var(--color-on-dark-muted);
  font-size: var(--text-sm);
}

.site-footer__sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.site-consent {
  position: fixed;
  z-index: 300;
  inset: auto var(--space-3) var(--space-3);
  max-width: 48rem;
  margin-inline: auto;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-card);
  background: var(--color-cream);
  box-shadow: var(--shadow-raised);
  transition: opacity var(--transition-base), transform var(--transition-base);
}

.site-consent[hidden] {
  display: none !important;
}

.site-consent.is-hiding {
  opacity: 0;
  pointer-events: none;
  transform: translateY(0.75rem);
}

.site-consent__inner {
  display: grid;
  gap: var(--space-4);
  padding: var(--space-4);
}

.site-consent__copy {
  margin: 0;
  color: var(--color-charcoal);
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}

.site-consent__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.site-consent__button {
  min-height: 2.75rem;
  padding: 0.625rem 0.875rem;
  font-size: var(--text-sm);
}

.site-consent__button--reject {
  border-color: var(--color-forest);
  background: transparent;
  color: var(--color-forest);
}

.site-consent__button--reject:hover {
  background: var(--color-deep-forest);
  color: var(--color-ivory);
}

.site-age-modal {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: var(--space-4);
}

.site-age-modal[data-age-modal][hidden] {
  display: none !important;
}

.site-age-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgb(16 45 39 / 0.82);
}

.site-age-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 34rem);
  max-height: calc(100vh - 2rem);
  overflow-y: auto;
  padding: clamp(1.5rem, 5vw, 2.5rem);
  border: 1px solid var(--color-muted-gold);
  border-radius: var(--radius-panel);
  background: var(--color-cream);
  box-shadow: var(--shadow-raised);
}

.site-age-modal__eyebrow {
  margin: 0 0 var(--space-3);
  color: var(--color-burgundy);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-xs);
  text-transform: uppercase;
}

.site-age-modal__dialog h2 {
  margin-block-end: var(--space-4);
}

.site-age-modal__dialog > p:not(.site-age-modal__eyebrow) {
  margin-block-end: var(--space-5);
}

.site-age-modal__actions {
  display: grid;
  gap: var(--space-3);
}

.site-age-modal__confirm,
.site-age-modal__decline {
  width: 100%;
}

.site-age-modal__decline {
  border-color: var(--color-forest);
  background: transparent;
  color: var(--color-forest);
}

.site-age-modal__decline:hover {
  background: var(--color-deep-forest);
  color: var(--color-ivory);
}

@media (min-width: 48rem) {
  .site-footer__inner {
    grid-template-columns: minmax(15rem, 0.9fr) minmax(0, 1.6fr);
    gap: var(--space-8) var(--space-7);
    padding-block: var(--space-9) var(--space-5);
  }

  .site-footer__nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .site-footer__disclaimer,
  .site-footer__bottom {
    grid-column: 1 / -1;
  }

  .site-consent {
    inset: auto var(--space-5) var(--space-5) auto;
    width: min(34rem, calc(100% - 2.5rem));
    margin: 0;
  }

  .site-consent__inner {
    padding: var(--space-5);
  }
}

@media (max-width: 29.99rem) {
  .site-consent__actions {
    display: grid;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-consent {
    transition: none;
  }
}


.cookie-policy-page {
  background: var(--color-ivory);
}

.cookie-policy-page__opening {
  padding-block: var(--space-9);
}

.cookie-policy-page__opening-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 5fr) minmax(0, 6fr);
}

.cookie-policy-page__opening-copy {
  grid-column: 2 / span 1;
  min-width: 0;
  max-width: 43.75rem;
}

.cookie-policy-page__opening-eyebrow {
  color: var(--color-pale-sage);
}

.cookie-policy-page__opening-copy h1 {
  color: var(--color-ivory);
}

.cookie-policy-page__lead {
  max-width: 43.75rem;
  color: var(--color-ivory);
  font-size: var(--text-lg);
}

.cookie-policy-page__lead a,
.cookie-policy-page__email-link {
  color: var(--color-ivory);
  text-decoration-color: var(--color-muted-gold);
}

.cookie-policy-page__gold-rule {
  max-width: 6rem;
  margin-block: var(--space-5);
}

.cookie-policy-page__scope {
  max-width: 43.75rem;
  margin-block-end: 0;
  color: var(--color-on-dark-muted);
  font-size: var(--text-sm);
  line-height: var(--leading-body);
}

.cookie-policy-page__scope span {
  display: block;
  margin-block-end: var(--space-2);
  color: var(--color-ivory);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-xs);
  text-transform: uppercase;
}

.cookie-policy-page__summary-module {
  width: min(100%, 50rem);
  min-width: 0;
}

.cookie-policy-page__summary-module h2 {
  margin-block-end: var(--space-6);
}

.cookie-policy-page__summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
}

.cookie-policy-page__summary-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-card);
}

.cookie-policy-page__summary-card > * {
  min-width: 0;
  margin: 0;
}

.cookie-policy-page__summary-card--cream {
  background: var(--color-cream);
}

.cookie-policy-page__summary-card--sage {
  background: var(--color-pale-sage);
}

.cookie-policy-page__summary-card--sage .eyebrow {
  color: var(--color-burgundy);
}

.cookie-policy-page__management-link {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-height: 2.75rem;
  padding-block: var(--space-2);
  font-weight: 700;
}

.cookie-policy-page__reading-column,
.cookie-policy-page__management-column {
  width: min(100%, 47.5rem);
  min-width: 0;
}

.cookie-policy-page__reading-column > h2,
.cookie-policy-page__management-column > h2 {
  margin-block-end: var(--space-6);
}

.cookie-policy-page__article-block {
  min-width: 0;
  padding-block: var(--space-6);
  border-block-end: var(--border-default);
}

.cookie-policy-page__article-block:first-of-type {
  padding-block-start: 0;
}

.cookie-policy-page__article-block > :last-child {
  margin-block-end: 0;
}

.cookie-policy-page__article-block h3 {
  margin-block-end: var(--space-4);
}

.cookie-policy-page__categories {
  background: linear-gradient(180deg, var(--color-ivory) 0%, var(--color-cream) 100%);
}

.cookie-policy-page__categories-intro {
  width: min(100%, 47.5rem);
  min-width: 0;
  margin-block-end: var(--space-7);
}

.cookie-policy-page__categories-intro > :last-child {
  margin-block-end: 0;
}

.cookie-policy-page__table-wrap {
  width: 100%;
  min-width: 0;
  border: var(--border-default);
  border-radius: var(--radius-card);
  background: var(--color-cream);
  overflow: hidden;
}

.cookie-policy-page__category-table {
  table-layout: fixed;
}

.cookie-policy-page__category-table caption {
  padding: var(--space-4) var(--space-5);
  border-block-end: var(--border-default);
  background: var(--color-ivory);
}

.cookie-policy-page__category-table th,
.cookie-policy-page__category-table td {
  padding: var(--space-5);
}

.cookie-policy-page__category-table thead th {
  background: var(--color-pale-sage);
}

.cookie-policy-page__category-table thead th:nth-child(1) {
  width: 22%;
}

.cookie-policy-page__category-table thead th:nth-child(2) {
  width: 53%;
}

.cookie-policy-page__category-table thead th:nth-child(3) {
  width: 25%;
}

.cookie-policy-page__category-table tbody th {
  font-size: var(--text-base);
  font-weight: 400;
}

.cookie-policy-page__category-name,
.cookie-policy-page__category-status {
  display: block;
  min-width: 0;
}

.cookie-policy-page__category-name {
  color: var(--color-forest);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: 500;
  line-height: 1.2;
}

.cookie-policy-page__category-name--essential {
  color: var(--color-deep-forest);
}

.cookie-policy-page__category-name--measurement {
  color: var(--color-forest);
}

.cookie-policy-page__category-name--third-party {
  color: var(--color-burgundy);
}

.cookie-policy-page__category-status {
  margin-block-start: var(--space-2);
  color: var(--color-muted-ink);
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: var(--leading-sm);
  text-transform: uppercase;
}

.cookie-policy-page__categories-note {
  width: min(100%, 47.5rem);
  min-width: 0;
  margin-block: var(--space-5) 0;
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
}

.cookie-policy-page__management-block {
  min-width: 0;
  padding-block: var(--space-6);
  border-block-end: var(--border-default);
}

.cookie-policy-page__management-block--cream {
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-card);
  background: var(--color-cream);
}

.cookie-policy-page__management-block h3 {
  margin-block-end: var(--space-4);
}

.cookie-policy-page__management-block > :last-child {
  margin-block-end: 0;
}

.cookie-policy-page__effects-callout {
  display: flex;
  width: min(100%, 42.5rem);
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  margin-block-start: var(--space-6);
  padding: var(--space-5);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-card);
  background: var(--color-pale-sage);
}

.cookie-policy-page__effects-callout > * {
  min-width: 0;
  margin: 0;
}

.cookie-policy-page__effects-callout .eyebrow {
  color: var(--color-forest);
}

.cookie-policy-page__questions {
  padding-block: 5.5rem;
}

.cookie-policy-page__questions-grid {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
}

.cookie-policy-page__questions-copy {
  grid-column: 1 / span 1;
  display: flex;
  width: min(100%, 40rem);
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  color: var(--color-ivory);
}

.cookie-policy-page__questions-copy > * {
  min-width: 0;
  margin: 0;
}

.cookie-policy-page__questions-copy h2 {
  color: var(--color-ivory);
}

.cookie-policy-page__questions-copy .cookie-policy-page__gold-rule {
  width: 100%;
  max-width: 6rem;
  margin-block: var(--space-2);
}

.cookie-policy-page__email-link {
  font-size: var(--text-lg);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.cookie-policy-page__maintenance-note {
  color: var(--color-on-dark-muted);
  font-size: var(--text-sm);
}

@media (max-width: 56.24rem) {
  .cookie-policy-page__opening-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .cookie-policy-page__opening-copy {
    grid-column: 1;
    max-width: 42.5rem;
  }
}

@media (max-width: 47.99rem) {
  .cookie-policy-page__opening {
    padding-block: var(--space-8);
  }

  .cookie-policy-page__opening-copy h1 {
    font-size: clamp(2.75rem, 13vw, 3.25rem);
  }

  .cookie-policy-page__lead {
    font-size: var(--text-base);
  }

  .cookie-policy-page__summary-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .cookie-policy-page__summary-card {
    padding: var(--space-5);
  }

  .cookie-policy-page__table-wrap {
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
  }

  .cookie-policy-page__category-table,
  .cookie-policy-page__category-table caption,
  .cookie-policy-page__category-table tbody,
  .cookie-policy-page__category-table tr,
  .cookie-policy-page__category-table th,
  .cookie-policy-page__category-table td {
    display: block;
    width: 100%;
  }

  .cookie-policy-page__category-table caption {
    padding: 0;
    border: 0;
    background: transparent;
    font-size: var(--text-sm);
  }

  .cookie-policy-page__category-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
  }

  .cookie-policy-page__category-table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    margin-block-start: var(--space-5);
  }

  .cookie-policy-page__category-table tbody tr {
    min-width: 0;
    padding: var(--space-5);
    border: var(--border-default);
    border-radius: var(--radius-card);
    background: var(--color-cream);
  }

  .cookie-policy-page__category-table tbody th,
  .cookie-policy-page__category-table tbody td {
    padding: 0;
    border: 0;
  }

  .cookie-policy-page__category-table tbody td {
    margin-block-start: var(--space-4);
  }

  .cookie-policy-page__category-table tbody td::before {
    display: block;
    margin-block-end: var(--space-2);
    color: var(--color-forest);
    content: attr(data-label);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: var(--leading-xs);
    text-transform: uppercase;
  }

  .cookie-policy-page__management-block--cream {
    padding: var(--space-5);
  }

  .cookie-policy-page__questions {
    padding-block: var(--space-8);
  }

  .cookie-policy-page__questions-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .cookie-policy-page__questions-copy {
    grid-column: 1;
    width: 100%;
  }
}

@media (min-width: 48rem) and (max-width: 74.99rem) {
  .cookie-policy-page__opening {
    padding-block: var(--space-10);
  }

  .cookie-policy-page__questions-copy {
    width: min(100%, 42.5rem);
  }
}


.privacy-policy-page {
  background: var(--color-ivory);
}

.privacy-policy-page :is(#information-collection, #disclosure-protection-retention, #access-corrections-updates, #privacy-contact) {
  scroll-margin-top: var(--space-10);
}

.privacy-policy-opening {
  padding-block: clamp(4.5rem, 10vw, 8rem);
}

.privacy-policy-opening__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-6);
  align-items: start;
}

.privacy-policy-opening__copy,
.privacy-policy-opening__space {
  min-width: 0;
}

.privacy-policy-opening__copy {
  width: 100%;
  max-width: 48rem;
}

.privacy-policy-opening__eyebrow {
  color: var(--color-pale-sage);
}

.privacy-policy-opening h1 {
  color: var(--color-ivory);
  font-size: clamp(2.75rem, 7vw, 5.75rem);
}

.privacy-policy-opening__rule {
  max-width: 7rem;
  margin: 0 0 var(--space-5);
}

.privacy-policy-opening__deck {
  max-width: 48rem;
  color: var(--color-ivory);
  font-size: var(--text-lg);
}

.privacy-policy-opening__status {
  max-width: 46rem;
  margin-bottom: 0;
  color: var(--color-on-dark-muted);
  font-size: var(--text-sm);
  line-height: var(--leading-body);
}

.privacy-policy-glance__intro {
  width: 100%;
  max-width: 44rem;
}

.privacy-policy-glance__intro > :last-child {
  margin-bottom: 0;
}

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

.privacy-policy-glance__card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
}

.privacy-policy-glance__card > * {
  min-width: 0;
  margin: 0;
}

.privacy-policy-glance__card h3 {
  font-size: var(--text-xl);
}

.privacy-policy-glance__card p:not(.privacy-policy-glance__label) {
  width: 100%;
  max-width: 28rem;
}

.privacy-policy-glance__card a {
  margin-top: auto;
  font-weight: 700;
}

.privacy-policy-glance__label {
  width: 100%;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-forest);
  color: var(--color-forest);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-xs);
  text-transform: uppercase;
}

.privacy-policy-glance__label--burgundy {
  border-color: var(--color-burgundy);
  color: var(--color-burgundy);
}

.privacy-policy-glance__label--gold {
  border-color: var(--color-muted-gold);
  color: var(--color-charcoal);
}

.privacy-policy-layout {
  display: grid;
  grid-template-columns: minmax(17.5rem, 4fr) minmax(0, 1fr) minmax(0, 7fr);
  gap: var(--space-5);
  align-items: start;
}

.privacy-policy-layout > * {
  min-width: 0;
}

.privacy-policy-layout--contents {
  grid-template-columns: minmax(17.5rem, 4fr) minmax(0, 8fr);
}

.privacy-policy-contents__panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  margin: 0;
  padding: var(--space-5);
}

.privacy-policy-contents__panel > * {
  min-width: 0;
  margin: 0;
}

.privacy-policy-contents__instruction {
  color: var(--color-muted-ink);
}

.privacy-policy-contents__list {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: policy-contents;
  font-variant-numeric: tabular-nums;
}

.privacy-policy-contents__list li {
  min-width: 0;
  counter-increment: policy-contents;
  border-top: var(--border-default);
}

.privacy-policy-contents__list li:last-child {
  border-bottom: var(--border-default);
}

.privacy-policy-contents__list a {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: center;
  gap: var(--space-3);
  min-width: 0;
  min-height: 3rem;
  padding-block: var(--space-3);
  color: var(--color-forest);
  font-weight: 700;
}

.privacy-policy-contents__list a::before {
  content: counter(policy-contents, decimal-leading-zero);
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
  font-variant-numeric: tabular-nums;
}

.privacy-policy-article-section--quiet {
  background: linear-gradient(90deg, transparent 0%, rgb(255 253 248 / 0.5) 100%);
}

.privacy-policy-rail {
  grid-column: 1;
  width: 100%;
  min-width: 0;
}

.privacy-policy-rail__nav {
  position: sticky;
  top: calc(var(--space-8) + var(--space-4));
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-2);
  width: 100%;
  padding-right: var(--space-5);
  border-right: var(--border-default);
}

.privacy-policy-rail__title {
  margin: 0 0 var(--space-2);
  color: var(--color-forest);
  font-size: var(--text-sm);
  font-weight: 700;
}

.privacy-policy-rail__link {
  display: block;
  width: 100%;
  min-width: 0;
  padding-block: var(--space-2);
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}

.privacy-policy-article {
  grid-column: 3;
  width: 100%;
  max-width: 48rem;
  min-width: 0;
}

.privacy-policy-article > :last-child {
  margin-bottom: 0;
}

.privacy-policy-article__topic {
  width: 100%;
  min-width: 0;
  margin-top: var(--space-7);
}

.privacy-policy-article__topic h3 {
  margin-bottom: var(--space-4);
}

.privacy-policy-context-line {
  width: 100%;
  max-width: 44rem;
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  border-top: var(--border-gold);
}

.privacy-policy-context-line p {
  margin: 0;
}

.privacy-policy-context-line--subtle {
  max-width: 38rem;
  border-color: var(--color-line);
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
}

.privacy-policy-context-panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  width: 100%;
  margin-top: var(--space-7);
  padding: var(--space-5);
  border-left: 2px solid var(--color-muted-gold);
  background: var(--color-pale-sage);
}

.privacy-policy-context-panel > * {
  min-width: 0;
  margin: 0;
}

.privacy-policy-context-panel h3 {
  font-size: var(--text-xl);
}

.privacy-policy-context-panel__label,
.privacy-policy-get-in-touch__label,
.privacy-policy-topic-marker {
  color: var(--color-forest);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-xs);
  text-transform: uppercase;
}

.privacy-policy-topic-marker {
  margin-bottom: var(--space-2);
}

.privacy-policy-secondary-note,
.privacy-policy-final-note {
  max-width: 38rem;
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
}

.privacy-policy-get-in-touch {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  width: 100%;
  margin-top: var(--space-5);
  padding: var(--space-5);
}

.privacy-policy-get-in-touch > * {
  min-width: 0;
  margin: 0;
}

.privacy-policy-get-in-touch h4 {
  font-size: var(--text-lg);
}

.privacy-policy-get-in-touch a {
  display: inline-flex;
  align-items: center;
  min-height: 3rem;
  font-weight: 700;
}

.privacy-policy-article__topic--divided {
  padding-top: var(--space-6);
  border-top: var(--border-default);
}

.privacy-policy-contact__panel {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(17.5rem, 5fr);
  gap: var(--space-7);
  width: 100%;
  padding: clamp(var(--space-6), 5vw, var(--space-8));
  border: 1px solid rgb(24 63 53 / 0.16);
  border-radius: var(--radius-panel);
  background: var(--color-pale-sage);
  box-shadow: var(--shadow-raised);
}

.privacy-policy-contact__copy,
.privacy-policy-contact__actions,
.privacy-policy-contact__address {
  min-width: 0;
}

.privacy-policy-contact__copy {
  width: 100%;
  max-width: 42rem;
}

.privacy-policy-contact__copy > :last-child {
  margin-bottom: 0;
}

.privacy-policy-contact__actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  width: 100%;
}

.privacy-policy-contact__action {
  display: flex;
  min-width: 0;
  min-height: 4rem;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-1);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-forest);
  border-radius: var(--radius-control);
  background: var(--color-ivory);
  color: var(--color-forest);
  text-decoration: none;
  transition: background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base), transform var(--transition-base);
}

.privacy-policy-contact__action:hover {
  background: var(--color-forest);
  color: var(--color-ivory);
  text-decoration: none;
  transform: translateY(-1px);
}

.privacy-policy-contact__action span {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}

.privacy-policy-contact__action strong {
  overflow-wrap: anywhere;
  font-size: var(--text-lg);
  line-height: 1.3;
}

.privacy-policy-contact__action--email {
  border-color: var(--color-burnt-orange);
}

.privacy-policy-contact__address {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0;
  padding-top: var(--space-5);
  border-top: 1px solid rgb(24 63 53 / 0.22);
  color: var(--color-forest);
  font-size: var(--text-sm);
  font-weight: 700;
}

.privacy-policy-page a:focus-visible {
  outline: 3px solid var(--color-focus);
  outline-offset: 3px;
  box-shadow: 0 0 0 2px var(--color-ivory);
}

@media (max-width: 56.24rem) {
  .privacy-policy-layout,
  .privacy-policy-layout--contents {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .privacy-policy-contents__panel,
  .privacy-policy-rail,
  .privacy-policy-article {
    grid-column: 1;
  }

  .privacy-policy-contents__space {
    display: none;
  }

  .privacy-policy-rail__nav {
    position: static;
    display: none;
  }

  .privacy-policy-rail {
    display: none;
  }

  .privacy-policy-article {
    max-width: 48rem;
  }
}

@media (max-width: 53.74rem) {
  .privacy-policy-glance__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .privacy-policy-glance__card:last-child {
    grid-column: 1 / -1;
  }

  .privacy-policy-contact__panel {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .privacy-policy-contact__address {
    grid-column: 1;
  }
}

@media (max-width: 49.99rem) {
  .privacy-policy-opening__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .privacy-policy-opening__space {
    display: none;
  }

  .privacy-policy-opening h1 {
    font-size: clamp(2.75rem, 11vw, 3.25rem);
  }
}

@media (max-width: 35.99rem) {
  .privacy-policy-glance__cards {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .privacy-policy-glance__card:last-child {
    grid-column: 1;
  }

  .privacy-policy-glance__card {
    padding: var(--space-4);
  }

  .privacy-policy-contents__panel {
    padding: var(--space-4);
  }

  .privacy-policy-contents__list a {
    min-height: 3.25rem;
  }

  .privacy-policy-article__topic {
    margin-top: var(--space-6);
  }

  .privacy-policy-context-panel,
  .privacy-policy-get-in-touch {
    padding: var(--space-4);
  }

  .privacy-policy-contact__panel {
    padding: var(--space-5);
  }
}

@media (prefers-reduced-motion: reduce) {
  .privacy-policy-contact__action:hover {
    transform: none;
  }
}


.terms-page {
  background: var(--color-ivory);
}

.terms-page__opening {
  padding-block: 6rem;
}

.terms-page__opening-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 7fr) minmax(0, 4fr);
}

.terms-page__opening-copy {
  grid-column: 2;
  min-width: 0;
  max-width: 45rem;
}

.terms-page__opening-copy > :last-child,
.terms-page__legal-stream > :last-child,
.terms-page__website-stream > :last-child,
.terms-page__attendance-stream > :last-child,
.terms-page__poker-stream > :last-child,
.terms-page__events-copy > :last-child,
.terms-page__limits-stream > :last-child,
.terms-page__questions-copy > :last-child {
  margin-block-end: 0;
}

.terms-page__opening-eyebrow,
.terms-page__questions-eyebrow {
  color: var(--color-pale-sage);
}

.terms-page__opening-lead {
  max-width: 44rem;
  font-size: var(--text-lg);
  line-height: var(--leading-body);
}

.terms-page__opening-copy a {
  color: var(--color-ivory);
}

.terms-page__opening-rule {
  max-width: 45rem;
  margin-block: var(--space-6);
}

.terms-page__document-context {
  display: flex;
  min-width: 0;
  max-width: 45rem;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid rgb(220 231 217 / 0.45);
  border-radius: var(--radius-card);
  background: rgb(220 231 217 / 0.12);
}

.terms-page__document-context p {
  margin: 0;
}

.terms-page__document-context .eyebrow {
  color: var(--color-pale-sage);
}

.terms-page__section {
  padding-block: var(--section-space);
}

.terms-page__section--website {
  background: linear-gradient(180deg, var(--color-ivory) 0%, var(--color-cream) 100%);
}

.terms-page__section--attendance {
  background: linear-gradient(180deg, var(--color-cream) 0%, var(--color-ivory) 100%);
}

.terms-page__legal-stream,
.terms-page__website-stream,
.terms-page__poker-stream {
  max-width: 47.5rem;
}

.terms-page__attendance-stream {
  max-width: 45rem;
}

.terms-page__limits-stream {
  max-width: 45.25rem;
}

.terms-page__numbered-list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-7);
  margin: var(--space-7) 0 0;
  padding: 0;
  list-style: none;
}

.terms-page__numbered-list--continued {
  margin-block-start: var(--space-6);
}

.terms-page__numbered-item {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  column-gap: var(--space-4);
  min-width: 0;
}

.terms-page__number {
  grid-column: 1;
  min-width: 0;
  color: var(--color-muted-gold);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-xs);
}

.terms-page__item-copy {
  grid-column: 2;
  min-width: 0;
  max-width: 42.5rem;
}

.terms-page__numbered-item--burgundy .terms-page__item-copy {
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-burgundy);
}

.terms-page__plain-unit {
  min-width: 0;
  max-width: 43.75rem;
}

.terms-page__plain-unit--ruled {
  padding-block-start: var(--space-5);
  border-block-start: var(--border-default);
}

.terms-page__plain-unit + .terms-page__plain-unit {
  margin-block-start: var(--space-6);
}

.terms-page__sage-callout,
.terms-page__confirmation-note {
  display: flex;
  min-width: 0;
  max-width: 43.75rem;
  flex-direction: column;
  gap: var(--space-3);
  margin-block: var(--space-6);
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-card);
}

.terms-page__sage-callout {
  background: var(--color-pale-sage);
}

.terms-page__confirmation-note {
  background: var(--color-cream);
}

.terms-page__sage-callout h3,
.terms-page__sage-callout p,
.terms-page__confirmation-note h3,
.terms-page__confirmation-note p {
  margin: 0;
}

.terms-page__pull-line {
  max-width: 31.875rem;
  margin-block: var(--space-6);
}

.terms-page__responsible-callout {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  column-gap: var(--space-4);
  min-width: 0;
  max-width: 47.5rem;
  margin-block: var(--space-7);
  padding: var(--space-6);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-card);
  background: var(--color-pale-sage);
}

.terms-page__suit-rule {
  grid-column: 1;
  min-width: 0;
  color: var(--color-muted-gold);
  font-size: var(--text-2xl);
  line-height: 1;
}

.terms-page__responsible-copy {
  grid-column: 2;
  min-width: 0;
  max-width: 40.625rem;
}

.terms-page__responsible-copy h3,
.terms-page__responsible-copy p {
  margin: 0;
}

.terms-page__responsible-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.terms-page__offline-label {
  display: inline-flex;
  width: fit-content;
  min-width: 0;
  margin-block: 0 var(--space-3);
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-forest);
  border-radius: var(--radius-control);
  color: var(--color-forest);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-xs);
  text-transform: uppercase;
}

.terms-page__definitions {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-block: var(--space-5) 0;
}

.terms-page__definitions > div {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1fr);
  column-gap: var(--space-4);
  min-width: 0;
  padding-block-end: var(--space-3);
  border-block-end: var(--border-default);
}

.terms-page__definitions dt,
.terms-page__definitions dd {
  min-width: 0;
  margin: 0;
}

.terms-page__definitions dt {
  grid-column: 1;
}

.terms-page__definitions dd {
  grid-column: 2;
}

.terms-page__arrival-note {
  margin-block-end: 0;
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}

.terms-page__section--events {
  padding-block: var(--section-space-compact) var(--section-space);
}

.terms-page__events-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 47.5rem) minmax(0, 1fr);
  min-width: 0;
  padding: var(--space-8);
  border: var(--border-default);
  border-radius: var(--radius-panel);
  background: var(--color-cream);
  box-shadow: var(--shadow-card);
}

.terms-page__events-copy {
  grid-column: 2;
  display: flex;
  min-width: 0;
  max-width: 43.75rem;
  flex-direction: column;
  gap: var(--space-6);
}

.terms-page__events-copy h2,
.terms-page__events-copy .terms-page__plain-unit,
.terms-page__events-copy .terms-page__tertiary-link {
  margin: 0;
}

.terms-page__tertiary-link,
.terms-page__contact-link {
  display: inline-flex;
  width: fit-content;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-forest);
  font-weight: 700;
  text-decoration-color: var(--color-muted-gold);
  text-underline-offset: 0.22em;
}

.terms-page__plain-unit--closing {
  max-width: 35rem;
  margin-block-start: var(--space-6);
}

.terms-page__questions {
  padding-block: var(--space-8) var(--section-space);
}

.terms-page__questions-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 47.5rem) minmax(0, 1fr);
  min-width: 0;
  padding: var(--space-7);
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-raised);
}

.terms-page__questions-copy {
  grid-column: 2;
  display: flex;
  min-width: 0;
  max-width: 35rem;
  flex-direction: column;
  gap: var(--space-4);
}

.terms-page__questions-copy h2,
.terms-page__questions-copy p,
.terms-page__questions-copy .eyebrow,
.terms-page__questions-copy .terms-page__contact-link {
  margin: 0;
}

.terms-page__questions-copy a {
  color: var(--color-ivory);
  text-decoration-color: var(--color-muted-gold);
}

.terms-page__contact-link {
  margin-block-start: var(--space-2) !important;
  color: var(--color-ivory) !important;
}

@media (max-width: 56.24rem) {
  .terms-page__opening-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-page__opening-copy {
    grid-column: 1;
  }
}

@media (max-width: 47.99rem) {
  .terms-page__opening {
    padding-block: 4rem;
  }

  .terms-page__opening-copy,
  .terms-page__opening-lead,
  .terms-page__opening-rule,
  .terms-page__document-context,
  .terms-page__plain-unit,
  .terms-page__sage-callout,
  .terms-page__confirmation-note,
  .terms-page__responsible-callout {
    max-width: none;
  }

  .terms-page__section {
    padding-block: 4rem;
  }

  .terms-page__section--events {
    padding-block: var(--section-space-compact) 4rem;
  }

  .terms-page__numbered-list {
    gap: var(--space-6);
  }

  .terms-page__numbered-item {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-2);
  }

  .terms-page__number,
  .terms-page__item-copy {
    grid-column: 1;
  }

  .terms-page__numbered-item--burgundy .terms-page__item-copy {
    padding-inline-start: 0;
    border-inline-start: 0;
  }

  .terms-page__numbered-item--burgundy .terms-page__item-copy h3 {
    padding-inline-start: var(--space-3);
    border-inline-start: 2px solid var(--color-burgundy);
  }

  .terms-page__responsible-callout {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-3);
    padding: var(--space-5);
  }

  .terms-page__suit-rule,
  .terms-page__responsible-copy {
    grid-column: 1;
  }

  .terms-page__definitions > div {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-1);
  }

  .terms-page__definitions dt,
  .terms-page__definitions dd {
    grid-column: 1;
  }

  .terms-page__events-panel,
  .terms-page__questions-panel {
    grid-template-columns: minmax(0, 1fr);
    padding: var(--space-5);
  }

  .terms-page__events-copy,
  .terms-page__questions-copy {
    grid-column: 1;
    max-width: none;
  }

  .terms-page__questions {
    padding-block: var(--space-7) 4rem;
  }

  .terms-page__tertiary-link,
  .terms-page__contact-link {
    width: 100%;
  }
}

@media (min-width: 48rem) and (max-width: 74.99rem) {
  .terms-page__opening {
    padding-block: 5.5rem;
  }

  .terms-page__events-panel {
    padding: var(--space-7);
  }
}


.offline-poker-page{background:var(--color-ivory)}
.offline-poker-page .section--major{padding-block:var(--section-space-major)}
.offline-poker-page .eyebrow{position:relative}
.op-hero__eyebrow{padding-block-start:var(--space-4)}
.op-hero__eyebrow::before{content:"";position:absolute;top:0;left:0;width:4rem;height:1px;background:var(--color-muted-gold)}
.op-hero__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.op-hero__copy,.op-hero__figure,.op-offline__copy,.op-offline__figure,.op-feel__figure,.op-feel__copy{min-width:0;width:100%}
.op-hero__copy{max-width:31rem;padding-block-start:var(--space-5)}
.op-hero__lead{max-width:31rem}
.op-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-block-start:var(--space-5)}
.op-hero__actions>a{min-width:0;min-height:3rem}
.op-hero__helper{max-width:26rem;margin-block-start:var(--space-3);color:var(--color-muted-ink);font-size:var(--text-sm);line-height:var(--leading-sm)}
.op-hero__figure{margin:var(--space-6) 0 0}.op-hero__figure img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-panel)}
.op-offline__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.op-offline__copy{max-width:32rem}.op-offline__intro{max-width:40rem}.op-offline__units{display:flex;flex-direction:column;gap:var(--space-6);margin-block-start:var(--space-6)}
.op-numbered-unit{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:var(--space-3);padding-block-start:var(--space-4);border-top:var(--border-default)}
.op-numbered-unit>span{min-width:0;color:var(--color-burgundy);font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums}.op-numbered-unit>div{min-width:0;max-width:29rem}.op-numbered-unit h3{font-size:var(--text-xl)}
.op-offline__figure{margin:0}.op-offline__figure img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-panel)}
.op-holdem__intro{max-width:44rem}.op-holdem__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin-block-start:var(--space-6)}
.op-info-card{display:flex;flex-direction:column;min-width:0;gap:var(--space-3);padding:var(--space-5)}.op-info-card>*{min-width:0;margin:0}.op-info-card p:not(.op-card-label){width:min(100%, 30rem)}.op-card-label{color:var(--color-burgundy);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;line-height:var(--leading-xs);text-transform:uppercase}.op-suit-mark{color:var(--color-burgundy);font-size:var(--text-xl);line-height:1}.op-holdem__link{margin-block-start:var(--space-5)}
.op-path__heading{max-width:40rem}.op-path__steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:var(--space-7) 0 var(--space-6);padding:0;list-style:none}.op-path__steps>li{display:grid;grid-template-columns:1fr;min-width:0;padding-inline:var(--space-5);border-inline-start:1px solid rgb(220 231 217 / .35)}.op-path__steps>li:first-child{padding-inline-start:0;border-inline-start:0}.op-path__steps span{color:var(--color-muted-gold);font-size:var(--text-2xl);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.op-path__steps div{min-width:0;margin-block-start:var(--space-4)}.op-path__steps h3{font-size:var(--text-xl)}.op-path__steps p{width:min(100%, 19rem)}.op-path__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.op-path__actions>*{min-width:0}
.op-feel__heading{max-width:40rem;margin-block-end:var(--space-6)}.op-feel__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,6vw,5rem);align-items:center}.op-feel__figure{margin:0}.op-feel__figure img{width:100%;aspect-ratio:3/2;object-fit:cover;border:var(--space-2) solid var(--color-cream);border-radius:var(--radius-card)}.op-feel__copy{display:flex;flex-direction:column;gap:var(--space-5);max-width:32rem}.op-feel__copy>*,.op-feel__copy div>*{min-width:0}.op-feel__copy p{width:min(100%, 32rem)}.op-feel__table-copy{padding-block-start:var(--space-5);border-top:var(--border-gold)}.op-feel__copy blockquote{max-width:24rem}
.op-rules__intro{max-width:42rem}.op-rules__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin-block-start:var(--space-6)}.op-rule-card{min-width:0;padding:var(--space-5);background:var(--color-cream)}.op-rule-card p{width:min(100%, 27rem)}.op-rules__link{margin-block-start:var(--space-5)}
.op-responsible__panel{display:flex;flex-direction:column;gap:var(--space-5);min-width:0;padding:clamp(1.5rem,5vw,4rem);border-radius:var(--radius-panel);background:var(--color-pale-sage)}.op-responsible__panel>*{min-width:0;margin:0}.op-responsible__panel h2{max-width:42rem}.op-responsible__copy{max-width:42rem}.op-responsible__copy>*{margin-block:0 var(--space-4)}.op-responsible__copy>*:last-child{margin-block-end:0}.op-variability-notice{width:100%;min-width:0;padding:var(--space-5);border:1px solid var(--color-burgundy);border-inline-start:4px solid var(--color-burgundy);background:var(--color-cream);color:var(--color-charcoal);font-weight:700;line-height:var(--leading-body)}
.op-faq__intro{max-width:40rem}.op-faq__list{display:flex;flex-direction:column;gap:0;margin-block-start:var(--space-6);border-top:var(--border-default)}.op-faq__item{min-width:0;border-bottom:var(--border-default)}.op-faq__item h3{margin:0;font-family:var(--font-body);font-size:var(--text-lg);letter-spacing:0}.op-faq__item button{display:flex;width:100%;min-width:0;min-height:3.5rem;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0;border:0;border-radius:0;background:transparent;color:var(--color-charcoal);font-size:var(--text-lg);font-weight:700;text-align:left}.op-faq__item button:hover{background:transparent;color:var(--color-forest)}.op-faq__item button span{flex:0 0 auto;color:var(--color-muted-gold);font-size:1.5rem;font-weight:400;line-height:1}.op-faq__answer{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows 220ms ease-out,opacity 180ms ease-out}.op-faq__answer>p{min-height:0;overflow:hidden;width:min(100%, 42rem);margin:0}.op-faq__item button[aria-expanded="true"]+ .op-faq__answer{grid-template-rows:1fr;opacity:1}.op-faq__item button[aria-expanded="true"] span{font-size:0}.op-faq__item button[aria-expanded="true"] span::after{content:"−";font-size:1.5rem}.op-faq__item button[aria-expanded="true"]+ .op-faq__answer>p{padding-block-end:var(--space-5)}.op-faq__link{margin-block-start:var(--space-5)}
.op-final__panel{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-7);padding:clamp(1.5rem,4vw,4rem)}.op-final__schedule,.op-final__events{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);min-width:0}.op-final__schedule>*,.op-final__events>*{min-width:0;margin:0}.op-final__schedule p{width:min(100%, 31rem)}.op-final__events{padding-inline-start:var(--space-7);border-inline-start:var(--border-default)}.op-final__events p{width:min(100%, 23rem)}.op-final__events h3{font-size:var(--text-2xl)}
@media (max-width:68.74rem){.op-path__steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}.op-path__steps>li:nth-child(3){padding-inline-start:0;border-inline-start:0}.op-path__steps>li{padding-inline-start:var(--space-6)}}
@media (max-width:63.99rem){.op-holdem__cards{grid-template-columns:repeat(2,minmax(0,1fr))}.op-holdem__cards>:last-child{grid-column:1 / -1}.op-rules__cards{grid-template-columns:repeat(2,minmax(0,1fr))}.op-rules__cards>:last-child{grid-column:1 / -1}.op-final__panel{gap:var(--space-5)}}
@media (max-width:56.24rem){.op-hero__grid,.op-offline__grid{grid-template-columns:minmax(0,1fr)}.op-hero__copy{max-width:31rem;padding-block-start:0}.op-hero__figure{max-width:53.75rem;margin:0}.op-offline__copy{max-width:none}.op-offline__figure{max-width:53.75rem;order:0}.op-offline__copy{order:1}.op-offline__units{max-width:32rem}.op-offline__figure img{aspect-ratio:4/3}.op-hero__figure img{aspect-ratio:3/2}}
@media (max-width:49.99rem){.op-feel__grid{grid-template-columns:minmax(0,1fr);gap:var(--space-6)}.op-feel__copy{max-width:none}.op-feel__figure img{aspect-ratio:4/3}.op-final__panel{grid-template-columns:minmax(0,1fr);gap:var(--space-5)}.op-final__events{padding-block-start:var(--space-5);padding-inline-start:0;border-inline-start:0;border-top:var(--border-default)}}
@media (max-width:51.24rem){.op-path__steps{grid-template-columns:minmax(0,1fr);gap:0}.op-path__steps>li,.op-path__steps>li:nth-child(3){grid-template-columns:2.625rem minmax(0,1fr);gap:var(--space-3);padding:var(--space-5) 0;border-inline-start:0;border-top:1px solid rgb(220 231 217 / .35)}.op-path__steps>li:first-child{border-top:0;padding-block-start:0}.op-path__steps div{margin:0}.op-path__steps p{width:min(100%, 36ch)}.op-path__actions{flex-direction:column;align-items:stretch}.op-path__actions>a{width:100%}}
@media (max-width:43.74rem){.op-holdem__cards,.op-rules__cards{grid-template-columns:minmax(0,1fr)}.op-holdem__cards>:last-child,.op-rules__cards>:last-child{grid-column:auto}.op-info-card,.op-rule-card{padding:var(--space-5)}}
@media (max-width:47.99rem){.offline-poker-page .section--major{padding-block:var(--section-space-major)}.op-hero__grid,.op-offline__grid,.op-feel__grid{gap:var(--space-6)}.op-hero__copy h1{font-size:clamp(2.9rem,13vw,3.25rem);line-height:.98}.op-hero__actions{flex-direction:column;align-items:stretch}.op-hero__actions>a{width:100%}.op-hero__figure img{aspect-ratio:4/3}.op-offline__units{gap:var(--space-5)}.op-numbered-unit{grid-template-columns:2rem minmax(0,1fr)}.op-numbered-unit>div{max-width:36ch}.op-holdem__cards{gap:var(--space-4)}.op-path__heading h2,.op-feel__heading h2{font-size:clamp(2.25rem,10vw,2.6rem)}.op-feel__copy{gap:var(--space-5)}.op-final__schedule>a,.op-final__events>a{width:100%}.op-faq__item button{font-size:var(--text-base)}.op-faq__answer>p{width:100%}.op-responsible__panel{padding:var(--space-5)}.op-variability-notice{padding:var(--space-4)}}
@media (prefers-reduced-motion:reduce){.op-faq__answer{transition:none}}


.about-page {
  background: var(--color-ivory);
}

.about-page .section {
  padding-block: 4rem;
}

.about-hero {
  padding-block: 6rem 4rem;
}

.about-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
  width: min(100%, var(--container-max));
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

.about-hero__copy,
.about-hero__media,
.about-table__media,
.about-table__copy,
.about-dining__copy,
.about-dining__media,
.about-rhythm__lead,
.about-rhythm__list,
.about-events__lead,
.about-events__paths {
  min-width: 0;
}

.about-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 37rem;
}

.about-hero__copy > * {
  margin: 0;
}

.about-hero__location {
  width: 100%;
  padding-block-start: var(--space-3);
  border-top: var(--border-gold);
  color: var(--color-forest);
  font-size: var(--text-sm);
  font-weight: 700;
}

.about-hero__copy .eyebrow {
  color: var(--color-burgundy);
}

.about-hero__standfirst {
  color: var(--color-charcoal);
  font-size: var(--text-lg);
  line-height: 1.5;
}

.about-hero__helper {
  color: var(--color-muted-ink);
}

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

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

.about-hero__media {
  width: 100%;
  margin: 0;
}

.about-hero__media img,
.about-table__media img,
.about-dining__media img {
  width: 100%;
  max-width: 100%;
  object-fit: cover;
  border-radius: var(--radius-panel);
}

.about-hero__media img {
  aspect-ratio: 3 / 2;
}

.about-hospitality__intro {
  width: 100%;
  max-width: 43rem;
}

.about-hospitality__pillars {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-7);
}

.about-pillar {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding-block-start: var(--space-4);
  border-top: var(--border-default);
}

.about-pillar > * {
  margin: 0;
}

.about-pillar h3 {
  font-size: var(--text-xl);
}

.about-pillar--orange { border-color: var(--color-burnt-orange); }
.about-pillar--gold { border-color: var(--color-muted-gold); }
.about-pillar--forest { border-color: var(--color-forest); }

.about-table__grid,
.about-dining__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: center;
  gap: clamp(2.5rem, 5vw, 3.5rem);
}

.about-table__media,
.about-dining__media {
  width: 100%;
  margin: 0;
}

.about-table__media img {
  aspect-ratio: 3 / 2;
}

.about-table__media figcaption {
  max-width: 28rem;
  padding-block-start: var(--space-3);
  border-top: 1px solid var(--color-cream);
}

.about-table__copy,
.about-dining__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 38rem;
}

.about-table__copy > *,
.about-dining__copy > * {
  margin: 0;
}

.about-table__copy p:not(.eyebrow),
.about-dining__copy p {
  line-height: var(--leading-body);
}

.about-cardroom {
  background: var(--color-forest);
  color: var(--color-ivory);
}

.about-cardroom__intro {
  max-width: 40rem;
}

.about-cardroom__intro .eyebrow {
  color: var(--color-soft-coral);
}

.about-cardroom__intro p:not(.eyebrow) {
  color: var(--color-ivory);
}

.about-cardroom__audiences {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-7);
}

.about-audience {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding-block-start: var(--space-4);
  border-top: var(--border-gold);
}

.about-audience > * {
  margin: 0;
}

.about-audience h3,
.about-audience p {
  color: var(--color-ivory);
}

.about-audience p {
  width: min(100%, 21rem);
}

.about-rhythm__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  align-items: start;
  gap: clamp(2.5rem, 7vw, 7rem);
}

.about-rhythm__lead {
  max-width: 39rem;
}

.about-rhythm__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  margin: 0;
  padding: 0;
  list-style: none;
}

.about-moment {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-block-start: var(--space-5);
  border-top: var(--border-default);
}

.about-moment__number {
  min-width: 0;
  color: var(--color-burgundy);
  font-size: var(--text-sm);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.08em;
}

.about-moment__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  max-width: 31rem;
}

.about-moment__copy > * {
  margin: 0;
}

.about-moment__copy h3 {
  font-size: var(--text-xl);
}

.about-dining__grid {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
}

.about-dining__media {
  order: 2;
}

.about-dining__media img {
  aspect-ratio: 4 / 3;
}

.about-dining__copy h3 {
  font-size: var(--text-xl);
  margin-block-start: var(--space-2);
}

.about-expectations {
  background: var(--color-pale-sage);
}

.about-expectations__intro {
  max-width: 44rem;
}

.about-expectations__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-7);
}

.about-expectation {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
}

.about-expectation > * {
  margin: 0;
}

.about-expectation h3 {
  font-size: var(--text-xl);
}

.about-expectation__label {
  color: var(--color-burgundy);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.about-events {
  background: var(--color-burgundy);
  color: var(--color-ivory);
}

.about-events__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: start;
  gap: clamp(2.5rem, 6vw, 6rem);
}

.about-events__lead {
  max-width: 42rem;
}

.about-events__lead .eyebrow {
  color: var(--color-soft-coral);
}

.about-events h2,
.about-events h3,
.about-events p {
  color: var(--color-ivory);
}

.about-events__paths {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.about-event-path {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 25rem;
  padding-block-start: var(--space-4);
  border-top: var(--border-gold);
}

.about-event-path > * {
  margin: 0;
}

.about-event-path h3 {
  font-size: var(--text-xl);
}

.about-event-path .button {
  background: var(--color-ivory);
  color: var(--color-forest);
}

.about-event-path .button:hover {
  background: var(--color-pale-sage);
  color: var(--color-deep-forest);
}

.about-routes__intro {
  max-width: 33rem;
  margin-inline: auto;
  text-align: center;
}

.about-routes__rule {
  width: 4rem;
  height: 1px;
  margin: 0 auto var(--space-4);
  background: var(--color-muted-gold);
}

.about-routes__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-7);
}

.about-route {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
}

.about-route > * {
  margin: 0;
}

.about-route h3 {
  font-size: var(--text-xl);
}

.about-route .eyebrow {
  color: var(--color-burgundy);
}

.about-route:nth-child(3) .eyebrow {
  color: var(--color-forest);
}

.about-route .button {
  margin-top: auto;
}

.about-routes__note {
  max-width: 42rem;
  margin: var(--space-7) auto 0;
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-card);
  background: var(--color-pale-sage);
  text-align: center;
}

.about-routes__note p {
  margin: 0;
}

.about-routes__note-label {
  margin-bottom: var(--space-2) !important;
  color: var(--color-burgundy);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

@media (min-width: 48rem) {
  .about-page .section {
    padding-block: 5.5rem;
  }

  .about-hero {
    padding-block: 8rem 5.5rem;
  }
}

@media (min-width: 75rem) {
  .about-page .section {
    padding-block: 8rem;
  }

  .about-hero {
    padding-block: 10rem 8rem;
  }
}

@media (max-width: 61.24rem) {
  .about-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-7);
  }

  .about-hero__copy {
    max-width: 43rem;
  }

  .about-hero__media {
    width: 100%;
  }
}

@media (max-width: 57.49rem) {
  .about-table__grid,
  .about-dining__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .about-table__media,
  .about-dining__media {
    order: 1;
  }

  .about-table__copy,
  .about-dining__copy {
    order: 2;
    max-width: 38rem;
  }

  .about-table__media img {
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 56.24rem) {
  .about-rhythm__grid,
  .about-events__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .about-events__paths {
    gap: var(--space-5);
  }
}

@media (max-width: 53.74rem) {
  .about-hospitality__pillars,
  .about-cardroom__audiences {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .about-audience p {
    width: min(100%, 40rem);
  }
}

@media (max-width: 51.24rem) {
  .about-routes__cards {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 47.49rem) {
  .about-expectations__cards {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 47.99rem) {
  .about-page .section {
    padding-block: 4rem;
  }

  .about-hero {
    padding-block: 6rem 4rem;
  }

  .about-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .about-hero__actions .button {
    width: 100%;
  }

  .about-hero__media img,
  .about-dining__media img,
  .about-table__media img {
    border-radius: var(--radius-card);
  }

  .about-moment {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .about-moment__copy {
    max-width: 100%;
  }

  .about-expectation,
  .about-route {
    padding: var(--space-5);
  }

  .about-expectation .button--secondary,
  .about-route .button {
    width: 100%;
  }

  .about-event-path .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-page .card--interactive:hover {
    transform: none;
  }
}


.contact-page {
  overflow: clip;
}

.contact-page .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.contact-opening__grid,
.contact-visit__feature,
.contact-gather__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-8);
  align-items: start;
}

.contact-opening__copy,
.contact-opening__routes,
.contact-visit__details,
.contact-map,
.contact-gather__dining,
.contact-gather__groups {
  min-width: 0;
}

.contact-opening__copy {
  width: 100%;
  max-width: 52rem;
}

.contact-opening__lead {
  max-width: 52rem;
  font-size: var(--text-lg);
}

.contact-opening__routes {
  width: 100%;
  padding: var(--space-6);
}

.contact-opening__route-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.contact-route {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-4);
  border: var(--border-default);
  border-radius: var(--radius-card);
  background: var(--color-cream);
}

.contact-route > * {
  min-width: 0;
  margin: 0;
}

.contact-route__label,
.contact-hours__label {
  color: var(--color-burgundy);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-xs);
  text-transform: uppercase;
}

.contact-route__title {
  color: var(--color-forest);
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: 700;
  letter-spacing: 0;
  line-height: var(--leading-sm);
}

.contact-route p:not(.contact-route__label) {
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}

.contact-route a,
.conversation-card__links a,
.contact-visit__note-links a,
.contact-hours__panel a,
.contact-card-room__block a,
.contact-gather__actions a {
  font-weight: 700;
}

.contact-conversations__intro {
  width: 100%;
  max-width: 48rem;
}

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

.conversation-card {
  min-width: 0;
  height: 100%;
  overflow: hidden;
}

.conversation-card::before {
  display: block;
  width: 100%;
  height: 4px;
  content: "";
}

.conversation-card--dining::before { background: var(--color-burnt-orange); }
.conversation-card--poker::before { background: var(--color-burgundy); }
.conversation-card--events::before { background: var(--color-forest); }
.conversation-card--general::before { background: var(--color-muted-gold); }

.conversation-card__content {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
}

.conversation-card__content > * {
  min-width: 0;
  margin: 0;
}

.conversation-card h3 {
  font-size: var(--text-xl);
}

.conversation-card p {
  color: var(--color-muted-ink);
}

.conversation-card__content > .button--text {
  margin-top: auto;
}

.conversation-card__links {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-top: auto;
}

.contact-visit__feature {
  grid-template-columns: minmax(0, 7fr) minmax(20rem, 5fr);
  padding: var(--space-7);
  border: var(--border-default);
  border-radius: var(--radius-panel);
  background: var(--color-cream);
}

.contact-visit__details {
  width: 100%;
}

.contact-visit__details > p:not(.eyebrow) {
  width: 100%;
  max-width: 44rem;
}

.contact-visit__address {
  width: 100%;
  max-width: 40rem;
  margin-bottom: var(--space-5);
  color: var(--color-forest);
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: var(--leading-heading);
}

.contact-visit__note {
  display: flex;
  width: 100%;
  max-width: 44rem;
  flex-direction: column;
  gap: var(--space-4);
  margin-top: var(--space-6);
  padding: var(--space-5);
  border-radius: var(--radius-card);
}

.contact-visit__note > * {
  min-width: 0;
  margin: 0;
}

.contact-visit__note h3 {
  font-size: var(--text-xl);
}

.contact-visit__note-links {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3) var(--space-5);
}

.contact-map {
  position: relative;
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 25rem;
  align-items: flex-end;
  overflow: hidden;
  border: var(--border-default);
  border-radius: var(--radius-panel);
  background: linear-gradient(145deg, #edf0e8 0%, var(--color-pale-sage) 100%);
}

.contact-map__lines,
.contact-map__lines span {
  position: absolute;
  inset: 0;
}

.contact-map__lines span {
  display: block;
  width: 140%;
  height: 1px;
  background: rgb(24 63 53 / 0.18);
  transform-origin: left center;
}

.contact-map__lines span:nth-child(1) { top: 20%; transform: rotate(19deg); }
.contact-map__lines span:nth-child(2) { top: 42%; transform: rotate(-14deg); }
.contact-map__lines span:nth-child(3) { top: 64%; transform: rotate(23deg); }
.contact-map__lines span:nth-child(4) { top: 82%; transform: rotate(-25deg); }

.contact-map__content {
  position: relative;
  z-index: 1;
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin: var(--space-4);
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-card);
  background: rgb(255 253 248 / 0.94);
}

.contact-map__content > * {
  min-width: 0;
  margin: 0;
}

.contact-map__content p:not(.eyebrow) {
  width: 100%;
  max-width: 30rem;
  color: var(--color-muted-ink);
}

.contact-external {
  margin-left: var(--space-1);
}

.contact-hours__intro {
  width: 100%;
  max-width: 46rem;
}

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

.contact-hours__panel {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
}

.contact-hours__panel > * {
  min-width: 0;
  margin: 0;
}

.contact-hours__panel--poker {
  border-radius: var(--radius-panel);
}

.contact-hours__panel--poker .contact-hours__label {
  color: var(--color-pale-sage);
}

.contact-hours__placeholder {
  width: 100%;
  max-width: 28rem;
  padding-block: var(--space-3);
  border-block: var(--border-gold);
  color: var(--color-forest);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  line-height: var(--leading-tight);
}

.contact-hours__panel--poker .contact-hours__placeholder {
  color: var(--color-ivory);
}

.contact-hours__note {
  width: 100%;
  max-width: 46rem;
  margin-top: var(--space-6);
}

.contact-enquiry__intro {
  width: 100%;
  max-width: 48rem;
  margin-inline: auto;
}

.contact-enquiry__required-note {
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
}

.contact-enquiry__required-note span,
.contact-form label > span[aria-hidden="true"] {
  color: var(--color-burgundy);
}

.contact-form {
  display: flex;
  width: 100%;
  max-width: 47.5rem;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
  margin: var(--space-6) auto 0;
  padding: var(--space-6);
  border-top: 4px solid var(--color-burnt-orange);
}

.contact-form > * {
  min-width: 0;
  margin: 0;
}

.contact-form__field-grid,
.contact-form__context-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.contact-form__field,
.contact-form__consent {
  min-width: 0;
}

.contact-form__field label {
  display: block;
}

.contact-form__hint,
.contact-form__error {
  margin: var(--space-2) 0 0;
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}

.contact-form__hint {
  width: 100%;
  max-width: 40rem;
  color: var(--color-muted-ink);
}

.contact-form__error {
  display: none;
  color: var(--color-burgundy);
  font-weight: 700;
}

.contact-form__error.is-visible {
  display: block;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  border-radius: var(--radius-card);
}

.contact-form input:not([type="checkbox"]),
.contact-form select {
  min-height: 3rem;
}

.contact-form textarea {
  min-height: 9.375rem;
}

.contact-form [aria-invalid="true"] {
  border-color: var(--color-burgundy);
  box-shadow: 0 0 0 1px var(--color-burgundy);
}

.contact-form__optional {
  color: var(--color-muted-ink);
  font-weight: 400;
}

.contact-form__context {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
  padding: var(--space-5);
  margin: 0;
}

.contact-form__context > * {
  min-width: 0;
  margin: 0;
}

.contact-form__consent {
  display: grid;
  grid-template-columns: 1.125rem minmax(0, 1fr);
  column-gap: var(--space-3);
  align-items: start;
}

.contact-form__consent input {
  grid-column: 1;
  margin-top: 0.15rem;
}

.contact-form__consent label {
  grid-column: 2;
  margin: 0;
  font-weight: 400;
}

.contact-form__consent .contact-form__error {
  grid-column: 2;
}

.contact-form__submit-row {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.contact-form__submit-row > * {
  min-width: 0;
}

.contact-form__status {
  width: 100%;
  min-height: 1.5rem;
  color: var(--color-forest);
  font-weight: 700;
}

.contact-form__status.is-error {
  color: var(--color-burgundy);
}

.contact-card-room__panel {
  display: flex;
  width: 100%;
  max-width: 47.5rem;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
  margin-inline: auto;
  padding: var(--space-7);
  border-radius: var(--radius-panel);
}

.contact-card-room__panel > * {
  min-width: 0;
  margin: 0;
}

.contact-card-room__guidance {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
}

.contact-card-room__block {
  position: relative;
  width: 100%;
  max-width: 44rem;
  padding-block: var(--space-5);
  border-top: var(--border-default);
}

.contact-card-room__block > :last-child {
  margin-bottom: 0;
}

.contact-card-room__block h3 {
  font-size: var(--text-xl);
}

.contact-card-room__mark {
  color: var(--color-burgundy);
  font-size: var(--text-2xl);
  line-height: 1;
}

.contact-card-room__block--responsible {
  padding: var(--space-5);
  border: 0;
  border-radius: var(--radius-card);
  background: rgb(255 253 248 / 0.62);
}

.contact-follow__inner {
  width: 100%;
  max-width: 37.5rem;
  margin-inline: auto;
}

.contact-follow__intro {
  width: 100%;
  max-width: 42rem;
}

.contact-follow__social-list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-5);
}

.contact-social-row {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-4);
  border: var(--border-default);
  border-radius: var(--radius-card);
  background: var(--color-cream);
}

.contact-social-row > * {
  min-width: 0;
}

.contact-social-row__status {
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
  text-align: right;
}

.contact-follow__direct {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 1fr);
  gap: var(--space-5);
  align-items: center;
  margin-top: var(--space-5);
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-card);
  background: var(--color-cream);
}

.contact-follow__direct > * {
  min-width: 0;
}

.contact-follow__direct h3 {
  font-size: var(--text-xl);
}

.contact-follow__direct-links {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.contact-follow__direct-links a {
  font-weight: 700;
}

.contact-gather__grid {
  align-items: start;
}

.contact-gather__dining {
  width: 100%;
  max-width: 46rem;
}

.contact-gather__dining::before {
  display: block;
  width: 5rem;
  height: 2px;
  margin-bottom: var(--space-4);
  background: var(--color-burnt-orange);
  content: "";
}

.contact-gather__groups {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  width: 100%;
  margin-top: var(--space-7);
  padding: var(--space-6);
}

.contact-gather__groups > * {
  min-width: 0;
  margin: 0;
}

.contact-gather__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3) var(--space-5);
}

.contact-final-cta__content {
  display: flex;
  width: 100%;
  max-width: 44rem;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  margin-inline: auto;
  text-align: center;
}

.contact-final-cta__content > * {
  min-width: 0;
  margin: 0;
}

.contact-final-cta__content .rule {
  max-width: 7rem;
}

.contact-final-cta__content h2 {
  max-width: 32rem;
}

.contact-final-cta__content > p {
  width: min(100%, 44rem);
  color: var(--color-pale-sage);
  font-size: var(--text-lg);
}

.contact-final-cta__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-4);
}

.contact-final-cta__actions > * {
  min-width: 0;
}

.contact-final-cta .button--secondary {
  border-color: var(--color-ivory);
  color: var(--color-ivory);
}

.contact-final-cta .button--secondary:hover {
  border-color: var(--color-ivory);
  background: var(--color-ivory);
  color: var(--color-deep-forest);
}

@media (max-width: 59.99rem) {
  .contact-opening__grid,
  .contact-gather__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .contact-opening__routes {
    grid-column: 1;
  }

  .contact-conversations__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-form__field-grid,
  .contact-form__context-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-gather__groups {
    margin-top: 0;
  }
}

@media (max-width: 59.99rem) and (min-width: 48rem) {
  .contact-opening__copy {
    max-width: 52rem;
  }
}

@media (max-width: 59.99rem) {
  .contact-visit__feature {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 49.99rem) {
  .contact-hours__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 47.99rem) {
  .contact-opening__routes,
  .contact-visit__feature,
  .contact-hours__panel,
  .contact-form,
  .contact-card-room__panel,
  .contact-gather__groups {
    padding: var(--space-5);
  }

  .contact-opening__route-grid,
  .contact-conversations__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-opening__lead {
    font-size: var(--text-base);
  }

  .contact-visit__feature {
    gap: var(--space-6);
  }

  .contact-map {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .contact-map__content {
    margin: var(--space-3);
  }

  .contact-hours__panel {
    gap: var(--space-3);
  }

  .contact-follow__direct {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-social-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .contact-social-row__status {
    text-align: left;
  }

  .contact-gather__actions {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 32.49rem) {
  .contact-final-cta__actions {
    width: min(100%, 22.5rem);
    flex-direction: column;
    align-items: stretch;
  }

  .contact-final-cta__actions .button {
    width: 100%;
  }
}

@media (hover: hover) {
  .contact-route,
  .conversation-card,
  .contact-social-row {
    transition: border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);
  }

  .contact-route:hover,
  .conversation-card:hover {
    border-color: var(--color-muted-gold);
    box-shadow: var(--shadow-card);
    transform: translateY(-2px);
  }
}


.card-room-page {
  background: var(--color-ivory);
}

.card-room-page a:focus-visible,
.card-room-page button:focus-visible {
  outline: 3px solid var(--color-focus);
  outline-offset: 3px;
}

.card-room-hero {
  background: var(--color-deep-forest);
  padding-block: var(--space-7);
}

.card-room-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  width: min(100%, var(--container-max));
  margin-inline: auto;
  padding-inline: var(--container-padding);
  align-items: center;
  gap: var(--space-7);
}

.card-room-hero__copy,
.card-room-hero__media,
.card-room-dining__copy,
.card-room-dining__media,
.card-room-spaces__media,
.card-room-spaces__notes,
.card-room-private__content,
.card-room-private__motif {
  min-width: 0;
  width: 100%;
}

.card-room-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  color: var(--color-on-dark);
}

.card-room-hero__copy > * {
  margin: 0;
}

.card-room-hero__copy .eyebrow {
  color: var(--color-soft-coral);
}

.card-room-hero h1 {
  max-width: 34rem;
  color: var(--color-on-dark);
  font-size: clamp(3rem, 6.2vw, 5.75rem);
}

.card-room-hero__deck {
  max-width: 42rem;
  color: var(--color-on-dark-muted);
  font-size: var(--text-lg);
}

.card-room-hero__actions,
.card-room-private__actions,
.card-room-responsible__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  width: 100%;
}

.card-room-hero__actions > *,
.card-room-private__actions > *,
.card-room-responsible__links > * {
  min-width: 0;
}

.card-room-hero__actions .button--secondary {
  border-color: var(--color-ivory);
  color: var(--color-ivory);
}

.card-room-hero__actions .button--secondary:hover {
  border-color: var(--color-ivory);
  background: var(--color-ivory);
  color: var(--color-deep-forest);
}

.card-room-hero__helper {
  max-width: 34rem;
  color: var(--color-on-dark-muted);
  font-size: var(--text-sm);
}

.card-room-hero__copy .rule {
  max-width: 12rem;
  margin-top: var(--space-2);
}

.card-room-hero__media {
  overflow: hidden;
  border-radius: var(--radius-panel) 0 var(--radius-panel) var(--radius-panel);
  aspect-ratio: 3 / 2;
}

.card-room-hero__media img,
.card-room-dining__media img,
.card-room-spaces__media img,
.card-room-gallery img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}

.card-room-features__intro,
.card-room-spaces__intro,
.card-room-plan__intro,
.card-room-gallery__intro,
.card-room-next__intro {
  max-width: 46rem;
}

.card-room-features__grid,
.card-room-next__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.card-room-features__grid > *,
.card-room-next__grid > * {
  min-width: 0;
  width: 100%;
}

.card-room-feature {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-height: 100%;
  padding: var(--space-5);
}

.card-room-feature > * {
  margin: 0;
}

.card-room-feature__mark,
.card-room-feature__number {
  color: var(--color-burgundy);
  font-size: var(--text-xl);
  font-weight: 700;
  line-height: 1;
}

.card-room-feature__number {
  color: var(--color-burnt-orange);
  font-size: var(--text-sm);
  letter-spacing: 0.08em;
}

.card-room-feature__rule {
  width: 3rem;
  height: 1px;
  background: var(--color-muted-gold);
}

.card-room-dining__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: center;
  gap: var(--space-8);
}

.card-room-dining__media {
  margin: 0;
}

.card-room-dining__media img {
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-panel);
}

.card-room-dining__copy {
  max-width: 34rem;
}

.card-room-dining__copy .rule {
  margin-block: var(--space-5);
}

.card-room-dining__links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-top: var(--space-5);
}

.card-room-dining__links a,
.card-room-next-card a,
.card-room-plan__step a,
.card-room-private__actions > a:not(.button),
.card-room-responsible__links a {
  font-weight: 700;
}

.card-room-dining__note {
  max-width: 34rem;
  margin-top: var(--space-5);
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
}

.card-room-spaces__intro {
  max-width: 42rem;
}

.card-room-spaces__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: var(--space-8);
  margin-top: var(--space-7);
}

.card-room-spaces__media {
  margin: var(--space-6) 0 0;
  overflow: hidden;
  border-radius: var(--radius-panel);
  aspect-ratio: 3 / 2;
}

.card-room-spaces__notes {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.card-room-space-note {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  padding-block: var(--space-5);
  border-block-start: var(--border-default);
}

.card-room-space-note:last-child {
  border-block-end: var(--border-default);
}

.card-room-space-note > * {
  min-width: 0;
}

.card-room-space-note__number {
  color: var(--color-burgundy);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.card-room-space-note h3 {
  max-width: 32rem;
}

.card-room-space-note p {
  width: min(100%, 34rem);
}

.card-room-space-note blockquote {
  max-width: 24rem;
  margin-top: var(--space-5);
}

.card-room-etiquette {
  padding-inline: var(--container-padding);
}

.card-room-etiquette__panel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
  width: min(100%, var(--reading-max));
  margin-inline: auto;
  padding: var(--space-7) clamp(var(--space-5), 6vw, var(--space-10));
  border: var(--border-default);
  border-radius: var(--radius-panel);
  background: var(--color-pale-sage);
}

.card-room-etiquette__panel > * {
  margin: 0;
}

.card-room-etiquette__lead {
  max-width: 42rem;
}

.card-room-etiquette__list {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.card-room-etiquette__item {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
  padding-block: var(--space-5);
  border-block-start: 1px solid rgb(24 63 53 / 0.25);
}

.card-room-etiquette__item:last-child {
  border-block-end: 1px solid rgb(24 63 53 / 0.25);
}

.card-room-etiquette__item > * {
  min-width: 0;
}

.card-room-etiquette__item > span {
  color: var(--color-forest);
  font-weight: 700;
}

.card-room-etiquette__item h3,
.card-room-etiquette__item p {
  margin-block-end: 0;
}

.card-room-plan__intro {
  max-width: 44rem;
}

.card-room-plan > .content-container > .rule,
.card-room-next > .content-container > .rule {
  margin-block: var(--space-6);
}

.card-room-plan__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
  margin: 0;
  padding: 0;
  list-style: none;
}

.card-room-plan__step {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-width: 0;
  width: 100%;
}

.card-room-plan__step > * {
  min-width: 0;
  margin: 0;
}

.card-room-plan__step > span {
  color: var(--color-burgundy);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.card-room-plan__step:nth-child(3) > span {
  color: var(--color-burnt-orange);
}

.card-room-plan__step:nth-child(4) > span {
  color: var(--color-forest);
}

.card-room-plan__step div {
  min-width: 0;
  width: 100%;
}

.card-room-plan__step h3 {
  font-size: var(--text-xl);
}

.card-room-plan__step a {
  display: inline-block;
  margin-top: var(--space-3);
}

.card-room-gallery__intro {
  max-width: 42rem;
}

.card-room-gallery__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: start;
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.card-room-gallery__grid > * {
  min-width: 0;
  width: 100%;
}

.card-room-gallery__primary,
.card-room-gallery__supporting figure {
  margin: 0;
}

.card-room-gallery__primary img {
  aspect-ratio: 3 / 2;
  border-radius: var(--radius-panel);
}

.card-room-gallery__supporting {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
  min-width: 0;
  width: 100%;
}

.card-room-gallery__supporting figure {
  min-width: 0;
  width: 100%;
}

.card-room-gallery__supporting img {
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-panel);
}

.card-room-gallery figcaption {
  max-width: 28rem;
}

.card-room-gallery figcaption span {
  display: block;
  margin-bottom: var(--space-2);
  color: var(--color-burgundy);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.card-room-gallery figcaption strong {
  display: block;
  color: var(--color-charcoal);
}

.card-room-gallery__supporting figure:last-child figcaption {
  padding-top: var(--space-3);
  border-top: var(--border-gold);
}

.card-room-responsible__panel {
  padding: var(--space-7);
  border-radius: var(--radius-panel);
  background: var(--color-deep-forest);
}

.card-room-responsible__panel .rule {
  margin: 0 0 var(--space-6);
}

.card-room-responsible__copy {
  max-width: 42rem;
  color: var(--color-on-dark);
}

.card-room-responsible__copy .eyebrow {
  color: var(--color-soft-coral);
}

.card-room-responsible__copy h2 {
  color: var(--color-on-dark);
}

.card-room-responsible__copy p {
  width: min(100%, 42.5rem);
  color: var(--color-on-dark-muted);
}

.card-room-responsible__links {
  margin-top: var(--space-5);
}

.card-room-responsible__links a {
  color: var(--color-ivory);
}

.card-room-private__panel {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  overflow: hidden;
  border: var(--border-default);
  border-radius: var(--radius-panel);
  background: var(--color-cream);
  box-shadow: var(--shadow-raised);
}

.card-room-private__content {
  padding: var(--space-7);
}

.card-room-private__content > p:not(.eyebrow) {
  max-width: 42rem;
}

.card-room-private__prompts {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  width: 100%;
  margin-top: var(--space-6);
}

.card-room-private__prompts > div {
  display: grid;
  grid-template-columns: minmax(8rem, 0.7fr) minmax(0, 2fr);
  gap: var(--space-4);
  min-width: 0;
  width: 100%;
  padding-block: var(--space-3);
  border-block-start: var(--border-default);
}

.card-room-private__prompts > div:last-child {
  border-block-end: var(--border-default);
}

.card-room-private__prompts strong,
.card-room-private__prompts span {
  min-width: 0;
}

.card-room-private__actions {
  margin-top: var(--space-6);
}

.card-room-private__motif {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-forest);
  color: var(--color-muted-gold);
}

.card-room-private__motif span {
  font-family: var(--font-heading);
  font-size: clamp(5rem, 12vw, 10rem);
  line-height: 1;
}

.card-room-next {
  padding-bottom: var(--section-space-major);
}

.card-room-next__intro {
  max-width: 38rem;
}

.card-room-next-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-height: 100%;
  padding: var(--space-5);
}

.card-room-next-card > * {
  margin: 0;
}

.card-room-next-card .eyebrow {
  color: var(--color-burgundy);
}

.card-room-next-card:nth-child(2) .eyebrow {
  color: var(--color-burnt-orange);
}

.card-room-next-card:nth-child(3) .eyebrow {
  color: var(--color-forest);
}

.card-room-next-card a {
  margin-top: auto;
}

@media (max-width: 59.99rem) {
  .card-room-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .card-room-hero__media {
    border-radius: var(--radius-panel);
  }

  .card-room-dining__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .card-room-dining__copy {
    max-width: 42rem;
  }

  .card-room-spaces__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .card-room-spaces__notes {
    order: -1;
  }

  .card-room-spaces__media {
    margin-top: 0;
  }

  .card-room-gallery__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .card-room-gallery__supporting {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .card-room-private__panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .card-room-private__motif {
    display: none;
  }
}

@media (max-width: 59.99rem) and (min-width: 45rem) {
  .card-room-plan__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 53.12rem) {
  .card-room-features__grid,
  .card-room-next__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 44.99rem) {
  .card-room-hero {
    padding-block: var(--space-6);
  }

  .card-room-hero h1 {
    font-size: clamp(2.75rem, 12vw, 3.25rem);
  }

  .card-room-hero__deck {
    font-size: var(--text-base);
  }

  .card-room-hero__actions {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
  }

  .card-room-hero__actions .button {
    width: 100%;
  }

  .card-room-features__grid,
  .card-room-next__grid,
  .card-room-plan__steps,
  .card-room-gallery__supporting {
    grid-template-columns: minmax(0, 1fr);
  }

  .card-room-features__grid,
  .card-room-next__grid {
    gap: var(--space-4);
    margin-top: var(--space-6);
  }

  .card-room-feature,
  .card-room-next-card {
    padding: var(--space-5);
  }

  .card-room-spaces__grid,
  .card-room-gallery__grid {
    margin-top: var(--space-6);
  }

  .card-room-space-note {
    grid-template-columns: 2.5rem minmax(0, 1fr);
  }

  .card-room-etiquette {
    padding-inline: var(--container-padding);
  }

  .card-room-etiquette__panel {
    padding: var(--space-5);
  }

  .card-room-plan__steps {
    gap: 0;
  }

  .card-room-plan__step {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: var(--space-3);
    padding-block: var(--space-5);
    border-block-start: var(--border-default);
  }

  .card-room-plan__step:last-child {
    border-block-end: var(--border-default);
  }

  .card-room-plan__step > span {
    grid-column: 1;
  }

  .card-room-plan__step > div {
    grid-column: 2;
  }

  .card-room-private__content,
  .card-room-responsible__panel {
    padding: var(--space-5);
  }

  .card-room-private__prompts > div {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .card-room-private__actions,
  .card-room-responsible__links {
    flex-direction: column;
    align-items: stretch;
  }

  .card-room-private__actions .button {
    width: 100%;
  }

  .card-room-responsible__links a {
    width: fit-content;
  }
}


.home-page {
  overflow: clip;
}

.home-page .button:focus-visible,
.home-page .home-text-link:focus-visible {
  outline: 3px solid var(--color-focus);
  outline-offset: 3px;
}

.home-page .home-text-link {
  display: inline-flex;
  width: fit-content;
  min-width: 0;
  color: var(--color-forest);
  font-weight: 700;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.24em;
}

.home-page .home-text-link:hover {
  color: var(--color-deep-forest);
}

.home-hero__frame {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  width: min(100%, var(--container-max));
  min-width: 0;
  margin-inline: auto;
}

.home-hero__copy,
.home-hero__media {
  min-width: 0;
  width: 100%;
}

.home-hero__copy {
  display: flex;
  align-items: center;
  padding: clamp(5rem, 10vw, 10rem) clamp(var(--container-padding), 4vw, 4rem);
}

.home-hero__copy-inner {
  display: flex;
  width: min(100%, 37rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.home-hero__copy-inner > * {
  margin: 0;
}

.home-hero__rule,
.home-closing__rule {
  width: 4rem;
  height: 1px;
  background: var(--color-muted-gold);
}

.home-hero h1 {
  color: var(--color-ivory);
  font-size: clamp(3.1rem, 5.4vw, 5.75rem);
}

.home-hero__lead {
  max-width: 36rem;
  color: var(--color-pale-sage);
  font-size: var(--text-lg);
  line-height: 1.5;
}

.home-hero__actions {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3);
}

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

.home-hero__poker-button {
  border-color: var(--color-ivory);
  color: var(--color-ivory);
}

.home-hero__meta {
  color: var(--color-pale-sage);
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}

.home-hero__media {
  aspect-ratio: 3 / 2;
  margin: 0;
  overflow: hidden;
}

.home-hero__media img,
.home-dining__media img,
.home-poker__media img,
.home-cardroom__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-hero__media img {
  object-position: 62% center;
}

.home-experience__header {
  width: min(100%, 48rem);
  min-width: 0;
  margin: 0 0 var(--space-7);
}

.home-experience__header .rule {
  margin: var(--space-6) 0 0;
}

.home-experience__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-width: 0;
  gap: var(--space-4);
}

.home-experience__card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  padding: var(--space-5);
  gap: var(--space-4);
}

.home-experience__card > * {
  margin: 0;
}

.home-experience__card h3 {
  font-size: var(--text-xl);
}

.home-experience__card p {
  flex: 1 1 auto;
}

.home-experience__marker {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border: 1px solid currentColor;
  color: var(--color-forest);
  font-size: var(--text-sm);
  line-height: 1;
}

.home-experience__marker--orange { color: var(--color-burnt-orange); }
.home-experience__marker--burgundy { color: var(--color-burgundy); }
.home-experience__marker--sage { color: var(--color-forest); background: var(--color-pale-sage); }

.home-dining__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(22.5rem, 5fr);
  min-width: 0;
  align-items: center;
  gap: clamp(var(--space-6), 5vw, var(--space-9));
}

.home-dining__editorial,
.home-dining__booking {
  min-width: 0;
  width: 100%;
}

.home-dining__editorial {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}

.home-dining__intro {
  width: min(100%, 42rem);
}

.home-dining__media {
  width: min(100%, 42rem);
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--radius-panel);
}

.home-dining__media img { object-position: center; }

.home-dining__support {
  display: flex;
  width: min(100%, 31rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.home-dining__support > * { margin: 0; }

.home-dining__metadata {
  color: var(--color-muted-ink);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-xs);
  text-transform: uppercase;
}

.home-dining__booking {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.home-dining__booking > * { margin: 0; }
.home-dining__booking p { width: min(100%, 26rem); }

.home-poker__head {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  min-width: 0;
  align-items: center;
  gap: var(--space-7);
  margin-bottom: var(--space-7);
}

.home-poker__intro,
.home-poker__media {
  min-width: 0;
  width: 100%;
}

.home-poker__intro {
  width: min(100%, 45rem);
}

.home-poker__intro .eyebrow { color: var(--color-soft-coral); }
.home-poker__intro p { color: var(--color-pale-sage); }

.home-poker__media {
  aspect-ratio: 3 / 2;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-panel);
}

.home-poker__media img { object-position: center; }

.home-poker__modules {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
}

.home-poker__module {
  display: grid;
  grid-template-columns: minmax(8rem, 1.5fr) minmax(0, 4fr) minmax(12rem, 2.5fr);
  min-width: 0;
  align-items: center;
  gap: var(--space-5);
  padding: var(--space-5);
  border-radius: var(--radius-card);
  background: var(--color-cream);
  color: var(--color-charcoal);
}

.home-poker__module > * {
  min-width: 0;
  margin: 0;
}

.home-poker__module-label {
  color: var(--color-forest);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-xs);
  text-transform: uppercase;
}

.home-poker__module-label--burgundy { color: var(--color-burgundy); }

.home-poker__module-copy h3 { font-size: var(--text-xl); }
.home-poker__module-copy p { margin-bottom: 0; }

.home-poker__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
  gap: var(--space-2);
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
  font-variant-numeric: tabular-nums;
  line-height: var(--leading-sm);
}

.home-poker__fields span {
  min-width: 0;
  padding-bottom: var(--space-2);
  border-bottom: var(--border-default);
}

.home-poker__module--action .button {
  justify-self: start;
}

.home-cardroom__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  min-width: 0;
  align-items: start;
  gap: clamp(var(--space-6), 5vw, var(--space-9));
}

.home-cardroom__media,
.home-cardroom__reading {
  min-width: 0;
  width: 100%;
}

.home-cardroom__media {
  aspect-ratio: 3 / 4;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-panel);
}

.home-cardroom__media img { object-position: center; }

.home-cardroom__reading {
  width: min(100%, 41rem);
}

.home-cardroom__lead { max-width: 41rem; }

.home-cardroom__principles {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  margin: var(--space-6) 0;
}

.home-cardroom__principle {
  display: grid;
  grid-template-columns: minmax(3rem, 1fr) minmax(0, 11fr);
  min-width: 0;
  gap: var(--space-4);
}

.home-cardroom__principle > * { min-width: 0; }
.home-cardroom__principle h3 { font-size: var(--text-xl); }
.home-cardroom__principle p { width: min(100%, 35rem); margin-bottom: 0; }

.home-cardroom__number {
  color: var(--color-muted-gold);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.home-cardroom__principle + .home-cardroom__principle {
  padding-top: var(--space-5);
  border-top: 2px solid var(--color-pale-sage);
}

.home-events__grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  min-width: 0;
  align-items: stretch;
  gap: var(--space-7);
}

.home-events__content,
.home-events__shape { min-width: 0; width: 100%; }

.home-events__intro { width: min(100%, 43rem); }

.home-events__themes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
  gap: var(--space-6);
  margin: var(--space-6) 0;
}

.home-events__theme {
  min-width: 0;
  border-top: 2px solid var(--color-burnt-orange);
  padding-top: var(--space-4);
}

.home-events__theme--burgundy { border-top-color: var(--color-burgundy); }
.home-events__theme p { width: min(100%, 30rem); margin-bottom: 0; }

.home-events__shape {
  display: flex;
  min-height: 24rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
  border: var(--border-gold);
  border-radius: var(--radius-panel);
  color: var(--color-forest);
  font-family: var(--font-heading);
  font-size: clamp(4rem, 10vw, 8rem);
  line-height: 0.7;
}

.home-events__shape span:last-child { color: var(--color-burgundy); font-size: 0.52em; }

.home-considered__quote {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  text-align: center;
}

.home-considered__quote > * { margin: 0; }
.home-considered__quote .rule { width: 4rem; }
.home-considered__quote h2 { width: min(100%, 38rem); }
.home-considered__quote blockquote {
  width: min(100%, 38rem);
  padding: 0;
  border: 0;
  color: var(--color-forest);
}

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

.home-considered__proof {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.home-considered__proof > * { margin: 0; }
.home-considered__proof > span { color: var(--color-muted-gold); font-size: var(--text-xl); }
.home-considered__proof h3 { font-size: var(--text-xl); }
.home-considered__proof p { width: min(100%, 22rem); }

.home-responsible__panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: clamp(var(--space-5), 5vw, var(--space-6));
  border-left: 2px solid var(--color-forest);
  border-radius: var(--radius-card);
  background: var(--color-pale-sage);
}

.home-responsible__panel > * { margin: 0; }
.home-responsible__panel p { width: min(100%, 46rem); }

.home-planning__header {
  width: min(100%, 40rem);
  margin-bottom: var(--space-7);
}

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

.home-planning__card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  padding: var(--space-5);
  gap: var(--space-4);
}

.home-planning__card > * { margin: 0; }
.home-planning__card p { width: min(100%, 27rem); flex: 1 1 auto; }
.home-planning__card h3 { font-size: var(--text-xl); }

.home-planning__rule {
  width: 100%;
  height: 2px;
  background: var(--color-forest);
}
.home-planning__rule--burgundy { background: var(--color-burgundy); }
.home-planning__rule--orange { background: var(--color-burnt-orange); }

.home-closing {
  padding: var(--section-space-major) 0;
  background: linear-gradient(135deg, var(--color-deep-forest), var(--color-forest));
}

.home-closing__content {
  display: flex;
  width: min(100%, 38.75rem);
  min-width: 0;
  margin-inline: auto;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  text-align: center;
}

.home-closing__content > * { margin: 0; }
.home-closing__content h2 { width: min(100%, 34rem); color: var(--color-ivory); }
.home-closing__content p { width: min(100%, 38rem); color: var(--color-pale-sage); font-size: var(--text-lg); }

.home-closing__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
}

.home-closing__actions > * { min-width: 0; }
.home-closing__secondary { border-color: var(--color-ivory); color: var(--color-ivory); }

@media (max-width: 61.24rem) {
  .home-hero__frame { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-hero__copy { padding-block: var(--space-9); }
  .home-experience__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-dining__grid { grid-template-columns: minmax(0, 1fr); }
  .home-dining__booking { max-width: 42rem; }
  .home-cardroom__grid { gap: var(--space-6); }
}

@media (max-width: 57.49rem) {
  .home-cardroom__grid { grid-template-columns: minmax(0, 1fr); }
  .home-cardroom__media { max-width: 34rem; aspect-ratio: 4 / 3; }
  .home-events__grid { grid-template-columns: minmax(0, 1fr); }
  .home-events__shape { min-height: 14rem; max-width: 42rem; flex-direction: row; }
  .home-events__themes { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
}

@media (max-width: 53.11rem) {
  .home-poker__head { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .home-poker__media { max-width: 42rem; }
  .home-poker__module { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .home-poker__module .button { width: fit-content; }
  .home-poker__fields { max-width: 34rem; }
  .home-considered__proofs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-considered__proof:last-child { grid-column: 1 / -1; }
  .home-planning__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-planning__card:last-child { grid-column: 1 / -1; }
}

@media (max-width: 47.99rem) {
  .home-hero__frame { grid-template-columns: minmax(0, 1fr); }
  .home-hero__copy { padding: var(--space-9) var(--container-padding); }
  .home-hero__copy-inner { width: 100%; gap: var(--space-5); }
  .home-hero h1 { font-size: clamp(2.75rem, 11vw, 3.25rem); }
  .home-hero__lead { font-size: 1.05rem; }
  .home-hero__actions,
  .home-closing__actions { flex-direction: column; align-items: stretch; }
  .home-hero__actions > .button,
  .home-closing__actions > .button { width: 100%; }
  .home-hero__media { aspect-ratio: 4 / 3; }

  .home-experience__header { margin-bottom: var(--space-6); }
  .home-experience__grid,
  .home-considered__proofs,
  .home-planning__grid { grid-template-columns: minmax(0, 1fr); }
  .home-experience__card { padding: var(--space-5); }
  .home-considered__proof:last-child,
  .home-planning__card:last-child { grid-column: auto; }

  .home-dining__grid { gap: var(--space-6); }
  .home-dining__editorial { gap: var(--space-5); }
  .home-dining__intro,
  .home-dining__media,
  .home-dining__support,
  .home-dining__booking { width: 100%; max-width: none; }
  .home-dining__booking .button { width: 100%; }

  .home-poker__head { margin-bottom: var(--space-6); }
  .home-poker__media { display: none; }
  .home-poker__module { padding: var(--space-5); }
  .home-poker__module--action .button { width: 100%; }
  .home-poker__fields { grid-template-columns: minmax(0, 1fr); max-width: none; }

  .home-cardroom__media { max-width: none; }
  .home-cardroom__reading { width: 100%; }
  .home-cardroom__principle { grid-template-columns: minmax(2.5rem, 1fr) minmax(0, 9fr); }

  .home-events__grid { gap: var(--space-6); }
  .home-events__intro { width: 100%; }
  .home-events__shape { order: -1; min-height: 11rem; font-size: 4rem; }
  .home-events__content .button { width: 100%; }

  .home-considered__quote { align-items: flex-start; text-align: left; }
  .home-considered__quote h2,
  .home-considered__quote blockquote { width: 100%; }
  .home-considered__quote blockquote { font-size: var(--text-xl); }
  .home-considered__proofs { margin-top: var(--space-7); gap: var(--space-5); }
  .home-considered__proof { padding-left: var(--space-4); border-left: 1px solid var(--color-muted-gold); }
  .home-considered__proof p { width: 100%; }

  .home-responsible__panel { padding: var(--space-5); }
  .home-planning__header { margin-bottom: var(--space-6); }
  .home-closing { padding-block: var(--space-8); }
  .home-closing__content { width: 100%; }
  .home-closing__content h2 { font-size: clamp(2.75rem, 11vw, 3.25rem); }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .card--interactive { transform: none !important; }
}


.private-events-page {
  overflow: clip;
}

.private-events-page .content-container {
  max-width: 77.25rem;
}

.private-events-page .eyebrow {
  margin-block-end: var(--space-3);
}

.pe-hero {
  padding-block: clamp(4rem, 9vw, 9rem);
  background: linear-gradient(135deg, var(--color-deep-forest), var(--color-forest));
  color: var(--color-ivory);
}

.pe-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
  align-items: center;
  width: min(100%, var(--container-max));
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

.pe-hero__copy {
  grid-column: 1 / 2;
  min-width: 0;
  max-width: 38rem;
}

.pe-hero__copy h1 {
  margin-block-end: var(--space-5);
  color: var(--color-ivory);
  font-size: clamp(2.85rem, 7vw, 5.75rem);
}

.pe-hero__copy > p:not(.eyebrow) {
  max-width: 36rem;
  margin-block-end: var(--space-6);
}

.pe-hero__eyebrow,
.pe-dinner-poker .eyebrow {
  color: var(--color-pale-sage);
}

.pe-hero__rule,
.pe-atmosphere__rule {
  width: 5rem;
  height: 1px;
  margin-block-end: var(--space-5);
  background: var(--color-muted-gold);
}

.pe-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  margin-block-end: var(--space-7);
}

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

.pe-button--cream {
  border-color: var(--color-cream);
  background: var(--color-cream);
  color: var(--color-forest);
}

.pe-button--cream:hover {
  border-color: var(--color-ivory);
  background: var(--color-ivory);
  color: var(--color-deep-forest);
}

.pe-button--outline {
  border-color: var(--color-ivory);
  background: transparent;
  color: var(--color-ivory);
}

.pe-button--outline:hover {
  border-color: var(--color-cream);
  background: var(--color-cream);
  color: var(--color-forest);
}

.pe-hero__context {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
  max-width: 38rem;
  padding-block-start: var(--space-4);
  border-block-start: 1px solid rgb(248 244 236 / 0.28);
}

.pe-hero__context > * {
  min-width: 0;
}

.pe-hero__context span {
  color: var(--color-muted-gold);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-xs);
  text-transform: uppercase;
}

.pe-hero__context p {
  margin: 0;
  color: var(--color-pale-sage);
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}

.pe-hero__media {
  grid-column: 3 / 4;
  min-width: 0;
  margin: 0;
}

.pe-hero__media img {
  width: 100%;
  aspect-ratio: 3 / 2;
  border-radius: var(--radius-panel);
  object-fit: cover;
}

.pe-occasions__intro {
  width: min(100%, 42rem);
  margin-inline: auto;
  text-align: center;
}

.pe-occasions__intro p:last-child {
  margin-block-end: var(--space-7);
}

.pe-occasion-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.pe-occasion-grid > * {
  min-width: 0;
}

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

.pe-occasion-card > * {
  min-width: 0;
  margin: 0;
}

.pe-occasion-card h3 {
  font-size: clamp(1.45rem, 2vw, var(--text-2xl));
}

.pe-occasion-card p {
  flex: 1 1 auto;
}

.pe-occasion-card a,
.pe-tailored-note a,
.pe-planning-tile a,
.pe-guidance__copy a {
  font-weight: 700;
}

.pe-card-number,
.pe-card-label,
.pe-tile-label {
  color: var(--color-burgundy);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-xs);
  text-transform: uppercase;
}

.pe-card-number--orange {
  color: var(--color-burnt-orange);
}

.pe-occasion-card--coral {
  background: linear-gradient(135deg, var(--color-soft-coral) 0 0.65rem, var(--color-cream) 0.65rem);
}

.pe-occasion-card--poker {
  border-color: var(--color-burgundy);
}

.pe-occasion-card--poker .pe-card-label {
  color: var(--color-burgundy);
}

.pe-occasion-card--feature {
  grid-column: span 2;
  border-color: var(--color-muted-gold);
  background: linear-gradient(135deg, var(--color-cream), #f2ece0);
}

.pe-tailored-note {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--space-6);
  align-items: start;
  margin-block-start: var(--space-6);
  padding-block-start: var(--space-6);
  border-block-start: var(--border-gold);
}

.pe-tailored-note > * {
  min-width: 0;
}

.pe-tailored-note h3,
.pe-tailored-note p {
  margin-block-end: var(--space-4);
}

.pe-atmosphere__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
  align-items: start;
  row-gap: var(--space-6);
}

.pe-atmosphere__grid > * {
  min-width: 0;
}

.pe-atmosphere__media {
  grid-column: 1 / 2;
  margin: 0;
}

.pe-atmosphere__media img {
  width: 100%;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-panel);
  object-fit: cover;
}

.pe-atmosphere__copy {
  grid-column: 3 / 4;
  min-width: 0;
  max-width: 42rem;
}

.pe-atmosphere__copy p {
  width: min(100%, 42rem);
}

.pe-atmosphere__quote {
  grid-column: 3 / 4;
  width: min(100%, 30rem);
  margin: 0 0 0 auto;
}

.pe-dinner-poker {
  padding-block: var(--section-space);
  background: var(--color-burgundy);
  color: var(--color-ivory);
}

.pe-dinner-poker__inner {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
}

.pe-dinner-poker__inner > * {
  min-width: 0;
}

.pe-dinner-poker__intro {
  width: min(100%, 38rem);
}

.pe-dinner-poker h2,
.pe-dinner-poker h3 {
  color: var(--color-ivory);
}

.pe-dinner-poker__intro p:last-child {
  margin-bottom: 0;
  color: #f7e6df;
}

.pe-dinner-poker__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
}

.pe-dinner-poker__steps > * {
  min-width: 0;
}

.pe-poker-step {
  min-width: 0;
  padding: var(--space-5) 0 0;
  border-block-start: 1px solid rgb(248 244 236 / 0.45);
}

.pe-poker-step > span {
  display: block;
  margin-block-end: var(--space-4);
  color: var(--color-soft-coral);
  font-size: var(--text-xl);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.pe-poker-step h3 {
  font-size: var(--text-xl);
}

.pe-poker-step p {
  margin-bottom: 0;
  color: #f7e6df;
}

.pe-poker-step--sage {
  padding: var(--space-5);
  border: 0;
  border-radius: var(--radius-card);
  background: var(--color-pale-sage);
}

.pe-poker-step--sage h3,
.pe-poker-step--sage p {
  color: var(--color-charcoal);
}

.pe-poker-step--sage > span {
  color: var(--color-forest);
}

.pe-planning__intro {
  width: min(100%, 40rem);
  margin-block-end: var(--space-7);
}

.pe-planning__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.pe-planning__grid > * {
  min-width: 0;
}

.pe-planning-tile {
  min-width: 0;
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-card);
  background: var(--color-cream);
}

.pe-planning-tile > :last-child {
  margin-bottom: 0;
}

.pe-planning-tile--orange {
  border-inline-start: 3px solid var(--color-burnt-orange);
}

.pe-planning-tile--forest {
  border-color: var(--color-forest);
}

.pe-planning-tile h3 {
  margin-block-start: var(--space-3);
}

.pe-gallery__intro {
  width: min(100%, 36rem);
  margin-block-end: var(--space-7);
}

.pe-gallery__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-6);
  align-items: start;
}

.pe-gallery__grid > * {
  min-width: 0;
}

.pe-gallery__grid figure {
  margin: 0;
}

.pe-gallery__dining img,
.pe-gallery__felt img {
  width: 100%;
  border-radius: var(--radius-panel);
  object-fit: cover;
}

.pe-gallery__dining img {
  aspect-ratio: 3 / 2;
}

.pe-gallery__felt {
  margin-block-start: var(--space-8) !important;
}

.pe-gallery__felt img {
  aspect-ratio: 4 / 5;
}

.pe-gallery figcaption {
  max-width: 28rem;
  padding-block-start: var(--space-3);
  border-block-start: var(--border-gold);
}

.pe-process__intro {
  width: min(100%, 38rem);
  margin-block-end: var(--space-7);
}

.pe-process__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.pe-process__grid > * {
  min-width: 0;
}

.pe-process-card {
  min-width: 0;
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-card);
  background: var(--color-cream);
}

.pe-process-card > :last-child {
  margin-bottom: 0;
}

.pe-process-card > span {
  display: block;
  margin-block-end: var(--space-5);
  color: var(--color-muted-gold);
  font-family: var(--font-heading);
  font-size: var(--text-3xl);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.pe-process-card--sage {
  background: linear-gradient(to bottom, var(--color-cream) 0 72%, var(--color-pale-sage) 72%);
}

.pe-guidance {
  padding-block: var(--section-space);
  background: var(--color-pale-sage);
}

.pe-guidance__inner > .eyebrow {
  color: var(--color-forest);
}

.pe-guidance__inner h2 {
  width: min(100%, 48rem);
}

.pe-guidance__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-6);
}

.pe-guidance__copy > * {
  min-width: 0;
  max-width: 48rem;
}

.pe-guidance__copy h3 {
  margin-block-end: var(--space-3);
  color: var(--color-forest);
}

.pe-guidance__copy p {
  margin-block-end: var(--space-4);
}

.pe-guidance__callout {
  display: grid;
  grid-template-columns: minmax(0, 1.8rem) minmax(0, 1fr);
  gap: var(--space-3);
  width: 100%;
  max-width: 44rem;
  margin-block-start: var(--space-6);
  padding: var(--space-4);
  border: 1px solid var(--color-forest);
  border-radius: var(--radius-card);
  background: rgb(255 253 248 / 0.45);
}

.pe-guidance__callout > * {
  min-width: 0;
}

.pe-guidance__callout span {
  display: grid;
  width: 1.5rem;
  height: 1.5rem;
  place-items: center;
  border: 1px solid var(--color-forest);
  border-radius: 50%;
  color: var(--color-forest);
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: 1;
}

.pe-guidance__callout p {
  margin: 0;
}

.pe-enquiry__layout {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-7);
  align-items: start;
}

.pe-enquiry__layout > * {
  min-width: 0;
}

.pe-enquiry__intro {
  max-width: 38rem;
}

.pe-enquiry__form {
  min-width: 0;
  margin-block-start: -2rem;
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-panel);
  background: var(--color-cream);
  box-shadow: var(--shadow-raised);
}

.pe-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.pe-form-grid > * {
  min-width: 0;
}

.pe-field--full {
  grid-column: 1 / -1;
}

.pe-field label span {
  color: var(--color-muted-ink);
  font-weight: 400;
}

.pe-field-help,
.pe-field-error {
  margin: var(--space-2) 0 0;
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}

.pe-field-help {
  color: var(--color-muted-ink);
}

.pe-field-error {
  min-height: 1.2em;
  color: var(--color-burgundy);
  font-weight: 700;
}

.pe-field [aria-invalid="true"] {
  border-color: var(--color-burgundy);
  box-shadow: 0 0 0 1px var(--color-burgundy);
}

.pe-form-submit {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-block-start: var(--space-5);
  padding-block-start: var(--space-5);
  border-block-start: var(--border-default);
}

.pe-form-submit > * {
  min-width: 0;
  margin: 0;
}

.pe-consent {
  display: grid;
  grid-template-columns: minmax(1.125rem, auto) minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
  margin: 0;
  font-size: var(--text-base);
  font-weight: 400;
}

.pe-consent input {
  margin-block-start: 0.15rem;
}

.pe-form-reassurance {
  max-width: 48rem;
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}

.pe-form-status:empty,
.pe-error-summary:empty {
  display: none;
}

.pe-form-status {
  margin-block-end: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-forest);
  border-radius: var(--radius-control);
  background: var(--color-pale-sage);
  color: var(--color-deep-forest);
  font-weight: 700;
}

.pe-error-summary {
  margin-block-end: var(--space-4);
  padding: var(--space-4);
  border: 1px solid var(--color-burgundy);
  border-radius: var(--radius-control);
  background: #f8e8e9;
}

.pe-error-summary p,
.pe-error-summary ul {
  margin: 0;
}

.pe-error-summary ul {
  margin-block-start: var(--space-2);
}

.pe-closing {
  padding-block: 6rem;
  background: var(--color-forest);
  color: var(--color-ivory);
}

.pe-closing__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  width: min(100%, 34rem);
  margin-inline: auto;
  padding-inline: var(--container-padding);
  text-align: center;
}

.pe-closing__content > * {
  min-width: 0;
  margin: 0;
}

.pe-closing h2 {
  color: var(--color-ivory);
}

.pe-closing p {
  color: var(--color-pale-sage);
}

@media (max-width: 59.99rem) {
  .pe-hero__inner,
  .pe-atmosphere__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .pe-hero__copy,
  .pe-hero__media,
  .pe-atmosphere__media,
  .pe-atmosphere__copy,
  .pe-atmosphere__quote {
    grid-column: 1;
    width: 100%;
  }

  .pe-hero__copy {
    max-width: 42rem;
  }

  .pe-hero__media {
    order: 2;
  }

  .pe-atmosphere__quote {
    margin-inline: 0;
  }

  .pe-occasion-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pe-dinner-poker__steps,
  .pe-process__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pe-dinner-poker__steps > :nth-child(3),
  .pe-process__grid > :nth-child(3) {
    grid-column: 1 / -1;
  }

  .pe-gallery__grid {
    gap: var(--space-5);
  }
}

@media (max-width: 51.24rem) {
  .pe-enquiry__layout {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .pe-enquiry__form {
    margin-block-start: 0;
  }

  .pe-form-grid {
    grid-template-columns: 1fr;
  }

  .pe-field--full {
    grid-column: 1;
  }
}

@media (max-width: 47.49rem) {
  .pe-hero {
    padding-block: var(--space-8);
  }

  .pe-hero__inner {
    padding-inline: 1.25rem;
  }

  .pe-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

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

  .pe-hero__context {
    grid-template-columns: 1fr;
  }

  .pe-occasion-grid,
  .pe-planning__grid,
  .pe-gallery__grid,
  .pe-dinner-poker__steps,
  .pe-process__grid {
    grid-template-columns: 1fr;
  }

  .pe-occasion-card--feature,
  .pe-dinner-poker__steps > :nth-child(3),
  .pe-process__grid > :nth-child(3) {
    grid-column: 1;
  }

  .pe-tailored-note {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .pe-atmosphere__media img,
  .pe-gallery__dining img,
  .pe-gallery__felt img {
    aspect-ratio: 4 / 3;
  }

  .pe-gallery__felt {
    margin-block-start: 0 !important;
  }

  .pe-occasion-card,
  .pe-planning-tile,
  .pe-process-card {
    padding: var(--space-5);
  }

  .pe-dinner-poker {
    padding-block: var(--space-8);
  }

  .pe-dinner-poker__inner {
    gap: var(--space-5);
  }

  .pe-dinner-poker__inner > .button {
    width: 100%;
  }

  .pe-enquiry__form {
    padding: var(--space-5);
  }

  .pe-form-submit button {
    width: 100%;
  }

  .pe-closing {
    padding-block: var(--section-space);
  }

  .pe-closing__content {
    width: 100%;
  }

  .pe-closing__content .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .private-events-page [data-pe-reveal] {
    opacity: 0;
    transform: translateY(0.75rem);
    transition: opacity var(--transition-slow), transform var(--transition-slow);
  }

  .private-events-page [data-pe-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
  }
}


.gallery-page {
  overflow: clip;
}

.gallery-opening {
  padding-block: var(--section-space-major);
}

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

.gallery-opening__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  max-width: 32rem;
}

.gallery-opening__copy > * {
  margin: 0;
}

.gallery-opening__eyebrow::after,
.gallery-closing .rule {
  content: "";
  display: block;
  width: 3.5rem;
  height: 1px;
  margin-top: var(--space-3);
  background: var(--color-muted-gold);
}

.gallery-opening__intro {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
}

.gallery-opening__intro p {
  margin: 0;
}

.gallery-opening__meta {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-2);
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}

.gallery-opening__jump {
  font-weight: 700;
}

.gallery-opening__figure {
  width: 100%;
  min-width: 0;
  margin: var(--space-6) 0 0;
}

.gallery-image-button {
  display: block;
  width: 100%;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: var(--radius-panel);
  background: transparent;
}

.gallery-image-button img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

.gallery-opening__figure .gallery-image-button {
  aspect-ratio: 4 / 3;
}

.gallery-opening__figure .gallery-image-button img {
  object-position: 58% center;
}

.gallery-opening__figure figcaption {
  max-width: 34rem;
}

.gallery-room {
  border-top: var(--border-default);
}

.gallery-room__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--space-7);
}

.gallery-room__intro {
  min-width: 0;
  max-width: 44rem;
}

.gallery-room__notes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
}

.gallery-note {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-3);
  padding-inline: var(--space-5);
  border-inline-start: var(--border-default);
}

.gallery-note > div {
  min-width: 0;
  max-width: 22rem;
}

.gallery-note__number {
  color: var(--color-forest);
  font-size: var(--text-sm);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.gallery-note__number--poker {
  color: var(--color-burgundy);
}

.gallery-note h3 {
  font-size: var(--text-xl);
}

.gallery-collection__head {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: end;
  gap: var(--space-6);
  margin-bottom: var(--space-7);
}

.gallery-collection__intro {
  min-width: 0;
  max-width: 38rem;
}

.gallery-filters {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-2);
}

.gallery-filters > button {
  min-width: 0;
  min-height: 2.75rem;
  padding: var(--space-2) var(--space-4);
  border: var(--border-default);
  border-radius: var(--radius-control);
  background: transparent;
  color: var(--color-forest);
  font-size: var(--text-sm);
  font-weight: 700;
}

.gallery-filters > button[aria-pressed="true"] {
  border-color: var(--color-forest);
  box-shadow: inset 0 0 0 1px var(--color-forest);
  background: var(--color-forest);
  color: var(--color-ivory);
}

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

.gallery-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border: var(--border-default);
  border-radius: var(--radius-card);
  background: var(--color-cream);
  overflow: hidden;
}

.gallery-card--interior { grid-column: span 7; }
.gallery-card--plates { grid-column: span 5; }
.gallery-card--cocktail { grid-column: span 4; }
.gallery-card--poker { grid-column: span 4; }
.gallery-card--detail { grid-column: span 4; }
.gallery-card--cardroom { grid-column: span 5; }
.gallery-card--evening { grid-column: span 7; }
.gallery-card--event {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}

.gallery-card .gallery-image-button {
  border-radius: 0;
}

.gallery-card--interior .gallery-image-button { aspect-ratio: 3 / 2; }
.gallery-card--plates .gallery-image-button { aspect-ratio: 4 / 3; }
.gallery-card--cocktail .gallery-image-button { aspect-ratio: 1 / 1; }
.gallery-card--poker .gallery-image-button { aspect-ratio: 3 / 2; }
.gallery-card--detail .gallery-image-button { aspect-ratio: 1 / 1; }
.gallery-card--cardroom .gallery-image-button { aspect-ratio: 4 / 5; }
.gallery-card--evening .gallery-image-button { aspect-ratio: 3 / 2; }
.gallery-card--event .gallery-image-button { aspect-ratio: 3 / 2; }

.gallery-card--interior img { object-position: center; }
.gallery-card--plates img { object-position: center; }
.gallery-card--cocktail img { object-position: center; }
.gallery-card--poker img { object-position: center; }
.gallery-card--detail img { object-position: center; }
.gallery-card--cardroom img { object-position: center; }
.gallery-card--evening img { object-position: 58% center; }
.gallery-card--event img { object-position: center; }

.gallery-card__body {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5);
}

.gallery-card__body > * {
  margin: 0;
}

.gallery-card__body h3 {
  font-size: var(--text-xl);
}

.gallery-card__body p:not(.eyebrow) {
  max-width: 30rem;
}

.gallery-card--detail .gallery-card__body p:not(.eyebrow) {
  max-width: 26rem;
}

.gallery-card__body > a {
  margin-top: auto;
  font-weight: 700;
}

.gallery-card__eyebrow--poker {
  color: var(--color-burgundy);
}

.gallery-card__body--ruled::before {
  content: "";
  width: 100%;
  height: 1px;
  background: var(--color-muted-gold);
}

.gallery-card--event .gallery-card__body {
  justify-content: center;
  padding: var(--space-7);
}

.gallery-collection__guidance {
  margin: var(--space-5) 0 0;
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
}

.gallery-details {
  padding-block: var(--section-space);
}

.gallery-details__grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  align-items: stretch;
  gap: var(--space-7);
}

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

.gallery-details__heading {
  grid-column: 1 / -1;
  min-width: 0;
}

.gallery-details .eyebrow {
  color: var(--color-pale-sage);
}

.gallery-observation {
  min-width: 0;
  max-width: 20rem;
}

.gallery-observation h3 {
  font-size: var(--text-xl);
}

.gallery-observation--felt {
  padding-inline-start: var(--space-4);
  border-inline-start: 1px solid var(--color-burgundy);
}

.gallery-details__links {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-top: var(--space-5);
}

.gallery-details__quote {
  align-self: end;
  min-width: 0;
  max-width: 24rem;
  margin: 0;
  padding: var(--space-7);
  border: 0;
  border-inline-start: 2px solid var(--color-muted-gold);
  border-radius: var(--radius-card);
  background: var(--color-cream);
  color: var(--color-forest);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
}

.gallery-pathways__heading {
  max-width: 32rem;
  margin-bottom: var(--space-7);
}

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

.gallery-pathway {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-panel);
  background: var(--color-cream);
}

.gallery-pathway > * {
  margin: 0;
}

.gallery-pathway p:not(.eyebrow) {
  max-width: 23rem;
}

.gallery-pathway .button {
  margin-top: auto;
}

.gallery-pathway--poker {
  border-color: var(--color-forest);
}

.gallery-pathway--poker .eyebrow {
  color: var(--color-soft-coral);
}

.gallery-pathway--poker .button--secondary {
  border-color: var(--color-ivory);
  color: var(--color-ivory);
}

.gallery-pathway--poker .button--secondary:hover {
  background: var(--color-ivory);
  color: var(--color-deep-forest);
}

.gallery-pathway--events {
  border-top: 2px solid var(--color-burnt-orange);
}

.gallery-considered {
  padding-block: var(--section-space-compact);
}

.gallery-considered__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: min(100%, 78.5rem);
  min-width: 0;
  margin-inline: auto;
  gap: var(--space-6);
  padding: var(--space-7);
  border: var(--border-default);
  border-radius: var(--radius-panel);
}

.gallery-considered__statement {
  min-width: 0;
  max-width: 44rem;
}

.gallery-considered__statement .eyebrow {
  color: var(--color-burgundy);
}

.gallery-considered__points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
}

.gallery-considered__points > article {
  min-width: 0;
  max-width: 34rem;
  padding-inline: var(--space-5);
  border-inline-start: var(--border-default);
}

.gallery-considered__points > article:first-child {
  padding-inline-start: 0;
  border-inline-start: 0;
}

.gallery-considered__points h3 {
  font-size: var(--text-xl);
}

.gallery-considered__points a {
  display: inline-block;
  min-height: 2.75rem;
  padding-block: var(--space-2);
  font-weight: 700;
}

.gallery-closing__inner {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: var(--space-6);
  text-align: center;
}

.gallery-closing__inner > * {
  margin: 0;
}

.gallery-closing .rule {
  max-width: 3.5rem;
}

.gallery-closing__copy {
  min-width: 0;
  max-width: 40rem;
  margin-inline: auto;
}

.gallery-closing__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
}

.gallery-lightbox {
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  padding: max(var(--space-5), env(safe-area-inset-top)) max(var(--space-5), env(safe-area-inset-right)) max(var(--space-5), env(safe-area-inset-bottom)) max(var(--space-5), env(safe-area-inset-left));
  border: 0;
  background: var(--color-deep-forest);
  color: var(--color-ivory);
}

.gallery-lightbox::backdrop {
  background: rgb(16 45 39 / 0.9);
}

.gallery-lightbox__shell {
  display: flex;
  width: min(100%, 88rem);
  min-height: 100%;
  margin-inline: auto;
  flex-direction: column;
  gap: var(--space-4);
}

.gallery-lightbox__topbar {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
}

.gallery-lightbox__topbar > * {
  min-width: 0;
}

.gallery-lightbox .eyebrow,
.gallery-lightbox__count,
.gallery-lightbox__help,
.gallery-lightbox figcaption p {
  margin: 0;
  color: var(--color-pale-sage);
}

.gallery-lightbox__close {
  flex: 0 0 auto;
  min-height: 2.75rem;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-pale-sage);
  border-radius: var(--radius-control);
  background: transparent;
  color: var(--color-ivory);
  font-weight: 700;
}

.gallery-lightbox__close:hover {
  background: var(--color-forest);
}

.gallery-lightbox__close span {
  margin-inline-start: var(--space-2);
  font-size: var(--text-xl);
}

.gallery-lightbox__help {
  width: min(100%, 28rem);
  font-size: var(--text-sm);
}

.gallery-lightbox__figure {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-4);
  margin: 0;
}

.gallery-lightbox__figure img {
  width: 100%;
  max-height: 72vh;
  object-fit: contain;
}

.gallery-lightbox__figure figcaption {
  width: min(100%, 42rem);
  margin: 0;
}

.gallery-lightbox h2 {
  margin-bottom: var(--space-2);
  color: var(--color-ivory);
  font-size: var(--text-2xl);
}

.gallery-lightbox__controls {
  display: flex;
  min-width: 0;
  justify-content: space-between;
  gap: var(--space-3);
}

.gallery-lightbox__controls > * {
  min-width: 0;
}

.gallery-lightbox .button--secondary {
  border-color: var(--color-ivory);
  color: var(--color-ivory);
}

.gallery-lightbox .button--secondary:hover {
  background: var(--color-ivory);
  color: var(--color-deep-forest);
}

.gallery-lightbox button:disabled {
  border-color: var(--color-muted-ink);
  background: transparent;
  color: var(--color-pale-sage);
}

@media (hover: hover) {
  .gallery-card {
    transition: box-shadow var(--transition-base), transform var(--transition-base);
  }

  .gallery-card:hover {
    box-shadow: var(--shadow-card);
    transform: translateY(-2px);
  }

  .gallery-image-button:hover img {
    transform: scale(1.02);
  }
}

@media (max-width: 64rem) {
  .gallery-opening__grid,
  .gallery-room__grid,
  .gallery-collection__head {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gallery-opening__grid {
    gap: var(--space-6);
  }

  .gallery-opening h1 {
    font-size: clamp(3.25rem, 6.5vw, 4.75rem);
  }

  .gallery-room__intro {
    grid-column: 1 / -1;
  }

  .gallery-room__notes {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .gallery-note {
    padding-inline-start: 0;
  }

  .gallery-note:nth-child(3) {
    grid-column: 1 / -1;
  }

  .gallery-collection__head {
    align-items: start;
  }

  .gallery-filters {
    justify-content: flex-start;
  }

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

  .gallery-card,
  .gallery-card--interior,
  .gallery-card--plates,
  .gallery-card--cocktail,
  .gallery-card--poker,
  .gallery-card--detail,
  .gallery-card--cardroom,
  .gallery-card--evening,
  .gallery-card--event {
    grid-column: auto;
  }

  .gallery-card--event {
    display: flex;
  }

  .gallery-card--event .gallery-image-button {
    aspect-ratio: 3 / 2;
  }

  .gallery-details__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gallery-details__observations {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gallery-details__heading {
    grid-column: 1 / -1;
  }

  .gallery-observation:nth-of-type(3) {
    grid-column: 1 / -1;
  }

  .gallery-details__quote {
    grid-column: 2;
  }

  .gallery-pathways__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gallery-pathway--poker {
    grid-column: 1 / -1;
  }
}

@media (max-width: 56.25rem) {
  .gallery-opening__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gallery-opening__copy {
    max-width: 100%;
  }
}

@media (max-width: 48.75rem) {
  .gallery-considered__points {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .gallery-considered__points > article,
  .gallery-considered__points > article:first-child {
    max-width: 34rem;
    padding: var(--space-5) 0 0;
    border-inline-start: 0;
    border-top: var(--border-default);
  }
}

@media (max-width: 43.75rem) {
  .gallery-opening {
    padding-block: var(--section-space);
  }

  .gallery-opening__grid,
  .gallery-room__grid,
  .gallery-collection__head,
  .gallery-details__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .gallery-opening__copy {
    gap: var(--space-4);
  }

  .gallery-opening h1 {
    font-size: clamp(2.75rem, 11vw, 3.25rem);
  }

  .gallery-opening__figure {
    margin-top: 0;
  }

  .gallery-room__notes,
  .gallery-details__observations {
    grid-template-columns: minmax(0, 1fr);
  }

  .gallery-note,
  .gallery-note:nth-child(3) {
    grid-column: auto;
    padding: 0 0 var(--space-5);
    border-inline-start: 0;
    border-bottom: var(--border-default);
  }

  .gallery-note:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }

  .gallery-collection__head {
    margin-bottom: var(--space-6);
  }

  .gallery-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .gallery-filters > button:last-child {
    grid-column: 1 / -1;
  }

  .gallery-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .gallery-card--cardroom .gallery-image-button {
    aspect-ratio: 4 / 5;
  }

  .gallery-card--event .gallery-card__body {
    padding: var(--space-5);
  }

  .gallery-details__observations {
    gap: var(--space-6);
  }

  .gallery-observation,
  .gallery-observation:nth-of-type(3),
  .gallery-details__quote {
    grid-column: auto;
    max-width: 100%;
  }

  .gallery-observation {
    padding-bottom: var(--space-5);
    border-bottom: 1px solid rgb(220 231 217 / 0.35);
  }

  .gallery-observation--felt {
    padding-inline-start: var(--space-4);
    border-inline-start: 1px solid var(--color-burgundy);
  }

  .gallery-details__quote {
    padding: var(--space-5);
  }

  .gallery-pathways__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .gallery-pathway--poker {
    grid-column: auto;
  }

  .gallery-considered__panel {
    padding: var(--space-5);
  }

  .gallery-closing__actions {
    width: min(100%, 28rem);
    flex-direction: column;
    align-items: stretch;
  }

  .gallery-closing__actions .button {
    width: 100%;
    justify-content: flex-start;
  }

  .gallery-lightbox {
    padding: var(--space-5);
  }

  .gallery-lightbox__topbar {
    align-items: flex-start;
  }

  .gallery-lightbox__figure img {
    max-height: 56vh;
  }

  .gallery-lightbox__controls {
    flex-direction: column;
    align-items: stretch;
  }

  .gallery-lightbox__controls .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gallery-card,
  .gallery-image-button img {
    transition: none;
  }
}


.poker-page { overflow: hidden; }
.poker-page__container { width: min(100%, var(--content-max)); margin-inline: auto; padding-inline: var(--container-padding); }
.poker-page__sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.poker-page__hero { background: var(--color-deep-forest); color: var(--color-on-dark); padding-block: clamp(4rem, 9vw, 10rem); }
.poker-page__hero-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: var(--space-7); }
.poker-page__hero-copy { min-width: 0; max-width: 34rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.poker-page__hero-copy > * { margin: 0; }
.poker-page__hero-copy h1 { color: var(--color-ivory); }
.poker-page__hero-copy p { color: var(--color-on-dark-muted); }
.poker-page__hero-eyebrow { color: var(--color-soft-coral); }
.poker-page__hero-actions { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-4); }
.poker-page__button-inverse { border-color: var(--color-ivory); background: var(--color-ivory); color: var(--color-forest); }
.poker-page__button-inverse:hover { background: var(--color-pale-sage); color: var(--color-deep-forest); }
.poker-page__light-link { color: var(--color-ivory); font-weight: 700; }
.poker-page__hero-helper { font-size: var(--text-sm); line-height: var(--leading-sm); }
.poker-page__hero-media, .poker-page__room-media, .poker-page__dining-media { width: 100%; margin: 0; overflow: hidden; border-radius: var(--radius-panel); }
.poker-page__hero-media { aspect-ratio: 3 / 2; border: 1px solid rgb(255 253 248 / 0.36); transform: translateY(var(--space-4)); }
.poker-page__hero-media img, .poker-page__room-media img, .poker-page__dining-media img, .poker-page__experience-card figure img { width: 100%; height: 100%; object-fit: cover; }
.poker-page__programme-top { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); align-items: start; gap: var(--space-7); margin-block-end: var(--space-6); }
.poker-page__programme-intro { min-width: 0; max-width: 42rem; }
.poker-page__programme-side { min-width: 0; padding-block-start: var(--space-7); }
.poker-page__schedule-table-wrap { width: 100%; overflow-x: auto; border: var(--border-default); border-radius: var(--radius-card); background: var(--color-cream); }
.poker-page__schedule-table { min-width: 56rem; }
.poker-page__schedule-table td { font-variant-numeric: tabular-nums; }
.poker-page__schedule-table td:last-child { white-space: nowrap; }
.poker-page__schedule-cards { display: none; }
.poker-page__booking-note { margin-block-start: var(--space-5); padding: var(--space-5); border-radius: var(--radius-card); background: var(--color-pale-sage); }
.poker-page__tables-intro { max-width: 46rem; }
.poker-page__table-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: stretch; }
.poker-page__experience-card { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border: var(--border-default); border-radius: var(--radius-card); background: var(--color-cream); }
.poker-page__experience-card > * { margin: 0; }
.poker-page__experience-card p { width: min(100%, 29rem); }
.poker-page__experience-card a, .poker-page__experience-card .button--text { margin-top: auto; }
.poker-page__experience-card--weekly { grid-column: span 3; }
.poker-page__experience-card--tournament { grid-column: span 5; grid-row: span 2; background: var(--color-forest); color: var(--color-on-dark); }
.poker-page__experience-card--tournament h3, .poker-page__experience-card--high h3 { color: var(--color-ivory); }
.poker-page__experience-card--tournament .eyebrow, .poker-page__experience-card--high .eyebrow { color: var(--color-soft-coral); }
.poker-page__experience-card--tournament a, .poker-page__experience-card--high a, .poker-page__experience-card--high .button--text { color: var(--color-ivory); }
.poker-page__experience-card--beginner { grid-column: span 4; background: var(--color-pale-sage); }
.poker-page__experience-card--special { grid-column: span 3; }
.poker-page__experience-card--high { grid-column: span 4; background: var(--color-burgundy); color: var(--color-ivory); }
.poker-page__experience-card--private { grid-column: span 7; grid-row: span 2; padding: 0; overflow: hidden; }
.poker-page__experience-card--private figure { width: 100%; height: 13rem; margin: 0; }
.poker-page__experience-card--private > div { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); }
.poker-page__experience-card--private > div > * { margin: 0; }
.poker-page__experience-card--dining { grid-column: span 5; border-top: 3px solid var(--color-burnt-orange); }
.poker-page__experience-card--dining > div { display: flex; flex-wrap: wrap; gap: var(--space-4); }
.poker-page__room { background: linear-gradient(180deg, var(--color-ivory), var(--color-cream)); }
.poker-page__room-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; gap: var(--space-7); }
.poker-page__room-copy { min-width: 0; max-width: 38rem; }
.poker-page__room-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-block-start: var(--space-6); }
.poker-page__room-notes article { min-width: 0; }
.poker-page__room-notes article > * { margin-block-start: 0; }
.poker-page__room-notes span, .poker-page__guidance-grid span, .poker-page__private-prompts span { display: block; margin-block-end: var(--space-3); color: var(--color-muted-gold); font-size: var(--text-sm); font-weight: 700; letter-spacing: .08em; }
.poker-page__room-media { aspect-ratio: 3 / 2; }
.poker-page__first-visit { background: var(--color-cream); }
.poker-page__first-visit-lead { width: min(100% - (var(--container-padding) * 2), 44rem); margin-inline: auto; }
.poker-page__guidance-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-block-start: var(--space-7); }
.poker-page__guidance-grid article { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border: var(--border-default); border-radius: var(--radius-card); background: var(--color-ivory); }
.poker-page__guidance-grid article > * { margin: 0; }
.poker-page__guidance-grid p { width: min(100%, 27rem); }
.poker-page__guidance-grid a { margin-top: auto; }
.poker-page__dining { background: var(--color-soft-coral); }
.poker-page__dining-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: var(--space-6); }
.poker-page__dining-copy { min-width: 0; max-width: 40rem; padding: var(--space-7); background: rgb(255 253 248 / .58); border-radius: var(--radius-panel); }
.poker-page__dining-media { aspect-ratio: 4 / 3; }
.poker-page__dining-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-block-start: var(--space-5); }
.poker-page__dining-panel { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); border: var(--border-default); border-radius: var(--radius-card); background: var(--color-cream); }
.poker-page__dining-panel > * { margin: 0; }
.poker-page__dining-panel > div { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); margin-top: auto; }
.poker-page__dining-panel--dark { background: var(--color-forest); color: var(--color-on-dark); }
.poker-page__dining-panel--dark h3 { color: var(--color-ivory); }
.poker-page__dining-panel--dark .eyebrow { color: var(--color-soft-coral); }
.poker-page__private { background: var(--color-deep-forest); color: var(--color-on-dark); }
.poker-page__private-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-7); }
.poker-page__private-intro { min-width: 0; max-width: 39rem; }
.poker-page__private h2, .poker-page__private h3 { color: var(--color-ivory); }
.poker-page__private .eyebrow { color: var(--color-soft-coral); }
.poker-page__private-prompts { min-width: 0; display: flex; flex-direction: column; gap: var(--space-5); }
.poker-page__private-prompts article { min-width: 0; padding-block-end: var(--space-5); border-block-end: 1px solid rgb(220 231 217 / .35); }
.poker-page__private-prompts article > *:last-child { margin-block-end: 0; }
.poker-page__private-button { border-color: var(--color-ivory); color: var(--color-ivory); }
.poker-page__private-button:hover { border-color: var(--color-ivory); background: var(--color-ivory); color: var(--color-deep-forest); }
.poker-page__responsible-panel { width: min(100% - (var(--container-padding) * 2), var(--content-max)); margin-inline: auto; padding: var(--space-7); border-radius: var(--radius-panel); background: var(--color-pale-sage); }
.poker-page__responsible-lead { width: min(100%, 44rem); margin-inline: auto; }
.poker-page__responsible-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-7); margin-block-start: var(--space-6); }
.poker-page__responsible-notes article { min-width: 0; max-width: 28rem; }
.poker-page__responsible-notes span { color: var(--color-forest); font-size: 1.5rem; }
.poker-page__faq-wrap { width: min(100% - (var(--container-padding) * 2), var(--reading-max)); margin-inline: auto; }
.poker-page__accordion { display: flex; flex-direction: column; gap: var(--space-3); margin-block-start: var(--space-6); }
.poker-page__accordion article { min-width: 0; border: var(--border-default); border-radius: var(--radius-card); background: var(--color-cream); overflow: hidden; }
.poker-page__accordion h3 { margin: 0; font-family: var(--font-body); font-size: var(--text-base); letter-spacing: 0; }
.poker-page__accordion button { width: 100%; min-height: 3.5rem; justify-content: space-between; padding: var(--space-4); border: 0; background: transparent; color: var(--color-forest); text-align: left; }
.poker-page__accordion button:hover { background: var(--color-pale-sage); color: var(--color-deep-forest); }
.poker-page__accordion button span { font-size: 1.5rem; font-weight: 400; }
.poker-page__accordion [role="region"] { padding: 0 var(--space-5) var(--space-5); }
.poker-page__accordion [role="region"] p { margin: 0; }
.poker-page__reserve { background: var(--color-cream); }
.poker-page__reserve-grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); align-items: start; gap: var(--space-6); }
.poker-page__reserve-intro { min-width: 0; display: flex; flex-direction: column; gap: var(--space-5); padding: var(--space-6); border-radius: var(--radius-panel); background: var(--color-forest); color: var(--color-on-dark); }
.poker-page__reserve-intro > * { margin: 0; }
.poker-page__reserve-intro h2 { color: var(--color-ivory); }
.poker-page__reserve-intro .eyebrow { color: var(--color-soft-coral); }
.poker-page__form-wrap { min-width: 0; }
.poker-page__seat-form { display: flex; flex-direction: column; gap: var(--space-5); }
.poker-page__form-status:empty { display: none; }
.poker-page__form-status { padding: var(--space-3) var(--space-4); border-radius: var(--radius-control); background: var(--color-pale-sage); color: var(--color-deep-forest); }
.poker-page__form-status[data-state="error"] { background: #f5ded8; color: var(--color-burgundy); }
.poker-page__form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.poker-page__form-grid > div { min-width: 0; }
.poker-page__form-message { grid-column: span 2; }
.poker-page__form-helper { margin: 0; color: var(--color-muted-ink); font-size: var(--text-sm); }
.poker-page__check-row { display: grid; grid-template-columns: 1.125rem minmax(0, 1fr); align-items: start; gap: var(--space-3); }
.poker-page__check-row label { margin: 0; font-weight: 400; }
.poker-page__seat-form [aria-invalid="true"] { border-color: var(--color-burgundy); box-shadow: 0 0 0 2px rgb(119 47 61 / .18); }
.poker-page__field-error { margin: var(--space-2) 0 0; color: var(--color-burgundy); font-size: var(--text-sm); font-weight: 700; }
.poker-page__private-alternative { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); margin-block-start: var(--space-6); padding-block-start: var(--space-5); border-block-start: var(--border-default); }
.poker-page__private-alternative > * { margin: 0; }
@media (max-width: 67.49rem) { .poker-page__table-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .poker-page__experience-card--weekly, .poker-page__experience-card--tournament, .poker-page__experience-card--beginner, .poker-page__experience-card--special, .poker-page__experience-card--high, .poker-page__experience-card--private, .poker-page__experience-card--dining { grid-column: span 1; grid-row: span 1; } }
@media (max-width: 61.24rem) { .poker-page__hero-grid { grid-template-columns: minmax(0, 45fr) minmax(0, 55fr); gap: var(--space-5); } .poker-page__programme-top, .poker-page__room-grid { grid-template-columns: 1fr; } .poker-page__programme-side { padding-block-start: 0; } .poker-page__room-copy { max-width: none; } .poker-page__room-media { order: 2; } }
@media (max-width: 57.49rem) { .poker-page__dining-grid, .poker-page__reserve-grid { grid-template-columns: 1fr; } .poker-page__dining-media { order: 2; } .poker-page__reserve-intro { max-width: 38rem; } .poker-page__private-grid { grid-template-columns: 1fr; } .poker-page__private-prompts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 52.49rem) { .poker-page__guidance-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .poker-page__guidance-grid article:first-child { grid-column: span 2; } }
@media (max-width: 47.99rem) { .poker-page__hero { padding-block: var(--space-8); } .poker-page__hero-grid, .poker-page__dining-actions, .poker-page__responsible-notes, .poker-page__private-prompts { grid-template-columns: 1fr; } .poker-page__hero-grid { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-5); } .poker-page__hero-copy { max-width: none; } .poker-page__hero-copy h1 { font-size: clamp(2.75rem, 11vw, 3.25rem); } .poker-page__hero-actions { width: 100%; flex-direction: column; align-items: stretch; } .poker-page__hero-actions > * { width: 100%; } .poker-page__hero-media { transform: none; aspect-ratio: 4 / 3; } .poker-page__schedule-table-wrap { display: none; } .poker-page__schedule-cards { display: grid; grid-template-columns: 1fr; gap: var(--space-4); } .poker-page__schedule-card { min-width: 0; padding: var(--space-5); border: var(--border-default); border-radius: var(--radius-card); background: var(--color-cream); } .poker-page__schedule-card .eyebrow { margin-block-start: 0; } .poker-page__schedule-card dl { display: grid; grid-template-columns: 1fr; gap: var(--space-3); } .poker-page__schedule-card dl div { min-width: 0; display: grid; grid-template-columns: minmax(0, 8rem) minmax(0, 1fr); gap: var(--space-3); } .poker-page__schedule-card dd { margin: 0; font-variant-numeric: tabular-nums; } .poker-page__schedule-card .button { width: 100%; margin-block-start: var(--space-3); } .poker-page__table-grid, .poker-page__guidance-grid { grid-template-columns: 1fr; } .poker-page__guidance-grid article:first-child { grid-column: span 1; } .poker-page__experience-card--private figure { height: auto; aspect-ratio: 4 / 3; } .poker-page__room-notes { grid-template-columns: 1fr; } .poker-page__dining-copy { padding: var(--space-5); } .poker-page__dining-actions { display: grid; } .poker-page__dining-panel .button, .poker-page__dining-panel--dark .button { width: 100%; } .poker-page__responsible-panel { padding: var(--space-5); } .poker-page__reserve-intro { padding: var(--space-5); } .poker-page__form-grid { grid-template-columns: 1fr; } .poker-page__form-message { grid-column: span 1; } .poker-page__seat-form > .button, .poker-page__private-alternative .button { width: 100%; } }
@media (prefers-reduced-motion: no-preference) { .poker-page__accordion [role="region"] { transition: opacity 220ms ease-out; } .poker-page__accordion [role="region"][hidden] { opacity: 0; } }


.restaurant-menu-page {
  overflow: clip;
}

.restaurant-menu-page :is(.rm-hero__grid, .rm-evening__intro, .rm-evening__blocks, .rm-menu__layout, .rm-menu__categories, .rm-samples__feature, .rm-samples__lower, .rm-drinks-panel__grid, .rm-transition__layout, .rm-transition__stack, .rm-occasions__grid, .rm-gallery__grid, .rm-booking__layout, .rm-form-grid, .rm-events__panel, .rm-before__notes, .rm-before__actions) > * {
  min-width: 0;
}

.rm-hero {
  padding-block: 6rem 4rem;
}

.rm-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: clamp(2rem, 4vw, 3rem);
  max-width: var(--content-max);
}

.rm-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.rm-hero__copy > :is(h1, p) {
  margin: 0;
}

.rm-hero__eyebrow {
  position: relative;
  padding-top: var(--space-4);
}

.rm-hero__eyebrow::before {
  position: absolute;
  inset: 0 auto auto 0;
  width: 4.5rem;
  height: 1px;
  background: var(--color-muted-gold);
  content: "";
}

.rm-hero__copy h1 {
  max-width: 35rem;
}

.rm-hero__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  max-width: 34rem;
}

.rm-hero__body p,
.rm-hero__location {
  margin: 0;
}

.rm-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  width: 100%;
}

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

.rm-hero__location {
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
}

.rm-hero__figure {
  width: 100%;
  margin: 0;
}

.rm-hero__figure img {
  width: 100%;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-panel);
  object-fit: cover;
}

.rm-hero__figure figcaption {
  max-width: 30rem;
}

.rm-evening__intro {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--space-6);
  margin-bottom: var(--space-7);
}

.rm-evening__intro > * {
  min-width: 0;
}

.rm-evening__intro > .eyebrow {
  margin: 0;
}

.rm-evening__intro h2 {
  max-width: 42rem;
}

.rm-evening__intro p {
  width: min(100%, 42rem);
}

.rm-evening__blocks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.rm-evening__card,
.rm-evening__editorial,
.rm-evening__poker {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-height: 100%;
  padding: var(--space-6);
}

.rm-evening__card > *,
.rm-evening__editorial > *,
.rm-evening__poker > * {
  margin: 0;
}

.rm-evening__card h3,
.rm-evening__editorial h3,
.rm-evening__poker h3 {
  max-width: 28rem;
}

.rm-table-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: var(--color-burnt-orange);
  color: var(--color-ivory);
  font-size: var(--text-xs);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.rm-rule-mark {
  display: block;
  width: 3.5rem;
  height: 1px;
  background: var(--color-muted-gold);
}

.rm-evening__editorial {
  justify-content: center;
}

.rm-evening__poker {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-card);
  background: var(--color-forest);
  color: var(--color-ivory);
}

.rm-evening__poker h3 {
  color: var(--color-ivory);
}

.rm-suit-detail {
  color: var(--color-soft-coral);
  font-family: var(--font-heading);
  font-size: var(--text-2xl);
  line-height: 1;
}

.rm-evening__poker a {
  margin-top: auto;
}

.rm-menu__layout {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--space-7);
  align-items: start;
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-card);
}

.rm-menu__rail {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.rm-menu__rail > * {
  margin: 0;
}

.rm-menu__rail h2 {
  max-width: 23rem;
}

.rm-menu__rail p {
  width: min(100%, 28rem);
}

.rm-menu__update {
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
}

.rm-menu__categories {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  padding-top: var(--space-1);
}

.rm-menu-tile {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: var(--space-3);
  row-gap: var(--space-1);
  min-height: 7.25rem;
  padding: var(--space-4);
  border: var(--border-default);
  border-radius: var(--radius-card);
  background: var(--color-cream);
  color: var(--color-charcoal);
  text-decoration: none;
  transition: border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);
}

.rm-menu-tile > span {
  grid-row: 1 / span 2;
  color: var(--color-burgundy);
}

.rm-menu-tile strong {
  color: var(--color-forest);
}

.rm-menu-tile small {
  color: var(--color-muted-ink);
}

.rm-menu-tile--sage {
  background: var(--color-pale-sage);
}

.rm-menu-tile:hover {
  border-color: var(--color-forest);
  box-shadow: var(--shadow-card);
  color: var(--color-charcoal);
  transform: translateY(-2px);
}

.rm-samples__heading {
  max-width: 44rem;
  margin-bottom: var(--space-6);
}

.rm-samples__heading > * {
  margin: 0;
}

.rm-samples__heading .eyebrow {
  margin-bottom: var(--space-3);
}

.rm-sample-notice {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-width: 34rem;
  margin-bottom: var(--space-7);
  padding: var(--space-5);
  border-inline-start: 2px solid var(--color-forest);
  border-radius: var(--radius-card);
  background: var(--color-pale-sage);
}

.rm-sample-notice > * {
  margin: 0;
}

.rm-samples__feature,
.rm-samples__lower {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-7);
  align-items: start;
}

.rm-samples__feature {
  margin-bottom: var(--space-7);
}

.rm-samples__image,
.rm-transition__figure,
.rm-gallery__grid figure {
  margin: 0;
}

.rm-samples__image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-panel);
  object-fit: cover;
}

.rm-samples__opening {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding-top: var(--space-5);
}

.rm-samples__opening > * {
  margin: 0;
}

.rm-samples__opening p:last-child {
  max-width: 32rem;
}

.rm-food-stack {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.rm-food-stack > div {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding-bottom: var(--space-5);
  border-bottom: var(--border-default);
}

.rm-food-stack > div > * {
  margin: 0;
}

.rm-food-stack h3 {
  font-size: var(--text-xl);
}

.rm-drinks-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  padding: var(--space-6);
  border-radius: var(--radius-panel);
  background: #f1d7d4;
}

.rm-drinks-panel > * {
  margin: 0;
}

.rm-drinks-panel__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.rm-drinks-panel__grid > div {
  min-width: 0;
}

.rm-drinks-panel__grid h3 {
  font-size: var(--text-xl);
}

.rm-transition {
  background: linear-gradient(135deg, var(--color-deep-forest), var(--color-forest));
  color: var(--color-ivory);
}

.rm-transition :is(h2, h3) {
  color: var(--color-ivory);
}

.rm-transition__lead {
  max-width: 40rem;
  margin-bottom: var(--space-7);
}

.rm-transition__lead > * {
  margin: 0;
}

.rm-transition__lead .eyebrow {
  margin-bottom: var(--space-3);
  color: var(--color-soft-coral);
}

.rm-transition__layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-7);
  align-items: stretch;
}

.rm-transition__stack {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.rm-pathway,
.rm-responsible-note {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5);
  border-radius: var(--radius-card);
}

.rm-pathway > *,
.rm-responsible-note > * {
  margin: 0;
}

.rm-pathway--dining {
  background: var(--color-cream);
  color: var(--color-charcoal);
}

.rm-pathway--dining h3 {
  color: var(--color-charcoal);
}

.rm-pathway--poker {
  border: 1px solid rgb(220 231 217 / 0.5);
  background: rgb(16 45 39 / 0.52);
}

.rm-responsible-note {
  flex-direction: row;
  align-items: flex-start;
  background: var(--color-pale-sage);
  color: var(--color-charcoal);
}

.rm-responsible-note > span {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid var(--color-forest);
  border-radius: 50%;
  color: var(--color-forest);
  font-family: var(--font-heading);
  font-weight: 700;
}

.rm-transition__figure {
  align-self: stretch;
}

.rm-transition__figure img {
  width: 100%;
  height: 100%;
  min-height: 32rem;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-panel);
  object-fit: cover;
}

.rm-transition__figure figcaption {
  color: var(--color-on-dark-muted);
}

.rm-occasions__intro {
  max-width: 42rem;
  margin-bottom: var(--space-7);
}

.rm-occasions__intro > * {
  margin: 0;
}

.rm-occasions__intro .eyebrow,
.rm-occasions__intro h2 {
  margin-bottom: var(--space-3);
}

.rm-occasions__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.rm-occasion-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-height: 100%;
  padding: var(--space-6);
}

.rm-occasion-card > * {
  margin: 0;
}

.rm-occasion-card .button,
.rm-occasion-card a:last-child {
  margin-top: auto;
}

.rm-place-settings {
  color: var(--color-burnt-orange);
  font-size: var(--text-xl);
}

.rm-occasion-card--shared {
  border-block: var(--border-gold);
}

.rm-occasion-card--poker {
  border-radius: var(--radius-card);
  background: var(--color-burgundy);
  color: var(--color-ivory);
}

.rm-occasion-card--poker h3,
.rm-occasion-card--poker a {
  color: var(--color-ivory);
}

.rm-occasion-card--poker .rm-suit-detail {
  color: var(--color-soft-coral);
}

.rm-host-bridge {
  max-width: 46rem;
  margin-top: var(--space-6);
  margin-bottom: 0;
}

.rm-gallery__intro {
  max-width: 39rem;
  margin-bottom: var(--space-7);
}

.rm-gallery__intro > * {
  margin: 0;
}

.rm-gallery__intro .eyebrow,
.rm-gallery__intro h2 {
  margin-bottom: var(--space-3);
}

.rm-gallery__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  grid-template-rows: auto auto;
  gap: var(--space-6);
  align-items: start;
}

.rm-gallery__primary {
  grid-column: 1;
  grid-row: 1 / span 2;
}

.rm-gallery__food {
  grid-column: 2;
  grid-row: 1;
}

.rm-gallery__cards {
  grid-column: 2;
  grid-row: 2;
}

.rm-gallery__primary img,
.rm-gallery__food img,
.rm-gallery__cards img {
  width: 100%;
  object-fit: cover;
}

.rm-gallery__primary img {
  aspect-ratio: 3 / 2;
  border-radius: var(--radius-panel);
}

.rm-gallery__food img {
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-card);
}

.rm-gallery__cards img {
  aspect-ratio: 1 / 1;
  border-radius: var(--radius-card);
}

.rm-gallery__grid figcaption {
  max-width: 26rem;
  padding-top: var(--space-3);
  border-top: var(--border-gold);
}

.rm-gallery__food figcaption,
.rm-gallery__cards figcaption {
  max-width: 22rem;
}

.rm-booking__layout {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--space-7);
  align-items: start;
}

.rm-booking__intro {
  max-width: 25rem;
}

.rm-booking__intro > * {
  margin: 0;
}

.rm-booking__intro .eyebrow,
.rm-booking__intro h2 {
  margin-bottom: var(--space-3);
}

.rm-booking__form {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  width: 100%;
  max-width: 47.5rem;
  margin: 0;
  border-top: 2px solid var(--color-muted-gold);
}

.rm-booking__form > * {
  margin: 0;
}

.rm-booking__form-heading {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}

.rm-booking__form-heading > * {
  margin: 0;
}

.rm-booking__form-heading span {
  color: var(--color-burnt-orange);
  font-size: var(--text-sm);
}

.rm-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.rm-field {
  min-width: 0;
}

.rm-field--full {
  grid-column: 1 / -1;
}

.rm-field input,
.rm-field textarea {
  font-variant-numeric: tabular-nums;
}

.rm-field-error {
  min-height: 1.2rem;
  margin: var(--space-1) 0 0;
  color: var(--color-burgundy);
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: var(--leading-sm);
}

.rm-field [aria-invalid="true"] {
  border-color: var(--color-burgundy);
  box-shadow: 0 0 0 2px rgb(119 47 61 / 0.14);
}

.rm-optional {
  color: var(--color-muted-ink);
  font-weight: 400;
}

.rm-required-note {
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
}

.rm-required-note span {
  color: var(--color-burgundy);
  font-weight: 700;
}

.rm-booking__form button {
  align-self: flex-start;
}

.rm-booking__form button[disabled] {
  background: var(--color-deep-forest);
}

.rm-form-status {
  min-height: 1.5rem;
  font-weight: 700;
}

.rm-form-status[data-state="success"] {
  color: var(--color-forest);
}

.rm-form-status[data-state="error"] {
  color: var(--color-burgundy);
}

.rm-booking__followup {
  width: min(100%, 40rem);
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
}

.rm-events__panel {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  min-height: 28rem;
  overflow: hidden;
  border-inline-start: 4px solid var(--color-burgundy);
  border-radius: var(--radius-panel);
  background: var(--color-forest);
}

.rm-events__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  padding: clamp(2rem, 5vw, 4rem);
}

.rm-events__copy > * {
  margin: 0;
}

.rm-events__copy .eyebrow {
  color: var(--color-soft-coral);
}

.rm-events__copy h2 {
  max-width: 42rem;
  color: var(--color-ivory);
}

.rm-events__copy > p:not(.eyebrow) {
  max-width: 42rem;
}

.rm-events__cues {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: var(--space-3);
}

.rm-events__cues p {
  margin: 0;
  padding-top: var(--space-3);
  border-top: 1px solid rgb(181 138 74 / 0.7);
}

.rm-events__copy .button--secondary {
  border-color: var(--color-ivory);
  color: var(--color-ivory);
}

.rm-events__copy .button--secondary:hover {
  border-color: var(--color-ivory);
  background: var(--color-ivory);
  color: var(--color-forest);
}

.rm-events__quiet {
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgb(233 155 135 / 0.3);
  font-family: var(--font-heading);
  font-size: clamp(7rem, 16vw, 15rem);
}

.rm-before__inner {
  width: min(100%, 60rem);
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

.rm-before__inner > .eyebrow,
.rm-before__inner > h2 {
  margin-bottom: var(--space-3);
}

.rm-before__notes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-6);
}

.rm-before__notes article {
  min-width: 0;
}

.rm-before__notes h3 {
  font-size: var(--text-xl);
}

.rm-before__closing {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 44rem;
  margin-top: var(--space-7);
}

.rm-before__closing > * {
  margin: 0;
}

.rm-before__closing address {
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
}

.rm-before__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  width: 100%;
}

.rm-before__actions > * {
  min-width: 0;
}

.rm-before__poker-link {
  font-weight: 700;
}

@media (max-width: 63.99rem) {
  .rm-hero__grid,
  .rm-samples__feature,
  .rm-samples__lower,
  .rm-transition__layout,
  .rm-gallery__grid,
  .rm-booking__layout {
    grid-template-columns: 1fr;
  }

  .rm-hero__figure,
  .rm-samples__image,
  .rm-transition__figure,
  .rm-booking__form {
    max-width: 48rem;
  }

  .rm-transition__figure {
    order: 2;
  }

  .rm-transition__figure img {
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 5;
  }

  .rm-gallery__primary,
  .rm-gallery__food,
  .rm-gallery__cards {
    grid-column: auto;
    grid-row: auto;
  }

  .rm-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rm-gallery__primary {
    grid-column: 1 / -1;
  }

  .rm-booking__intro {
    max-width: 39rem;
  }
}

@media (max-width: 56.24rem) {
  .rm-hero__grid,
  .rm-evening__intro,
  .rm-menu__layout {
    grid-template-columns: 1fr;
  }

  .rm-hero {
    padding-block: 5rem 4rem;
  }

  .rm-hero__copy h1 {
    max-width: 40rem;
  }

  .rm-evening__blocks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rm-evening__poker {
    grid-column: 1 / -1;
  }

  .rm-menu__rail {
    max-width: 42rem;
  }

  .rm-events__panel {
    grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  }
}

@media (max-width: 58.74rem) {
  .rm-occasions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rm-occasion-card--poker {
    grid-column: 1 / -1;
  }
}

@media (max-width: 48.74rem) {
  .rm-menu__categories,
  .rm-drinks-panel__grid,
  .rm-form-grid {
    grid-template-columns: 1fr;
  }

  .rm-field--full {
    grid-column: auto;
  }

  .rm-menu-tile {
    min-height: 4.5rem;
  }

  .rm-booking__form button {
    width: 100%;
  }
}

@media (max-width: 46.24rem) {
  .rm-events__panel {
    grid-template-columns: 1fr;
  }

  .rm-events__quiet {
    display: none;
  }
}

@media (max-width: 43.74rem) {
  .rm-before__notes,
  .rm-gallery__grid,
  .rm-evening__blocks,
  .rm-occasions__grid {
    grid-template-columns: 1fr;
  }

  .rm-evening__poker,
  .rm-occasion-card--poker,
  .rm-gallery__primary {
    grid-column: auto;
  }

  .rm-hero__actions,
  .rm-before__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .rm-hero__actions .button,
  .rm-before__actions .button,
  .rm-occasion-card .button {
    width: 100%;
  }
}

@media (max-width: 32rem) {
  .rm-hero {
    padding-block-start: 4rem;
  }

  .rm-hero__copy {
    gap: var(--space-4);
  }

  .rm-evening__card,
  .rm-evening__editorial,
  .rm-evening__poker,
  .rm-menu__layout,
  .rm-drinks-panel,
  .rm-occasion-card,
  .rm-events__copy {
    padding: var(--space-5);
  }
}

@media (prefers-reduced-motion: reduce) {
  .rm-menu-tile:hover {
    transform: none;
  }
}


.thank-you {
  display: grid;
  min-height: clamp(34rem, calc(100vh - 15rem), 48rem);
  place-items: center;
  padding-block: var(--section-space);
  background: linear-gradient(135deg, var(--color-ivory) 0%, var(--color-cream) 100%);
}

.thank-you__panel {
  display: flex;
  width: min(100%, 46rem);
  margin-inline: auto;
  padding: clamp(var(--space-7), 6vw, var(--space-9));
  flex-direction: column;
  align-items: center;
  border: var(--border-default);
  border-top: 3px solid var(--color-muted-gold);
  border-radius: var(--radius-panel);
  background: var(--color-cream);
  box-shadow: var(--shadow-raised);
  text-align: center;
}

.thank-you__eyebrow {
  margin: 0 0 var(--space-4);
  color: var(--color-burgundy);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: var(--leading-xs);
  text-transform: uppercase;
}

.thank-you__mark {
  display: grid;
  width: 3rem;
  height: 3rem;
  margin-block-end: var(--space-5);
  place-items: center;
  border: 1px solid var(--color-muted-gold);
  border-radius: 50%;
  color: var(--color-forest);
  font-size: 1.5rem;
  line-height: 1;
}

.thank-you h1 {
  max-width: 34rem;
  margin-inline: auto;
  font-size: clamp(2.5rem, 5vw, 4.25rem);
}

.thank-you__message {
  max-width: 35rem;
  margin: 0 auto var(--space-3);
  color: var(--color-forest);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  line-height: 1.3;
}

.thank-you__next-step {
  width: min(100%, 38rem);
  margin: 0 auto;
  color: var(--color-muted-ink);
}

.thank-you__actions {
  display: flex;
  width: 100%;
  margin-block-start: var(--space-6);
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
}

@media (max-width: 47.99rem) {
  .thank-you {
    min-height: auto;
    padding-block: var(--space-8);
  }

  .thank-you__panel {
    padding: var(--space-7) var(--space-5);
  }

  .thank-you__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .thank-you__actions .button {
    width: 100%;
  }
}