

:root {
  --color-ivory: #faf8f5;
  --color-warm-card: #f0ece1;
  --color-charcoal: #1c1a17;
  --color-champagne: #b89768;
  --color-muted-ink: #625d55;
  --color-line: rgba(28, 26, 23, 0.12);
  --color-dark-line: rgba(250, 248, 245, 0.22);
  --color-card-border: rgba(0, 0, 0, 0.06);

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

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lead: 1.25rem;
  --text-h4: 1.75rem;
  --text-h3: 2.5rem;
  --text-display: clamp(2.375rem, 5vw, 3.5rem);

  --leading-tight: 1;
  --leading-heading: 1.1;
  --leading-body: 1.625;
  --leading-label: 1.333;

  --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;

  --container-max: 77.5rem;
  --gutter: 2rem;

  --radius-none: 0;
  --radius-control: 0.25rem;
  --radius-card: 0.5rem;

  --shadow-none: none;

  --transition-fast: 180ms ease;
  --transition-base: 220ms ease;
  --transition-menu: 240ms ease;
}

@media (max-width: 767px) {
  :root {
    --gutter: 1.25rem;
  }
}

@media (max-width: 379px) {
  :root {
    --gutter: 1rem;
  }
}

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

html {
  min-width: 0;
  scroll-behavior: smooth;
  text-size-adjust: 100%;
}

body {
  min-width: 0;
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  background: var(--color-ivory);
  color: var(--color-charcoal);
  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,
div,
form,
fieldset {
  min-width: 0;
}

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

img,
video {
  height: auto;
}

iframe {
  border: 0;
}

a {
  color: inherit;
  overflow-wrap: anywhere;
  text-decoration-color: var(--color-champagne);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
  transition:
    color var(--transition-fast),
    text-decoration-color var(--transition-fast);
}

a:hover {
  color: var(--color-muted-ink);
  text-decoration-color: currentColor;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--color-champagne);
  outline-offset: 2px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-block: 0 1rem;
  color: var(--color-charcoal);
  font-family: var(--font-heading);
  font-weight: 400;
  line-height: var(--leading-heading);
  overflow-wrap: break-word;
  text-wrap: balance;
}

h1 {
  font-size: var(--text-display);
  letter-spacing: -0.025em;
  line-height: 1.035;
  margin-block-end: var(--space-5);
}

h2 {
  font-size: clamp(2rem, 4vw, 2.5rem);
  letter-spacing: -0.02em;
  margin-block-end: var(--space-5);
}

h3 {
  font-size: clamp(1.75rem, 3vw, 2rem);
  letter-spacing: -0.015em;
  margin-block-end: var(--space-4);
}

h4 {
  font-size: var(--text-h4);
  margin-block-end: var(--space-3);
}

h5,
h6 {
  font-size: var(--text-lead);
  margin-block-end: var(--space-3);
}

p {
  margin-block: 0 var(--space-4);
  overflow-wrap: break-word;
}

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

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

blockquote {
  margin: 0 0 var(--space-5);
  padding-inline-start: var(--space-5);
  border-inline-start: 1px solid var(--color-champagne);
  color: var(--color-muted-ink);
  font-family: var(--font-heading);
  font-size: var(--text-lead);
  line-height: 1.4;
}

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: 1.5;
}

hr {
  width: 100%;
  height: 1px;
  margin: var(--space-7) 0;
  border: 0;
  background: var(--color-champagne);
}

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

strong,
b {
  font-weight: 500;
}

em,
i {
  font-style: italic;
}

code,
pre,
kbd,
samp {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

pre {
  max-width: 100%;
  margin-block: 0 var(--space-5);
  overflow: auto;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-card);
  background: var(--color-warm-card);
  font-size: var(--text-sm);
}

table {
  width: 100%;
  margin-block: 0 var(--space-5);
  border-collapse: collapse;
  border-spacing: 0;
  font-size: var(--text-sm);
}

th,
td {
  padding: var(--space-3);
  border-bottom: 1px solid var(--color-line);
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}

th {
  font-weight: 500;
}

button,
input,
select,
textarea {
  max-width: 100%;
  color: inherit;
  font: inherit;
}

button,
select {
  text-transform: none;
}

button {
  border: 0;
  cursor: pointer;
}

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

input,
select,
textarea {
  width: 100%;
  min-height: 2.75rem;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-control);
  background: transparent;
  padding: 0.625rem 0.75rem;
  line-height: 1.4;
  transition:
    border-color var(--transition-fast),
    background-color var(--transition-fast);
}

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

select {
  cursor: pointer;
}

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

label {
  display: inline-block;
  margin-block-end: var(--space-2);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: var(--leading-label);
  text-transform: uppercase;
}

fieldset {
  margin: 0 0 var(--space-5);
  padding: var(--space-5);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-card);
}

legend {
  padding-inline: var(--space-2);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

details {
  margin-block: 0 var(--space-4);
  border-bottom: 1px solid var(--color-line);
}

summary {
  padding-block: var(--space-3);
  cursor: pointer;
  font-weight: 500;
}

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

.container--wide {
  width: min(100% - (var(--gutter) * 2), 90rem);
  margin-inline: auto;
}

.section {
  padding-block: clamp(4rem, 8vw, 8rem);
}

.section--compact {
  padding-block: clamp(3rem, 6vw, 6rem);
}

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

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

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

.surface-dark :is(p, small, figcaption, blockquote) {
  color: var(--color-warm-card);
}

.surface-dark a:hover {
  color: var(--color-champagne);
}

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

.meta {
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.surface-dark .meta {
  color: var(--color-warm-card);
}

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

.card {
  min-width: 0;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: var(--radius-card);
  background: var(--color-warm-card);
  box-shadow: none;
}

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

.card__content {
  min-width: 0;
  padding: var(--space-5);
}

.card__content > :last-child,
.content-group > :last-child {
  margin-block-end: 0;
}

.button {
  display: inline-flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-charcoal);
  border-radius: var(--radius-card);
  background: var(--color-charcoal);
  color: var(--color-ivory);
  padding: 0.625rem 1rem;
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition:
    background-color var(--transition-base),
    border-color var(--transition-base),
    color var(--transition-base);
}

.button:hover {
  border-color: var(--color-warm-card);
  background: var(--color-warm-card);
  color: var(--color-charcoal);
}

.button--secondary {
  min-height: auto;
  justify-content: flex-start;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-charcoal);
  padding: 0 0 0.3rem;
  text-decoration: none;
  box-shadow: inset 0 -1px 0 var(--color-champagne);
}

.button--secondary:hover {
  border-color: transparent;
  background: transparent;
  color: var(--color-muted-ink);
  box-shadow: inset 0 -1px 0 currentColor;
}

.surface-dark .button--secondary {
  color: var(--color-ivory);
}

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

.button-group > * {
  min-width: 0;
}

.stack {
  display: flex;
  min-width: 0;
  flex-direction: column;
  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;
}

.media-frame {
  overflow: hidden;
  border-radius: var(--radius-card);
  background: var(--color-warm-card);
}

.media-frame img,
.media-frame video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.media-frame--cuisine {
  aspect-ratio: 4 / 3;
}

.media-frame--room {
  aspect-ratio: 3 / 2;
}

.media-frame--detail {
  aspect-ratio: 1 / 1;
}

.media-frame--lead {
  aspect-ratio: 16 / 10;
}

.reveal-image {
  overflow: hidden;
}

.reveal-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.03);
  transition: transform 900ms ease-out;
}

.reveal-image.is-visible img,
.reveal-image[data-revealed="true"] img {
  transform: scale(1);
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: var(--space-3);
  left: var(--space-3);
  transform: translateY(-200%);
  border-radius: var(--radius-control);
  background: var(--color-charcoal);
  color: var(--color-ivory);
  padding: var(--space-3) var(--space-4);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform var(--transition-fast);
}

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

@media (max-width: 767px) {
  .section {
    padding-block: clamp(4rem, 14vw, 5rem);
  }

  .section--compact {
    padding-block: clamp(3rem, 10vw, 4rem);
  }

  .media-frame--lead {
    aspect-ratio: 4 / 3;
  }

  .card__content {
    padding: var(--space-4);
  }

  .button-group {
    align-items: stretch;
  }
}

@media (max-width: 479px) {
  .button-group > .button {
    width: 100%;
  }
}

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

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

  .reveal-image img,
  .reveal-image.is-visible img,
  .reveal-image[data-revealed="true"] img {
    transform: none;
  }
}


.cv-header {
  position: relative;
  z-index: 100;
  min-height: 5.25rem;
  border-bottom: 1px solid var(--color-line);
  background: var(--color-ivory);
  color: var(--color-charcoal);
}

.cv-header__skip-link {
  position: fixed;
  z-index: 1001;
  top: var(--space-3);
  left: var(--space-3);
  transform: translateY(-200%);
  border-radius: var(--radius-control);
  background: var(--color-charcoal);
  color: var(--color-ivory);
  padding: var(--space-3) var(--space-4);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}

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

.cv-header__inner {
  display: grid;
  width: min(100% - (var(--gutter) * 2), var(--container-max));
  min-height: 5.25rem;
  margin-inline: auto;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: var(--space-4);
}

.cv-header__desktop-nav ul,
.cv-header__mobile-nav ul {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cv-header__desktop-nav li,
.cv-header__mobile-nav li,
.cv-header__desktop-nav li + li,
.cv-header__mobile-nav li + li { margin: 0; }

.cv-header__desktop-nav ul { align-items: center; gap: clamp(.8rem, 1.8vw, 1.5rem); }
.cv-header__desktop-nav--right ul { justify-content: flex-end; }

.cv-header__desktop-nav a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  border-bottom: 1px solid transparent;
  color: var(--color-charcoal);
  font-size: .6875rem;
  font-weight: 500;
  letter-spacing: .14em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.cv-header__desktop-nav a:hover,
.cv-header__desktop-nav a[aria-current="page"] { border-color: var(--color-champagne); color: var(--color-charcoal); }

.cv-header__brand {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: .625rem;
  color: var(--color-charcoal);
  text-decoration: none;
  white-space: nowrap;
}

.cv-header__brand:hover { color: var(--color-charcoal); }
.cv-header__mark { width: 2.125rem; height: 2.125rem; flex: 0 0 2.125rem; object-fit: contain; }
.cv-header__brand-copy { display: flex; min-width: 0; flex-direction: column; gap: .125rem; }
.cv-header__brand-name { font-size: .75rem; font-weight: 500; letter-spacing: .16em; line-height: 1.1; text-transform: uppercase; }
.cv-header__brand-subtitle { color: var(--color-muted-ink); font-size: .5625rem; font-weight: 500; letter-spacing: .14em; line-height: 1.15; text-transform: uppercase; }

.cv-header__toggle { display: none; }
.cv-header__mobile-nav { display: none; }

@media (max-width: 980px) {
  .cv-header { min-height: 4.5rem; }
  .cv-header__inner { min-height: 4.5rem; grid-template-columns: 1fr auto 1fr; }
  .cv-header__desktop-nav { display: none; }
  .cv-header__brand { grid-column: 2; }
  .cv-header__mark { width: 1.8125rem; height: 1.8125rem; flex-basis: 1.8125rem; }
  .cv-header__brand-name { font-size: .6875rem; letter-spacing: .13em; }
  .cv-header__brand-subtitle { font-size: .5rem; letter-spacing: .12em; }

  .cv-header__toggle {
    display: inline-flex;
    width: 2.75rem;
    min-height: 2.75rem;
    grid-column: 3;
    justify-self: end;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: .3125rem;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-control);
    background: transparent;
    color: var(--color-charcoal);
  }

  .cv-header__toggle-line { display: block; width: 1.125rem; height: 1px; background: currentColor; transition: transform var(--transition-menu), opacity var(--transition-menu); }
  .cv-header__toggle[aria-expanded="true"] .cv-header__toggle-line:nth-child(1) { transform: translateY(.375rem) rotate(45deg); }
  .cv-header__toggle[aria-expanded="true"] .cv-header__toggle-line:nth-child(2) { opacity: 0; }
  .cv-header__toggle[aria-expanded="true"] .cv-header__toggle-line:nth-child(3) { transform: translateY(-.375rem) rotate(-45deg); }

  .cv-header__mobile-nav {
    position: absolute;
    z-index: 101;
    top: 100%;
    right: 0;
    left: 0;
    display: block;
    max-height: calc(100vh - 4.5rem);
    overflow-y: auto;
    overflow-x: hidden;
    visibility: hidden;
    border-bottom: 1px solid var(--color-line);
    background: var(--color-ivory);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-.75rem);
    transition: opacity var(--transition-menu), transform var(--transition-menu), visibility var(--transition-menu);
  }

  .cv-header__mobile-nav.is-open { visibility: visible; opacity: 1; pointer-events: auto; transform: translateY(0); }
  .cv-header__mobile-nav-inner { width: min(100% - (var(--gutter) * 2), var(--container-max)); margin-inline: auto; padding-block: var(--space-7) var(--space-8); }
  .cv-header__mobile-label { margin: 0 0 var(--space-4); color: var(--color-champagne); font-size: var(--text-xs); font-weight: 500; letter-spacing: .16em; line-height: 1.33; text-transform: uppercase; }
  .cv-header__mobile-nav ul { flex-direction: column; border-top: 1px solid var(--color-champagne); }
  .cv-header__mobile-nav li { border-bottom: 1px solid var(--color-line); }
  .cv-header__mobile-nav a { display: block; padding-block: var(--space-4); color: var(--color-charcoal); font-family: var(--font-heading); font-size: clamp(1.5rem, 5vw, 2rem); line-height: 1.1; text-decoration: none; }
  .cv-header__mobile-nav a:hover { color: var(--color-muted-ink); }
}

@media (prefers-reduced-motion: reduce) {
  .cv-header__mobile-nav,
  .cv-header__toggle-line { transition: none; }
}


.cv-footer {
  background: var(--color-charcoal);
  color: var(--color-warm-card);
  padding: var(--space-8) var(--gutter) var(--space-5);
}

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

.cv-footer__inner { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: var(--space-6); }
.cv-footer__intro,
.cv-footer__nav { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.cv-footer__intro p,
.cv-footer__intro address,
.cv-footer__nav h2,
.cv-footer__nav ul,
.cv-footer__lower p { margin: 0; }
.cv-footer__brand { color: var(--color-ivory); font-size: .8125rem; font-weight: 500; letter-spacing: .16em; text-decoration: none; text-transform: uppercase; }
.cv-footer__intro p,
.cv-footer__intro address,
.cv-footer__intro a { color: var(--color-warm-card); font-size: var(--text-sm); font-style: normal; line-height: 1.55; }
.cv-footer__nav h2 { color: var(--color-champagne); font-family: var(--font-body); font-size: var(--text-xs); font-weight: 500; letter-spacing: .16em; line-height: 1.33; text-transform: uppercase; }
.cv-footer__nav ul { display: flex; flex-direction: column; gap: var(--space-2); padding: 0; list-style: none; }
.cv-footer__nav li,
.cv-footer__nav li + li { margin: 0; }
.cv-footer__nav a { color: var(--color-warm-card); font-size: var(--text-sm); text-decoration: none; }
.cv-footer a:hover { color: var(--color-champagne); text-decoration: underline; text-decoration-color: currentColor; }
.cv-footer__lower { display: flex; margin-top: var(--space-7); padding-top: var(--space-5); border-top: 1px solid var(--color-dark-line); gap: var(--space-5); justify-content: space-between; }
.cv-footer__disclaimer { max-width: 48rem; color: var(--color-warm-card); font-size: var(--text-sm); line-height: 1.55; }
.cv-footer__copyright { color: var(--color-warm-card); font-size: var(--text-sm); line-height: 1.55; text-align: right; white-space: nowrap; }

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

.cv-consent { position: fixed; z-index: 400; right: var(--space-4); bottom: var(--space-4); left: var(--space-4); border: 1px solid var(--color-line); border-radius: var(--radius-card); background: var(--color-warm-card); color: var(--color-charcoal); }
.cv-consent__inner { display: flex; width: min(100%, 62rem); margin-inline: auto; padding: var(--space-4); align-items: center; justify-content: space-between; gap: var(--space-4); }
.cv-consent p { margin: 0; font-size: var(--text-sm); line-height: 1.5; }
.cv-consent__actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: var(--space-2); }
.cv-consent__button,
.cv-age-modal__confirm,
.cv-age-modal__decline { min-height: 2.75rem; border: 1px solid var(--color-charcoal); border-radius: var(--radius-card); padding: .625rem 1rem; font-size: var(--text-xs); font-weight: 500; letter-spacing: .14em; line-height: 1.2; text-transform: uppercase; }
.cv-consent__button--accept,
.cv-age-modal__confirm { background: var(--color-charcoal); color: var(--color-ivory); }
.cv-consent__button--accept:hover,
.cv-age-modal__confirm:hover { background: var(--color-warm-card); color: var(--color-charcoal); }
.cv-consent__button--reject,
.cv-age-modal__decline { background: transparent; color: var(--color-charcoal); }

.cv-age-modal { position: fixed; z-index: 1100; inset: 0; display: grid; place-items: center; overflow-y: auto; padding: var(--gutter); }
.cv-age-modal__backdrop { position: absolute; inset: 0; background: rgba(28, 26, 23, .82); }
.cv-age-modal__dialog { position: relative; width: min(100%, 32rem); margin: auto; border: 1px solid var(--color-champagne); border-radius: var(--radius-card); background: var(--color-ivory); padding: clamp(1.5rem, 5vw, 3rem); }
.cv-age-modal__eyebrow { margin: 0 0 var(--space-3); color: var(--color-champagne); font-size: var(--text-xs); font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.cv-age-modal__dialog h2 { margin: 0 0 var(--space-4); }
.cv-age-modal__dialog > p:not(.cv-age-modal__eyebrow) { margin: 0; color: var(--color-muted-ink); }
.cv-age-modal__actions { display: flex; flex-wrap: wrap; margin-top: var(--space-5); gap: var(--space-3); }

@media (max-width: 767px) {
  .cv-footer { padding-top: var(--space-7); }
  .cv-footer__inner { grid-template-columns: 1fr; gap: var(--space-6); }
  .cv-footer__lower { flex-direction: column; gap: var(--space-3); }
  .cv-footer__copyright { text-align: left; white-space: normal; }
  .cv-consent { right: var(--gutter); bottom: var(--gutter); left: var(--gutter); }
  .cv-consent__inner { flex-direction: column; align-items: stretch; }
  .cv-consent__actions { align-items: stretch; }
  .cv-consent__button { flex: 1 1 8rem; }
}

@media (max-width: 420px) {
  .cv-age-modal__actions { flex-direction: column; }
  .cv-age-modal__actions button { width: 100%; }
}


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

.cookie-policy-page a:focus-visible {
  outline: 2px solid var(--color-champagne);
  outline-offset: 2px;
}

.cookie-policy-page__reading {
  width: min(100%, 47.5rem);
  margin-left: calc((100% / 12) + 1rem);
}

.cookie-policy-page__intro {
  padding-top: clamp(6rem, 10vw, 8rem);
  padding-bottom: 0;
}

.cookie-policy-page__title-block {
  max-width: 47.5rem;
}

.cookie-policy-page__title-block h1 {
  max-width: 15ch;
}

.cookie-policy-page__lead {
  max-width: 46rem;
  color: var(--color-muted-ink);
  font-size: var(--text-lead);
  line-height: 1.4;
}

.cookie-policy-page__intro-meta {
  max-width: 38rem;
}

.cookie-policy-page__intro-rule {
  max-width: 100%;
  margin-top: var(--space-8);
  margin-bottom: 0;
}

.cookie-policy-page__section {
  padding-top: clamp(4rem, 7vw, 6rem);
}

.cookie-policy-page__section--definition {
  padding-bottom: 0;
}

.cookie-policy-page__definition-content h2,
.cookie-policy-page__categories-heading h2,
.cookie-policy-page__choices-content h2,
.cookie-policy-page__privacy-content h2 {
  max-width: 18ch;
}

.cookie-policy-page__explanation {
  max-width: 54rem;
}

.cookie-policy-page__similar-copy {
  max-width: 44rem;
}

.cookie-policy-page__definition-list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  max-width: 50rem;
  margin-top: var(--space-6);
  padding: 0;
}

.cookie-policy-page__definition-item {
  display: grid;
  min-width: 0;
  grid-template-columns: 6.875rem minmax(0, 1fr);
  gap: var(--space-4);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-line);
}

.cookie-policy-page__definition-item dt {
  min-width: 0;
  color: var(--color-charcoal);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.cookie-policy-page__definition-item dd {
  min-width: 0;
  margin: 0;
}

.cookie-policy-page__categories-heading {
  max-width: 48rem;
}

.cookie-policy-page__categories-heading > p:last-child {
  max-width: 48rem;
}

.cookie-policy-page__category-grid {
  display: grid;
  width: min(100%, 61.25rem);
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-6);
  margin-left: calc((100% / 12) + 1rem);
}

.cookie-policy-page__category {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  border: 1px solid var(--color-card-border);
  border-radius: var(--radius-card);
  padding: var(--space-6);
}

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

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

.cookie-policy-page__category--warm {
  background: var(--color-warm-card);
}

.cookie-policy-page__category h3 {
  max-width: 18ch;
}

.cookie-policy-page__category .meta {
  margin-top: var(--space-2);
}

.cookie-policy-page__section-rule {
  max-width: 100%;
  margin-top: 0;
  margin-bottom: var(--space-6);
}

.cookie-policy-page__guidance-copy {
  max-width: 52rem;
}

.cookie-policy-page__guidance-panel {
  width: 100%;
  max-width: 47.5rem;
  margin-top: var(--space-6);
  background: var(--color-warm-card);
}

.cookie-policy-page__guidance-panel-inner {
  display: flex;
  min-width: 0;
  max-width: 44rem;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
}

.cookie-policy-page__guidance-panel-inner > * {
  min-width: 0;
  margin: 0;
}

.cookie-policy-page__guidance-panel-inner h3 {
  max-width: 21ch;
}

.cookie-policy-page__consequence-note {
  max-width: 52rem;
  margin-top: var(--space-6);
  border-left: 1px solid var(--color-champagne);
  padding-left: var(--space-5);
  color: var(--color-muted-ink);
}

.cookie-policy-page__consequence-note p {
  margin-bottom: 0;
}

.cookie-policy-page__privacy-content {
  max-width: 43.75rem;
}

.cookie-policy-page__privacy-units {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-7);
}

.cookie-policy-page__privacy-unit {
  min-width: 0;
  max-width: 48rem;
}

.cookie-policy-page__privacy-unit h3 {
  max-width: 24ch;
}

.cookie-policy-page__privacy-link {
  text-decoration: none;
  box-shadow: inset 0 -1px 0 var(--color-champagne);
}

.cookie-policy-page__privacy-link:hover {
  box-shadow: inset 0 -1px 0 currentColor;
}

.cookie-policy-page__contact-wrap {
  max-width: 47.5rem;
}

.cookie-policy-page__contact-panel {
  width: min(100%, 38.75rem);
  background: var(--color-warm-card);
}

.cookie-policy-page__contact-panel-inner {
  display: flex;
  min-width: 0;
  max-width: 42rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
}

.cookie-policy-page__contact-panel-inner > * {
  min-width: 0;
  margin: 0;
}

.cookie-policy-page__contact-panel-inner h2 {
  max-width: 18ch;
}

.cookie-policy-page__email-action {
  width: auto;
  max-width: 100%;
  overflow-wrap: anywhere;
}

@media (max-width: 899px) {
  .cookie-policy-page__reading {
    width: min(100%, 43.75rem);
    margin-inline: auto;
  }

  .cookie-policy-page__category-grid {
    width: min(100%, 43.75rem);
    grid-template-columns: minmax(0, 1fr);
    margin-inline: auto;
  }

  .cookie-policy-page__category {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .cookie-policy-page__intro {
    padding-top: 4rem;
  }

  .cookie-policy-page__section {
    padding-top: clamp(4rem, 14vw, 5rem);
  }

  .cookie-policy-page__reading,
  .cookie-policy-page__category-grid {
    width: 100%;
    max-width: none;
    margin-inline: 0;
  }

  .cookie-policy-page__title-block h1 {
    max-width: 100%;
    font-size: 2.375rem;
    line-height: 1.105;
  }

  .cookie-policy-page__lead {
    font-size: 1.125rem;
  }

  .cookie-policy-page__definition-content h2,
  .cookie-policy-page__categories-heading h2,
  .cookie-policy-page__choices-content h2,
  .cookie-policy-page__privacy-content h2 {
    font-size: var(--text-h4);
    line-height: 1.14;
  }

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

  .cookie-policy-page__guidance-panel-inner,
  .cookie-policy-page__contact-panel-inner {
    padding: var(--space-5);
  }

  .cookie-policy-page__contact-panel {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 620px) {
  .cookie-policy-page__definition-item {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }
}

@media (max-width: 479px) {
  .cookie-policy-page__email-action {
    width: 100%;
  }
}

@media (max-width: 379px) {
  .cookie-policy-page__category,
  .cookie-policy-page__guidance-panel-inner,
  .cookie-policy-page__contact-panel-inner {
    padding: var(--space-4);
  }

  .cookie-policy-page__consequence-note {
    padding-left: var(--space-4);
  }
}


.privacy-policy-page {
  overflow: hidden;
}

.privacy-policy-page__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
}

.privacy-policy-page__masthead {
  padding-block: var(--space-9) var(--space-8);
}

.privacy-policy-page__masthead-content,
.privacy-policy-page__guide-content,
.privacy-policy-page__reading-column,
.privacy-policy-page__use-content {
  min-width: 0;
  grid-column: 3 / span 8;
}

.privacy-policy-page__masthead-content {
  max-width: 46rem;
}

.privacy-policy-page__lead {
  max-width: 46rem;
  font-size: var(--text-lead);
  line-height: 1.4;
}

.privacy-policy-page__masthead-rule,
.privacy-policy-page__section-rule {
  width: 4rem;
  height: 1px;
  background: var(--color-champagne);
}

.privacy-policy-page__masthead-rule {
  margin-block: var(--space-6) var(--space-3);
}

.privacy-policy-page__status {
  margin: 0;
  color: var(--color-muted-ink);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.privacy-policy-page__guide-section {
  padding-block: var(--space-7) var(--space-8);
  border-top: 1px solid var(--color-line);
}

.privacy-policy-page__guide-content {
  max-width: 52rem;
}

.privacy-policy-page__guide-intro {
  max-width: 44rem;
}

.privacy-policy-page__anchor-panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0;
  margin-top: var(--space-6);
  border: 1px solid var(--color-card-border);
  border-radius: var(--radius-card);
  background: var(--color-warm-card);
  padding: var(--space-5) var(--space-6);
}

.privacy-policy-page__anchor-panel > a {
  display: flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  border-bottom: 1px solid var(--color-line);
  padding-block: var(--space-3);
  color: var(--color-charcoal);
  font-size: var(--text-sm);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-decoration: none;
}

.privacy-policy-page__anchor-panel > a:last-child {
  border-bottom: 0;
}

.privacy-policy-page__anchor-panel > a > span:first-child {
  min-width: 0;
}

.privacy-policy-page__anchor-panel > a > span:last-child {
  flex: 0 0 auto;
  color: var(--color-champagne);
  font-size: 1rem;
}

.privacy-policy-page__anchor-panel > a:hover {
  color: var(--color-charcoal);
  text-decoration: underline;
  text-decoration-color: var(--color-champagne);
  text-decoration-thickness: 1px;
}

.privacy-policy-page__document-section,
.privacy-policy-page__closing-section {
  padding-block: var(--space-9);
}

.privacy-policy-page__document-section--security,
.privacy-policy-page__document-section--choices,
.privacy-policy-page__closing-section {
  border-top: 1px solid var(--color-line);
}

.privacy-policy-page__reading-column {
  max-width: 50rem;
}

.privacy-policy-page__section-intro {
  min-width: 0;
  max-width: 32rem;
}

.privacy-policy-page__section-intro .eyebrow {
  margin-bottom: var(--space-4);
}

.privacy-policy-page__section-rule {
  margin-bottom: var(--space-5);
}

.privacy-policy-page__clause-stack {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-7);
  margin-top: var(--space-6);
  max-width: 50rem;
}

.privacy-policy-page__clause {
  min-width: 0;
  max-width: 50rem;
}

.privacy-policy-page__clause + .privacy-policy-page__clause {
  border-top: 1px solid var(--color-champagne);
  padding-top: var(--space-7);
}

.privacy-policy-page__clause h3,
.privacy-policy-page__update-clause h3 {
  max-width: 32rem;
}

.privacy-policy-page__clause p,
.privacy-policy-page__update-clause p {
  max-width: 46rem;
}

.privacy-policy-page__margin-note {
  margin-bottom: var(--space-3);
  color: var(--color-champagne);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.privacy-policy-page__use-section {
  padding-block: var(--space-9);
  border-top: 1px solid var(--color-line);
}

.privacy-policy-page__use-panel {
  min-width: 0;
  grid-column: 3 / span 5;
  align-self: start;
  max-width: 32rem;
  border-radius: var(--radius-card);
  padding: var(--space-6);
}

.privacy-policy-page__use-panel .eyebrow {
  margin-bottom: var(--space-4);
}

.privacy-policy-page__use-panel h2 {
  margin-bottom: 0;
}

.privacy-policy-page__use-content {
  margin-top: var(--space-7);
  max-width: 50rem;
}

.privacy-policy-page__use-lead {
  max-width: 42rem;
  font-size: var(--text-lead);
  line-height: 1.4;
}

.privacy-policy-page__clause-stack--use {
  margin-top: var(--space-6);
}

.privacy-policy-page__security-inset {
  width: 100%;
  max-width: 52rem;
}

.privacy-policy-page__security-inset .card__content {
  min-width: 0;
  padding: var(--space-6);
}

.privacy-policy-page__security-inset .card__content > * {
  max-width: 46rem;
}

.privacy-policy-page__request-panel {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 35fr) minmax(0, 65fr);
  gap: var(--space-6);
  width: 100%;
  max-width: 52rem;
  margin-top: var(--space-7);
  padding: var(--space-6);
}

.privacy-policy-page__request-intro,
.privacy-policy-page__contact-lines {
  min-width: 0;
}

.privacy-policy-page__request-intro .eyebrow {
  margin-bottom: var(--space-3);
}

.privacy-policy-page__request-intro h3 {
  max-width: 18rem;
}

.privacy-policy-page__request-intro p {
  margin-bottom: 0;
}

.privacy-policy-page__contact-lines {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin: 0;
  font-style: normal;
}

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

.privacy-policy-page__contact-lines a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.privacy-policy-page__contact-lines p {
  margin: 0;
  overflow-wrap: anywhere;
}

.privacy-policy-page__update-clause {
  min-width: 0;
  max-width: 46rem;
  margin-top: var(--space-6);
}

.privacy-policy-page__closing-strip {
  min-width: 0;
  width: 100%;
  max-width: 50rem;
  margin-top: var(--space-7);
  border-radius: var(--radius-card);
  padding: var(--space-5) var(--space-6);
}

.privacy-policy-page__closing-strip p {
  max-width: 38rem;
  margin: 0;
}

.privacy-policy-page__closing-strip a {
  color: var(--color-ivory);
  text-decoration-color: var(--color-champagne);
  overflow-wrap: anywhere;
}

.privacy-policy-page__closing-strip a:hover {
  color: var(--color-champagne);
}

@media (max-width: 899px) {
  .privacy-policy-page__masthead-content,
  .privacy-policy-page__guide-content,
  .privacy-policy-page__reading-column,
  .privacy-policy-page__use-content {
    grid-column: 2 / span 10;
  }

  .privacy-policy-page__use-panel {
    grid-column: 2 / span 10;
    width: 100%;
    max-width: 50rem;
  }
}

@media (max-width: 820px) {
  .privacy-policy-page__request-panel {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }
}

@media (max-width: 767px) {
  .privacy-policy-page__grid {
    grid-template-columns: minmax(0, 1fr);
    column-gap: 0;
  }

  .privacy-policy-page__masthead {
    padding-block: var(--space-8) var(--space-7);
  }

  .privacy-policy-page__masthead-content,
  .privacy-policy-page__guide-content,
  .privacy-policy-page__reading-column,
  .privacy-policy-page__use-content,
  .privacy-policy-page__use-panel {
    grid-column: 1;
    width: 100%;
  }

  .privacy-policy-page__masthead-content,
  .privacy-policy-page__guide-content,
  .privacy-policy-page__reading-column,
  .privacy-policy-page__use-content {
    max-width: none;
  }

  .privacy-policy-page__masthead h1 {
    font-size: 2.375rem;
    line-height: 1.105;
  }

  .privacy-policy-page__lead {
    max-width: 100%;
  }

  .privacy-policy-page__guide-section,
  .privacy-policy-page__document-section,
  .privacy-policy-page__use-section,
  .privacy-policy-page__closing-section {
    padding-block: var(--space-8);
  }

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

  .privacy-policy-page__section-intro,
  .privacy-policy-page__clause,
  .privacy-policy-page__clause p,
  .privacy-policy-page__update-clause,
  .privacy-policy-page__update-clause p,
  .privacy-policy-page__use-lead {
    max-width: 100%;
  }

  .privacy-policy-page__clause-stack {
    gap: var(--space-6);
  }

  .privacy-policy-page__clause + .privacy-policy-page__clause {
    padding-top: var(--space-6);
  }

  .privacy-policy-page__use-panel {
    max-width: none;
    padding: var(--space-5);
  }

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

  .privacy-policy-page__security-inset .card__content,
  .privacy-policy-page__request-panel,
  .privacy-policy-page__closing-strip {
    padding: var(--space-5);
  }

  .privacy-policy-page__closing-strip {
    max-width: none;
  }
}

@media (max-width: 379px) {
  .privacy-policy-page__anchor-panel,
  .privacy-policy-page__use-panel,
  .privacy-policy-page__security-inset .card__content,
  .privacy-policy-page__request-panel,
  .privacy-policy-page__closing-strip {
    padding: var(--space-4);
  }
}


.contact-page {
  overflow: hidden;
}

.contact-hero__grid,
.contact-routes__grid,
.contact-topics__grid,
.contact-house__guidance,
.contact-form-section__grid,
.contact-guidance__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.contact-hero {
  padding-block: clamp(6rem, 11vw, 8rem);
}

.contact-hero__content {
  grid-column: 2 / span 7;
  min-width: 0;
  max-width: 43.75rem;
}

.contact-hero__lead {
  max-width: 32.5rem;
  color: var(--color-muted-ink);
  font-size: var(--text-lead);
  line-height: 1.4;
}

.contact-hero__note {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  max-width: 34rem;
  margin-block: var(--space-5);
}

.contact-hero__note > span {
  width: 2rem;
  min-width: 2rem;
  height: 1px;
  margin-top: 0.7rem;
  background: var(--color-champagne);
}

.contact-hero__note p {
  margin: 0;
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.contact-hero__action {
  min-height: 2.75rem;
}

.contact-routes__intro {
  width: 100%;
  min-width: 0;
  max-width: 30rem;
  margin-bottom: var(--space-7);
}

.contact-routes__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.contact-route-card {
  width: 100%;
  min-width: 0;
}

.contact-route-card .card__content {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  gap: var(--space-4);
}

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

.contact-route-card__label,
.contact-topic__label {
  color: var(--color-muted-ink);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.contact-route-card h3 {
  font-size: clamp(1.6rem, 2.7vw, 2rem);
  line-height: 1.05;
}

.contact-route-card h3 a,
.contact-route-card address {
  color: var(--color-charcoal);
  text-decoration: underline;
  text-decoration-color: var(--color-champagne);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

.contact-route-card address {
  font-family: var(--font-heading);
  font-size: clamp(1.55rem, 2.5vw, 1.9rem);
  font-style: normal;
  line-height: 1.1;
}

.contact-route-card p:last-child {
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.contact-topics__heading {
  grid-column: 1 / span 6;
  min-width: 0;
  max-width: 35rem;
  margin-bottom: var(--space-7);
}

.contact-topics__heading .rule {
  margin-bottom: var(--space-6);
}

.contact-topics__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
}

.contact-topic {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  width: 100%;
  max-width: 25rem;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-line);
}

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

.contact-topic h3 {
  font-size: var(--text-h4);
  line-height: 1.14;
}

.contact-topic__label--accent {
  color: var(--color-champagne);
}

.contact-topic .button {
  margin-top: auto;
}

.contact-house__panel {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-7) var(--space-5);
  border: 1px solid var(--color-card-border);
  border-radius: var(--radius-card);
  background: var(--color-warm-card);
  padding: clamp(var(--space-5), 5vw, var(--space-7));
}

.contact-house__address-group {
  grid-column: 1 / span 8;
  min-width: 0;
  max-width: 43.75rem;
}

.contact-house__address-group h2 {
  font-size: clamp(2rem, 4vw, 2.5rem);
}

.contact-house__address-group p {
  max-width: 37rem;
  color: var(--color-muted-ink);
}

.contact-house__guidance {
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
}

.contact-house__block {
  width: 100%;
  min-width: 0;
  max-width: 26.25rem;
}

.contact-house__block:nth-child(2) {
  justify-self: end;
  border-left: 1px solid var(--color-champagne);
  padding-left: var(--space-6);
}

.contact-house__block h3 {
  font-size: var(--text-h4);
}

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

.contact-house__block a,
.contact-guidance__entry a {
  text-decoration-color: var(--color-champagne);
}

.contact-form-section__content {
  grid-column: 2 / span 7;
  width: 100%;
  min-width: 0;
  max-width: 43.75rem;
}

.contact-form-section__intro {
  max-width: 32.5rem;
  color: var(--color-warm-card);
}

.contact-enquiry-form {
  display: flex;
  min-width: 0;
  max-width: 38.75rem;
  flex-direction: column;
  gap: var(--space-5);
  margin-top: var(--space-6);
}

.contact-enquiry-form__summary,
.contact-enquiry-form__status {
  border-radius: var(--radius-control);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.contact-enquiry-form__summary {
  border: 1px solid var(--color-champagne);
  color: var(--color-ivory);
  padding: var(--space-3) var(--space-4);
}

.contact-enquiry-form__status {
  color: var(--color-warm-card);
}

.contact-enquiry-form__helper,
.contact-enquiry-form__privacy,
.contact-enquiry-form__offline-note {
  margin: 0;
  color: var(--color-warm-card);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.contact-enquiry-form__helper span {
  color: var(--color-champagne);
}

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

.contact-field {
  width: 100%;
  min-width: 0;
}

.contact-field--message {
  grid-column: 1 / -1;
}

.contact-field label {
  color: var(--color-ivory);
}

.contact-field__optional {
  color: var(--color-warm-card);
  font-weight: 400;
  letter-spacing: 0.08em;
}

.contact-field input,
.contact-field select,
.contact-field textarea {
  border-color: transparent;
  background: var(--color-ivory);
  color: var(--color-charcoal);
}

.contact-field textarea {
  min-height: 10rem;
}

.contact-field__error {
  min-height: 1.35rem;
  margin: var(--space-2) 0 0;
  color: #f4d7a5;
  font-size: var(--text-sm);
  line-height: 1.35;
}

.contact-enquiry-form__consent {
  display: flex;
  min-width: 0;
  max-width: 35rem;
  flex-direction: column;
  gap: var(--space-3);
}

.contact-checkbox {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-3);
  margin: 0;
  color: var(--color-ivory);
  font-size: var(--text-sm);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
  text-transform: none;
}

.contact-checkbox input {
  width: 1.15rem;
  min-width: 1.15rem;
  min-height: 1.15rem;
  margin-top: 0.2rem;
  accent-color: var(--color-champagne);
}

.contact-enquiry-form__submit {
  align-self: flex-start;
  border-color: var(--color-ivory);
  background: var(--color-ivory);
  color: var(--color-charcoal);
}

.contact-enquiry-form__submit:hover {
  border-color: var(--color-warm-card);
  background: var(--color-warm-card);
  color: var(--color-charcoal);
}

.contact-enquiry-form__offline-note {
  max-width: 35rem;
  border-top: 1px solid var(--color-champagne);
  padding-top: var(--space-4);
}

.contact-guidance__heading {
  grid-column: 1 / span 6;
  min-width: 0;
  max-width: 32.5rem;
  margin-bottom: var(--space-7);
}

.contact-guidance__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
}

.contact-guidance__entry {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  width: 100%;
  max-width: 22rem;
  border-top: 1px solid var(--color-line);
  padding-top: var(--space-5);
}

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

.contact-guidance__number {
  color: var(--color-champagne);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.16em;
}

.contact-guidance__entry h3 {
  font-size: var(--text-h4);
  line-height: 1.14;
}

.contact-guidance__entry .button {
  margin-top: auto;
}

.contact-closing__content {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 37.5rem;
  margin-inline: auto;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  text-align: center;
}

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

.contact-closing__content .rule {
  margin-bottom: var(--space-4);
}

.contact-closing__content h2 {
  max-width: 35rem;
  font-size: clamp(2rem, 4vw, 2.5rem);
}

.contact-closing__content > p:not(.eyebrow) {
  max-width: 37.5rem;
}

.contact-closing__email {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  color: var(--color-charcoal);
  font-family: var(--font-heading);
  font-size: clamp(1.45rem, 3vw, 1.8rem);
  line-height: 1.2;
  text-align: center;
  text-decoration: underline;
  text-decoration-color: var(--color-champagne);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

@media (max-width: 900px) {
  .contact-hero__grid,
  .contact-topics__grid,
  .contact-form-section__grid,
  .contact-guidance__grid,
  .contact-house__panel {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .contact-hero__content,
  .contact-form-section__content {
    grid-column: 1 / span 7;
  }

  .contact-topics__heading,
  .contact-guidance__heading {
    grid-column: 1 / span 6;
  }

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

  .contact-topic,
  .contact-guidance__entry {
    max-width: none;
  }

  .contact-topic:nth-child(3),
  .contact-guidance__entry:nth-child(3) {
    grid-column: 1 / -1;
    max-width: 25rem;
  }

  .contact-house__address-group {
    grid-column: 1 / -1;
  }
}

@media (min-width: 768px) and (max-width: 860px) {
  .contact-routes__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .contact-routes__grid > :nth-child(1),
  .contact-routes__grid > :nth-child(2) {
    grid-column: span 4;
  }

  .contact-routes__grid > :nth-child(3) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 850px) {
  .contact-form-section__content {
    grid-column: 1 / -1;
    max-width: 38.75rem;
  }
}

@media (max-width: 780px) {
  .contact-house__guidance {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .contact-house__block {
    max-width: none;
  }

  .contact-house__block:nth-child(2) {
    justify-self: stretch;
    border-top: 1px solid var(--color-champagne);
    border-left: 0;
    padding-top: var(--space-5);
    padding-left: 0;
  }
}

@media (max-width: 767px) {
  .contact-hero {
    padding-block: var(--space-9);
  }

  .contact-hero__grid,
  .contact-routes__grid,
  .contact-topics__grid,
  .contact-house__panel,
  .contact-house__guidance,
  .contact-form-section__grid,
  .contact-guidance__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-hero__content,
  .contact-topics__heading,
  .contact-form-section__content,
  .contact-guidance__heading,
  .contact-house__address-group,
  .contact-house__guidance,
  .contact-topic:nth-child(3),
  .contact-guidance__entry:nth-child(3) {
    grid-column: 1;
  }

  .contact-hero__content,
  .contact-form-section__content {
    max-width: none;
  }

  .contact-hero h1 {
    font-size: 2.375rem;
    line-height: 1.1;
  }

  .contact-routes__intro,
  .contact-topics__heading,
  .contact-guidance__heading {
    margin-bottom: var(--space-6);
  }

  .contact-routes__grid,
  .contact-topics__grid,
  .contact-guidance__grid {
    gap: var(--space-5);
  }

  .contact-route-card .card__content {
    padding: var(--space-5);
  }

  .contact-topic,
  .contact-guidance__entry,
  .contact-topic:nth-child(3),
  .contact-guidance__entry:nth-child(3) {
    max-width: none;
  }

  .contact-house__panel {
    gap: var(--space-5);
    padding: var(--space-5);
  }

  .contact-house__address-group h2 {
    font-size: var(--text-h4);
    line-height: 1.14;
  }

  .contact-enquiry-form {
    max-width: none;
  }

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

  .contact-field--message {
    grid-column: 1;
  }

  .contact-enquiry-form__submit {
    width: 100%;
  }

  .contact-closing__content {
    max-width: none;
  }

  .contact-closing__content h2 {
    font-size: var(--text-h4);
    line-height: 1.14;
  }
}


.terms-page {
  padding-block-end: var(--space-10);
}

.terms-page .terms-section {
  scroll-margin-top: 7rem;
}

.terms-page__intro {
  padding-block: clamp(4.5rem, 9vw, 7.5rem) clamp(4rem, 8vw, 6rem);
}

.terms-page .terms-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
}

.terms-title-block {
  grid-column: 3 / span 8;
  min-width: 0;
}

.terms-title-block h1 {
  max-width: 36rem;
  margin-block-end: var(--space-5);
}

.terms-intro-copy {
  display: flex;
  max-width: 42rem;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
}

.terms-intro-copy p {
  margin: 0;
}

.terms-intro-copy__acceptance {
  border-top: 1px solid var(--color-champagne);
  padding-top: var(--space-5);
}

.terms-section--guide {
  padding-block: clamp(4rem, 8vw, 6rem);
  background: var(--color-ivory);
}

.terms-guide-lead {
  grid-column: 3 / span 4;
  min-width: 0;
  max-width: 36rem;
}

.terms-contents {
  grid-column: 3 / span 8;
  min-width: 0;
  margin-top: var(--space-7);
  padding: var(--space-6);
}

.terms-contents__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2) var(--space-5);
  margin: 0;
  padding: 0;
  list-style: none;
}

.terms-contents__list > li {
  min-width: 0;
}

.terms-contents__list a {
  display: flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-3);
  border-bottom: 1px solid transparent;
  padding-block: var(--space-2);
  color: var(--color-charcoal);
  font-size: var(--text-sm);
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
}

.terms-contents__list a:hover {
  border-bottom-color: var(--color-champagne);
  color: var(--color-muted-ink);
}

.terms-contents__list span {
  flex: 0 0 1.75rem;
  color: var(--color-champagne);
  font-size: var(--text-xs);
  letter-spacing: 0.12em;
}

.terms-page__legal,
.terms-page__card-room,
.terms-page__allocation,
.terms-page__changes,
.terms-page__questions {
  padding-block: clamp(4rem, 8vw, 7.5rem);
}

.terms-reading-frame {
  grid-column: 3 / span 8;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 7fr);
  column-gap: var(--space-5);
  min-width: 0;
}

.terms-section-index {
  grid-column: 1;
  min-width: 0;
  margin: var(--space-1) 0 0;
  color: var(--color-champagne);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: var(--leading-label);
}

.terms-legal-copy,
.terms-card-room-heading,
.terms-allocation-copy,
.terms-changes-copy,
.terms-questions-copy {
  grid-column: 2;
  min-width: 0;
}

.terms-legal-copy--wide {
  max-width: 52rem;
}

.terms-legal-copy--venue {
  max-width: 48rem;
}

.terms-legal-copy--card-room {
  max-width: 52rem;
  margin-top: var(--space-7);
}

.terms-legal-copy h2,
.terms-card-room-heading h2,
.terms-allocation-copy h2,
.terms-changes-copy h2,
.terms-questions-copy h2 {
  max-width: 34rem;
}

.terms-clause {
  min-width: 0;
  border-top: 1px solid var(--color-line);
  padding-top: var(--space-5);
}

.terms-clause + .terms-clause {
  margin-top: var(--space-7);
}

.terms-clause h3 {
  max-width: 30rem;
}

.terms-clause--final > :last-child {
  margin-bottom: 0;
}

.terms-venue-note {
  max-width: 38rem;
}

.terms-ornament {
  width: 3rem;
  height: 1px;
  margin-top: var(--space-5);
  background: var(--color-champagne);
}

.terms-reading-frame--card-room {
  grid-column: 2 / span 10;
}

.terms-card-room-heading {
  grid-column: 2;
}

.terms-offline-callout {
  grid-column: 1 / -1;
  min-width: 0;
  margin-top: var(--space-6);
  border-radius: var(--radius-card);
}

.terms-offline-callout__content {
  display: flex;
  max-width: 42rem;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: clamp(1.5rem, 4vw, 3rem);
}

.terms-offline-callout__content p {
  margin: 0;
}

.terms-offline-callout__statement {
  max-width: 38rem;
  color: var(--color-ivory);
  font-family: var(--font-heading);
  font-size: clamp(1.875rem, 3.2vw, 2.5rem);
  line-height: 1.1;
}

.terms-clause--narrow {
  max-width: 44rem;
}

.terms-reading-frame--compact {
  grid-column: 3 / span 7;
}

.terms-allocation-copy,
.terms-changes-copy,
.terms-questions-copy {
  max-width: 46rem;
}

.terms-definition {
  width: min(100%, 44rem);
  min-width: 0;
  margin-top: var(--space-6);
}

.terms-definition__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
}

.terms-definition__content p {
  margin: 0;
}

.terms-definition__line {
  max-width: 34rem;
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  line-height: 1.15;
}

.terms-allocation-context {
  width: min(100%, 46rem);
  min-width: 0;
  margin-top: var(--space-6);
  border-bottom: 1px solid var(--color-champagne);
  padding-bottom: var(--space-5);
}

.terms-allocation-context h3 {
  max-width: 30rem;
}

.terms-allocation-context > :last-child {
  margin-bottom: 0;
}

.terms-changes-copy {
  max-width: 46rem;
}

.terms-questions-copy {
  max-width: 44rem;
}

.terms-questions-copy__lead {
  max-width: 42rem;
}

.terms-contact {
  width: min(100%, 44rem);
  min-width: 0;
  margin-top: var(--space-6);
}

.terms-contact__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  padding: var(--space-6);
}

.terms-contact__item,
.terms-contact__address {
  min-width: 0;
}

.terms-contact__item .eyebrow,
.terms-contact__address .eyebrow {
  margin-bottom: var(--space-2);
}

.terms-contact a {
  display: inline-flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  color: var(--color-charcoal);
  font-weight: 500;
  overflow-wrap: anywhere;
}

.terms-contact__address {
  border-top: 1px solid var(--color-champagne);
  padding-top: var(--space-5);
}

.terms-contact address {
  font-style: normal;
  overflow-wrap: anywhere;
}

@media (max-width: 900px) {
  .terms-title-block,
  .terms-guide-lead,
  .terms-contents,
  .terms-reading-frame,
  .terms-reading-frame--card-room,
  .terms-reading-frame--compact {
    grid-column: 2 / span 10;
  }

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

  .terms-section-index,
  .terms-legal-copy,
  .terms-card-room-heading,
  .terms-allocation-copy,
  .terms-changes-copy,
  .terms-questions-copy,
  .terms-card-room-heading {
    grid-column: 1;
  }

  .terms-section-index {
    margin-bottom: var(--space-3);
  }

  .terms-offline-callout {
    grid-column: 1;
  }
}

@media (max-width: 720px) {
  .terms-contents__list {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .terms-page {
    padding-block-end: var(--space-8);
  }

  .terms-page__intro {
    padding-block: 4.5rem 4rem;
  }

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

  .terms-title-block,
  .terms-guide-lead,
  .terms-contents,
  .terms-reading-frame,
  .terms-reading-frame--card-room,
  .terms-reading-frame--compact {
    grid-column: 1;
  }

  .terms-title-block h1 {
    max-width: 100%;
    font-size: clamp(2.375rem, 10vw, 3rem);
    line-height: 1.05;
  }

  .terms-intro-copy,
  .terms-guide-lead,
  .terms-legal-copy--wide,
  .terms-legal-copy--venue,
  .terms-legal-copy--card-room,
  .terms-allocation-copy,
  .terms-changes-copy,
  .terms-questions-copy {
    max-width: 100%;
  }

  .terms-section--guide,
  .terms-page__legal,
  .terms-page__card-room,
  .terms-page__allocation,
  .terms-page__changes,
  .terms-page__questions {
    padding-block: clamp(4rem, 14vw, 5rem);
  }

  .terms-contents {
    margin-top: var(--space-6);
    padding: var(--space-5);
  }

  .terms-clause + .terms-clause {
    margin-top: var(--space-6);
  }

  .terms-clause {
    padding-top: var(--space-4);
  }

  .terms-legal-copy h2,
  .terms-card-room-heading h2,
  .terms-allocation-copy h2,
  .terms-changes-copy h2,
  .terms-questions-copy h2 {
    max-width: 100%;
    font-size: clamp(2rem, 8vw, 2.25rem);
    line-height: 1.1;
  }

  .terms-clause h3,
  .terms-allocation-context h3 {
    max-width: 100%;
    font-size: var(--text-h4);
    line-height: 1.15;
  }

  .terms-offline-callout {
    margin-top: var(--space-5);
  }

  .terms-offline-callout__content {
    max-width: 100%;
    padding: var(--space-5);
  }

  .terms-offline-callout__statement {
    max-width: 100%;
    font-size: clamp(1.875rem, 8vw, 2.125rem);
  }

  .terms-legal-copy--card-room {
    margin-top: var(--space-6);
  }

  .terms-definition {
    width: 100%;
    margin-top: var(--space-5);
  }

  .terms-definition__content,
  .terms-contact__content {
    padding: var(--space-5);
  }

  .terms-allocation-context,
  .terms-contact {
    width: 100%;
  }
}

@media (max-width: 379px) {
  .terms-contents,
  .terms-definition__content,
  .terms-contact__content,
  .terms-offline-callout__content {
    padding: var(--space-4);
  }
}


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

.atmosphere-page .section {
  padding-block: clamp(6rem, 9vw, 8rem);
}

.atmosphere-page .section--compact {
  padding-block: clamp(4rem, 7vw, 6rem);
}

.atmosphere-nowrap {
  white-space: nowrap;
}

.atmosphere-hero__grid,
.atmosphere-light__composition,
.atmosphere-cardroom__lower,
.atmosphere-etiquette__layout {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
}

.atmosphere-hero__grid {
  align-items: center;
  column-gap: var(--space-6);
}

.atmosphere-hero__copy {
  grid-column: 1 / span 5;
  min-width: 0;
  max-width: 35rem;
}

.atmosphere-hero__media {
  grid-column: 7 / span 6;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.atmosphere-hero__actions {
  margin-top: var(--space-5);
}

.atmosphere-dinner__intro {
  min-width: 0;
  max-width: 43rem;
}

.atmosphere-dinner__intro .rule {
  margin-bottom: var(--space-6);
}

.atmosphere-dinner__cards {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.atmosphere-dinner__card {
  min-width: 0;
}

.atmosphere-dinner__card .card__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  height: 100%;
}

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

.atmosphere-dinner__card p {
  max-width: 28rem;
}

.atmosphere-card-rule {
  width: 100%;
  height: 1px;
  background: var(--color-champagne);
}

.atmosphere-light__composition {
  position: relative;
  align-items: end;
}

.atmosphere-light__media {
  grid-column: 1 / span 8;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.atmosphere-light__panel {
  z-index: 1;
  grid-column: 8 / span 5;
  min-width: 0;
  max-width: 33rem;
  margin-left: calc(var(--space-6) * -1);
  margin-bottom: calc(var(--space-6) * -1);
  padding: var(--space-6);
  border: 1px solid var(--color-card-border);
  border-radius: var(--radius-card);
  background: var(--color-warm-card);
}

.atmosphere-light__panel > :last-child {
  margin-bottom: 0;
}

.atmosphere-light__rule {
  width: 100%;
  height: 1px;
  margin: var(--space-5) 0;
  background: var(--color-champagne);
}

.atmosphere-details__intro {
  min-width: 0;
  max-width: 34rem;
  margin-inline: auto;
  text-align: center;
}

.atmosphere-details__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: center;
  margin-top: var(--space-7);
}

.atmosphere-detail,
.atmosphere-details__media {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.atmosphere-detail--one {
  grid-column: 1 / span 3;
}

.atmosphere-details__media {
  grid-column: 5 / span 4;
}

.atmosphere-detail--two {
  grid-column: 10 / span 3;
}

.atmosphere-detail--three {
  grid-column: 5 / span 4;
}

.atmosphere-detail p:not(.atmosphere-detail__index) {
  max-width: 25rem;
}

.atmosphere-detail__index,
.atmosphere-stage__number,
.atmosphere-cardroom__label {
  margin: 0 0 var(--space-3);
  color: var(--color-champagne);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.atmosphere-detail__divider {
  width: 100%;
  height: 1px;
  margin-bottom: var(--space-5);
  background: var(--color-champagne);
}

.atmosphere-cardroom__lead {
  min-width: 0;
  max-width: 40rem;
}

.atmosphere-cardroom__lead p:last-child {
  max-width: 40rem;
}

.atmosphere-cardroom__lower {
  align-items: start;
  margin-top: var(--space-7);
}

.atmosphere-cardroom__column {
  min-width: 0;
}

.atmosphere-cardroom__column:nth-child(1) {
  grid-column: 1 / span 3;
}

.atmosphere-cardroom__column:nth-child(2) {
  grid-column: 4 / span 3;
}

.atmosphere-cardroom__media {
  grid-column: 7 / span 6;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.atmosphere-cardroom__column p:not(.atmosphere-cardroom__label) {
  max-width: 28rem;
}

.atmosphere-cardroom__column .button {
  margin-top: var(--space-2);
}

.atmosphere-rhythm__intro {
  min-width: 0;
  max-width: 38rem;
}

.atmosphere-rhythm__stages {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: var(--space-7);
}

.atmosphere-stage {
  min-width: 0;
  padding-inline: var(--space-5);
  border-left: 1px solid var(--color-champagne);
}

.atmosphere-stage:first-child {
  padding-left: 0;
  border-left: 0;
}

.atmosphere-stage p:not(.atmosphere-stage__number) {
  max-width: 27rem;
}

.atmosphere-stage .button {
  margin-top: var(--space-2);
}

.atmosphere-etiquette__layout {
  align-items: start;
}

.atmosphere-etiquette__intro {
  grid-column: 1 / span 5;
  min-width: 0;
  max-width: 34rem;
}

.atmosphere-etiquette__principles {
  grid-column: 7 / span 6;
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--space-6);
}

.atmosphere-principle {
  min-width: 0;
  padding-block: var(--space-5);
  border-top: 1px solid var(--color-line);
}

.atmosphere-principle:nth-child(-n + 2) {
  padding-top: 0;
  border-top: 0;
}

.atmosphere-principle p {
  max-width: 26rem;
  margin-bottom: 0;
}

.atmosphere-next__intro {
  min-width: 0;
  max-width: 36rem;
  margin-inline: auto;
  text-align: center;
}

.atmosphere-next__cards {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.atmosphere-next__card {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.atmosphere-next__image {
  width: 100%;
  min-width: 0;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-card) var(--radius-card) 0 0;
  background-color: var(--color-warm-card);
}

.atmosphere-next__image--cuisine {
  background: #e5dfd3;
}

.atmosphere-next__image--cards {
  background: #d9d0c1;
}

.atmosphere-next__image--evenings {
  background: #e9e3d8;
}

.atmosphere-next__card .card__content {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: var(--space-4);
}

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

.atmosphere-next__card p:not(.eyebrow) {
  max-width: 27rem;
}

.atmosphere-next__card .button {
  margin-top: auto;
  align-self: flex-start;
}

.atmosphere-next__note {
  min-width: 0;
  max-width: 33rem;
  margin: var(--space-7) auto 0;
  text-align: center;
}

.atmosphere-next__note .rule {
  margin-bottom: var(--space-5);
}

.atmosphere-next__note p {
  margin-bottom: 0;
}

.atmosphere-visit__inner {
  display: flex;
  min-width: 0;
  max-width: 36rem;
  margin-inline: auto;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  text-align: center;
}

.atmosphere-visit__inner > * {
  min-width: 0;
  margin: 0;
}

.atmosphere-visit__inner p:not(.eyebrow) {
  max-width: 36rem;
}

.atmosphere-visit__button {
  margin-top: var(--space-2);
}

@media (max-width: 1024px) {
  .atmosphere-hero__grid,
  .atmosphere-light__composition,
  .atmosphere-cardroom__lower,
  .atmosphere-etiquette__layout,
  .atmosphere-details__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .atmosphere-hero__copy {
    grid-column: 1 / span 4;
    max-width: none;
  }

  .atmosphere-hero__media {
    grid-column: 5 / span 4;
  }

  .atmosphere-details__media {
    grid-column: 1 / span 4;
    grid-row: 1 / span 3;
  }

  .atmosphere-detail--one,
  .atmosphere-detail--two,
  .atmosphere-detail--three {
    grid-column: 5 / span 4;
  }

  .atmosphere-light__media {
    grid-column: 1 / span 8;
  }

  .atmosphere-light__panel {
    grid-column: 1 / span 5;
    margin: var(--space-4) 0 0;
    max-width: 33rem;
  }

  .atmosphere-cardroom__lead {
    max-width: 38rem;
  }

  .atmosphere-cardroom__column:nth-child(1),
  .atmosphere-cardroom__column:nth-child(2) {
    grid-column: span 4;
  }

  .atmosphere-cardroom__media {
    grid-column: 1 / span 8;
    grid-row: 1;
    margin-bottom: var(--space-5);
  }

  .atmosphere-cardroom__column:nth-child(1) {
    grid-row: 2;
  }

  .atmosphere-cardroom__column:nth-child(2) {
    grid-row: 2;
  }

  .atmosphere-dinner__cards,
  .atmosphere-rhythm__stages,
  .atmosphere-next__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .atmosphere-dinner__card:nth-child(3),
  .atmosphere-stage:nth-child(3),
  .atmosphere-next__card:nth-child(3) {
    grid-column: 1 / -1;
  }

  .atmosphere-stage:nth-child(3) {
    padding: var(--space-5) 0 0;
    border-top: 1px solid var(--color-champagne);
    border-left: 0;
  }

  .atmosphere-etiquette__intro {
    grid-column: 1 / span 8;
    max-width: 34rem;
  }

  .atmosphere-etiquette__principles {
    grid-column: 1 / span 8;
    margin-top: var(--space-6);
  }
}

@media (max-width: 767px) {
  .atmosphere-page .section {
    padding-block: clamp(4rem, 14vw, 5rem);
  }

  .atmosphere-page .section--compact {
    padding-block: clamp(4rem, 12vw, 4.5rem);
  }

  .atmosphere-hero__grid,
  .atmosphere-light__composition,
  .atmosphere-cardroom__lower,
  .atmosphere-etiquette__layout,
  .atmosphere-details__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .atmosphere-hero__copy,
  .atmosphere-hero__media,
  .atmosphere-light__media,
  .atmosphere-light__panel,
  .atmosphere-details__media,
  .atmosphere-detail--one,
  .atmosphere-detail--two,
  .atmosphere-detail--three,
  .atmosphere-cardroom__column:nth-child(1),
  .atmosphere-cardroom__column:nth-child(2),
  .atmosphere-cardroom__media,
  .atmosphere-etiquette__intro,
  .atmosphere-etiquette__principles {
    grid-column: 1;
    grid-row: auto;
  }

  .atmosphere-hero__media,
  .atmosphere-cardroom__media {
    aspect-ratio: 4 / 3;
  }

  .atmosphere-hero__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
  }

  .atmosphere-hero__actions > * {
    width: 100%;
    min-width: 0;
  }

  .atmosphere-light__panel {
    max-width: none;
    margin: 0;
    padding: var(--space-5);
  }

  .atmosphere-details__intro {
    max-width: none;
  }

  .atmosphere-details__grid {
    margin-top: var(--space-6);
  }

  .atmosphere-details__media {
    order: -1;
  }

  .atmosphere-detail {
    padding-top: var(--space-5);
    border-top: 1px solid var(--color-champagne);
  }

  .atmosphere-detail--one {
    border-top: 0;
    padding-top: 0;
  }

  .atmosphere-detail__divider {
    display: none;
  }

  .atmosphere-cardroom__lower {
    margin-top: var(--space-6);
  }

  .atmosphere-cardroom__media {
    order: -1;
    margin: 0;
  }

  .atmosphere-dinner__cards,
  .atmosphere-rhythm__stages,
  .atmosphere-next__cards,
  .atmosphere-etiquette__principles {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .atmosphere-dinner__card:nth-child(3),
  .atmosphere-stage:nth-child(3),
  .atmosphere-next__card:nth-child(3) {
    grid-column: 1;
  }

  .atmosphere-rhythm__stages {
    margin-top: var(--space-6);
  }

  .atmosphere-stage,
  .atmosphere-stage:first-child,
  .atmosphere-stage:nth-child(3) {
    padding: var(--space-5) 0 0;
    border-top: 1px solid var(--color-champagne);
    border-left: 0;
  }

  .atmosphere-stage:first-child {
    padding-top: 0;
    border-top: 0;
  }

  .atmosphere-etiquette__principles {
    margin-top: var(--space-5);
  }

  .atmosphere-principle,
  .atmosphere-principle:nth-child(-n + 2) {
    padding: var(--space-5) 0 0;
    border-top: 1px solid var(--color-line);
  }

  .atmosphere-principle:first-child {
    padding-top: 0;
    border-top: 0;
  }

  .atmosphere-next__cards {
    margin-top: var(--space-6);
  }

  .atmosphere-next__note {
    margin-top: var(--space-6);
  }

  .atmosphere-visit__inner {
    max-width: none;
  }

  .atmosphere-visit__button {
    width: min(100%, 20rem);
  }
}

@media (max-width: 479px) {
  .atmosphere-dinner__card .card__content,
  .atmosphere-next__card .card__content {
    padding: var(--space-4);
  }

  .atmosphere-light__panel {
    padding: var(--space-4);
  }
}

@media (prefers-reduced-motion: reduce) {
  .atmosphere-page .reveal-image img {
    transform: none;
    transition: none;
  }
}


.home-page {
  overflow: clip;
}

.home-page .button:focus-visible,
.home-page a:focus-visible {
  outline: 2px solid var(--color-champagne);
  outline-offset: 2px;
}

.home-hero {
  position: relative;
  overflow: clip;
  padding-block: clamp(5rem, 10vw, 8rem) clamp(4rem, 8vw, 7rem);
}

.home-hero__grid,
.home-cuisine__grid,
.home-cardroom__grid,
.home-gatherings__grid,
.home-ritual__grid,
.home-pathways__grid,
.home-visit__grid,
.home-offline__grid,
.home-closing__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
}

.home-hero__grid { position: relative; row-gap: var(--space-7); }
.home-hero__copy { grid-column: 1 / span 6; min-width: 0; position: relative; z-index: 1; }
.home-hero__copy h1 { max-width: 13ch; font-size: clamp(3.5rem, 5vw, 3.5rem); }
.home-hero__lead { max-width: 39rem; font-size: var(--text-lead); line-height: 1.4; }
.home-hero__actions { width: fit-content; max-width: 100%; }
.home-hero__numeral { position: absolute; z-index: 0; top: -2.3rem; left: -0.65rem; color: rgba(28, 26, 23, 0.055); font-family: var(--font-heading); font-size: clamp(12rem, 25vw, 22rem); font-weight: 400; line-height: 0.8; pointer-events: none; }
.home-hero__dish { grid-column: 9 / span 4; align-self: start; min-width: 0; margin: 0; padding: var(--space-3); background: var(--color-warm-card); }
.home-hero__dish figcaption { margin: var(--space-3) 0 0; }
.home-hero__room { grid-column: 4 / span 9; min-width: 0; margin: 0; width: 100%; }

.home-cuisine__intro { grid-column: 1 / span 7; min-width: 0; }
.home-cuisine__intro p:last-child { max-width: 46rem; }
.home-cuisine__principles { grid-column: 1 / -1; display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-4); }
.home-principle { min-width: 0; border-top: 1px solid var(--color-champagne); padding-top: var(--space-4); }
.home-principle p { max-width: 20rem; }

.home-atmosphere { background: var(--color-charcoal); color: var(--color-ivory); }
.home-atmosphere__image { width: 100%; margin: 0; border-radius: 0; }
.home-atmosphere__band { margin-top: -1px; background: var(--color-charcoal); }
.home-atmosphere__grid { padding-block: var(--space-7); }
.home-atmosphere__copy { grid-column: 1 / span 5; min-width: 0; color: var(--color-ivory); }
.home-atmosphere__copy h2 { color: var(--color-ivory); max-width: 12ch; }
.home-atmosphere__copy p:not(.eyebrow) { max-width: 36rem; color: var(--color-warm-card); }
.home-atmosphere__copy .button--secondary { color: var(--color-ivory); }

.home-cardroom__lead { grid-column: 1 / span 7; min-width: 0; }
.home-cardroom__lead > p:last-child { max-width: 44rem; }
.home-cardroom__notes { grid-column: 5 / span 8; display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.home-cardroom__note { min-width: 0; }
.home-cardroom__note .card__content { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.home-cardroom__note .card__content > * { min-width: 0; margin: 0; }
.home-cardroom__note p { max-width: 22rem; }
.home-cardroom__action { grid-column: 1 / span 7; justify-self: start; margin-top: var(--space-2); }

.home-gatherings__intro { grid-column: 1 / span 6; min-width: 0; }
.home-gatherings__intro p:last-child { max-width: 40rem; }
.home-gatherings__cards { grid-column: 1 / -1; display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.home-route-card { min-width: 0; background: var(--color-ivory); transition: border-color var(--transition-base); }
.home-route-card:hover { border-color: var(--color-champagne); }
.home-route-card .card__content { display: flex; min-width: 0; height: 100%; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.home-route-card .card__content > * { min-width: 0; margin: 0; }
.home-route-card h3 { max-width: 13ch; }
.home-route-card p:not(.eyebrow) { max-width: 21rem; }
.home-route-card .button--secondary { margin-top: auto; }
.home-gatherings__note { grid-column: 1 / -1; min-width: 0; margin: var(--space-2) 0 0; border-top: 1px solid var(--color-champagne); padding-top: var(--space-3); color: var(--color-muted-ink); font-size: var(--text-sm); }

.home-ritual__image { grid-column: 1 / span 5; min-width: 0; margin: 0; width: 100%; }
.home-ritual__copy { grid-column: 8 / span 5; min-width: 0; align-self: center; }
.home-ritual__copy > p:not(.eyebrow) { max-width: 35rem; }
.home-ritual__clarification { max-width: 26rem; border-top: 1px solid var(--color-champagne); padding-top: var(--space-3); }
.home-ritual__clarification p:last-child { margin-bottom: var(--space-5); color: var(--color-muted-ink); font-size: var(--text-sm); }

.home-pathways__intro { grid-column: 1 / span 6; min-width: 0; }
.home-pathways__intro p:last-child { max-width: 38rem; }
.home-pathways__list { grid-column: 8 / span 5; display: flex; min-width: 0; flex-direction: column; gap: 0; }
.home-pathway { display: grid; min-width: 0; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-3); border-top: 1px solid var(--color-champagne); padding-block: var(--space-4); }
.home-pathway__index { min-width: 0; color: var(--color-champagne); font-size: var(--text-xs); font-weight: 500; letter-spacing: 0.14em; }
.home-pathway__body { min-width: 0; }
.home-pathway__body h3 { margin-bottom: var(--space-2); font-size: var(--text-h4); }
.home-pathway__body p { max-width: 25rem; margin-bottom: var(--space-2); }
.home-pathway__body a { text-decoration: underline; text-decoration-color: var(--color-champagne); text-underline-offset: 0.25em; }

.home-visit__grid { justify-items: stretch; }
.home-visit__panel { grid-column: 3 / span 7; min-width: 0; }
.home-visit__panel .card__content { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-6); }
.home-visit__panel .card__content > * { min-width: 0; margin: 0; }
.home-visit__panel h2 { max-width: 14ch; }
.home-visit__panel p:not(.eyebrow) { max-width: 34rem; }
.home-visit__address { font-family: var(--font-heading); font-size: var(--text-lead); line-height: 1.35; }

.home-offline__statement { grid-column: 3 / span 7; min-width: 0; }
.home-offline__statement .rule { margin: 0 0 var(--space-5); }
.home-offline__statement > p:last-child { max-width: 48rem; }

.home-closing { padding-block: clamp(4rem, 8vw, 7rem); }
.home-closing__copy { grid-column: 2 / span 7; min-width: 0; }
.home-closing__copy h2 { max-width: 12ch; }
.home-closing__copy > p:not(.eyebrow) { max-width: 39rem; }
.home-closing__primary { border-color: var(--color-warm-card); background: var(--color-warm-card); color: var(--color-charcoal); }
.home-closing__primary:hover { border-color: var(--color-champagne); background: var(--color-champagne); }
.home-closing .button--secondary { color: var(--color-ivory); }

@media (max-width: 980px) {
  .home-hero__grid,
  .home-cuisine__grid,
  .home-cardroom__grid,
  .home-gatherings__grid,
  .home-ritual__grid,
  .home-pathways__grid,
  .home-visit__grid,
  .home-offline__grid,
  .home-closing__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-hero__copy { grid-column: 1 / span 5; }
  .home-hero__dish { grid-column: 6 / span 3; }
  .home-hero__room { grid-column: 2 / span 7; }
  .home-cuisine__intro { grid-column: 1 / span 6; }
  .home-cuisine__principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-principle:nth-child(3) { grid-column: 1 / span 1; }
  .home-atmosphere__copy { grid-column: 1 / span 6; }
  .home-cardroom__lead { grid-column: 1 / span 6; }
  .home-cardroom__notes { grid-column: 1 / span 8; }
  .home-cardroom__action { grid-column: 1 / span 6; }
  .home-gatherings__intro { grid-column: 1 / span 6; }
  .home-gatherings__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-route-card:nth-child(3) { grid-column: 1 / span 1; }
  .home-ritual__image { grid-column: 1 / span 4; }
  .home-ritual__copy { grid-column: 5 / span 4; }
  .home-pathways__intro { grid-column: 1 / span 8; }
  .home-pathways__list { grid-column: 1 / span 8; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-5); }
  .home-visit__panel { grid-column: 1 / span 8; }
  .home-offline__statement { grid-column: 2 / span 6; }
  .home-closing__copy { grid-column: 1 / span 6; }
}

@media (max-width: 900px) {
  .home-atmosphere__image { aspect-ratio: 16 / 10; }
  .home-atmosphere__grid { padding-block: var(--space-6); }
}

@media (max-width: 860px) {
  .home-cardroom__notes { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .home-hero { padding-block: var(--space-8) var(--space-7); }
  .home-hero__grid,
  .home-cuisine__grid,
  .home-cardroom__grid,
  .home-gatherings__grid,
  .home-ritual__grid,
  .home-pathways__grid,
  .home-visit__grid,
  .home-offline__grid,
  .home-closing__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .home-hero__copy,
  .home-hero__dish,
  .home-hero__room,
  .home-cuisine__intro,
  .home-cuisine__principles,
  .home-atmosphere__copy,
  .home-cardroom__lead,
  .home-cardroom__notes,
  .home-cardroom__action,
  .home-gatherings__intro,
  .home-gatherings__cards,
  .home-gatherings__note,
  .home-ritual__image,
  .home-ritual__copy,
  .home-pathways__intro,
  .home-pathways__list,
  .home-visit__panel,
  .home-offline__statement,
  .home-closing__copy { grid-column: 1; }
  .home-hero__grid { row-gap: var(--space-5); }
  .home-hero__copy h1 { max-width: 12ch; font-size: 2.375rem; line-height: 1.1; }
  .home-hero__lead { max-width: 23rem; font-size: var(--text-base); line-height: var(--leading-body); }
  .home-hero__numeral { top: -1.4rem; left: -0.25rem; font-size: 10rem; }
  .home-hero__dish { padding: var(--space-3); }
  .home-hero__room { aspect-ratio: 4 / 3; }
  .home-cuisine__principles { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .home-principle:nth-child(3) { grid-column: 1; }
  .home-principle p { max-width: 31rem; }
  .home-atmosphere { padding-inline: var(--gutter); }
  .home-atmosphere__image { aspect-ratio: 4 / 3; border-radius: var(--radius-card); }
  .home-atmosphere__band { margin-top: 0; }
  .home-atmosphere__grid { width: 100%; padding-block: var(--space-6); }
  .home-atmosphere__copy { max-width: 31rem; }
  .home-atmosphere__copy h2 { font-size: clamp(2rem, 10vw, 2.5rem); }
  .home-cardroom__notes,
  .home-gatherings__cards,
  .home-pathways__list { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .home-route-card:nth-child(3) { grid-column: 1; }
  .home-route-card .card__content { gap: var(--space-3); }
  .home-ritual__grid { gap: var(--space-5); }
  .home-ritual__copy { max-width: 31rem; }
  .home-ritual__copy h2 { font-size: clamp(2rem, 10vw, 2.5rem); }
  .home-pathways__list { gap: 0; }
  .home-pathway { padding-block: var(--space-4); }
  .home-visit__panel .card__content { padding: var(--space-5); }
  .home-offline__statement { max-width: 31rem; }
  .home-closing { padding-block: var(--space-8); }
  .home-closing__copy h2 { font-size: 2.375rem; line-height: 1.1; }
  .home-closing__actions { align-items: flex-start; }
}

@media (max-width: 479px) {
  .home-hero__actions,
  .home-closing__actions { width: 100%; flex-direction: column; align-items: stretch; }
  .home-hero__actions > *,
  .home-closing__actions > * { width: 100%; }
  .home-cardroom__action { width: fit-content; }
}

@media (max-width: 379px) {
  .home-visit__panel .button,
  .home-ritual__copy > .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .reveal-image img { transform: none; transition: none; }
}


.visit-page { overflow: hidden; }
.visit-page .visit-hero__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: center; }
.visit-hero__copy { grid-column: 1 / span 5; min-width: 0; max-width: 46rem; }
.visit-hero__media { grid-column: 7 / span 6; min-width: 0; width: 100%; margin: var(--space-6) 0 0; }
.visit-hero__lead { max-width: 44rem; font-size: var(--text-lead); line-height: 1.4; }
.visit-hero__aside { max-width: 42rem; margin: var(--space-5) 0; padding-top: var(--space-4); border-top: 1px solid var(--color-champagne); font-family: var(--font-heading); font-size: var(--text-lead); line-height: 1.4; }
.visit-hero__aside p { margin: 0; }
.visit-hero__actions { margin-top: var(--space-5); }
.visit-dining__intro { max-width: 36rem; }
.visit-dining__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.visit-principle { min-width: 0; max-width: 24rem; padding-top: var(--space-4); border-top: 1px solid var(--color-champagne); }
.visit-principle__links { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-4); }
.visit-text-link { display: inline-block; padding-bottom: 0.2rem; text-decoration: none; box-shadow: inset 0 -1px 0 var(--color-champagne); }
.visit-text-link:hover { box-shadow: inset 0 -1px 0 currentColor; }
.visit-transition__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.visit-transition__media { grid-column: 1 / span 7; min-width: 0; width: 100%; }
.visit-transition__copy { grid-column: 9 / span 4; min-width: 0; max-width: 40rem; }
.visit-transition__lead { max-width: 40rem; font-size: var(--text-lead); line-height: 1.4; }
.visit-transition__quote { max-width: 22rem; margin-top: var(--space-6); }
.visit-location { padding-block: var(--space-8); }
.visit-location__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: center; }
.visit-address-card { grid-column: 1 / span 6; min-width: 0; }
.visit-address-card__content { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); padding: var(--space-6); }
.visit-address-card__content > * { min-width: 0; margin: 0; }
.visit-address-card__content h2 { font-size: clamp(1.9rem, 3vw, 2.5rem); }
.visit-location__copy { grid-column: 9 / span 4; min-width: 0; max-width: 34rem; }
.visit-location__prompt { max-width: 32rem; }
.visit-pathways__intro { max-width: 38rem; }
.visit-pathways__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.visit-pathway-card { min-width: 0; }
.visit-pathway-card__content { display: flex; min-width: 0; height: 100%; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.visit-pathway-card__content > * { min-width: 0; margin: 0; }
.visit-pathway-card__content p:not(.meta) { max-width: 25rem; }
.visit-card-room__heading { max-width: 36rem; }
.visit-card-room__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.visit-card-room__lead { grid-column: 1 / span 5; min-width: 0; max-width: 33rem; }
.visit-card-room__media { grid-column: 6 / span 4; min-width: 0; width: 100%; aspect-ratio: 3 / 2; overflow: hidden; }
.visit-card-room__formats { grid-column: 10 / span 3; min-width: 0; max-width: 33rem; padding-top: var(--space-4); border-top: 1px solid var(--color-champagne); }
.visit-card-room__lead p, .visit-card-room__formats p { margin: 0; }
.visit-buyin-note { max-width: 45rem; margin: var(--space-7) 0 0; padding: var(--space-5); border: 1px solid var(--color-dark-line); }
.visit-buyin-note h3, .visit-buyin-note p { margin: 0; }
.visit-buyin-note p { margin-top: var(--space-2); color: var(--color-warm-card); }
.visit-guidance__heading { width: min(66.666%, 35rem); margin-inline: auto; }
.visit-guidance__entries { width: min(66.666%, 51.5rem); margin: var(--space-7) auto 0; }
.visit-guidance-entry { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 7fr); gap: var(--space-5); padding-block: var(--space-5); border-top: 1px solid var(--color-line); }
.visit-guidance-entry__number { min-width: 0; color: var(--color-muted-ink); font-family: var(--font-heading); font-size: var(--text-h3); line-height: 1; }
.visit-guidance-entry__copy { min-width: 0; max-width: 38rem; }
.visit-guidance__close { max-width: 38rem; margin: var(--space-6) auto 0; padding-top: var(--space-5); border-top: 1px solid var(--color-champagne); color: var(--color-muted-ink); font-family: var(--font-heading); font-size: var(--text-lead); font-style: italic; line-height: 1.4; }
.visit-guidance__close p { margin: 0; }
.visit-explore__heading { max-width: 34rem; margin-inline: auto; text-align: center; }
.visit-explore__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.visit-explore-card { min-width: 0; }
.visit-explore-card__content { display: flex; min-width: 0; height: 100%; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.visit-explore-card__content > * { min-width: 0; margin: 0; }
.visit-explore-card__content p:not(.meta) { max-width: 23rem; }
.visit-clarification__copy { width: min(50%, 38rem); margin-inline: auto; text-align: center; }
.visit-clarification__copy .rule { margin-bottom: var(--space-6); }
.visit-clarification__copy p { max-width: 28rem; margin-inline: auto; }
.visit-enquiry { background: var(--color-warm-card); }
.visit-enquiry__panel { min-width: 0; padding: var(--space-7); border: 1px solid var(--color-card-border); border-radius: var(--radius-card); }
.visit-enquiry__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.visit-enquiry__copy { grid-column: 1 / span 7; min-width: 0; max-width: 38rem; }
.visit-enquiry__copy p:last-child { max-width: 38rem; font-size: var(--text-lead); line-height: 1.4; }
.visit-enquiry__actions { grid-column: 9 / span 4; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.visit-enquiry__actions > * { min-width: 0; margin: 0; }
.visit-enquiry__actions .button { width: 100%; justify-content: flex-start; }
.visit-enquiry__address { margin-top: var(--space-6); padding-top: var(--space-5); border-top: 1px solid var(--color-champagne); color: var(--color-muted-ink); }
.visit-enquiry__address p { margin: 0; }

@media (max-width: 1050px) {
.visit-card-room__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.visit-card-room__lead { grid-column: 1 / span 4; }
.visit-card-room__media { grid-column: 1 / span 8; grid-row: 2; }
.visit-card-room__formats { grid-column: 5 / span 4; grid-row: 1; }
.visit-buyin-note { width: 100%; max-width: 45rem; }
}
@media (max-width: 980px) {
.visit-hero__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.visit-hero__copy { grid-column: 1 / span 4; }
.visit-hero__media { grid-column: 5 / span 4; }
.visit-transition__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.visit-transition__media { grid-column: 1 / span 8; }
.visit-transition__copy { grid-column: 1 / span 6; margin-top: var(--space-6); }
.visit-explore__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.visit-explore-card { grid-column: span 4; }
.visit-explore-card:nth-child(3) { grid-column: 1 / span 4; }
}
@media (max-width: 900px) {
.visit-dining__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.visit-principle { grid-column: span 4; max-width: none; }
.visit-principle:nth-child(3) { grid-column: 1 / span 8; max-width: 24rem; }
.visit-pathways__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.visit-pathway-card { grid-column: span 4; }
.visit-clarification__copy { width: min(100%, 38rem); }
}
@media (max-width: 880px) {
.visit-location__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.visit-address-card { grid-column: 1 / span 5; }
.visit-location__copy { grid-column: 6 / span 3; }
}
@media (max-width: 860px) {
.visit-enquiry__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.visit-enquiry__copy { grid-column: 1 / span 5; }
.visit-enquiry__actions { grid-column: 6 / span 3; }
}
@media (max-width: 850px) {
.visit-guidance__heading, .visit-guidance__entries { width: 100%; }
.visit-guidance-entry { grid-template-columns: 1fr; gap: var(--space-3); }
}
@media (max-width: 820px) {
.visit-location__grid { grid-template-columns: 1fr; gap: var(--space-6); }
.visit-address-card, .visit-location__copy { grid-column: 1; width: 100%; max-width: 34rem; }
}
@media (max-width: 767px) {
.visit-hero__grid, .visit-transition__grid, .visit-card-room__grid, .visit-enquiry__grid { grid-template-columns: 1fr; }
.visit-hero__copy, .visit-hero__media, .visit-transition__media, .visit-transition__copy, .visit-card-room__lead, .visit-card-room__media, .visit-card-room__formats, .visit-enquiry__copy, .visit-enquiry__actions { grid-column: 1; grid-row: auto; width: 100%; max-width: none; }
.visit-hero__media { margin-top: var(--space-4); aspect-ratio: 4 / 3; }
.visit-hero h1 { font-size: 2.375rem; line-height: 1.105; }
.visit-transition__media { aspect-ratio: 4 / 3; }
.visit-transition__copy { margin-top: var(--space-5); }
.visit-transition__quote { max-width: none; }
.visit-location__grid { grid-template-columns: 1fr; }
.visit-dining__grid, .visit-pathways__grid, .visit-explore__grid { grid-template-columns: 1fr; gap: var(--space-5); }
.visit-principle, .visit-principle:nth-child(3), .visit-pathway-card, .visit-explore-card, .visit-explore-card:nth-child(3) { grid-column: 1; max-width: none; }
.visit-card-room__media { aspect-ratio: 4 / 3; order: 2; }
.visit-card-room__formats { order: 3; }
.visit-card-room__lead { order: 1; }
.visit-buyin-note { margin-top: var(--space-6); padding: var(--space-5); }
.visit-guidance__heading, .visit-guidance__entries { width: 100%; }
.visit-guidance__entries { margin-top: var(--space-6); }
.visit-guidance-entry { gap: var(--space-3); padding-block: var(--space-5); }
.visit-guidance-entry__copy { max-width: none; }
.visit-explore__heading { max-width: none; }
.visit-clarification__copy { width: 100%; }
.visit-enquiry__panel { padding: var(--space-5); }
.visit-enquiry__actions .button { min-height: 2.75rem; }
.visit-enquiry__copy p:last-child { max-width: none; }
}
@media (max-width: 479px) {
.visit-hero__actions { align-items: stretch; }
.visit-hero__actions .button { width: 100%; }
.visit-address-card__content h2 { font-size: 1.75rem; }
}
@media (prefers-reduced-motion: reduce) {
.visit-page .reveal-image img { opacity: 1; transform: none; }
}


.high-roller-page {
  overflow: hidden;
}

.high-roller-page :is(a, button):focus-visible {
  outline: 2px solid var(--color-champagne);
  outline-offset: 2px;
}

.high-roller-page .eyebrow {
  margin-block-end: var(--space-3);
}

.high-roller-page .media-frame {
  width: 100%;
  max-width: 100%;
}

.hr-hero__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 24px;
  align-items: center;
}

.hr-hero__copy {
  grid-column: 1 / span 5;
  min-width: 0;
}

.hr-hero__copy h1 {
  max-width: 42rem;
}

.hr-hero__lead {
  max-width: 46rem;
  color: var(--color-muted-ink);
  font-size: var(--text-lead);
  line-height: 1.4;
}

.hr-hero__actions {
  margin-block-start: var(--space-5);
}

.hr-hero__media {
  grid-column: 7 / span 6;
  min-width: 0;
}

.hr-manifesto__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 24px;
}

.hr-manifesto__intro {
  grid-column: 1 / span 5;
  min-width: 0;
}

.hr-manifesto__intro > p:last-child {
  max-width: 48rem;
}

.hr-manifesto__statements {
  grid-column: 4 / span 7;
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.hr-statement {
  display: grid;
  grid-template-columns: minmax(3rem, 1fr) minmax(0, 5fr);
  gap: var(--space-5);
  min-width: 0;
  padding-block: var(--space-6);
  border-top: 1px solid var(--color-champagne);
}

.hr-statement:last-child {
  border-bottom: 1px solid var(--color-champagne);
}

.hr-statement__number,
.hr-step__number {
  margin: 0;
  color: var(--color-champagne);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: var(--leading-label);
}

.hr-statement__body {
  min-width: 0;
}

.hr-statement__body p {
  max-width: 40rem;
}

.hr-dining {
  background: var(--color-warm-card);
}

.hr-dining__panel {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 24px;
  min-width: 0;
  padding: clamp(3rem, 5vw, 4rem);
}

.hr-dining__media {
  grid-column: 1 / span 6;
  min-width: 0;
}

.hr-dining__copy {
  grid-column: 8 / span 4;
  align-self: center;
  min-width: 0;
}

.hr-dining__copy h2,
.hr-dining__copy > p,
.hr-dining__lead {
  max-width: 38rem;
}

.hr-dining__lead {
  color: var(--color-muted-ink);
  font-size: var(--text-lead);
  line-height: 1.4;
}

.hr-dining__divider {
  width: 100%;
  max-width: 38rem;
  height: 1px;
  margin-block: var(--space-5);
  background: var(--color-champagne);
}

.hr-room__layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6) 24px;
}

.hr-room__intro {
  grid-column: 1 / span 6;
  min-width: 0;
}

.hr-room__intro > p:last-child {
  max-width: 42rem;
  color: var(--color-warm-card);
  font-size: var(--text-lead);
  line-height: 1.4;
}

.hr-room__media {
  grid-column: 1 / -1;
  min-width: 0;
}

.hr-room__caption {
  grid-column: 1 / span 5;
  min-width: 0;
}

.hr-room__caption > p:last-child {
  max-width: 32rem;
  margin-block-end: 0;
}

.hr-room__details {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  min-width: 0;
}

.hr-room__detail {
  min-width: 0;
  border-top: 1px solid var(--color-champagne);
  padding-top: var(--space-4);
}

.hr-room__label {
  margin-block-end: var(--space-3);
  color: var(--color-warm-card);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.hr-room__detail h3 {
  max-width: 26rem;
}

.hr-room__detail p:last-child {
  max-width: 26rem;
  margin-block-end: 0;
}

.hr-cadence__intro {
  width: calc((100% - 264px) / 12 * 5 + 96px);
  max-width: 44rem;
}

.hr-cadence__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-width: 0;
  margin-top: var(--space-7);
}

.hr-step {
  min-width: 0;
  padding: 0 var(--space-5);
  border-left: 1px solid var(--color-champagne);
}

.hr-step:first-child {
  padding-left: 0;
  border-left: 0;
}

.hr-step:last-child {
  padding-right: 0;
}

.hr-step h3,
.hr-step p:last-child {
  max-width: 24rem;
}

.hr-step p:last-child {
  margin-block-end: 0;
}

.hr-step__highlight {
  background: var(--color-warm-card);
  padding-inline: 0.15em;
}

.hr-allocation {
  background: var(--color-ivory);
}

.hr-allocation__panel {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: var(--space-6) 24px;
  width: calc((100% - 168px) / 12 * 8 + 168px);
  margin-inline: auto;
  padding: var(--space-7);
  border: 1px solid var(--color-card-border);
  border-radius: var(--radius-card);
  background: var(--color-warm-card);
}

.hr-allocation__heading {
  grid-column: 1 / -1;
  min-width: 0;
}

.hr-allocation__content {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 5fr 3fr;
  gap: var(--space-6);
  min-width: 0;
}

.hr-allocation__definition,
.hr-allocation__guidance {
  min-width: 0;
}

.hr-allocation__definition {
  padding-right: var(--space-6);
  border-right: 1px solid var(--color-champagne);
}

.hr-allocation__definition > p,
.hr-allocation__guidance > p {
  max-width: 40rem;
}

.hr-allocation__lead {
  color: var(--color-muted-ink);
  font-size: var(--text-lead);
  line-height: 1.4;
}

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

.hr-etiquette__intro {
  width: calc((100% - 264px) / 12 * 5 + 96px);
  max-width: 42rem;
}

.hr-etiquette__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  min-width: 0;
  margin-top: var(--space-7);
}

.hr-etiquette__card {
  min-width: 0;
  background: var(--color-ivory);
}

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

.hr-etiquette__card .card__content > * {
  margin: 0;
}

.hr-etiquette__card h3,
.hr-etiquette__card p {
  max-width: 25rem;
}

.hr-etiquette__rule {
  width: 100%;
  height: 1px;
  background: var(--color-champagne);
}

.hr-details__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6) 24px;
  min-width: 0;
}

.hr-details__heading {
  grid-column: 1 / span 5;
  min-width: 0;
}

.hr-details__detail-image {
  grid-column: 1 / span 5;
  min-width: 0;
}

.hr-details__detail-caption {
  grid-column: 7 / span 4;
  align-self: center;
  min-width: 0;
}

.hr-details__detail-caption h3,
.hr-details__detail-caption p:last-child {
  max-width: 34rem;
}

.hr-details__table-image {
  grid-column: 6 / span 7;
  min-width: 0;
  margin-top: var(--space-5);
}

.hr-details__table-caption {
  grid-column: 6 / span 4;
  min-width: 0;
}

.hr-details__table-caption h3,
.hr-details__table-caption p:last-child {
  max-width: 32rem;
}

.hr-details__closing {
  grid-column: 1 / span 5;
  min-width: 0;
  margin-top: var(--space-4);
}

.hr-details__closing h3,
.hr-details__closing p {
  max-width: 38rem;
}

.hr-planning__rule {
  width: 100%;
  height: 1px;
  margin-bottom: var(--space-7);
  background: var(--color-champagne);
}

.hr-planning__heading {
  width: calc((100% - 264px) / 12 * 5 + 96px);
  max-width: 42rem;
}

.hr-planning__panels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  min-width: 0;
  margin-top: var(--space-7);
}

.hr-planning__panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--color-card-border);
  border-radius: var(--radius-card);
}

.hr-planning__panel > * {
  margin: 0;
}

.hr-planning__panel--ivory {
  background: var(--color-ivory);
}

.hr-planning__panel--warm {
  background: var(--color-warm-card);
}

.hr-planning__panel h3,
.hr-planning__panel p {
  max-width: 32rem;
}

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

.hr-closing {
  text-align: center;
}

.hr-closing__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.hr-closing__content {
  grid-column: 4 / span 6;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
}

.hr-closing__content > * {
  margin: 0;
}

.hr-closing__content > p:not(.eyebrow) {
  max-width: 42rem;
  color: var(--color-warm-card);
  font-size: var(--text-lead);
  line-height: 1.4;
}

.hr-closing__actions {
  justify-content: center;
}

.hr-closing__primary {
  border-color: var(--color-warm-card);
  background: var(--color-warm-card);
  color: var(--color-charcoal);
}

.hr-closing__primary:hover {
  border-color: var(--color-champagne);
  background: var(--color-champagne);
  color: var(--color-charcoal);
}

.hr-closing .button--secondary {
  color: var(--color-ivory);
}

.hr-closing__note {
  width: 100%;
  max-width: 42rem;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-dark-line);
}

.hr-closing__note p {
  margin: 0;
  color: var(--color-warm-card);
  font-size: var(--text-sm);
  line-height: 1.5;
}

@media (max-width: 1023px) {
  .hr-hero__grid,
  .hr-manifesto__grid,
  .hr-room__layout,
  .hr-details__grid,
  .hr-closing__container {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .hr-hero__copy,
  .hr-hero__media,
  .hr-manifesto__intro,
  .hr-manifesto__statements,
  .hr-room__intro,
  .hr-room__media,
  .hr-room__caption,
  .hr-details__heading,
  .hr-details__detail-image,
  .hr-details__detail-caption,
  .hr-details__table-image,
  .hr-details__table-caption,
  .hr-details__closing {
    grid-column: 1 / -1;
  }

  .hr-hero__grid {
    gap: var(--space-6);
  }

  .hr-hero__copy {
    max-width: 46rem;
  }

  .hr-manifesto__statements {
    margin-top: var(--space-5);
  }

  .hr-cadence__intro,
  .hr-etiquette__intro,
  .hr-planning__heading {
    width: 62.5%;
  }

  .hr-details__detail-caption,
  .hr-details__table-caption {
    margin-top: calc(var(--space-6) * -1);
  }

  .hr-closing__content {
    grid-column: 2 / span 6;
  }
}

@media (max-width: 980px) {
  .hr-details__grid {
    gap: var(--space-5);
  }

  .hr-details__detail-caption,
  .hr-details__table-caption {
    margin-top: 0;
  }
}

@media (max-width: 960px) {
  .hr-cadence__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-6) 0;
  }

  .hr-step:nth-child(odd) {
    padding-left: 0;
    border-left: 0;
  }

  .hr-step:nth-child(even) {
    padding-right: 0;
  }
}

@media (max-width: 900px) {
  .hr-dining__panel {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .hr-dining__media,
  .hr-dining__copy {
    grid-column: 1;
  }

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

  .hr-room__detail:last-child {
    grid-column: 1 / -1;
    width: calc(50% - 12px);
  }

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

  .hr-etiquette__card:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 860px) {
  .hr-allocation__panel {
    width: 100%;
  }

  .hr-allocation__content {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .hr-allocation__definition {
    padding-right: 0;
    padding-bottom: var(--space-5);
    border-right: 0;
    border-bottom: 1px solid var(--color-champagne);
  }
}

@media (max-width: 820px) {
  .hr-planning__panels {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .hr-hero__grid,
  .hr-manifesto__grid,
  .hr-room__layout,
  .hr-details__grid,
  .hr-closing__container {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .hr-hero__copy,
  .hr-hero__media,
  .hr-manifesto__intro,
  .hr-manifesto__statements,
  .hr-room__intro,
  .hr-room__media,
  .hr-room__caption,
  .hr-details__heading,
  .hr-details__detail-image,
  .hr-details__detail-caption,
  .hr-details__table-image,
  .hr-details__table-caption,
  .hr-details__closing,
  .hr-closing__content {
    grid-column: 1;
  }

  .hr-hero__copy h1 {
    font-size: 2.375rem;
    line-height: 1.1;
  }

  .hr-hero__lead,
  .hr-room__intro > p:last-child,
  .hr-dining__lead,
  .hr-closing__content > p:not(.eyebrow) {
    font-size: 1.125rem;
    line-height: 1.56;
  }

  .hr-hero__media {
    aspect-ratio: 4 / 3;
  }

  .hr-manifesto__statements {
    margin-top: 0;
  }

  .hr-statement {
    grid-template-columns: 1fr;
    gap: var(--space-3);
    padding-block: var(--space-5);
  }

  .hr-dining__panel {
    padding: var(--space-5);
  }

  .hr-room__media {
    aspect-ratio: 4 / 3;
  }

  .hr-room__details,
  .hr-cadence__steps,
  .hr-etiquette__cards,
  .hr-planning__panels {
    grid-template-columns: 1fr;
  }

  .hr-room__detail:last-child,
  .hr-etiquette__card:last-child {
    grid-column: 1;
    width: 100%;
  }

  .hr-cadence__intro,
  .hr-etiquette__intro,
  .hr-planning__heading {
    width: 100%;
  }

  .hr-cadence__steps {
    gap: var(--space-5);
    margin-top: var(--space-6);
  }

  .hr-step,
  .hr-step:nth-child(odd),
  .hr-step:nth-child(even) {
    padding: var(--space-4) 0 0;
    border-top: 1px solid var(--color-champagne);
    border-left: 0;
  }

  .hr-allocation__panel {
    grid-template-columns: 1fr;
    padding: var(--space-5);
  }

  .hr-allocation__heading,
  .hr-allocation__content {
    grid-column: 1;
  }

  .hr-etiquette__cards,
  .hr-planning__panels {
    gap: var(--space-4);
    margin-top: var(--space-6);
  }

  .hr-details__table-image {
    margin-top: 0;
  }

  .hr-details__closing {
    margin-top: 0;
  }

  .hr-planning__panel {
    padding: var(--space-5);
  }

  .hr-closing__content {
    gap: var(--space-4);
  }

  .hr-closing__actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .hr-closing__actions > .button {
    width: 100%;
  }
}

@media (max-width: 479px) {
  .hr-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hr-hero__actions > .button {
    width: 100%;
  }

  .hr-planning__links {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .hr-planning__links > .button {
    width: 100%;
  }
}


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

.tht-page .tht-nowrap {
  white-space: nowrap;
}

.tht-page .rule {
  margin: 0;
}

.tht-page .button:focus-visible,
.tht-page a:focus-visible {
  outline: 2px solid var(--color-champagne);
  outline-offset: 2px;
}

.tht-hero {
  padding-block: clamp(4rem, 8vw, 7rem);
}

.tht-hero__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: center;
  column-gap: var(--space-5);
  row-gap: var(--space-7);
}

.tht-hero__copy {
  grid-column: 1 / span 5;
  min-width: 0;
  max-width: 36rem;
}

.tht-hero__copy h1 {
  max-width: 34rem;
}

.tht-hero__lead {
  max-width: 36rem;
  color: var(--color-warm-card);
  font-size: var(--text-lead);
  line-height: 1.4;
}

.tht-hero__actions {
  margin-block-start: var(--space-5);
}

.tht-hero__button {
  border-color: var(--color-ivory);
}

.tht-hero__assurance {
  max-width: 34rem;
  margin-block: var(--space-5) 0;
  border-top: 1px solid var(--color-dark-line);
  padding-top: var(--space-4);
  color: var(--color-warm-card);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.tht-hero__media {
  grid-column: 7 / span 6;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.tht-premise__layout,
.tht-manner__layout,
.tht-routes__layout {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-7);
}

.tht-premise__intro {
  width: calc((100% - (var(--space-5) * 5)) / 2);
  min-width: 0;
  max-width: 38rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.tht-premise__intro h2,
.tht-premise__intro .eyebrow {
  margin: 0;
}

.tht-premise__columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.tht-premise__item {
  min-width: 0;
  max-width: 22rem;
  border-top: 1px solid var(--color-champagne);
  padding-top: var(--space-4);
}

.tht-premise__item .eyebrow,
.tht-premise__item h3 {
  margin-block-start: 0;
}

.tht-premise__item p:last-child {
  margin-block-end: 0;
}

.tht-premise__item .button--secondary {
  margin-block-start: var(--space-2);
}

.tht-rhythm__grid,
.tht-detail__grid,
.tht-hospitality__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  column-gap: var(--space-5);
  row-gap: var(--space-7);
}

.tht-rhythm__framing {
  grid-column: 1 / span 5;
  min-width: 0;
  max-width: 34rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.tht-rhythm__framing :is(.eyebrow, h2, p) {
  margin: 0;
}

.tht-rhythm__panel {
  grid-column: 7 / span 6;
  min-width: 0;
  padding: var(--space-6);
}

.tht-rhythm__step {
  min-width: 0;
  max-width: 28rem;
  padding-block: var(--space-5);
}

.tht-rhythm__step:first-child {
  padding-top: 0;
}

.tht-rhythm__step + .tht-rhythm__step {
  border-top: 1px solid var(--color-line);
}

.tht-rhythm__step:last-child {
  padding-bottom: 0;
}

.tht-rhythm__step :is(.eyebrow, h3, p) {
  margin-block-start: 0;
}

.tht-rhythm__step p:last-child {
  margin-block-end: 0;
}

.tht-rhythm__step .button--secondary {
  margin-block-start: var(--space-2);
}

.tht-detail__media {
  grid-column: 1 / span 7;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.tht-detail__copy {
  grid-column: 9 / span 4;
  align-self: center;
  min-width: 0;
  max-width: 34rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.tht-detail__copy :is(.eyebrow, h2, p) {
  margin: 0;
}

.tht-detail__copy .button--secondary {
  align-self: flex-start;
  margin-block-start: var(--space-2);
}

.tht-allocation__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  row-gap: var(--space-6);
}

.tht-allocation__heading {
  grid-column: 3 / span 8;
  min-width: 0;
  max-width: 30rem;
  margin-inline: auto;
  text-align: center;
}

.tht-allocation__heading p:last-child {
  max-width: 30rem;
  margin-inline: auto;
}

.tht-allocation__panel {
  grid-column: 4 / span 7;
  min-width: 0;
}

.tht-allocation__panel .card__content {
  padding: var(--space-6);
  text-align: center;
}

.tht-allocation__panel .card__content > p:last-child {
  max-width: 38rem;
  margin-inline: auto;
  margin-block-end: 0;
}

.tht-manner__intro {
  width: calc((100% - (var(--space-5) * 5)) / 2);
  min-width: 0;
  max-width: 34rem;
}

.tht-manner__notes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.tht-manner__note {
  min-width: 0;
  max-width: 22rem;
  padding: var(--space-4) 0 0;
  border-top: 1px solid var(--color-champagne);
}

.tht-manner__note--warm {
  max-width: none;
  border-top: 0;
  padding: 0;
}

.tht-manner__note--warm .card__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
}

.tht-manner__note :is(.eyebrow, h3, p) {
  margin-block-start: 0;
}

.tht-manner__note p:last-child {
  margin-block-end: 0;
}

.tht-manner__note--warm .card__content > * {
  min-width: 0;
}

.tht-manner__note--warm .card__content > :is(.eyebrow, h3, p) {
  margin: 0;
}

.tht-hospitality {
  padding-block: clamp(4rem, 8vw, 7rem);
}

.tht-hospitality__copy {
  grid-column: 1 / span 5;
  align-self: center;
  min-width: 0;
  max-width: 33rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.tht-hospitality__copy :is(.eyebrow, h2, p) {
  margin: 0;
}

.tht-hospitality__media {
  grid-column: 6 / span 7;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.tht-hospitality__actions {
  display: flex;
  min-width: 0;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin-block-start: var(--space-2);
}

.tht-hospitality__actions > * {
  min-width: 0;
}

.tht-hospitality__actions > * + * {
  border-left: 1px solid var(--color-dark-line);
  padding-left: var(--space-4);
}

.tht-routes__heading {
  width: calc((100% - (var(--space-5) * 5)) / 1.5);
  min-width: 0;
  max-width: 34rem;
  margin-inline: auto;
  text-align: center;
}

.tht-routes__heading h2 {
  margin-block-end: 0;
}

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

.tht-route-card {
  display: block;
  min-width: 0;
  color: var(--color-charcoal);
  text-decoration: none;
}

.tht-route-card:hover {
  color: var(--color-charcoal);
}

.tht-route-card .card__content {
  min-width: 0;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.tht-route-card .card__content > * {
  min-width: 0;
}

.tht-route-card .card__content > :is(.eyebrow, h3, p) {
  margin: 0;
}

.tht-route-card .button--secondary {
  align-self: flex-start;
  margin-top: auto;
  padding-top: var(--space-2);
}

.tht-route-card--current {
  border-top: 1px solid var(--color-champagne);
}

.tht-visit__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.tht-visit__panel {
  grid-column: 2 / span 10;
  min-width: 0;
}

.tht-visit__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-7);
}

.tht-visit__content > * {
  min-width: 0;
}

.tht-visit__content > :is(.meta, .eyebrow, h2, p) {
  margin: 0;
}

.tht-visit__content > p:not(.meta):not(.eyebrow) {
  max-width: 40rem;
}

.tht-visit__address {
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.tht-visit__actions {
  margin-block-start: var(--space-2);
}

.tht-note {
  padding-block-start: var(--space-6);
  padding-block-end: var(--space-9);
}

.tht-note__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.tht-note__copy {
  grid-column: 1 / span 6;
  min-width: 0;
  max-width: 48rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.tht-note__copy :is(.eyebrow, p) {
  margin: 0;
}

.tht-note__copy p:last-child {
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
  line-height: 1.5;
}

@media (max-width: 1024px) {
  .tht-hospitality__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .tht-hospitality__copy,
  .tht-hospitality__media {
    grid-column: 1 / -1;
  }

  .tht-hospitality__copy {
    max-width: 38rem;
  }
}

@media (max-width: 980px) {
  .tht-hero__grid,
  .tht-detail__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .tht-hero__copy,
  .tht-hero__media,
  .tht-detail__media,
  .tht-detail__copy {
    grid-column: 1 / -1;
  }

  .tht-hero__copy {
    max-width: 36rem;
  }

  .tht-hero__media {
    max-width: none;
  }

  .tht-detail__copy {
    max-width: 34rem;
  }
}

@media (max-width: 940px) {
  .tht-rhythm__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .tht-rhythm__framing,
  .tht-rhythm__panel {
    grid-column: 1 / -1;
  }

  .tht-rhythm__framing {
    max-width: 34rem;
  }
}

@media (max-width: 900px) {
  .tht-premise__columns,
  .tht-manner__notes,
  .tht-routes__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tht-premise__item,
  .tht-manner__note {
    max-width: none;
  }

  .tht-routes__cards > :nth-child(3) {
    grid-column: 1 / span 1;
  }
}

@media (max-width: 850px) {
  .tht-visit__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .tht-visit__panel {
    grid-column: 1 / -1;
  }
}

@media (max-width: 800px) {
  .tht-allocation__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .tht-allocation__heading {
    grid-column: 2 / span 6;
  }

  .tht-allocation__panel {
    grid-column: 2 / span 6;
  }
}

@media (max-width: 767px) {
  .tht-hero {
    padding-block: var(--space-8);
  }

  .tht-hero__grid,
  .tht-rhythm__grid,
  .tht-detail__grid,
  .tht-hospitality__grid,
  .tht-allocation__grid,
  .tht-visit__grid,
  .tht-note__grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-6);
  }

  .tht-hero__copy,
  .tht-hero__media,
  .tht-rhythm__framing,
  .tht-rhythm__panel,
  .tht-detail__media,
  .tht-detail__copy,
  .tht-hospitality__copy,
  .tht-hospitality__media,
  .tht-allocation__heading,
  .tht-allocation__panel,
  .tht-visit__panel,
  .tht-note__copy {
    grid-column: 1;
  }

  .tht-hero__grid {
    row-gap: var(--space-6);
  }

  .tht-hero__copy h1 {
    font-size: 2.375rem;
    line-height: 1.105;
  }

  .tht-hero__lead {
    max-width: none;
    font-size: var(--text-base);
    line-height: var(--leading-body);
  }

  .tht-hero__media,
  .tht-detail__media,
  .tht-hospitality__media {
    aspect-ratio: 4 / 3;
  }

  .tht-premise__layout,
  .tht-manner__layout,
  .tht-routes__layout {
    gap: var(--space-6);
  }

  .tht-premise__intro,
  .tht-manner__intro,
  .tht-routes__heading {
    width: 100%;
    max-width: none;
    margin-inline: 0;
  }

  .tht-premise__columns,
  .tht-manner__notes,
  .tht-routes__cards {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .tht-routes__heading {
    text-align: left;
  }

  .tht-routes__cards > :nth-child(3) {
    grid-column: 1;
  }

  .tht-rhythm__panel {
    padding: var(--space-5);
  }

  .tht-rhythm__step {
    padding-block: var(--space-4);
  }

  .tht-detail__copy {
    gap: var(--space-3);
  }

  .tht-allocation__heading {
    max-width: none;
  }

  .tht-allocation__panel .card__content {
    padding: var(--space-5);
    text-align: left;
  }

  .tht-allocation__panel .card__content > p:last-child {
    margin-inline: 0;
  }

  .tht-manner__note--warm .card__content {
    padding: var(--space-5);
  }

  .tht-hospitality {
    padding-block: var(--space-8);
  }

  .tht-hospitality__actions {
    align-items: stretch;
    flex-direction: column;
    gap: var(--space-3);
  }

  .tht-hospitality__actions > * {
    min-height: 2.75rem;
  }

  .tht-hospitality__actions > * + * {
    border-left: 0;
    border-top: 1px solid var(--color-dark-line);
    padding-left: 0;
    padding-top: var(--space-3);
  }

  .tht-route-card .card__content {
    min-height: auto;
    padding: var(--space-5);
  }

  .tht-visit__content {
    padding: var(--space-5);
  }

  .tht-visit__actions {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
  }

  .tht-visit__actions .button {
    width: 100%;
  }

  .tht-note {
    padding-block-start: var(--space-6);
    padding-block-end: var(--space-8);
  }
}

@media (max-width: 479px) {
  .tht-hero__actions .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tht-page .reveal-image img {
    transform: none;
    transition: none;
  }
}


.cuisine-page {
  overflow: hidden;
}

.cuisine-page .cuisine-hero {
  padding-block: var(--space-10) var(--space-9);
}

.cuisine-page .cuisine-hero__grid,
.cuisine-page .cuisine-table__grid,
.cuisine-page .cuisine-seasonal__layout,
.cuisine-page .cuisine-rhythm__layout,
.cuisine-page .cuisine-details__layout {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
}

.cuisine-page .cuisine-hero__copy {
  grid-column: 2 / 11;
  min-width: 0;
}

.cuisine-page .cuisine-hero__eyebrow {
  position: relative;
  padding-inline-start: var(--space-5);
}

.cuisine-page .cuisine-hero__eyebrow::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: var(--space-4);
  height: 1px;
  background: var(--color-champagne);
  content: "";
}

.cuisine-page .cuisine-hero h1 {
  max-width: 46rem;
  font-size: clamp(2.8rem, 5vw, 3.5rem);
}

.cuisine-page .cuisine-hero__lead {
  max-width: 50rem;
  font-size: var(--text-lead);
  line-height: 1.4;
}

.cuisine-page .cuisine-hero__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  margin-block-start: var(--space-5);
}

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

.cuisine-page .cuisine-hero__address {
  margin: 0;
  overflow-wrap: anywhere;
}

.cuisine-page .cuisine-table__intro {
  grid-column: 1 / 8;
  min-width: 0;
  max-width: 48rem;
}

.cuisine-page .cuisine-table__figure {
  grid-column: 2 / 12;
  width: 100%;
  min-width: 0;
  margin-block: var(--space-6) var(--space-6);
}

.cuisine-page .cuisine-table__figure figcaption,
.cuisine-page .cuisine-details__figure figcaption {
  max-width: 34rem;
}

.cuisine-page .cuisine-table__notes {
  display: grid;
  grid-column: 2 / 12;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.cuisine-page .cuisine-table__note {
  min-width: 0;
  max-width: 32rem;
}

.cuisine-page .cuisine-table__note + .cuisine-table__note {
  border-inline-start: 1px solid var(--color-champagne);
  padding-inline-start: var(--space-5);
}

.cuisine-page .cuisine-grammar__layout {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-7);
}

.cuisine-page .cuisine-grammar__heading {
  width: min(100%, 42rem);
  min-width: 0;
  margin-inline: auto;
  text-align: center;
}

.cuisine-page .cuisine-grammar__rule {
  width: 4rem;
  margin: 0 auto var(--space-5);
}

.cuisine-page .cuisine-grammar__cards {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.cuisine-page .cuisine-principle {
  min-width: 0;
}

.cuisine-page .cuisine-principle__content {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.cuisine-page .cuisine-principle__content > :is(h3, p) {
  margin: 0;
}

.cuisine-page .cuisine-principle__number,
.cuisine-page .cuisine-step__number,
.cuisine-page .cuisine-observation__number {
  color: var(--color-champagne);
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 1;
}

.cuisine-page .cuisine-principle h3 {
  max-width: 17rem;
}

.cuisine-page .cuisine-grammar__closing {
  display: flex;
  width: min(100%, 34rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  margin-inline: auto;
  color: var(--color-muted-ink);
  font-family: var(--font-heading);
  font-size: var(--text-lead);
  font-style: italic;
  line-height: 1.4;
  text-align: center;
}

.cuisine-page .cuisine-grammar__closing p {
  margin: 0;
}

.cuisine-page .cuisine-seasonal__left {
  grid-column: 2 / 7;
  min-width: 0;
  max-width: 34rem;
}

.cuisine-page .cuisine-seasonal__right {
  grid-column: 8 / 12;
  min-width: 0;
  max-width: 32rem;
  margin-block-start: var(--space-7);
}

.cuisine-page .cuisine-seasonal__quote {
  grid-column: 3 / 11;
  width: min(100%, 40rem);
  min-width: 0;
  margin: var(--space-8) auto 0;
  padding-block: var(--space-5);
  padding-inline: 0;
  border-block: 1px solid var(--color-champagne);
  border-inline: 0;
  color: var(--color-charcoal);
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  text-align: center;
}

.cuisine-page .cuisine-room {
  padding-block: var(--space-9);
}

.cuisine-page .cuisine-room__layout {
  position: relative;
  width: min(100% - (var(--gutter) * 2), var(--container-max));
  min-width: 0;
  margin-inline: auto;
}

.cuisine-page .cuisine-room__image {
  width: 100%;
  min-width: 0;
}

.cuisine-page .cuisine-room__copy {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: clamp(1.5rem, 5vw, 4rem);
  display: flex;
  width: min(100% - 3rem, 31rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
  transform: translateY(-50%);
  background: rgba(28, 26, 23, 0.82);
}

.cuisine-page .cuisine-room__copy > :is(h2, p) {
  margin: 0;
}

.cuisine-page .cuisine-room__copy .eyebrow {
  color: var(--color-champagne);
}

.cuisine-page .cuisine-room__link {
  margin-block-start: var(--space-2);
}

.cuisine-page .cuisine-rhythm__heading {
  grid-column: 3 / 11;
  width: min(100%, 40rem);
  min-width: 0;
  margin-inline: auto;
  text-align: center;
}

.cuisine-page .cuisine-rhythm__steps {
  display: grid;
  grid-column: 1 / -1;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-7);
}

.cuisine-page .cuisine-step {
  min-width: 0;
  max-width: 26rem;
}

.cuisine-page .cuisine-step + .cuisine-step {
  border-inline-start: 1px solid var(--color-champagne);
  padding-inline-start: var(--space-5);
}

.cuisine-page .cuisine-rhythm__closing {
  display: flex;
  grid-column: 3 / 11;
  width: min(100%, 36rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  margin: var(--space-7) auto 0;
  color: var(--color-muted-ink);
  text-align: center;
}

.cuisine-page .cuisine-rhythm__closing p {
  margin: 0;
}

.cuisine-page .cuisine-two-rooms__panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-7);
  border: 1px solid var(--color-card-border);
  border-radius: var(--radius-card);
  padding: var(--space-7);
}

.cuisine-page .cuisine-two-rooms__premise {
  width: min(100%, 48rem);
  min-width: 0;
}

.cuisine-page .cuisine-two-rooms__columns {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.cuisine-page .cuisine-two-rooms__column {
  min-width: 0;
  max-width: 32rem;
}

.cuisine-page .cuisine-two-rooms__column + .cuisine-two-rooms__column {
  border-inline-start: 1px solid var(--color-champagne);
  padding-inline-start: var(--space-5);
}

.cuisine-page .cuisine-two-rooms__column .button--secondary {
  margin-block-start: var(--space-3);
}

.cuisine-page .cuisine-details__text {
  grid-column: 2 / 7;
  min-width: 0;
  max-width: 33rem;
}

.cuisine-page .cuisine-details__figure {
  grid-column: 8 / 12;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.cuisine-page .cuisine-details__observations {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  margin-block-start: var(--space-6);
}

.cuisine-page .cuisine-observation {
  display: grid;
  min-width: 0;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-3);
}

.cuisine-page .cuisine-observation > * {
  min-width: 0;
}

.cuisine-page .cuisine-observation__number {
  margin: 0;
  font-size: 1.6rem;
}

.cuisine-page .cuisine-observation h3 {
  margin-block-end: var(--space-2);
}

.cuisine-page .cuisine-close {
  padding-block: var(--space-9);
}

.cuisine-page .cuisine-close__layout {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-7);
}

.cuisine-page .cuisine-close__rule {
  width: 100%;
  margin: 0;
}

.cuisine-page .cuisine-close__copy {
  display: flex;
  width: min(100%, 42rem);
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  margin-inline: auto;
  text-align: center;
}

.cuisine-page .cuisine-close__copy > :is(h2, p) {
  margin: 0;
}

.cuisine-page .cuisine-close h2 {
  max-width: 40rem;
  font-size: clamp(2.5rem, 4vw, 3.5rem);
}

.cuisine-page .cuisine-close__actions {
  display: flex;
  width: min(100%, 40rem);
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: var(--space-4);
  margin-block-start: var(--space-2);
}

.cuisine-page .cuisine-close__actions > * {
  min-width: 0;
}

.cuisine-page .cuisine-close__primary {
  border-color: var(--color-warm-card);
  background: var(--color-warm-card);
  color: var(--color-charcoal);
}

.cuisine-page .cuisine-close__primary:hover {
  border-color: var(--color-champagne);
  background: var(--color-champagne);
  color: var(--color-charcoal);
}

.cuisine-page .cuisine-close__secondary {
  color: var(--color-ivory);
}

.cuisine-page .cuisine-close__venue {
  width: auto;
  min-width: 0;
  margin-block-start: var(--space-3);
  color: var(--color-warm-card);
}

.cuisine-page .cuisine-close__venue p {
  margin: 0;
  overflow-wrap: anywhere;
}

.cuisine-page .cuisine-close__venue .eyebrow {
  margin-block-end: var(--space-2);
}

.cuisine-page .cuisine-page__reveal img {
  opacity: 0.86;
  transition: transform 900ms ease-out, opacity 900ms ease-out;
}

.cuisine-page .cuisine-page__reveal.is-visible img {
  opacity: 1;
}

@media (max-width: 980px) {
  .cuisine-page .cuisine-grammar__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cuisine-page .cuisine-grammar__cards > :last-child {
    grid-column: 1 / 2;
  }
}

@media (max-width: 920px) {
  .cuisine-page .cuisine-room__layout {
    display: flex;
    flex-direction: column;
  }

  .cuisine-page .cuisine-room__copy {
    position: static;
    width: 100%;
    transform: none;
    background: var(--color-charcoal);
  }

  .cuisine-page .cuisine-rhythm__steps {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .cuisine-page .cuisine-step {
    width: 100%;
    max-width: 42rem;
    padding-block: var(--space-5);
  }

  .cuisine-page .cuisine-step + .cuisine-step {
    border-block-start: 1px solid var(--color-champagne);
    border-inline-start: 0;
    padding-inline-start: 0;
  }
}

@media (max-width: 880px) {
  .cuisine-page .cuisine-details__layout {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-7);
  }

  .cuisine-page .cuisine-details__text,
  .cuisine-page .cuisine-details__figure {
    grid-column: 1;
  }

  .cuisine-page .cuisine-details__figure {
    width: min(100%, 35rem);
  }
}

@media (max-width: 860px) {
  .cuisine-page .cuisine-seasonal__layout {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-6);
  }

  .cuisine-page .cuisine-seasonal__left,
  .cuisine-page .cuisine-seasonal__right,
  .cuisine-page .cuisine-seasonal__quote {
    grid-column: 1;
    width: 100%;
  }

  .cuisine-page .cuisine-seasonal__right {
    margin-block-start: 0;
  }

  .cuisine-page .cuisine-seasonal__quote {
    margin-block-start: var(--space-4);
  }
}

@media (max-width: 850px) {
  .cuisine-page .cuisine-two-rooms__columns {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .cuisine-page .cuisine-two-rooms__column {
    width: 100%;
    max-width: none;
    padding-block: var(--space-5);
  }

  .cuisine-page .cuisine-two-rooms__column + .cuisine-two-rooms__column {
    border-block-start: 1px solid var(--color-champagne);
    border-inline-start: 0;
    padding-inline-start: 0;
  }
}

@media (max-width: 900px) {
  .cuisine-page .cuisine-table__notes {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .cuisine-page .cuisine-table__note {
    width: 100%;
    max-width: 38rem;
    padding-block: var(--space-5);
  }

  .cuisine-page .cuisine-table__note + .cuisine-table__note {
    border-block-start: 1px solid var(--color-champagne);
    border-inline-start: 0;
    padding-inline-start: 0;
  }
}

@media (max-width: 767px) {
  .cuisine-page .cuisine-hero {
    padding-block: var(--space-9) var(--space-8);
  }

  .cuisine-page .cuisine-hero__grid,
  .cuisine-page .cuisine-table__grid,
  .cuisine-page .cuisine-seasonal__layout,
  .cuisine-page .cuisine-rhythm__layout {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-5);
  }

  .cuisine-page .cuisine-hero__copy,
  .cuisine-page .cuisine-table__intro,
  .cuisine-page .cuisine-table__figure,
  .cuisine-page .cuisine-table__notes,
  .cuisine-page .cuisine-rhythm__heading,
  .cuisine-page .cuisine-rhythm__steps,
  .cuisine-page .cuisine-rhythm__closing {
    grid-column: 1;
    width: 100%;
  }

  .cuisine-page .cuisine-hero h1,
  .cuisine-page .cuisine-close h2 {
    font-size: 2.375rem;
    line-height: 1.1;
  }

  .cuisine-page .cuisine-hero__lead {
    font-size: var(--text-base);
    line-height: var(--leading-body);
  }

  .cuisine-page .cuisine-table__figure {
    margin-block: var(--space-4);
  }

  .cuisine-page .cuisine-grammar__layout {
    gap: var(--space-6);
  }

  .cuisine-page .cuisine-grammar__cards {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .cuisine-page .cuisine-grammar__cards > :last-child {
    grid-column: 1;
  }

  .cuisine-page .cuisine-principle__content {
    padding: var(--space-4);
  }

  .cuisine-page .cuisine-room {
    padding-block: var(--space-8);
  }

  .cuisine-page .cuisine-room__copy {
    padding: var(--space-5);
  }

  .cuisine-page .cuisine-rhythm__heading {
    margin-inline: auto;
  }

  .cuisine-page .cuisine-rhythm__steps {
    margin-block-start: var(--space-4);
  }

  .cuisine-page .cuisine-rhythm__closing {
    margin-block-start: var(--space-5);
  }

  .cuisine-page .cuisine-two-rooms__panel {
    gap: var(--space-5);
    padding: var(--space-5);
  }

  .cuisine-page .cuisine-details__figure {
    width: 100%;
  }

  .cuisine-page .cuisine-close {
    padding-block: var(--space-8);
  }

  .cuisine-page .cuisine-close__layout {
    gap: var(--space-6);
  }
}

@media (max-width: 700px) {
  .cuisine-page .cuisine-close__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .cuisine-page .cuisine-close__primary {
    width: 100%;
  }

  .cuisine-page .cuisine-close__secondary {
    align-self: flex-start;
  }
}

@media (max-width: 479px) {
  .cuisine-page .cuisine-hero__actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .cuisine-page .cuisine-hero__actions .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cuisine-page .cuisine-page__reveal img,
  .cuisine-page .cuisine-page__reveal.is-visible img {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


.upe-page {
  overflow: hidden;
}

.upe-page .section {
  padding-block: clamp(6rem, 9vw, 8rem);
}

.upe-page .section--compact {
  padding-block: clamp(4rem, 7vw, 6rem);
}

.upe-page .button {
  min-height: 2.75rem;
}

.upe-hero__grid,
.upe-invitation__grid,
.upe-unfold__grid,
.upe-material__grid,
.upe-dining__grid,
.upe-visit__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.5rem;
}

.upe-hero__copy {
  grid-column: 1 / span 5;
  min-width: 0;
}

.upe-hero__copy h1 {
  max-width: 11ch;
}

.upe-hero__lead {
  max-width: 40rem;
  font-size: var(--text-lead);
  line-height: 1.4;
}

.upe-hero__actions {
  margin-block: var(--space-5);
}

.upe-hero__support {
  max-width: 37rem;
  border-top: 1px solid var(--color-champagne);
  padding-top: var(--space-4);
}

.upe-hero__media {
  grid-column: 7 / -1;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.upe-invitation {
  padding-block: clamp(6rem, 10vw, 8rem);
}

.upe-invitation__heading {
  grid-column: 1 / span 4;
  min-width: 0;
}

.upe-invitation__heading h2 {
  max-width: 14ch;
}

.upe-invitation__statements {
  grid-column: 6 / span 6;
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.upe-invitation__statement {
  display: grid;
  min-width: 0;
  grid-template-columns: 3rem minmax(0, 38rem);
  gap: var(--space-4);
  border-top: 1px solid var(--color-dark-line);
  padding-block: var(--space-5);
}

.upe-invitation__statement:first-child {
  border-top: 0;
  padding-top: 0;
}

.upe-invitation__statement > div,
.upe-invitation__statement p {
  min-width: 0;
}

.upe-invitation__statement h3 {
  font-size: var(--text-h4);
}

.upe-ordinal,
.upe-stage__number,
.upe-principle__number {
  color: var(--color-champagne);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.333;
}

.upe-invitation__pull {
  display: block;
  max-width: 30rem;
  margin-top: var(--space-3);
  color: var(--color-ivory);
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  line-height: 1.15;
}

.upe-formats__intro {
  max-width: 42rem;
}

.upe-formats__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.upe-format-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.upe-format-card--warm {
  background: var(--color-warm-card);
}

.upe-format-card__media {
  width: 100%;
  min-width: 0;
  margin: 0;
  border-radius: calc(var(--radius-card) - 1px) calc(var(--radius-card) - 1px) 0 0;
}

.upe-format-card__content {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

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

.upe-format-card__content h3 {
  max-width: 16ch;
}

.upe-format-card__content > .button {
  margin-top: auto;
}

.upe-unfold__heading {
  grid-column: 1 / span 4;
  min-width: 0;
}

.upe-unfold__heading h2 {
  max-width: 12ch;
}

.upe-unfold__stages {
  grid-column: 5 / -1;
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-7) var(--space-5);
}

.upe-stage {
  min-width: 0;
  border-top: 1px solid var(--color-champagne);
  padding-top: var(--space-4);
}

.upe-stage h3 {
  max-width: 16ch;
  margin-top: var(--space-4);
  font-size: var(--text-h4);
}

.upe-stage p {
  max-width: 28rem;
}

.upe-stage__closing {
  display: block;
  margin-top: var(--space-3);
  font-family: var(--font-heading);
  font-size: var(--text-lead);
  line-height: 1.35;
}

.upe-material__media {
  grid-column: 1 / span 7;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.upe-material__copy {
  grid-column: 9 / -1;
  min-width: 0;
  align-self: center;
}

.upe-material__copy h2 {
  max-width: 13ch;
}

.upe-material__copy > p {
  max-width: 36rem;
}

.upe-material__second {
  max-width: 36rem;
  border-top: 1px solid var(--color-champagne);
  padding-top: var(--space-4);
}

.upe-material__second .meta {
  max-width: 28rem;
}

.upe-buyin__panel {
  display: flex;
  width: min(100%, 51.5rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-inline: auto;
  border: 1px solid var(--color-card-border);
  border-top: 1px solid var(--color-champagne);
  border-radius: var(--radius-card);
  background: var(--color-warm-card);
  padding: var(--space-7);
}

.upe-buyin__panel > * {
  min-width: 0;
  margin: 0;
}

.upe-buyin__panel h2 {
  max-width: 17ch;
}

.upe-buyin__definition {
  max-width: 34rem;
  font-family: var(--font-heading);
  font-size: clamp(1.7rem, 3vw, 2.25rem);
  line-height: 1.15;
}

.upe-buyin__clarification {
  max-width: 30rem;
  color: var(--color-muted-ink);
}

.upe-buyin__action {
  min-height: 2.75rem;
}

.upe-dining {
  padding-block: clamp(6rem, 9vw, 8rem);
}

.upe-dining__copy {
  grid-column: 1 / span 5;
  min-width: 0;
}

.upe-dining__copy h2 {
  max-width: 15ch;
}

.upe-dining__lead {
  max-width: 38rem;
  font-size: var(--text-lead);
  line-height: 1.4;
}

.upe-dining__copy > p:not(.upe-dining__lead) {
  max-width: 32rem;
}

.upe-dining__links {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  max-width: 32rem;
  border-top: 1px solid var(--color-champagne);
  padding-top: var(--space-4);
}

.upe-dining__links > * {
  min-width: 0;
  margin: 0;
}

.upe-dining__media {
  grid-column: 7 / -1;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.upe-shared__intro {
  max-width: 42rem;
}

.upe-shared__intro h2 {
  max-width: 15ch;
}

.upe-shared__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.upe-principle {
  min-width: 0;
}

.upe-principle--warm {
  background: var(--color-warm-card);
}

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

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

.upe-principle h3 {
  max-width: 14ch;
}

.upe-principle p {
  max-width: 26rem;
}

.upe-visit__heading {
  grid-column: 1 / span 5;
  min-width: 0;
  margin-bottom: var(--space-6);
}

.upe-visit__heading h2 {
  max-width: 14ch;
}

.upe-venue-panel {
  grid-column: 1 / span 5;
  min-width: 0;
  background: var(--color-warm-card);
}

.upe-venue-panel .card__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.upe-venue-panel .card__content > * {
  min-width: 0;
  margin: 0;
}

.upe-venue-panel h3,
.upe-venue-panel p,
.upe-venue-panel address {
  max-width: 34rem;
}

.upe-venue-panel address {
  font-style: normal;
  font-size: var(--text-lead);
  line-height: 1.4;
}

.upe-visit__practical {
  grid-column: 7 / span 5;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-7);
}

.upe-contact-block,
.upe-related-block {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.upe-contact-block > *,
.upe-related-block > * {
  min-width: 0;
  margin: 0;
}

.upe-contact-block h3,
.upe-related-block h3 {
  max-width: 17ch;
}

.upe-contact-block p,
.upe-related-block p {
  max-width: 34rem;
}

.upe-email {
  color: var(--color-charcoal);
  font-weight: 500;
}

.upe-related-block {
  border-top: 1px solid var(--color-champagne);
  padding-top: var(--space-5);
}

.upe-related-links {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
}

.upe-related-links > a {
  min-width: 0;
  border-top: 1px solid var(--color-line);
  padding-block: var(--space-3);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: 1.45;
  text-transform: uppercase;
}

.upe-related-links > a:last-child {
  border-bottom: 1px solid var(--color-line);
}

.upe-enquire {
  padding-block: clamp(6rem, 9vw, 8rem);
}

.upe-enquire__content {
  display: flex;
  width: min(100%, 42rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  margin-inline: auto;
}

.upe-enquire__content > * {
  min-width: 0;
  margin: 0;
}

.upe-enquire__content h2 {
  max-width: 14ch;
}

.upe-enquire__lead {
  max-width: 34rem;
  font-size: var(--text-lead);
  line-height: 1.4;
}

.upe-enquire__button {
  min-height: 2.75rem;
}

.upe-enquire__statement {
  max-width: 38rem;
  border-top: 1px solid var(--color-champagne);
  padding-top: var(--space-4);
}

.upe-enquire__statement p {
  margin: 0;
  color: var(--color-warm-card);
  font-size: var(--text-sm);
  line-height: 1.5;
}

@media (max-width: 1023px) {
  .upe-formats__grid,
  .upe-shared__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .upe-formats__grid > :nth-child(3),
  .upe-shared__grid > :nth-child(3) {
    grid-column: 1 / span 1;
  }
}

@media (max-width: 959px) {
  .upe-hero__grid,
  .upe-dining__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .upe-hero__copy,
  .upe-dining__copy {
    grid-column: 1 / span 4;
  }

  .upe-hero__media,
  .upe-dining__media {
    grid-column: 5 / -1;
  }

  .upe-hero__media {
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 939px) {
  .upe-unfold__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .upe-unfold__heading {
    grid-column: 1 / -1;
  }

  .upe-unfold__stages {
    grid-column: 1 / -1;
  }
}

@media (max-width: 899px) {
  .upe-invitation__grid,
  .upe-material__grid,
  .upe-visit__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .upe-invitation__heading {
    grid-column: 1 / -1;
  }

  .upe-invitation__statements {
    grid-column: 1 / span 6;
  }

  .upe-material__media {
    grid-column: 1 / -1;
    aspect-ratio: 16 / 10;
  }

  .upe-material__copy {
    grid-column: 1 / span 6;
    margin-top: var(--space-2);
  }

  .upe-visit__heading {
    grid-column: 1 / -1;
  }

  .upe-venue-panel {
    grid-column: 1 / -1;
  }

  .upe-visit__practical {
    grid-column: 1 / span 6;
    margin-top: var(--space-2);
  }
}

@media (max-width: 839px) {
  .upe-dining__grid {
    grid-template-columns: 1fr;
  }

  .upe-dining__copy,
  .upe-dining__media {
    grid-column: 1;
  }

  .upe-dining__media {
    margin-top: var(--space-2);
  }
}

@media (max-width: 767px) {
  .upe-page .section,
  .upe-page .section--compact {
    padding-block: clamp(4rem, 14vw, 5rem);
  }

  .upe-hero__grid,
  .upe-invitation__grid,
  .upe-unfold__grid,
  .upe-material__grid,
  .upe-dining__grid,
  .upe-visit__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .upe-hero__copy,
  .upe-hero__media,
  .upe-invitation__heading,
  .upe-invitation__statements,
  .upe-unfold__heading,
  .upe-unfold__stages,
  .upe-material__media,
  .upe-material__copy,
  .upe-dining__copy,
  .upe-dining__media,
  .upe-visit__heading,
  .upe-venue-panel,
  .upe-visit__practical {
    grid-column: 1;
  }

  .upe-hero__copy h1 {
    max-width: 11ch;
  }

  .upe-hero__media {
    aspect-ratio: 4 / 3;
    margin-top: 0;
  }

  .upe-invitation__statements {
    width: 100%;
  }

  .upe-invitation__statement {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .upe-invitation__pull {
    font-size: 1.6rem;
  }

  .upe-formats__grid,
  .upe-shared__grid,
  .upe-unfold__stages {
    grid-template-columns: minmax(0, 1fr);
  }

  .upe-formats__grid > :nth-child(3),
  .upe-shared__grid > :nth-child(3) {
    grid-column: 1;
  }

  .upe-formats__grid,
  .upe-shared__grid {
    gap: var(--space-5);
  }

  .upe-unfold__stages {
    gap: var(--space-5);
  }

  .upe-material__media {
    aspect-ratio: 1 / 1;
  }

  .upe-material__copy {
    margin-top: 0;
  }

  .upe-buyin__panel {
    width: 100%;
    padding: var(--space-5);
  }

  .upe-dining__media {
    aspect-ratio: 4 / 3;
    margin-top: 0;
  }

  .upe-visit__heading {
    margin-bottom: 0;
  }

  .upe-visit__practical {
    gap: var(--space-6);
    margin-top: 0;
  }

  .upe-enquire__content {
    width: 100%;
  }

  .upe-enquire__button {
    width: 100%;
  }
}

@media (max-width: 479px) {
  .upe-hero__actions {
    align-items: stretch;
  }

  .upe-hero__actions > .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .upe-page .is-revealable img {
    transform: none;
  }
}


.card-room-page {
  overflow: hidden;
}

.card-room-page__nowrap {
  white-space: nowrap;
}

.card-room-page__hero-grid,
.card-room-page__rhythm-grid,
.card-room-page__table-grid,
.card-room-page__chips-grid,
.card-room-page__house-grid,
.card-room-page__location-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
}

.card-room-page__hero-grid > *,
.card-room-page__rhythm-grid > *,
.card-room-page__table-grid > *,
.card-room-page__chips-grid > *,
.card-room-page__house-grid > *,
.card-room-page__location-grid > * {
  min-width: 0;
  width: 100%;
}

.card-room-page__hero {
  padding-block: clamp(5rem, 9vw, 8rem);
}

.card-room-page__hero-copy {
  grid-column: 1 / span 5;
  align-self: center;
  max-width: 34rem;
}

.card-room-page__hero-lead {
  max-width: 34rem;
  font-size: var(--text-lead);
  line-height: 1.4;
}

.card-room-page__hero-microcopy {
  max-width: 31rem;
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.card-room-page__hero-actions {
  width: auto;
  margin-top: var(--space-5);
}

.card-room-page__hero-media {
  grid-column: 7 / span 6;
  align-self: center;
  width: 100%;
  margin: 0;
}

.card-room-page__rhythm-intro {
  grid-column: 1 / span 4;
  max-width: 28rem;
}

.card-room-page__rhythm-intro > p:last-child {
  max-width: 25rem;
  color: var(--color-muted-ink);
  font-family: var(--font-heading);
  font-size: var(--text-lead);
  line-height: 1.4;
}

.card-room-page__statements {
  display: flex;
  grid-column: 6 / span 6;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-6);
  max-width: 48rem;
}

.card-room-page__statement {
  min-width: 0;
}

.card-room-page__statement + .card-room-page__statement {
  border-inline-start: 1px solid var(--color-champagne);
  padding-inline-start: var(--space-5);
}

.card-room-page__statement h3 {
  font-size: var(--text-h4);
}

.card-room-page__statement-lead {
  font-family: var(--font-heading);
  font-size: var(--text-lead);
  line-height: 1.4;
}

.card-room-page__table {
  padding-block: clamp(5rem, 9vw, 8rem);
}

.card-room-page__table-grid {
  align-items: start;
}

.card-room-page__table-copy {
  grid-column: 1 / span 4;
  max-width: 32rem;
  padding-top: var(--space-4);
}

.card-room-page__table-figure {
  grid-column: 6 / span 7;
  width: 100%;
  margin: 0;
}

.card-room-page__table-media {
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.card-room-page__table-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card-room-page__table-figure figcaption {
  max-width: 36rem;
  border-top: 1px solid var(--color-dark-line);
  padding-top: var(--space-3);
}

.card-room-page__gatherings-heading {
  width: min(100%, 38rem);
  margin-inline: auto;
  text-align: center;
}

.card-room-page__gatherings-heading > p:last-child {
  color: var(--color-muted-ink);
  font-size: var(--text-lead);
  line-height: 1.4;
}

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

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

.card-room-page__gathering-card {
  height: 100%;
}

.card-room-page__gathering-content {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  gap: var(--space-4);
}

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

.card-room-page__gathering-content .button {
  align-self: flex-start;
  margin-top: auto;
}

.card-room-page__gathering-content h3 {
  font-size: var(--text-h4);
}

.card-room-page__schedule-note {
  width: min(100%, 38rem);
  margin: var(--space-7) auto 0;
  border-top: 1px solid var(--color-champagne);
  padding-top: var(--space-4);
  text-align: center;
}

.card-room-page__chips-grid {
  align-items: center;
}

.card-room-page__chips-panel {
  grid-column: 1 / span 6;
  max-width: 35rem;
}

.card-room-page__chips-content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
}

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

.card-room-page__chips-content h2 {
  font-size: var(--text-h4);
}

.card-room-page__definition {
  border-top: 1px solid var(--color-champagne);
  padding-top: var(--space-3);
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.card-room-page__chips-figure {
  grid-column: 8 / span 5;
  width: 100%;
  margin: 0;
}

.card-room-page__chips-media {
  width: 100%;
}

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

.card-room-page__unfolds-heading {
  width: min(100%, 36rem);
}

.card-room-page__unfolds-heading > p:last-child {
  color: var(--color-muted-ink);
  font-size: var(--text-lead);
  line-height: 1.4;
}

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

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

.card-room-page__step {
  border-top: 1px solid var(--color-champagne);
  padding-top: var(--space-4);
}

.card-room-page__step-number {
  margin-bottom: var(--space-3);
  color: var(--color-champagne);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: var(--leading-label);
}

.card-room-page__step h3 {
  font-size: var(--text-h4);
}

.card-room-page__code {
  padding-block: clamp(4rem, 7vw, 6rem);
}

.card-room-page__code-panel {
  min-width: 0;
  border-radius: var(--radius-card);
  background: var(--color-warm-card);
  padding: clamp(var(--space-6), 5vw, var(--space-8));
}

.card-room-page__code-heading {
  width: min(100%, 32rem);
  margin-inline: auto;
  text-align: center;
}

.card-room-page__principles {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--space-7);
  row-gap: var(--space-6);
  margin-top: var(--space-7);
}

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

.card-room-page__principle {
  border-top: 1px solid var(--color-line);
  padding-top: var(--space-4);
}

.card-room-page__principle h3 {
  font-size: var(--text-h4);
}

.card-room-page__house-grid {
  align-items: center;
}

.card-room-page__house-media {
  grid-column: 1 / span 6;
  width: 100%;
  margin: 0;
}

.card-room-page__house-copy {
  grid-column: 8 / span 5;
  max-width: 38rem;
}

.card-room-page__house-lead {
  max-width: 36rem;
  font-size: var(--text-lead);
  line-height: 1.4;
}

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

.card-room-page__house-links > * {
  min-width: 0;
  max-width: 100%;
}

.card-room-page__location-grid {
  row-gap: var(--space-6);
}

.card-room-page__location-copy {
  grid-column: 1 / span 6;
  max-width: 38rem;
}

.card-room-page__address-panel {
  grid-column: 1 / span 4;
  max-width: 32rem;
}

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

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

.card-room-page__address {
  font-family: var(--font-heading);
  font-size: var(--text-lead);
  line-height: 1.4;
}

.card-room-page__directions {
  min-height: 2.75rem;
  justify-content: center;
  padding-inline: 0;
}

.card-room-page__cta {
  padding-block: clamp(5rem, 8vw, 6rem);
}

.card-room-page__cta-copy {
  display: flex;
  min-width: 0;
  width: min(100%, 34rem);
  margin-inline: auto;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  text-align: center;
}

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

.card-room-page__cta-copy h2 {
  font-size: clamp(2.375rem, 4.5vw, 3.5rem);
}

.card-room-page__cta-copy > p:not(.eyebrow):not(.card-room-page__offline-note) {
  max-width: 34rem;
}

.card-room-page__cta-button {
  border-color: var(--color-warm-card);
  background: var(--color-warm-card);
  color: var(--color-charcoal);
  margin-top: var(--space-2);
}

.card-room-page__cta-button:hover {
  border-color: var(--color-ivory);
  background: var(--color-ivory);
  color: var(--color-charcoal);
}

.card-room-page__offline-note {
  width: min(100%, 30rem);
  border-top: 1px solid var(--color-dark-line);
  padding-top: var(--space-3);
  color: var(--color-warm-card);
  font-size: var(--text-sm);
  line-height: 1.5;
}

@media (max-width: 1020px) {
  .card-room-page__gatherings-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .card-room-page__gathering-card:nth-child(3) {
    grid-column: 1 / span 1;
  }
}

@media (max-width: 979px) {
  .card-room-page__hero-grid,
  .card-room-page__house-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: var(--space-4);
  }

  .card-room-page__hero-copy {
    grid-column: 1 / span 4;
  }

  .card-room-page__hero-media {
    grid-column: 5 / span 4;
    aspect-ratio: 3 / 2;
  }

  .card-room-page__house-media {
    grid-column: 1 / span 4;
  }

  .card-room-page__house-copy {
    grid-column: 5 / span 4;
  }
}

@media (max-width: 960px) {
  .card-room-page__table-grid,
  .card-room-page__steps {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .card-room-page__table-copy {
    grid-column: 1 / span 4;
  }

  .card-room-page__table-figure {
    grid-column: 5 / span 4;
  }

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

@media (max-width: 900px) {
  .card-room-page__rhythm-grid,
  .card-room-page__chips-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .card-room-page__rhythm-intro {
    grid-column: 1 / span 8;
  }

  .card-room-page__statements {
    grid-column: 1 / span 6;
    margin-top: var(--space-6);
  }

  .card-room-page__chips-panel {
    grid-column: 1 / span 5;
  }

  .card-room-page__chips-figure {
    grid-column: 6 / span 3;
  }
}

@media (max-width: 800px) {
  .card-room-page__location-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .card-room-page__location-copy {
    grid-column: 1 / span 6;
  }

  .card-room-page__address-panel {
    grid-column: 1 / span 4;
  }
}

@media (max-width: 767px) {
  .card-room-page__hero,
  .card-room-page__table {
    padding-block: clamp(4rem, 14vw, 5rem);
  }

  .card-room-page__hero-grid,
  .card-room-page__rhythm-grid,
  .card-room-page__table-grid,
  .card-room-page__chips-grid,
  .card-room-page__house-grid,
  .card-room-page__location-grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-6);
  }

  .card-room-page__hero-copy,
  .card-room-page__hero-media,
  .card-room-page__rhythm-intro,
  .card-room-page__statements,
  .card-room-page__table-copy,
  .card-room-page__table-figure,
  .card-room-page__chips-panel,
  .card-room-page__chips-figure,
  .card-room-page__house-media,
  .card-room-page__house-copy,
  .card-room-page__location-copy,
  .card-room-page__address-panel {
    grid-column: 1;
    max-width: 100%;
  }

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

  .card-room-page__hero-copy h1 {
    font-size: 2.375rem;
    line-height: 1.105;
  }

  .card-room-page__hero-lead {
    font-size: var(--text-base);
    line-height: var(--leading-body);
  }

  .card-room-page__hero-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
  }

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

  .card-room-page__hero-actions .button:first-child {
    width: 100%;
  }

  .card-room-page__hero-media {
    aspect-ratio: 4 / 3;
  }

  .card-room-page__rhythm-intro h2,
  .card-room-page__table-copy h2,
  .card-room-page__gatherings-heading h2,
  .card-room-page__unfolds-heading h2,
  .card-room-page__code-heading h2,
  .card-room-page__house-copy h2,
  .card-room-page__location-copy h2 {
    font-size: 2rem;
    line-height: 1.125;
  }

  .card-room-page__statements {
    gap: var(--space-5);
    margin-top: 0;
  }

  .card-room-page__statement + .card-room-page__statement {
    border-inline-start: 0;
    border-top: 1px solid var(--color-champagne);
    padding-top: var(--space-4);
    padding-inline-start: 0;
  }

  .card-room-page__table-copy {
    padding-top: 0;
  }

  .card-room-page__table-media {
    aspect-ratio: 4 / 3;
  }

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

  .card-room-page__gatherings-grid {
    gap: var(--space-4);
    margin-top: var(--space-6);
  }

  .card-room-page__gathering-card:nth-child(3) {
    grid-column: auto;
  }

  .card-room-page__gathering-content {
    gap: var(--space-4);
  }

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

  .card-room-page__chips-panel {
    max-width: 100%;
  }

  .card-room-page__chips-figure {
    max-width: 100%;
  }

  .card-room-page__unfolds-heading {
    width: 100%;
  }

  .card-room-page__steps {
    gap: var(--space-5);
    margin-top: var(--space-6);
  }

  .card-room-page__step {
    padding-top: var(--space-4);
  }

  .card-room-page__step h3 {
    font-size: var(--text-h4);
  }

  .card-room-page__code-panel {
    padding: var(--space-5);
  }

  .card-room-page__principles {
    gap: var(--space-5);
    margin-top: var(--space-6);
  }

  .card-room-page__house-grid {
    row-gap: var(--space-6);
  }

  .card-room-page__house-lead {
    font-size: var(--text-lead);
  }

  .card-room-page__address-panel {
    max-width: 100%;
  }

  .card-room-page__cta {
    padding-block: clamp(4rem, 14vw, 5rem);
  }

  .card-room-page__cta-copy h2 {
    font-size: 2.375rem;
    line-height: 1.105;
  }
}

@media (max-width: 479px) {
  .card-room-page__hero-actions .button--secondary {
    width: auto;
    min-height: 2.75rem;
  }

  .card-room-page__cta-button {
    width: min(100%, 20rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .card-room-page .reveal-image img {
    transform: none;
  }
}


.thank-you {
  display: flex;
  min-height: clamp(32rem, 68vh, 46rem);
  align-items: center;
}

.thank-you__section {
  width: 100%;
  padding-block: clamp(4rem, 10vw, 8rem);
}

.thank-you__panel {
  display: flex;
  max-width: 48rem;
  flex-direction: column;
  align-items: center;
  margin-inline: auto;
  border-top: 1px solid var(--color-champagne);
  border-bottom: 1px solid var(--color-champagne);
  padding: clamp(3rem, 7vw, 5rem) clamp(1rem, 5vw, 4rem);
  text-align: center;
}

.thank-you__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.thank-you__content > * {
  margin-block: 0;
}

.thank-you__content h1 {
  max-width: 12ch;
  margin-inline: auto;
}

.thank-you__lead {
  max-width: 36rem;
  margin-inline: auto;
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  line-height: 1.2;
}

.thank-you__copy {
  max-width: 39rem;
  margin-inline: auto;
  color: var(--color-muted-ink);
}

.thank-you__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-4);
  margin-top: var(--space-6);
}

@media (max-width: 767px) {
  .thank-you {
    min-height: 0;
  }

  .thank-you__panel {
    padding-inline: 0;
  }
}

@media (max-width: 479px) {
  .thank-you__actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .thank-you__actions .button--secondary {
    align-self: center;
  }
}