

:root {
  --color-river-sand: #efece6;
  --color-stone-grey: #dfdad2;
  --color-charcoal: #3a3835;
  --color-moss: #656d4a;
  --color-moss-deep: #50583a;
  --color-muted-charcoal: #57534f;
  --color-paper-line: #c8c2b9;
  --color-inverse: #3a3835;
  --color-error: #8a3f38;
  --color-success: #656d4a;

  --font-body: "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  --font-heading: "Cormorant Garamond", Georgia, serif;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.5rem;
  --text-2xl: clamp(1.75rem, 3vw, 2rem);
  --text-3xl: clamp(2rem, 4.5vw, 2.75rem);
  --text-4xl: clamp(2.375rem, 6vw, 3.5rem);

  --leading-tight: 1.05;
  --leading-heading: 1.12;
  --leading-body: 1.6;
  --leading-relaxed: 1.7;

  --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: 4.5rem;
  --space-9: 6rem;
  --space-10: 8rem;

  --container-max: 75rem;
  --container-reading: 42.5rem;
  --page-gutter: 2rem;

  --border-width: 1px;
  --border-subtle: var(--border-width) solid var(--color-paper-line);
  --border-accent: var(--border-width) solid var(--color-moss);

  --radius-control: 0.125rem;
  --radius-surface: 0.75rem;
  --radius-feature: 1.25rem 1.75rem 1.5rem 2rem;
  --radius-stone: 44% 48% 42% 46%;

  --shadow-overlay: 0 0.75rem 2rem rgb(58 56 53 / 10%);
  --focus-ring: 0 0 0 2px var(--color-moss);
  --focus-offset: 3px;

  --transition-fast: 150ms ease;
}

@media (max-width: 63.9375rem) {
  :root {
    --page-gutter: 1.5rem;
  }
}

@media (max-width: 43.75rem) {
  :root {
    --page-gutter: 1.125rem;
  }
}

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

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

body {
  min-width: 0;
  min-height: 100vh;
  margin: 0;
  overflow-x: clip;
  background: var(--color-river-sand);
  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;
}

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

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

img,
video {
  height: auto;
}

img {
  object-fit: cover;
}

svg {
  fill: currentColor;
}

iframe {
  border: 0;
}

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

button,
select {
  text-transform: none;
}

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

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

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

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

th,
td {
  padding: var(--space-3);
  border-bottom: var(--border-subtle);
  text-align: left;
  vertical-align: top;
}

ul,
ol {
  margin-block: 0 1.5rem;
  padding-inline-start: 1.35em;
}

li::marker {
  color: var(--color-moss);
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-block: 0 var(--space-4);
  color: var(--color-charcoal);
  font-family: var(--font-heading);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: var(--leading-heading);
  overflow-wrap: anywhere;
}

h1 {
  font-size: var(--text-4xl);
  line-height: 1;
}

h2 {
  font-size: var(--text-3xl);
}

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

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

h5 {
  font-family: var(--font-body);
  font-size: var(--text-lg);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.3;
}

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

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

blockquote {
  margin: var(--space-6) 0;
  padding-inline-start: var(--space-5);
  border-inline-start: 2px solid var(--color-moss);
  color: var(--color-muted-charcoal);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-style: italic;
  line-height: 1.35;
}

blockquote > :last-child,
blockquote > footer:last-child {
  margin-block-end: 0;
}

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

figcaption {
  margin-block-start: var(--space-2);
  color: var(--color-muted-charcoal);
  font-size: var(--text-xs);
  line-height: 1.4;
}

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

dt {
  font-weight: 600;
}

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

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

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

pre {
  margin-block: 0 var(--space-5);
  padding: var(--space-4);
  overflow: auto;
  border: var(--border-subtle);
  border-radius: var(--radius-control);
  background: var(--color-stone-grey);
  font-size: 0.875em;
}

code {
  overflow-wrap: anywhere;
}

a {
  color: var(--color-moss);
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

a:hover {
  color: var(--color-moss-deep);
  text-decoration-thickness: 2px;
}

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-moss);
  outline-offset: var(--focus-offset);
}

::selection {
  background: var(--color-stone-grey);
  color: var(--color-charcoal);
}

::placeholder {
  color: var(--color-muted-charcoal);
  opacity: 1;
}

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

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

.surface {
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-surface);
  background: var(--color-stone-grey);
}

.surface--feature {
  border-radius: var(--radius-feature);
}

.surface--dark {
  border-color: var(--color-inverse);
  background: var(--color-inverse);
  color: var(--color-river-sand);
}

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

.surface--dark :is(p, figcaption, dd) {
  color: var(--color-river-sand);
}

.surface--dark a {
  color: var(--color-river-sand);
  text-decoration-color: var(--color-moss);
}

.content-flow > :last-child,
.surface > :last-child,
.card > :last-child,
.panel > :last-child,
.compact-group > :last-child {
  margin-block-end: 0;
}

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

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

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

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

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

.cluster--compact {
  gap: var(--space-2);
}

.cluster--spread {
  justify-content: space-between;
}

.content-list {
  margin-block: 0 var(--space-5);
  padding-inline-start: 1.35em;
}

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

.eyebrow,
.meta {
  color: var(--color-muted-charcoal);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.eyebrow {
  margin-block: 0 var(--space-2);
}

.rule {
  width: min(5rem, 20vw);
  height: 1px;
  margin-block: var(--space-4);
  border: 0;
  background: var(--color-moss);
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 2.75rem;
  padding: 0.625rem 1rem;
  border: 1px solid var(--color-charcoal);
  border-radius: var(--radius-control);
  background: var(--color-charcoal);
  color: var(--color-river-sand);
  font-size: var(--text-base);
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

.button:hover {
  border-color: var(--color-moss-deep);
  background: var(--color-moss-deep);
  color: var(--color-river-sand);
  text-decoration: none;
}

.button--moss {
  border-color: var(--color-moss);
  background: var(--color-moss);
}

.button--moss:hover {
  border-color: var(--color-moss-deep);
  background: var(--color-moss-deep);
}

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

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

.button--full {
  width: 100%;
}

.button[aria-disabled="true"] {
  pointer-events: none;
  opacity: 0.6;
}

.field {
  display: grid;
  min-width: 0;
  gap: var(--space-2);
  margin-block-end: var(--space-4);
}

.field > label,
.fieldset__legend {
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1.45;
}

input,
select,
textarea {
  width: 100%;
  min-width: 0;
  border: var(--border-subtle);
  border-radius: var(--radius-control);
  background: var(--color-river-sand);
  line-height: 1.4;
}

input,
select {
  min-height: 2.75rem;
  padding: 0.625rem 0.75rem;
}

textarea {
  padding: 0.75rem;
}

input:hover,
select:hover,
textarea:hover {
  border-color: var(--color-moss);
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--color-moss);
}

fieldset {
  margin: 0 0 var(--space-5);
  padding: var(--space-4);
  border: var(--border-subtle);
  border-radius: var(--radius-surface);
}

legend {
  padding-inline: var(--space-2);
  font-size: var(--text-sm);
  font-weight: 600;
}

.help-text,
.field-error,
.field-success {
  margin: 0;
  font-size: var(--text-sm);
  line-height: 1.45;
}

.help-text {
  color: var(--color-muted-charcoal);
}

.field-error {
  color: var(--color-error);
}

.field-success {
  color: var(--color-success);
}

.skip-link {
  position: fixed;
  z-index: 10000;
  top: var(--space-3);
  left: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-control);
  background: var(--color-charcoal);
  color: var(--color-river-sand);
  transform: translateY(-200%);
}

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

.status-tag {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  padding: 0.25rem 0.625rem;
  border: 1px solid var(--color-paper-line);
  border-radius: 999px;
  background: var(--color-stone-grey);
  color: var(--color-charcoal);
  font-size: var(--text-xs);
  font-weight: 600;
  line-height: 1.2;
}

.offline-note {
  display: flex;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-2);
  color: var(--color-muted-charcoal);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.offline-note::before {
  flex: 0 0 auto;
  width: 0.5rem;
  height: 0.5rem;
  margin-block-start: 0.38rem;
  border-radius: var(--radius-stone);
  background: var(--color-moss);
  content: "";
}

.offline-note > * {
  min-width: 0;
}

@media (max-width: 43.75rem) {
  .surface {
    padding: var(--space-4);
  }

  .cluster--actions {
    align-items: stretch;
    flex-direction: column;
  }

  .cluster--actions .button {
    width: 100%;
  }
}

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

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


.site-header {
  position: relative;
  z-index: 8000;
  border-bottom: 1px solid var(--color-paper-line);
  background: var(--color-river-sand);
}
.site-header__inner {
  display: grid;
  grid-template-columns: minmax(13rem, 1fr) auto minmax(13rem, 1fr);
  align-items: center;
  min-height: 5.5rem;
  gap: var(--space-4);
  width: min(100% - (var(--page-gutter) * 2), var(--container-max));
  margin-inline: auto;
}
.site-header__brand { display: inline-flex; align-items: center; justify-self: center; gap: var(--space-2); min-width: 0; color: var(--color-charcoal); text-decoration: none; }
.site-header__brand:hover { color: var(--color-moss-deep); }
.site-header__logo { width: 2.35rem; height: 2.35rem; flex: 0 0 auto; object-fit: contain; }
.site-header__brand-text { font-family: var(--font-heading); font-size: 1.35rem; font-weight: 600; line-height: 1; white-space: nowrap; }
.site-header__nav { min-width: 0; }
.site-header__nav--primary { grid-column: 1; grid-row: 1; justify-self: start; }
.site-header__nav--secondary { grid-column: 3; grid-row: 1; justify-self: end; }
.site-header__list { display: flex; align-items: center; gap: clamp(.6rem, 1.4vw, 1.25rem); margin: 0; padding: 0; list-style: none; }
.site-header__list li, .site-header__list li + li { margin: 0; padding: 0; }
.site-header__list a { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--color-charcoal); font-size: var(--text-sm); font-weight: 600; line-height: 1.2; text-decoration: none; white-space: nowrap; }
.site-header__list a:hover, .site-header__list a[aria-current="page"] { color: var(--color-moss-deep); text-decoration: underline; text-decoration-color: var(--color-moss); text-decoration-thickness: 2px; text-underline-offset: .35em; }
.site-header__toggle { display: none; }

@media (max-width: 58rem) {
  body.site-header-menu-open { position: fixed; width: 100%; overflow: hidden; }
  .site-header__inner { display: flex; justify-content: space-between; min-height: 4.75rem; gap: var(--space-3); }
  .site-header__brand { justify-self: auto; }
  .site-header__logo { width: 2rem; height: 2rem; }
  .site-header__brand-text { font-size: 1.2rem; }
  .site-header__toggle { display: inline-flex; position: relative; z-index: 2; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; padding: 0; border: 1px solid var(--color-charcoal); border-radius: var(--radius-control); background: transparent; color: var(--color-charcoal); }
  .site-header__toggle-line, .site-header__toggle-line::before, .site-header__toggle-line::after { display: block; width: 1.2rem; height: 1px; background: currentColor; content: ""; transition: transform var(--transition-fast), opacity var(--transition-fast); }
  .site-header__toggle-line { position: relative; }
  .site-header__toggle-line::before { position: absolute; top: -.38rem; left: 0; }
  .site-header__toggle-line::after { position: absolute; top: .38rem; left: 0; }
  .site-header__toggle[aria-expanded="true"] .site-header__toggle-line { background: transparent; }
  .site-header__toggle[aria-expanded="true"] .site-header__toggle-line::before { top: 0; transform: rotate(45deg); }
  .site-header__toggle[aria-expanded="true"] .site-header__toggle-line::after { top: 0; transform: rotate(-45deg); }
  .site-header__nav { position: fixed; z-index: 1; inset: 0; display: none; overflow-y: auto; padding: 6.5rem var(--page-gutter) var(--space-7); background: var(--color-river-sand); }
  .site-header__nav--open { display: block; }
  .site-header__nav--primary, .site-header__nav--secondary { grid-column: auto; grid-row: auto; justify-self: auto; }
  .site-header__nav--secondary { padding-top: var(--space-4); margin-top: var(--space-4); border-top: var(--border-subtle); }
  .site-header__list { align-items: stretch; flex-direction: column; gap: var(--space-2); }
  .site-header__list a { justify-content: space-between; min-height: 3rem; font-size: var(--text-lg); border-bottom: 1px solid var(--color-paper-line); }
  .site-header__nav--secondary .site-header__list a { font-size: var(--text-base); }
}


.site-footer {
  margin-top: var(--space-9);
  background: var(--color-inverse);
  color: var(--color-river-sand);
}

.site-footer__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 2fr);
  gap: var(--space-7);
  width: min(100% - (var(--page-gutter) * 2), var(--container-max));
  margin-inline: auto;
  padding-block: var(--space-8) var(--space-6);
}

.site-footer :is(h2, h3) { color: var(--color-river-sand); }
.site-footer__brand-title { margin: 0 0 var(--space-3); font-size: var(--text-2xl); }
.site-footer__intro { margin: 0; max-width: 34rem; color: var(--color-stone-grey); }
.site-footer__nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
.site-footer__group h3 { margin: 0 0 var(--space-3); font-family: var(--font-body); font-size: var(--text-sm); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.site-footer__list { display: grid; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.site-footer__list li { margin: 0; }
.site-footer a { color: var(--color-river-sand); text-decoration-color: var(--color-moss); }
.site-footer a:hover { color: var(--color-stone-grey); }
.site-footer__bottom { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: var(--space-4); padding-top: var(--space-5); border-top: 1px solid rgb(239 236 230 / 25%); color: var(--color-stone-grey); font-size: var(--text-sm); }
.site-footer__bottom p { margin: 0; }

[data-consent-banner] {
  position: fixed;
  z-index: 9000;
  right: var(--page-gutter);
  bottom: var(--space-4);
  width: min(100% - (var(--page-gutter) * 2), 34rem);
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-surface);
  background: var(--color-stone-grey);
  box-shadow: var(--shadow-overlay);
}
[data-consent-banner][hidden] { display: none !important; }
.consent-banner__title { margin: 0 0 var(--space-2); font-family: var(--font-body); font-size: var(--text-base); font-weight: 600; }
.consent-banner__copy { margin: 0 0 var(--space-4); color: var(--color-muted-charcoal); font-size: var(--text-sm); }
.consent-banner__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }

[data-age-modal] {
  position: fixed;
  z-index: 11000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: var(--page-gutter);
  overflow-y: auto;
  background: rgb(58 56 53 / 72%);
}
[data-age-modal][hidden] { display: none !important; }
.age-modal__dialog {
  width: min(100%, 32rem);
  padding: clamp(var(--space-5), 5vw, var(--space-7));
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  background: var(--color-river-sand);
  box-shadow: var(--shadow-overlay);
}
.age-modal__title { margin: 0 0 var(--space-3); }
.age-modal__copy { margin: 0 0 var(--space-5); color: var(--color-muted-charcoal); }
.age-modal__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }

@media (max-width: 43.75rem) {
  .site-footer__inner { grid-template-columns: 1fr; gap: var(--space-6); padding-block: var(--space-7) var(--space-5); }
  .site-footer__nav { grid-template-columns: 1fr; gap: var(--space-5); }
  .site-footer__bottom { grid-column: auto; flex-direction: column; }
  [data-consent-banner] { right: var(--page-gutter); bottom: var(--page-gutter); }
  .consent-banner__actions .button, .age-modal__actions .button { flex: 1 1 100%; }
}


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

.cookie-policy-page a {
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.cookie-policy-page a:hover {
  text-decoration-thickness: 2px;
}

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

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

.cookie-policy-opening__copy h1 {
  width: min(100%, 47.5rem);
  margin-block-end: var(--space-5);
}

.cookie-policy-opening__lead {
  width: min(100%, 40rem);
  margin-block-end: var(--space-5);
  font-size: var(--text-lg);
  line-height: 1.55;
}

.cookie-policy-opening__rule {
  margin-block: 0;
}

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

.cookie-policy-summary__container {
  display: flex;
  justify-content: flex-start;
  min-width: 0;
}

.cookie-policy-summary__panel {
  display: flex;
  flex: 0 1 42.5rem;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  width: min(100%, 42.5rem);
  margin-inline-start: 4.5rem;
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  background: var(--color-stone-grey);
}

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

.cookie-policy-summary__definition {
  display: flex;
  flex: 0 1 auto;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-5);
  width: 100%;
}

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

.cookie-policy-summary__definition .offline-note {
  color: var(--color-charcoal);
}

.cookie-policy-summary__scope {
  display: flex;
  flex: 0 1 auto;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  width: 100%;
  padding-block-start: var(--space-5);
  border-top: var(--border-subtle);
}

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

.cookie-policy-summary__scope h3 {
  font-size: var(--text-xl);
}

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

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

.cookie-policy-chapter__reading > h2,
.cookie-policy-settings__guidance > h2,
.cookie-policy-updates__copy > h2 {
  margin-block-end: var(--space-5);
}

.cookie-policy-numbered-list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 0;
  width: 100%;
  margin-block-start: var(--space-6);
}

.cookie-policy-entry {
  display: grid;
  grid-template-columns: 3.625rem minmax(0, 1fr);
  min-width: 0;
  width: 100%;
  padding-block: var(--space-6);
}

.cookie-policy-entry:first-child {
  padding-block-start: 0;
}

.cookie-policy-entry + .cookie-policy-entry {
  border-top: var(--border-subtle);
}

.cookie-policy-entry__number {
  grid-column: 1;
  min-width: 0;
  color: var(--color-moss);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: 600;
  line-height: 1.2;
}

.cookie-policy-entry__content {
  display: flex;
  grid-column: 2;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  width: 100%;
}

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

.cookie-policy-entry__content h3 {
  font-size: var(--text-xl);
}

.cookie-policy-entry__content p:not(.meta) + p:not(.meta) {
  margin-block-start: var(--space-1);
}

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

.cookie-policy-settings > .container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-7);
}

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

.cookie-policy-settings__list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  width: 100%;
  margin-block: var(--space-5) 0;
  padding-inline-start: 1.35em;
}

.cookie-policy-settings__list > li {
  min-width: 0;
  overflow-wrap: anywhere;
}

.cookie-policy-settings__note {
  min-width: 0;
  width: min(100%, 35rem);
  margin-inline-start: 3rem;
  padding-inline-start: var(--space-5);
  border-inline-start: 2px solid var(--color-moss);
}

.cookie-policy-settings__note h3 {
  margin-block-end: var(--space-3);
  font-size: var(--text-xl);
}

.cookie-policy-settings__note p {
  margin-block-end: 0;
}

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

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

.cookie-policy-disclosure__list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 0;
  width: 100%;
}

.cookie-policy-disclosure__entry {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  min-width: 0;
  width: 100%;
  padding-block: var(--space-6);
}

.cookie-policy-disclosure__entry:first-child {
  padding-block-start: 0;
}

.cookie-policy-disclosure__entry + .cookie-policy-disclosure__entry {
  border-top: var(--border-subtle);
}

.cookie-policy-disclosure__number {
  grid-column: 1;
  min-width: 0;
  color: var(--color-moss);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: 600;
  line-height: 1.2;
}

.cookie-policy-disclosure__body {
  display: flex;
  grid-column: 2;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  width: 100%;
}

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

.cookie-policy-disclosure__body h3 {
  font-size: var(--text-xl);
}

.cookie-policy-updates {
  padding-block-start: var(--space-9);
  padding-block-end: var(--space-9);
}

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

.cookie-policy-updates__related {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  width: 100%;
  margin-block-start: var(--space-6);
  padding-block-start: var(--space-5);
  border-top: var(--border-subtle);
}

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

.cookie-policy-updates__related h3 {
  font-size: var(--text-xl);
}

.cookie-policy-updates__related p {
  width: min(100%, 35rem);
}

.cookie-policy-offline {
  padding-block-start: var(--space-7);
}

.cookie-policy-offline__note {
  min-width: 0;
  width: min(100%, 32.5rem);
}

.cookie-policy-page :is(a, button):focus-visible {
  outline: 2px solid var(--color-moss);
  outline-offset: 3px;
}

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

  .cookie-policy-summary__panel {
    margin-inline-start: 0;
  }

  .cookie-policy-settings__note {
    margin-inline-start: 0;
  }
}

@media (max-width: 50rem) {
  .cookie-policy-settings > .container {
    gap: var(--space-6);
  }

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

@media (max-width: 45rem) {
  .cookie-policy-entry {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
  }

  .cookie-policy-entry__number,
  .cookie-policy-entry__content {
    width: 100%;
  }

  .cookie-policy-disclosure__entry {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
  }

  .cookie-policy-disclosure__number,
  .cookie-policy-disclosure__body {
    width: 100%;
  }
}

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

  .cookie-policy-opening {
    padding-block-end: var(--space-7);
  }

  .cookie-policy-opening__copy h1 {
    font-size: 2.375rem;
    line-height: 1.04;
  }

  .cookie-policy-opening__lead {
    font-size: var(--text-base);
    line-height: var(--leading-body);
  }

  .cookie-policy-summary {
    padding-block-end: var(--space-7);
  }

  .cookie-policy-summary__panel {
    gap: var(--space-4);
    padding: var(--space-5);
  }

  .cookie-policy-chapter {
    padding-block: var(--space-7);
  }

  .cookie-policy-chapter__reading > h2,
  .cookie-policy-settings__guidance > h2,
  .cookie-policy-updates__copy > h2 {
    font-size: var(--text-2xl);
  }

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

  .cookie-policy-entry__number,
  .cookie-policy-disclosure__number {
    font-size: var(--text-xl);
  }

  .cookie-policy-entry__content h3,
  .cookie-policy-disclosure__body h3,
  .cookie-policy-settings__note h3,
  .cookie-policy-updates__related h3,
  .cookie-policy-summary__scope h3 {
    font-size: var(--text-xl);
  }

  .cookie-policy-settings {
    padding-block-start: var(--space-7);
  }

  .cookie-policy-settings__note {
    padding-inline-start: 1.125rem;
  }

  .cookie-policy-disclosure {
    padding-block-start: var(--space-7);
  }

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

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

  .cookie-policy-offline {
    padding-block-start: var(--space-6);
  }
}

@media (max-width: 16.25rem) {
  .cookie-policy-offline__note {
    flex-direction: column;
    gap: var(--space-2);
  }

  .cookie-policy-offline__note::before {
    margin-block-start: 0;
  }
}


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

.privacy-policy-page__opening-wrap,
.privacy-policy-page__map-wrap,
.privacy-policy-page__chapter-wrap,
.privacy-policy-page__enquiries-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.privacy-policy-page__opening-wrap,
.privacy-policy-page__enquiries-wrap {
  padding-inline-start: clamp(0rem, 8vw, 8rem);
}

.privacy-policy-page__opening-sheet {
  width: min(100%, 42.5rem);
  min-width: 0;
  padding: var(--space-6);
}

.privacy-policy-page__opening-sheet > :last-child {
  margin-block-end: 0;
}

.privacy-policy-page__opening-sheet h1 {
  font-size: clamp(2.375rem, 6vw, 3.5rem);
}

.privacy-policy-page__reading-prompt {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  min-height: 2.75rem;
  margin-block-start: var(--space-4);
  gap: var(--space-2);
  font-size: var(--text-sm);
  font-weight: 600;
  text-decoration-thickness: 2px;
}

.privacy-policy-page__map {
  padding-block: var(--space-6) var(--space-7);
}

.privacy-policy-page__map-wrap,
.privacy-policy-page__chapter-wrap {
  padding-inline-start: clamp(0rem, 8vw, 8rem);
}

.privacy-policy-page__map-wrap > .eyebrow {
  width: min(100%, 42.5rem);
}

.privacy-policy-page__topic-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(100%, 42.5rem);
  min-width: 0;
  column-gap: var(--space-5);
  border-top: var(--border-subtle);
}

.privacy-policy-page__topic-list > a {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 2.75rem;
  padding-block: var(--space-3);
  border-bottom: var(--border-subtle);
  color: var(--color-moss);
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1.45;
  text-decoration-thickness: 2px;
}

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

.privacy-policy-page__chapter + .privacy-policy-page__chapter {
  border-top: var(--border-subtle);
}

.privacy-policy-page__manuscript {
  width: min(100%, 40rem);
  min-width: 0;
}

.privacy-policy-page__manuscript h2 {
  font-size: clamp(1.75rem, 3vw, 2rem);
}

.privacy-policy-page__manuscript h3 {
  margin-block-start: var(--space-6);
}

.privacy-policy-page__marked-lead::before {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  margin-inline-end: var(--space-2);
  border-radius: var(--radius-stone);
  background: var(--color-moss);
  content: "";
}

.privacy-policy-page__detail-list,
.privacy-policy-page__choice-list {
  max-width: 40rem;
  padding-inline-start: 1.5rem;
}

.privacy-policy-page__detail-list > li + li,
.privacy-policy-page__choice-list > li + li {
  margin-block-start: var(--space-2);
}

.privacy-policy-page__sharing-note {
  margin-block-start: var(--space-5);
}

.privacy-policy-page__sharing-note .rule {
  margin-block: 0 var(--space-4);
}

.privacy-policy-page__context-list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
}

.privacy-policy-page__context-list > div {
  display: grid;
  grid-template-columns: minmax(6.875rem, 6.875rem) minmax(0, 1fr);
  min-width: 0;
  column-gap: var(--space-4);
}

.privacy-policy-page__context-list dt,
.privacy-policy-page__context-list dd {
  min-width: 0;
  margin: 0;
}

.privacy-policy-page__context-list dt {
  color: var(--color-charcoal);
  font-size: var(--text-sm);
  font-weight: 600;
}

.privacy-policy-page__offline-note {
  margin-block-start: var(--space-6);
}

.privacy-policy-page__offline-note p {
  margin: 0;
}

.privacy-policy-page__relevance-note {
  width: min(calc(100% - 1.5rem), 35rem);
  min-width: 0;
  margin-block: var(--space-6);
  margin-inline-start: var(--space-5);
  padding: var(--space-4);
  border: var(--border-subtle);
  border-radius: var(--radius-control);
  background: var(--color-river-sand);
}

.privacy-policy-page__relevance-note > :last-child {
  margin-block-end: 0;
}

.privacy-policy-page__bridge-note {
  color: var(--color-muted-charcoal);
}

.privacy-policy-page__review-note {
  width: min(100%, 35rem);
  min-width: 0;
  color: var(--color-muted-charcoal);
}

.privacy-policy-page__review-note hr {
  margin-block: var(--space-5);
}

.privacy-policy-page__enquiries {
  padding-block: var(--space-7) 0;
}

.privacy-policy-page__enquiry-callout {
  display: grid;
  grid-template-columns: minmax(0, 0.5rem) minmax(0, 1fr);
  width: min(100%, 42.5rem);
  min-width: 0;
  padding: var(--space-6);
  column-gap: var(--space-3);
}

.privacy-policy-page__enquiry-marker {
  width: 0.5rem;
  min-width: 0;
  height: 0.5rem;
  margin-block-start: 0.55rem;
  border-radius: var(--radius-stone);
  background: var(--color-moss);
}

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

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

.privacy-policy-page__enquiry-content h2 {
  font-size: clamp(1.75rem, 3vw, 2rem);
}

.privacy-policy-page__enquiry-content .button {
  min-height: 2.75rem;
}

.privacy-policy-page__enquiry-content .button:focus-visible {
  outline-color: var(--color-moss);
  box-shadow: 0 0 0 3px var(--color-river-sand);
}

.privacy-policy-page__closing-note {
  width: min(100%, 35rem);
  min-width: 0;
  margin-block: var(--space-5) 0;
  color: var(--color-muted-charcoal);
}

@media (max-width: 51.25rem) {
  .privacy-policy-page__opening-wrap,
  .privacy-policy-page__map-wrap,
  .privacy-policy-page__chapter-wrap,
  .privacy-policy-page__enquiries-wrap {
    padding-inline-start: 0;
  }
}

@media (max-width: 43.75rem) {
  .privacy-policy-page {
    padding-block: var(--space-7) var(--space-8);
  }

  .privacy-policy-page__opening-sheet,
  .privacy-policy-page__enquiry-callout {
    padding: var(--space-5);
  }

  .privacy-policy-page__opening-sheet h1 {
    font-size: 2.375rem;
  }

  .privacy-policy-page__map {
    padding-block: var(--space-5) var(--space-6);
  }

  .privacy-policy-page__topic-list {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0;
  }

  .privacy-policy-page__chapter {
    padding-block: var(--space-6);
  }

  .privacy-policy-page__manuscript h2,
  .privacy-policy-page__enquiry-content h2 {
    font-size: 1.75rem;
  }

  .privacy-policy-page__detail-list,
  .privacy-policy-page__choice-list {
    padding-inline-start: 1.25rem;
  }

  .privacy-policy-page__context-list > div {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-2);
  }

  .privacy-policy-page__relevance-note {
    width: 100%;
    margin-inline-start: 0;
  }

  .privacy-policy-page__review-note,
  .privacy-policy-page__closing-note {
    width: 100%;
  }

  .privacy-policy-page__enquiry-callout {
    grid-template-columns: minmax(0, 0.5rem) minmax(0, 1fr);
  }

  .privacy-policy-page__enquiry-content .button {
    width: 100%;
  }
}


[data-terms-page] {
  padding-block: var(--space-9) var(--space-10);
}

[data-terms-page] .terms-shell {
  position: relative;
}

[data-terms-page] .terms-opening {
  position: relative;
  min-height: 21rem;
}

[data-terms-page] .terms-opening__copy {
  width: min(100%, 38.75rem);
}

[data-terms-page] .terms-opening__copy > :last-child,
[data-terms-page] .terms-section__copy > :last-child,
[data-terms-page] .terms-contents__body > :last-child,
[data-terms-page] .terms-acknowledgement > :last-child {
  margin-block-end: 0;
}

[data-terms-page] .terms-opening__title {
  max-width: 38.75rem;
  font-size: clamp(2.375rem, 5.4vw, 3.5rem);
}

[data-terms-page] .terms-opening__lead {
  width: min(100%, 38.75rem);
  font-size: var(--text-lg);
  line-height: 1.55;
}

[data-terms-page] .terms-opening__rule {
  margin-block: var(--space-5);
}

[data-terms-page] .terms-opening__offline {
  width: min(100%, 38.75rem);
  margin-block-start: var(--space-4);
}

[data-terms-page] .terms-opening__botanical {
  position: absolute;
  top: 1.25rem;
  left: min(51rem, 70%);
  width: 8.5rem;
  height: 10rem;
  opacity: 0.28;
  pointer-events: none;
}

[data-terms-page] .terms-opening__botanical::before,
[data-terms-page] .terms-opening__botanical::after {
  position: absolute;
  border: 1px solid var(--color-moss);
  border-radius: var(--radius-stone);
  content: "";
}

[data-terms-page] .terms-opening__botanical::before {
  top: 0;
  left: 3.8rem;
  width: 1px;
  height: 9.5rem;
  border-width: 0 0 0 1px;
  border-radius: 0;
  transform: rotate(23deg);
}

[data-terms-page] .terms-opening__botanical::after {
  top: 2.4rem;
  left: 1rem;
  width: 5.3rem;
  height: 2.3rem;
  box-shadow: 2.9rem 2.2rem 0 -0.4px var(--color-river-sand), 2.9rem 2.2rem 0 0 var(--color-moss), 0 4.5rem 0 -0.4px var(--color-river-sand), 0 4.5rem 0 0 var(--color-moss);
  transform: rotate(-26deg);
}

[data-terms-page] .terms-contents {
  display: grid;
  grid-template-columns: minmax(0, 11.25rem) minmax(0, 1fr);
  width: min(100%, 47.5rem);
  min-width: 0;
  gap: var(--space-6);
  margin-block: var(--space-8) var(--space-9);
  margin-inline-start: clamp(0rem, 6vw, 7.5rem);
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  background: var(--color-stone-grey);
}

[data-terms-page] .terms-contents > * {
  min-width: 0;
}

[data-terms-page] .terms-contents__title {
  margin: 0;
  font-size: var(--text-xl);
}

[data-terms-page] .terms-contents__intro {
  margin-block: 0 var(--space-4);
  color: var(--color-muted-charcoal);
  font-size: var(--text-sm);
  line-height: 1.5;
}

[data-terms-page] .terms-contents__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  column-gap: var(--space-5);
  row-gap: var(--space-2);
}

[data-terms-page] .terms-contents__list > li {
  min-width: 0;
}

[data-terms-page] .terms-contents__list a {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 2.75rem;
  color: var(--color-charcoal);
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1.35;
  text-decoration-color: var(--color-moss);
  text-decoration-thickness: 1px;
}

[data-terms-page] .terms-contents__list a:hover {
  color: var(--color-moss-deep);
  text-decoration-thickness: 2px;
}

[data-terms-page] .terms-section {
  position: relative;
  width: 100%;
  min-width: 0;
  padding-block: var(--space-8);
  border-top: var(--border-subtle);
}

[data-terms-page] .terms-section__copy {
  width: min(100%, 42.5rem);
}

[data-terms-page] .terms-section__heading {
  width: min(100%, 47.5rem);
  scroll-margin-top: var(--space-6);
}

[data-terms-page] .terms-section__subhead {
  margin-block: var(--space-6) var(--space-3);
  color: var(--color-charcoal);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

[data-terms-page] .terms-offline-definition {
  margin-block: var(--space-6);
  padding-inline-start: var(--space-5);
  border-inline-start: 3px solid var(--color-moss);
  color: var(--color-muted-charcoal);
}

[data-terms-page] .terms-offline-definition p:last-child {
  margin-block-end: 0;
}

[data-terms-page] .terms-editorial-examples {
  color: var(--color-muted-charcoal);
}

[data-terms-page] .terms-editorial-examples em {
  color: var(--color-charcoal);
  font-family: var(--font-heading);
  font-size: 1.1em;
}

[data-terms-page] .terms-use-list {
  width: 100%;
  margin-block: var(--space-5);
  padding-inline-start: 1.45rem;
}

[data-terms-page] .terms-use-list > li + li {
  margin-block-start: var(--space-3);
}

[data-terms-page] .terms-accuracy {
  margin-block-start: var(--space-6);
}

[data-terms-page] .terms-respect-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(100%, 47.5rem);
  min-width: 0;
  gap: var(--space-5);
  margin-block: var(--space-5) 0;
  padding: 0;
  list-style: none;
}

[data-terms-page] .terms-respect-list > li {
  min-width: 0;
  padding-block-start: var(--space-4);
  border-top: var(--border-subtle);
}

[data-terms-page] .terms-respect-list p {
  margin: 0;
}

[data-terms-page] .terms-side-label {
  position: absolute;
  top: calc(var(--space-8) + 0.4rem);
  left: max(calc(-1 * (10rem + var(--space-5))), calc((100% - var(--container-max)) / 2));
  width: 10rem;
  color: var(--color-muted-charcoal);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-style: italic;
  line-height: 1.15;
}

[data-terms-page] .terms-checklist {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  gap: var(--space-3);
  margin-block: var(--space-5) 0;
  padding: 0;
  list-style: none;
}

[data-terms-page] .terms-checklist > li {
  position: relative;
  width: 100%;
  min-width: 0;
  padding-inline-start: var(--space-5);
}

[data-terms-page] .terms-checklist > li::before {
  position: absolute;
  top: 0.62rem;
  left: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--radius-stone);
  background: var(--color-moss);
  content: "";
}

[data-terms-page] .terms-policy-links {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  min-width: 0;
  gap: var(--space-4);
  margin-block-start: var(--space-5);
}

[data-terms-page] .terms-policy-links > a {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  min-height: 2.75rem;
  color: var(--color-charcoal);
  font-weight: 600;
  text-decoration-color: var(--color-moss);
}

[data-terms-page] .terms-policy-links > a + a {
  padding-inline-start: var(--space-4);
  border-inline-start: var(--border-subtle);
}

[data-terms-page] .terms-closing__copy {
  width: min(100%, 42.5rem);
}

[data-terms-page] .terms-acknowledgement {
  display: flex;
  flex-direction: column;
  width: min(100%, 42.5rem);
  min-width: 0;
  gap: var(--space-3);
  margin-block: var(--space-6) 0;
  padding: var(--space-6);
  border: 1px solid var(--color-inverse);
  border-radius: var(--radius-feature);
  background: var(--color-inverse);
  color: var(--color-river-sand);
}

[data-terms-page] .terms-acknowledgement__marker {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--radius-stone);
  background: var(--color-moss);
}

[data-terms-page] .terms-acknowledgement h3 {
  margin: 0;
  color: var(--color-river-sand);
  font-size: var(--text-xl);
}

[data-terms-page] .terms-acknowledgement p {
  margin: 0;
  color: var(--color-river-sand);
}

[data-terms-page] .terms-contact-route {
  width: min(100%, 42.5rem);
  margin-block: var(--space-5) 0;
}

[data-terms-page] .terms-contact-route a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  color: var(--color-charcoal);
  font-weight: 600;
  text-decoration-color: var(--color-moss);
}

@media (max-width: 62.5rem) {
  [data-terms-page] .terms-side-label {
    display: none;
  }
}

@media (max-width: 56.25rem) {
  [data-terms-page] .terms-contents {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
    margin-inline-start: 0;
  }

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

@media (max-width: 47.5rem) {
  [data-terms-page] {
    padding-block: var(--space-8) var(--space-9);
  }

  [data-terms-page] .terms-opening {
    min-height: 0;
  }

  [data-terms-page] .terms-opening__botanical {
    display: none;
  }

  [data-terms-page] .terms-section {
    padding-block: var(--space-7);
  }
}

@media (max-width: 43.75rem) {
  [data-terms-page] .terms-opening__title {
    font-size: 2.375rem;
    line-height: 1.04;
  }

  [data-terms-page] .terms-opening__lead {
    font-size: var(--text-base);
    line-height: var(--leading-body);
  }

  [data-terms-page] .terms-contents {
    margin-block: var(--space-7);
    padding: var(--space-5);
  }

  [data-terms-page] .terms-section {
    padding-block: var(--space-6);
  }

  [data-terms-page] .terms-section__heading {
    font-size: 1.75rem;
  }

  [data-terms-page] .terms-respect-list {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
    width: 100%;
  }

  [data-terms-page] .terms-respect-list > li + li {
    margin: 0;
  }

  [data-terms-page] .terms-policy-links {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  [data-terms-page] .terms-policy-links > a {
    width: 100%;
  }

  [data-terms-page] .terms-policy-links > a + a {
    padding-inline-start: 0;
    border-inline-start: 0;
    border-top: var(--border-subtle);
  }

  [data-terms-page] .terms-acknowledgement {
    padding: var(--space-5);
  }
}


.gallery-page {
  overflow-x: clip;
}

.gallery-page .gallery-opening,
.gallery-page .gallery-room-note,
.gallery-page .gallery-card-chapter,
.gallery-page .gallery-dining-detail,
.gallery-page .gallery-closing {
  padding-block: var(--space-9);
}

.gallery-page .gallery-opening {
  padding-block-start: var(--space-8);
}

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

.gallery-page .gallery-opening__copy {
  grid-column: 1;
  min-width: 0;
  max-width: 42.5rem;
}

.gallery-page .gallery-opening__copy > :last-child,
.gallery-page .gallery-room-note__copy > :last-child,
.gallery-page .gallery-card-chapter__intro > :last-child,
.gallery-page .gallery-scene figcaption > :last-child,
.gallery-page .gallery-closing__caption > :last-child {
  margin-block-end: 0;
}

.gallery-page .gallery-opening__lead {
  max-width: 39rem;
  font-size: var(--text-lg);
  line-height: 1.55;
}

.gallery-page .gallery-opening__offline {
  max-width: 34rem;
  margin-block-start: var(--space-5);
}

.gallery-page .gallery-opening__media {
  grid-column: 2;
  min-width: 0;
  margin-block-start: var(--space-7);
}

.gallery-page .gallery-media,
.gallery-page .gallery-scene,
.gallery-page .gallery-closing__figure {
  min-width: 0;
}

.gallery-page .gallery-lightbox-link {
  display: block;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  border: var(--border-subtle);
  border-radius: var(--radius-control);
  background: var(--color-stone-grey);
}

.gallery-page .gallery-lightbox-link img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  transition: opacity var(--transition-fast), transform var(--transition-fast);
}

.gallery-page .gallery-lightbox-link:hover img {
  opacity: 0.94;
  transform: scale(1.015);
}

.gallery-page .gallery-opening__media .gallery-lightbox-link {
  aspect-ratio: 16 / 10;
}

.gallery-page .gallery-opening__media img {
  object-position: 52% 56%;
}

.gallery-page .gallery-room-note {
  padding-block-start: 0;
}

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

.gallery-page .gallery-room-note__copy {
  grid-column: 4 / span 5;
  min-width: 0;
  max-width: 32.5rem;
}

.gallery-page .gallery-scene-number {
  margin-block: 0 var(--space-2);
  color: var(--color-moss);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.gallery-page .gallery-caption-title {
  margin-block-end: var(--space-2);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-style: italic;
  font-weight: 600;
  line-height: 1.2;
}

.gallery-page .gallery-room-note__route {
  max-width: 36rem;
  margin-block-start: var(--space-5);
  color: var(--color-muted-charcoal);
}

.gallery-page .gallery-card-chapter {
  padding-block-start: var(--space-8);
}

.gallery-page .gallery-card-chapter__intro {
  width: min(100%, 42.5rem);
  min-width: 0;
}

.gallery-page .gallery-card-chapter__intro p {
  max-width: 40rem;
  font-size: var(--text-lg);
  line-height: 1.55;
}

.gallery-page .gallery-card-chapter__scenes {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  gap: var(--space-6);
  margin-block-start: var(--space-8);
}

.gallery-page .gallery-scene--portrait {
  grid-column: 1 / span 4;
  min-width: 0;
}

.gallery-page .gallery-scene--landscape {
  grid-column: 6 / span 7;
  min-width: 0;
  margin-block-start: var(--space-9);
}

.gallery-page .gallery-scene--portrait .gallery-lightbox-link {
  aspect-ratio: 4 / 5;
}

.gallery-page .gallery-scene--portrait img {
  object-position: 48% 50%;
}

.gallery-page .gallery-scene--landscape .gallery-lightbox-link {
  aspect-ratio: 3 / 2;
}

.gallery-page .gallery-scene--landscape img {
  object-position: 46% 48%;
}

.gallery-page .gallery-scene figcaption {
  width: 100%;
  min-width: 0;
  margin-block-start: var(--space-3);
}

.gallery-page .gallery-scene figcaption h3 {
  margin-block-end: var(--space-2);
  font-size: var(--text-xl);
}

.gallery-page .gallery-scene figcaption p {
  max-width: 32rem;
}

.gallery-page .gallery-scene--portrait figcaption p {
  max-width: 24rem;
}

.gallery-page .gallery-dining-detail__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: var(--space-6);
}

.gallery-page .gallery-dining-detail__image-wrap,
.gallery-page .gallery-dining-detail__panel {
  min-width: 0;
}

.gallery-page .gallery-scene--seasonal .gallery-lightbox-link {
  aspect-ratio: 4 / 5;
}

.gallery-page .gallery-scene--seasonal img {
  object-position: 54% 56%;
}

.gallery-page .gallery-scene--seasonal figcaption {
  max-width: 28rem;
}

.gallery-page .gallery-dining-detail__panel {
  width: 100%;
  padding: var(--space-7);
}

.gallery-page .gallery-dining-detail__panel h2 {
  font-size: var(--text-xl);
}

.gallery-page .gallery-dining-detail__panel p {
  max-width: 35rem;
}

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

.gallery-page .gallery-closing > .container {
  position: relative;
  min-width: 0;
}

.gallery-page .gallery-closing__figure {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.gallery-page .gallery-closing__figure .gallery-lightbox-link {
  aspect-ratio: 16 / 9;
}

.gallery-page .gallery-closing__figure img {
  object-position: 50% 52%;
}

.gallery-page .gallery-closing__caption {
  width: min(100%, 32.5rem);
  min-width: 0;
  margin-block-start: var(--space-3);
}

.gallery-page .gallery-closing__panel {
  display: flex;
  flex-direction: column;
  width: min(33.333%, 25rem);
  min-width: 20rem;
  gap: var(--space-4);
  margin: calc(var(--space-8) * -1) var(--space-6) 0 auto;
  padding: var(--space-5);
  border-radius: var(--radius-feature);
  box-shadow: var(--shadow-overlay);
  position: relative;
}

.gallery-page .gallery-closing__panel h2,
.gallery-page .gallery-closing__panel p {
  margin: 0;
}

.gallery-page .gallery-closing__panel h2 {
  font-size: var(--text-xl);
}

.gallery-page .gallery-closing__panel p {
  max-width: 22rem;
}

.gallery-page .gallery-closing__actions {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
}

.gallery-page .gallery-closing__actions > * {
  width: 100%;
  min-width: 0;
}

.gallery-page .gallery-closing__panel .button--secondary {
  border-color: var(--color-river-sand);
  color: var(--color-river-sand);
}

.gallery-page .gallery-closing__panel .button--secondary:hover {
  border-color: var(--color-moss);
  color: var(--color-river-sand);
}

.gallery-page .gallery-lightbox[hidden] {
  display: none;
}

.gallery-page .gallery-lightbox {
  position: fixed;
  z-index: 9000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: var(--space-5);
}

.gallery-page .gallery-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgb(58 56 53 / 88%);
}

.gallery-page .gallery-lightbox__dialog {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(100%, 70rem);
  max-height: calc(100vh - (var(--space-5) * 2));
  min-width: 0;
  gap: var(--space-3);
  padding: var(--space-4);
  border: var(--border-subtle);
  border-radius: var(--radius-surface);
  background: var(--color-river-sand);
  box-shadow: var(--shadow-overlay);
}

.gallery-page .gallery-lightbox__controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  min-width: 0;
  gap: var(--space-2);
}

.gallery-page .gallery-lightbox__controls > * {
  min-width: 0;
}

.gallery-page .gallery-lightbox__button {
  min-height: 2.75rem;
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--color-charcoal);
  border-radius: var(--radius-control);
  background: transparent;
  color: var(--color-charcoal);
  font-size: var(--text-sm);
  font-weight: 600;
}

.gallery-page .gallery-lightbox__button:hover {
  border-color: var(--color-moss);
  color: var(--color-moss-deep);
}

.gallery-page .gallery-lightbox__close {
  background: var(--color-charcoal);
  color: var(--color-river-sand);
}

.gallery-page .gallery-lightbox__close:hover {
  background: var(--color-moss-deep);
  color: var(--color-river-sand);
}

.gallery-page .gallery-lightbox__figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  gap: var(--space-2);
  margin: 0;
}

.gallery-page .gallery-lightbox__image {
  width: auto;
  max-width: 100%;
  max-height: calc(100vh - 11rem);
  min-width: 0;
  object-fit: contain;
}

.gallery-page .gallery-lightbox__caption {
  width: min(100%, 46rem);
  color: var(--color-muted-charcoal);
  font-size: var(--text-sm);
  line-height: 1.45;
}

body.gallery-lightbox-open {
  overflow: hidden;
}

@media (max-width: 61.1875rem) {
  .gallery-page .gallery-card-chapter__scenes {
    grid-template-columns: 1fr;
    gap: var(--space-7);
    margin-block-start: var(--space-7);
  }

  .gallery-page .gallery-scene--portrait,
  .gallery-page .gallery-scene--landscape {
    grid-column: 1;
    width: min(100%, 42.5rem);
    min-width: 0;
    margin-block-start: 0;
  }

  .gallery-page .gallery-scene--portrait figcaption p,
  .gallery-page .gallery-scene--landscape figcaption p {
    max-width: 34rem;
  }
}

@media (max-width: 57.4375rem) {
  .gallery-page .gallery-opening__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .gallery-page .gallery-opening__copy,
  .gallery-page .gallery-opening__media {
    grid-column: 1;
    width: 100%;
    min-width: 0;
  }

  .gallery-page .gallery-opening__media {
    margin-block-start: 0;
  }

  .gallery-page .gallery-opening__media .gallery-lightbox-link {
    aspect-ratio: 16 / 11;
  }
}

@media (max-width: 56.1875rem) {
  .gallery-page .gallery-closing__panel {
    width: 100%;
    min-width: 0;
    margin: var(--space-5) 0 0;
  }
}

@media (max-width: 53.75rem) {
  .gallery-page .gallery-dining-detail__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .gallery-page .gallery-dining-detail__image-wrap,
  .gallery-page .gallery-dining-detail__panel {
    grid-column: 1;
    width: 100%;
    min-width: 0;
  }

  .gallery-page .gallery-scene--seasonal .gallery-lightbox-link {
    aspect-ratio: 5 / 6;
  }
}

@media (max-width: 49.9375rem) {
  .gallery-page .gallery-room-note__layout {
    grid-template-columns: 1fr;
  }

  .gallery-page .gallery-room-note__copy {
    grid-column: 1;
    width: min(100%, 34rem);
    min-width: 0;
  }
}

@media (max-width: 43.75rem) {
  .gallery-page .gallery-opening,
  .gallery-page .gallery-room-note,
  .gallery-page .gallery-card-chapter,
  .gallery-page .gallery-dining-detail,
  .gallery-page .gallery-closing {
    padding-block: var(--space-7);
  }

  .gallery-page .gallery-opening {
    padding-block-start: var(--space-7);
  }

  .gallery-page .gallery-opening h1 {
    font-size: clamp(2.375rem, 10vw, 3rem);
    line-height: 1.04;
  }

  .gallery-page .gallery-opening__lead,
  .gallery-page .gallery-card-chapter__intro p {
    font-size: var(--text-lg);
    line-height: 1.55;
  }

  .gallery-page .gallery-card-chapter h2 {
    font-size: 1.75rem;
  }

  .gallery-page .gallery-dining-detail__panel {
    padding: var(--space-5);
  }

  .gallery-page .gallery-closing__figure .gallery-lightbox-link {
    aspect-ratio: 16 / 11;
  }

  .gallery-page .gallery-closing__panel {
    padding: var(--space-5);
  }

  .gallery-page .gallery-lightbox {
    padding: var(--space-3);
  }

  .gallery-page .gallery-lightbox__dialog {
    max-height: calc(100vh - (var(--space-3) * 2));
    padding: var(--space-3);
  }

  .gallery-page .gallery-lightbox__controls {
    justify-content: stretch;
  }

  .gallery-page .gallery-lightbox__button {
    flex: 1 1 7rem;
    min-width: 0;
  }

  .gallery-page .gallery-lightbox__image {
    max-height: calc(100vh - 13rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .gallery-page .gallery-lightbox-link img {
    transition: none;
  }

  .gallery-page .gallery-lightbox-link:hover img {
    transform: none;
  }
}


.faq-page {
  padding-block: var(--space-9) var(--space-10);
}

.faq-page .faq-opening,
.faq-page .faq-chapter,
.faq-page .faq-routes,
.faq-page .faq-final {
  min-width: 0;
}

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

.faq-page .faq-opening__copy {
  grid-column: 1;
  min-width: 0;
  max-width: 38.75rem;
}

.faq-page .faq-opening__lead {
  max-width: 38.75rem;
  font-size: var(--text-lg);
  line-height: 1.55;
}

.faq-page .faq-opening__scope {
  grid-column: 2;
  min-width: 0;
  width: min(100%, 26.25rem);
  justify-self: end;
  margin-top: var(--space-6);
}

.faq-page .faq-opening__scope > *:last-child {
  margin-bottom: 0;
}

.faq-page .faq-opening__scope .offline-note {
  color: var(--color-charcoal);
}

.faq-page .faq-chapter {
  padding-top: var(--space-9);
}

.faq-page .faq-chapter__intro {
  min-width: 0;
}

.faq-page .faq-chapter__intro h2,
.faq-page .faq-routes__header h2 {
  font-size: clamp(2rem, 3.2vw, 2.75rem);
}

.faq-page .faq-chapter--settings__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  column-gap: var(--space-8);
  align-items: start;
}

.faq-page .faq-chapter--settings__grid > * {
  min-width: 0;
}

.faq-page .faq-chapter--settings__grid > .faq-chapter__intro {
  grid-column: 1;
  max-width: 20rem;
}

.faq-page .faq-chapter--settings__list {
  grid-column: 2;
}

.faq-page .faq-list {
  min-width: 0;
  border-top: var(--border-subtle);
}

.faq-page .faq-item {
  min-width: 0;
  border-bottom: var(--border-subtle);
}

.faq-page .faq-item h3 {
  margin: 0;
  font-size: clamp(1.3125rem, 2.1vw, 1.5rem);
}

.faq-page .faq-trigger {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1.75rem;
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 3.25rem;
  padding: var(--space-4) 0;
  border: 0;
  background: transparent;
  color: var(--color-charcoal);
  font: inherit;
  line-height: 1.2;
  text-align: left;
}

.faq-page .faq-trigger > span:first-child {
  min-width: 0;
}

.faq-page .faq-trigger__indicator {
  width: 1.75rem;
  min-width: 1.75rem;
  color: var(--color-moss);
  font-family: var(--font-body);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
  text-align: right;
}

.faq-page .faq-trigger:hover {
  color: var(--color-moss-deep);
}

.faq-page .faq-answer {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height 180ms ease, opacity 150ms ease;
}

.faq-page .faq-answer.is-visible,
.faq-page .faq-item.is-open .faq-answer {
  opacity: 1;
}

.faq-page .faq-item.is-open .faq-answer:not([hidden]) {
  max-height: none;
}

.faq-page .faq-answer__inner {
  min-width: 0;
  max-width: 42.5rem;
  padding: 0 0 var(--space-5);
}

.faq-page .faq-answer__inner > *:last-child {
  margin-bottom: 0;
}

.faq-page .faq-answer__note {
  color: var(--color-muted-charcoal);
  font-size: var(--text-sm);
}

.faq-page .faq-chapter--notes__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  column-gap: var(--space-7);
  align-items: start;
}

.faq-page .faq-chapter--notes__grid > * {
  min-width: 0;
}

.faq-page .faq-chapter--notes__intro {
  grid-column: 1;
  max-width: 24.375rem;
  padding-right: var(--space-6);
  border-right: 1px solid var(--color-moss);
}

.faq-page .faq-chapter--notes__list {
  grid-column: 2;
}

.faq-page .faq-chapter--notes__list .faq-answer__inner {
  max-width: 40rem;
}

.faq-page .faq-chapter--offline__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  grid-template-areas: "intro callout" "list callout";
  column-gap: var(--space-6);
  row-gap: var(--space-5);
  align-items: start;
}

.faq-page .faq-chapter--offline__grid > * {
  min-width: 0;
}

.faq-page .faq-chapter--offline__intro {
  grid-area: intro;
  max-width: 40.625rem;
}

.faq-page .faq-chapter--offline__list {
  grid-area: list;
}

.faq-page .faq-chapter--offline__list .faq-answer__inner {
  max-width: 40.625rem;
}

.faq-page .faq-offline-callout {
  grid-area: callout;
  width: min(100%, 24.375rem);
  min-width: 0;
  justify-self: end;
}

.faq-page .faq-offline-callout > *:last-child {
  margin-bottom: 0;
}

.faq-page .faq-offline-callout .offline-note {
  color: var(--color-river-sand);
}

.faq-page .faq-chapter--planning__intro {
  max-width: 38.75rem;
}

.faq-page .faq-chapter--planning__grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  column-gap: var(--space-7);
  align-items: start;
}

.faq-page .faq-chapter--planning__grid > * {
  min-width: 0;
}

.faq-page .faq-chapter--planning__list {
  grid-column: 1;
}

.faq-page .faq-chapter--planning__list .faq-answer__inner {
  max-width: 42.5rem;
}

.faq-page .faq-route-rail {
  grid-column: 2;
  width: min(100%, 17.5rem);
  min-width: 0;
  justify-self: end;
  margin-top: var(--space-1);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-moss);
}

.faq-page .faq-route-rail > *:last-child {
  margin-bottom: 0;
}

.faq-page .faq-chapter--confidence__frame {
  position: relative;
  min-width: 0;
}

.faq-page .faq-chapter--confidence__column {
  width: min(100%, 42.5rem);
  min-width: 0;
  margin-inline: auto;
}

.faq-page .faq-margin-marker {
  position: absolute;
  top: var(--space-2);
  left: max(0px, calc(50% - 28.25rem));
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 4rem;
  min-width: 0;
  gap: var(--space-3);
  color: var(--color-moss);
}

.faq-page .faq-margin-marker span {
  font-family: var(--font-heading);
  font-size: 2rem;
  line-height: 1;
}

.faq-page .faq-margin-marker i {
  display: block;
  width: 1px;
  height: 3rem;
  background: var(--color-moss);
  transform: rotate(22deg);
}

.faq-page .faq-routes {
  padding-top: var(--space-9);
}

.faq-page .faq-routes__header {
  max-width: 38.75rem;
}

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

.faq-page .faq-routes__grid > * {
  min-width: 0;
}

.faq-page .faq-route {
  min-width: 0;
  max-width: 26.875rem;
  padding-top: var(--space-4);
  border-top: var(--border-subtle);
}

.faq-page .faq-route h3 {
  margin-bottom: var(--space-2);
  font-size: var(--text-xl);
}

.faq-page .faq-route p {
  margin-bottom: 0;
}

.faq-page .faq-route--planning {
  grid-column: 1;
  width: min(100%, 32.5rem);
}

.faq-page .faq-final {
  padding-top: var(--space-9);
}

.faq-page .faq-final__panel {
  width: min(100%, 55rem);
  min-width: 0;
  margin-inline: auto;
  padding: var(--space-7);
}

.faq-page .faq-final__inner {
  display: flex;
  flex-direction: column;
  width: min(100%, 38.75rem);
  min-width: 0;
  gap: var(--space-4);
}

.faq-page .faq-final__inner h2,
.faq-page .faq-final__inner p {
  margin: 0;
}

.faq-page .faq-final__actions {
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
  gap: var(--space-4);
}

.faq-page .faq-final__actions > * {
  min-width: 0;
}

.faq-page .faq-final__contact {
  border-color: var(--color-river-sand);
  color: var(--color-river-sand);
}

.faq-page .faq-final__contact:hover {
  border-color: var(--color-moss);
  color: var(--color-river-sand);
}

@media (max-width: 57.5rem) {
  .faq-page .faq-chapter--settings__grid,
  .faq-page .faq-chapter--notes__grid,
  .faq-page .faq-chapter--planning__grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-4);
  }

  .faq-page .faq-chapter--settings__grid > .faq-chapter__intro,
  .faq-page .faq-chapter--settings__list,
  .faq-page .faq-chapter--notes__intro,
  .faq-page .faq-chapter--notes__list,
  .faq-page .faq-chapter--planning__list,
  .faq-page .faq-route-rail {
    grid-column: 1;
    width: 100%;
    max-width: none;
    justify-self: stretch;
  }

  .faq-page .faq-chapter--settings__grid > .faq-chapter__intro,
  .faq-page .faq-chapter--notes__intro {
    max-width: none;
  }

  .faq-page .faq-chapter--notes__intro {
    padding-right: 0;
    border-right: 0;
  }

  .faq-page .faq-route-rail {
    margin-top: 0;
  }
}

@media (max-width: 55rem) {
  .faq-page .faq-opening__grid,
  .faq-page .faq-chapter--offline__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .faq-page .faq-opening__grid {
    row-gap: var(--space-5);
  }

  .faq-page .faq-opening__copy,
  .faq-page .faq-opening__scope {
    grid-column: 1;
    width: 100%;
    max-width: none;
    justify-self: stretch;
    margin-top: 0;
  }

  .faq-page .faq-chapter--offline__grid {
    grid-template-areas: "intro" "callout" "list";
    row-gap: var(--space-4);
  }

  .faq-page .faq-offline-callout {
    width: 100%;
    max-width: none;
    justify-self: stretch;
  }
}

@media (max-width: 50rem) {
  .faq-page .faq-margin-marker {
    display: none;
  }
}

@media (max-width: 47.5rem) {
  .faq-page .faq-routes__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .faq-page .faq-route,
  .faq-page .faq-route--planning {
    grid-column: 1;
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 43.75rem) {
  .faq-page {
    padding-block: var(--space-7) var(--space-8);
  }

  .faq-page .faq-chapter,
  .faq-page .faq-routes,
  .faq-page .faq-final {
    padding-top: var(--space-8);
  }

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

  .faq-page .faq-chapter__intro h2,
  .faq-page .faq-routes__header h2 {
    font-size: 1.75rem;
  }

  .faq-page .faq-item h3 {
    font-size: 1.375rem;
  }

  .faq-page .faq-trigger {
    grid-template-columns: minmax(0, 1fr) 1.75rem;
    padding: var(--space-4) 0;
  }

  .faq-page .faq-answer__inner {
    width: 100%;
    max-width: none;
    padding-bottom: var(--space-5);
  }

  .faq-page .faq-final__panel {
    width: 100%;
    padding: var(--space-5);
  }

  .faq-page .faq-final__inner {
    width: 100%;
  }

  .faq-page .faq-final__actions {
    flex-direction: column;
    gap: var(--space-3);
  }

  .faq-page .faq-final__actions .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .faq-page .faq-answer {
    transition: none;
  }
}


.contact-page {
  overflow: clip;
}

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

.contact-opening {
  padding-block: var(--space-10) var(--space-9) !important;
}

.contact-opening__layout,
.contact-experiences__grid,
.contact-closing__layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  min-width: 0;
}

.contact-opening__copy {
  grid-column: 1;
  width: 100%;
  max-width: 38.75rem;
  min-width: 0;
}

.contact-opening__marker {
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  margin-block-end: var(--space-3);
  border-radius: var(--radius-stone);
  background: var(--color-moss);
}

.contact-opening__lead {
  max-width: 38.75rem;
  color: var(--color-charcoal);
  font-size: var(--text-lg);
  line-height: 1.55;
}

.contact-opening__support {
  max-width: 36rem;
  color: var(--color-muted-charcoal);
}

.contact-opening__botanical,
.contact-closing__botanical {
  position: absolute;
  right: 7%;
  bottom: 10%;
  width: 8rem;
  height: 8rem;
  border: 1px solid rgb(101 109 74 / 36%);
  border-radius: 42% 58% 44% 56%;
  transform: rotate(20deg);
}

.contact-opening__botanical::before,
.contact-closing__botanical::before {
  position: absolute;
  top: 12%;
  left: 49%;
  width: 1px;
  height: 76%;
  background: rgb(101 109 74 / 45%);
  content: "";
}

.contact-experiences {
  border-top: var(--border-subtle);
}

.contact-experiences__grid {
  grid-template-columns: minmax(0, 8fr) minmax(22.5rem, 4fr);
  gap: var(--space-8);
  align-items: start;
}

.contact-experiences__main,
.contact-experiences__aside,
.contact-preparation__intro,
.contact-card-notes__intro,
.contact-routes__intro,
.contact-reassurance__copy,
.contact-closing__copy {
  min-width: 0;
}

.contact-experiences__main {
  grid-column: 1;
  width: 100%;
  max-width: 42.5rem;
}

.contact-experiences__offline {
  margin-block: var(--space-5) var(--space-6);
}

.contact-experiences__subhead {
  margin-block-start: var(--space-7);
  font-size: var(--text-xl);
}

.contact-pathways {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-5);
}

.contact-pathways__item {
  width: 100%;
  min-width: 0;
  padding-block-start: var(--space-3);
  border-top: 1px solid var(--color-moss);
}

.contact-pathways__item > a {
  display: inline-block;
  font-weight: 600;
}

.contact-pathways__item > p {
  max-width: 39rem;
  margin-block: var(--space-2) 0;
}

.contact-experiences__aside {
  grid-column: 2;
  width: 100%;
  min-width: 0;
  margin-block-start: 8.5rem;
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  background: var(--color-stone-grey);
}

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

.contact-experiences__aside p:not(.eyebrow) {
  max-width: 30rem;
}

.contact-preparation {
  border-top: var(--border-subtle);
}

.contact-preparation__intro {
  width: min(100%, 42.5rem);
}

.contact-guide-list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-6);
  margin-block-start: var(--space-7);
}

.contact-guide-list__entry {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  gap: var(--space-4);
  padding-block-end: var(--space-5);
  border-bottom: var(--border-subtle);
}

.contact-guide-list__entry--wide {
  max-width: 50rem;
}

.contact-guide-list__entry--offset {
  width: min(100%, 40rem);
  margin-inline-start: 20%;
}

.contact-guide-list__number {
  grid-column: 1;
  width: 100%;
  min-width: 0;
  color: var(--color-moss);
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
}

.contact-guide-list__content {
  grid-column: 2;
  width: 100%;
  max-width: 35rem;
  min-width: 0;
}

.contact-guide-list__content h3 {
  margin-block-end: var(--space-2);
  font-size: var(--text-xl);
}

.contact-guide-list__content p {
  margin-block-end: var(--space-3);
}

.contact-text-link {
  font-size: var(--text-sm);
  font-weight: 600;
}

.contact-preparation__quote {
  width: min(100%, 42.5rem);
  margin-block: var(--space-7) 0;
}

.contact-enquiry {
  scroll-margin-top: var(--space-7);
}

.contact-enquiry__surface {
  padding: var(--space-7);
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  background: var(--color-stone-grey);
}

.contact-enquiry__intro {
  width: min(100%, 35rem);
  min-width: 0;
}

.contact-enquiry__required-note {
  margin-block-end: var(--space-7);
  color: var(--color-muted-charcoal);
  font-size: var(--text-sm);
}

.contact-enquiry__required-note span,
.contact-form label span {
  color: var(--color-error);
}

.contact-enquiry__body {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(22.5rem, 5fr);
  min-width: 0;
  gap: var(--space-8);
  align-items: start;
}

.contact-form {
  grid-column: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 47.5rem;
  min-width: 0;
  gap: var(--space-4);
}

.contact-form > .field,
.contact-form__identity .field,
.contact-form__conditional .field {
  margin-block-end: 0;
}

.contact-form__summary {
  display: none;
  width: 100%;
  min-width: 0;
  padding: var(--space-3) var(--space-4);
  border-left: 3px solid var(--color-error);
  background: rgb(138 63 56 / 8%);
  color: var(--color-charcoal);
  font-size: var(--text-sm);
}

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

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

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

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

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

.contact-form__acknowledgement {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  column-gap: var(--space-3);
  row-gap: var(--space-2);
  padding-block: var(--space-2);
}

.contact-form__acknowledgement input {
  grid-column: 1;
  width: 1.25rem;
  min-width: 1.25rem;
  height: 1.25rem;
  margin: 0.25rem 0 0;
}

.contact-form__acknowledgement label {
  grid-column: 2;
  min-width: 0;
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1.45;
}

.contact-form__acknowledgement .field-error {
  grid-column: 2;
  margin: 0;
}

.contact-form__action {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-3);
  margin-block-start: var(--space-2);
}

.contact-form__action-note {
  max-width: 31rem;
  margin: 0;
  color: var(--color-muted-charcoal);
  font-size: var(--text-sm);
}

.contact-form__success {
  margin: 0;
  font-weight: 600;
}

.contact-enquiry__checklist {
  grid-column: 2;
  width: 100%;
  max-width: 30rem;
  min-width: 0;
  padding-block-start: var(--space-1);
}

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

.contact-enquiry__checklist ul {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  margin: 0;
  padding-inline-start: 1.35em;
}

.contact-enquiry__checklist li {
  min-width: 0;
}

.contact-card-notes {
  border-top: var(--border-subtle);
}

.contact-card-notes__intro {
  width: min(100%, 42.5rem);
}

.contact-card-notes__intro .offline-note {
  margin-block-start: var(--space-5);
}

.contact-card-notes__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(18.75rem, 1fr));
  width: 100%;
  min-width: 0;
  gap: var(--space-6) var(--space-7);
  margin-block-start: var(--space-7);
}

.contact-card-notes__item {
  width: 100%;
  max-width: 32.5rem;
  min-width: 0;
  padding-block-start: var(--space-4);
  border-top: var(--border-subtle);
}

.contact-card-notes__item h3 {
  margin-block-end: var(--space-2);
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: 600;
  letter-spacing: 0;
}

.contact-card-notes__item p {
  margin: 0;
}

.contact-card-notes__closing {
  width: min(100%, 35rem);
  margin-block: var(--space-7) 0;
}

.contact-routes {
  border-top: var(--border-subtle);
}

.contact-routes__intro {
  width: min(100%, 38.75rem);
}

.contact-routes__list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin-block-start: var(--space-7);
}

.contact-routes__row {
  display: grid;
  grid-template-columns: minmax(13.75rem, 3fr) minmax(0, 9fr);
  width: 100%;
  min-width: 0;
  gap: var(--space-6);
  padding-block: var(--space-5);
  border-top: var(--border-subtle);
  transition: border-color var(--transition-fast);
}

.contact-routes__row:last-child {
  border-bottom: var(--border-subtle);
}

.contact-routes__row:hover,
.contact-routes__row:focus-within {
  border-color: var(--color-moss);
}

.contact-routes__row h3,
.contact-routes__row > div {
  width: 100%;
  min-width: 0;
}

.contact-routes__row h3 {
  margin: 0;
  font-size: var(--text-xl);
}

.contact-routes__row > div {
  max-width: 35rem;
}

.contact-routes__row p {
  margin-block-end: var(--space-2);
}

.contact-reassurance {
  padding-block: var(--space-10) !important;
}

.contact-reassurance__copy {
  width: min(100%, 42.5rem);
  margin-inline-start: 7%;
}

.contact-reassurance__copy .rule {
  margin-block: 0 var(--space-6);
}

.contact-reassurance__copy h2 {
  font-size: var(--text-2xl);
}

.contact-reassurance__copy p {
  font-family: var(--font-heading);
  font-size: 1.35rem;
  line-height: 1.42;
}

.contact-reassurance__copy .offline-note {
  margin-block-start: var(--space-6);
}

.contact-closing {
  padding-block: var(--space-8) !important;
  background: var(--color-inverse);
  color: var(--color-river-sand);
}

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

.contact-closing__copy {
  grid-column: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 42.5rem;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-4);
}

.contact-closing__copy h2,
.contact-closing__copy p {
  margin: 0;
  color: var(--color-river-sand);
}

.contact-closing__copy h2 {
  font-size: var(--text-3xl);
}

.contact-closing__button {
  border-color: var(--color-moss);
  background: var(--color-moss);
  color: var(--color-river-sand);
}

.contact-closing__button:hover {
  border-color: var(--color-river-sand);
  background: var(--color-moss-deep);
}

.contact-closing__button:focus-visible {
  outline-color: var(--color-moss);
  box-shadow: 0 0 0 3px var(--color-river-sand);
}

.contact-closing__botanical {
  right: 10%;
  bottom: 2%;
  border-color: rgb(101 109 74 / 55%);
}

@media (max-width: 56.25rem) {
  .contact-page section {
    padding-block: var(--space-8);
  }

  .contact-opening {
    padding-block: var(--space-9) var(--space-8) !important;
  }

  .contact-guide-list__entry--offset {
    margin-inline-start: 0;
  }

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

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

@media (max-width: 51.25rem) {
  .contact-opening__layout,
  .contact-experiences__grid,
  .contact-enquiry__body,
  .contact-closing__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-opening__copy,
  .contact-experiences__main,
  .contact-experiences__aside,
  .contact-form,
  .contact-enquiry__checklist,
  .contact-closing__copy {
    grid-column: 1;
  }

  .contact-opening__botanical,
  .contact-closing__botanical {
    display: none;
  }

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

  .contact-experiences__aside {
    margin-block-start: 0;
    max-width: 30rem;
  }

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

  .contact-enquiry__checklist {
    grid-row: 1;
  }

  .contact-form {
    grid-row: 2;
  }

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

@media (max-width: 47.5rem) {
  .contact-card-notes__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .contact-card-notes__item {
    max-width: 32.5rem;
  }

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

  .contact-routes__row > div {
    max-width: 35rem;
  }

  .contact-reassurance__copy {
    margin-inline-start: 0;
  }
}

@media (max-width: 37.5rem) {
  .contact-page section {
    padding-block: var(--space-7);
  }

  .contact-opening {
    padding-block: var(--space-8) var(--space-7) !important;
  }

  .contact-opening h1 {
    font-size: clamp(2.375rem, 10vw, 3rem);
  }

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

  .contact-experiences h2,
  .contact-preparation h2,
  .contact-enquiry h2,
  .contact-card-notes h2,
  .contact-routes h2,
  .contact-closing h2 {
    font-size: 1.75rem;
  }

  .contact-experiences__aside,
  .contact-enquiry__surface {
    padding: var(--space-4);
  }

  .contact-guide-list {
    gap: var(--space-5);
    margin-block-start: var(--space-6);
  }

  .contact-guide-list__entry {
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: var(--space-3);
  }

  .contact-guide-list__number {
    font-size: 1.5rem;
  }

  .contact-guide-list__content h3 {
    font-size: 1.35rem;
  }

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

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

  .contact-form__action,
  .contact-closing__copy {
    align-items: stretch;
  }

  .contact-form__action .button,
  .contact-closing__button {
    width: 100%;
  }

  .contact-reassurance {
    padding-block: var(--space-8) !important;
  }

  .contact-reassurance__copy p {
    font-size: 1.2rem;
  }

  .contact-closing {
    padding-block: var(--space-7) !important;
  }
}


main[data-top-ten-dining-notes] {
  overflow: clip;
}

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

.tdn-section--hero {
  padding-block: var(--space-9) var(--space-7);
}

.tdn-section--offline {
  padding-block: var(--space-5) var(--space-8);
}

.tdn-section--chapter-two {
  padding-block-start: var(--space-9);
}

.tdn-section--close {
  padding-block: var(--space-8) var(--space-6);
}

.tdn-hero__layout {
  display: flex;
  align-items: flex-start;
  min-width: 0;
  gap: 8%;
}

.tdn-hero__copy {
  display: flex;
  flex: 0 1 42%;
  flex-direction: column;
  min-width: 22.5rem;
  max-width: 30rem;
  margin-block-start: var(--space-6);
  gap: var(--space-4);
}

.tdn-hero__copy > * {
  min-width: 0;
  margin: 0;
}

.tdn-hero__copy h1 {
  font-size: clamp(2.375rem, 5vw, 3.5rem);
}

.tdn-hero__lead {
  max-width: 38rem;
  font-size: var(--text-lg);
  line-height: 1.55;
}

.tdn-hero__rule,
.tdn-chapter__rule,
.tdn-close__rule {
  width: 5rem;
  height: 1px;
  margin: 0;
  border: 0;
  background: var(--color-moss);
}

.tdn-reading-key {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-2);
  padding-block-start: var(--space-2);
}

.tdn-reading-key > * {
  min-width: 0;
  margin: 0;
}

.tdn-reading-key__items {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-width: 0;
  gap: var(--space-2);
  color: var(--color-muted-charcoal);
  font-size: var(--text-sm);
}

.tdn-reading-key__items span {
  min-width: 0;
}

.tdn-reading-key__items span + span::before {
  margin-inline-end: var(--space-2);
  color: var(--color-moss);
  content: "•";
}

.tdn-hero__image {
  flex: 1 1 50%;
  min-width: 0;
  max-width: 35rem;
  margin: 0;
}

.tdn-hero__image img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 4 / 5;
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  object-fit: cover;
  object-position: 52% 48%;
}

.tdn-offline-panel {
  width: min(58%, 42.5rem);
  min-width: 0;
  padding: var(--space-4) var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-surface);
  background: var(--color-stone-grey);
}

.tdn-offline-panel .offline-note {
  font-size: var(--text-base);
}

.tdn-offline-panel .offline-note p {
  margin: 0;
}

.tdn-chapter__intro {
  display: flex;
  flex-direction: column;
  width: min(100%, 42.5rem);
  min-width: 0;
  gap: var(--space-4);
}

.tdn-chapter__intro > * {
  min-width: 0;
  margin: 0;
}

.tdn-chapter__intro h2 {
  font-size: var(--text-xl);
}

.tdn-chapter__intro-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
}

.tdn-chapter__intro-copy > * {
  margin: 0;
}

.tdn-notes {
  width: 100%;
  min-width: 0;
  margin-block-start: var(--space-6);
  border-top: var(--border-subtle);
}

.tdn-note {
  display: grid;
  grid-template-columns: 6.5rem minmax(0, 1fr);
  min-width: 0;
  padding-block: var(--space-6);
  border-bottom: var(--border-subtle);
}

.tdn-note__number {
  min-width: 0;
  color: var(--color-moss);
  font-family: var(--font-heading);
  font-size: var(--text-2xl);
  font-weight: 600;
  line-height: 1;
}

.tdn-note__content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
}

.tdn-note__content > * {
  min-width: 0;
  margin: 0;
}

.tdn-note__content h3 {
  max-width: 42.5rem;
  font-size: var(--text-2xl);
}

.tdn-note__content p {
  max-width: 42.5rem;
}

.tdn-note__meta {
  color: var(--color-muted-charcoal);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.45;
  text-transform: uppercase;
}

.tdn-note__pull {
  width: min(100%, 34rem);
  margin-block-start: var(--space-2) !important;
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-moss);
  color: var(--color-muted-charcoal);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-style: italic;
  line-height: 1.35;
}

.tdn-note--host .tdn-note__content p {
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-moss);
}

.tdn-note__closing {
  width: min(100%, 42.5rem);
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-moss);
  color: var(--color-moss-deep);
  font-weight: 600;
}

.tdn-interlude__layout,
.tdn-reflection__layout {
  display: flex;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-7);
}

.tdn-interlude__copy {
  display: flex;
  flex: 0 1 45%;
  flex-direction: column;
  min-width: 22.5rem;
  max-width: 35rem;
  gap: var(--space-4);
}

.tdn-interlude__copy > * {
  min-width: 0;
  margin: 0;
}

.tdn-interlude__copy h2,
.tdn-reflection__copy h2 {
  font-size: var(--text-2xl);
}

.tdn-interlude__lead {
  max-width: 35rem;
  font-size: var(--text-lg);
  line-height: 1.55;
}

.tdn-interlude__image {
  flex: 1 1 55%;
  min-width: 27.5rem;
  margin: var(--space-7) 0 0;
}

.tdn-interlude__image img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 3 / 2;
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  object-fit: cover;
  object-position: 50% 54%;
}

.tdn-interlude__quote,
.tdn-reflection__quote {
  color: var(--color-muted-charcoal);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-style: italic;
  line-height: 1.35;
}

.tdn-reflection__image {
  flex: 1 1 55%;
  min-width: 27.5rem;
  margin: 0;
  transform: translateX(-2rem);
}

.tdn-reflection__image img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 4 / 3;
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  object-fit: cover;
  object-position: 48% 50%;
}

.tdn-reflection__copy {
  display: flex;
  flex: 0 1 45%;
  flex-direction: column;
  align-self: center;
  min-width: 22.5rem;
  max-width: 32.5rem;
  gap: var(--space-4);
}

.tdn-reflection__copy > * {
  min-width: 0;
  margin: 0;
}

.tdn-planning-panel {
  display: flex;
  flex-direction: column;
  width: min(72%, 54rem);
  min-width: 0;
  gap: var(--space-5);
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  background: var(--color-stone-grey);
}

.tdn-planning-panel > * {
  min-width: 0;
  margin: 0;
}

.tdn-planning-copy {
  display: flex;
  flex-direction: column;
  max-width: 42.5rem;
  gap: var(--space-4);
}

.tdn-planning-copy > * {
  margin: 0;
}

.tdn-planning-copy h2 {
  font-size: var(--text-xl);
}

.tdn-plan-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
  gap: var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.tdn-plan-steps li {
  min-width: 0;
  padding-inline-start: var(--space-3);
  border-inline-start: 1px solid var(--color-moss);
  font-size: var(--text-sm);
}

.tdn-related {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
}

.tdn-related > * {
  margin: 0;
}

.tdn-related__title {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: 600;
  line-height: 1.2;
}

.tdn-related__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-width: 0;
  gap: var(--space-3);
}

.tdn-related__link {
  display: flex;
  align-items: flex-start;
  min-width: 11.25rem;
  min-height: 2.75rem;
  padding-block: var(--space-2);
  border-bottom: 1px solid var(--color-paper-line);
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1.35;
}

.tdn-close__panel {
  display: flex;
  flex-direction: column;
  width: min(76%, 56.25rem);
  min-width: 0;
  margin-inline: auto;
  gap: var(--space-5);
  padding: var(--space-7);
  border: 1px solid var(--color-inverse);
  border-radius: var(--radius-feature);
  background: var(--color-inverse);
  color: var(--color-river-sand);
  text-align: center;
}

.tdn-close__copy {
  display: flex;
  flex-direction: column;
  width: min(100%, 38.75rem);
  min-width: 0;
  margin-inline: auto;
  gap: var(--space-4);
}

.tdn-close__copy > * {
  min-width: 0;
  margin: 0;
}

.tdn-close__copy h2 {
  color: var(--color-river-sand);
  font-size: var(--text-2xl);
}

.tdn-close__rule {
  margin-inline: auto;
}

.tdn-close__actions {
  display: flex;
  justify-content: center;
  min-width: 0;
  gap: var(--space-4);
}

.tdn-close__actions > * {
  flex: 0 1 auto;
  min-width: 0;
}

.tdn-close__actions .button--secondary {
  border-color: var(--color-river-sand);
  color: var(--color-river-sand);
}

.tdn-close__actions .button--secondary:hover {
  border-color: var(--color-moss);
  color: var(--color-river-sand);
}

.tdn-editorial-note {
  width: min(100%, 42.5rem);
  min-width: 0;
  padding-block-start: var(--space-5);
  border-top: var(--border-subtle);
  color: var(--color-muted-charcoal);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.tdn-editorial-note p {
  margin: 0;
}

.tdn-note:target {
  scroll-margin-top: 7rem;
}

@media (max-width: 67.5rem) {
  .tdn-hero__layout {
    gap: var(--space-6);
  }

  .tdn-hero__copy {
    flex-basis: 45%;
  }

  .tdn-hero__image {
    flex-basis: 55%;
  }
}

@media (max-width: 61.25rem) {
  .tdn-interlude__layout,
  .tdn-reflection__layout {
    flex-direction: column;
    gap: var(--space-5);
  }

  .tdn-interlude__copy,
  .tdn-reflection__copy,
  .tdn-interlude__image,
  .tdn-reflection__image {
    width: 100%;
    min-width: 0;
    max-width: none;
    margin: 0;
    transform: none;
  }

  .tdn-interlude__image {
    order: 2;
  }

  .tdn-interlude__quote {
    order: 3;
    padding-inline-start: var(--space-4);
    border-inline-start: 2px solid var(--color-moss);
  }

  .tdn-reflection__copy {
    order: 1;
  }

  .tdn-reflection__image {
    order: 2;
  }

  .tdn-reflection__quote {
    order: 3;
  }
}

@media (max-width: 55rem) {
  .tdn-section {
    padding-block: var(--space-7);
  }

  .tdn-section--hero {
    padding-block: var(--space-7) var(--space-6);
  }

  .tdn-section--chapter-two {
    padding-block-start: var(--space-8);
  }

  .tdn-note {
    grid-template-columns: 4.5rem minmax(0, 1fr);
  }

  .tdn-planning-panel {
    width: min(100%, 54rem);
  }

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

  .tdn-related__link {
    min-width: 0;
  }
}

@media (max-width: 47.5rem) {
  .tdn-hero__layout {
    flex-direction: column;
    gap: var(--space-5);
  }

  .tdn-hero__copy,
  .tdn-hero__image {
    width: 100%;
    min-width: 0;
    max-width: none;
    margin: 0;
  }

  .tdn-hero__copy {
    max-width: 34rem;
  }

  .tdn-hero__image img {
    max-width: none;
  }

  .tdn-offline-panel {
    width: 100%;
  }

  .tdn-plan-steps {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }
}

@media (max-width: 37.5rem) {
  .tdn-section {
    padding-block: var(--space-6);
  }

  .tdn-section--hero {
    padding-block-start: var(--space-7);
  }

  .tdn-hero__copy h1 {
    font-size: clamp(2.375rem, 11vw, 3rem);
  }

  .tdn-offline-panel {
    padding: var(--space-5) var(--space-4);
  }

  .tdn-offline-panel .offline-note {
    flex-direction: column;
    gap: var(--space-2);
  }

  .tdn-offline-panel .offline-note::before {
    margin-block-start: 0;
  }

  .tdn-note {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    padding-block: var(--space-5);
  }

  .tdn-note__content {
    gap: var(--space-3);
  }

  .tdn-note__content h3 {
    font-size: 1.75rem;
  }

  .tdn-note__pull {
    width: 100%;
  }

  .tdn-planning-panel {
    padding: var(--space-5) var(--space-4);
  }

  .tdn-related__list {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .tdn-related__link {
    align-items: center;
    min-height: 2.75rem;
  }

  .tdn-close__panel {
    width: 100%;
    padding: var(--space-5) var(--space-4);
  }

  .tdn-close__actions {
    flex-direction: column;
    gap: var(--space-3);
  }

  .tdn-close__actions > * {
    width: 100%;
  }
}


.ope-page {
  overflow: hidden;
}

.ope-page section {
  scroll-margin-top: var(--space-7);
}

.ope-hero {
  padding-block: var(--space-9) var(--space-8);
}

.ope-hero__layout {
  display: grid;
  grid-template-columns: minmax(22.5rem, 5fr) minmax(20rem, 7fr);
  align-items: start;
  gap: var(--space-6);
}

.ope-hero__layout > * {
  min-width: 0;
}

.ope-hero__copy {
  width: 100%;
  min-width: 0;
  max-width: 38.75rem;
  padding-top: var(--space-6);
}

.ope-hero__copy h1 {
  font-size: clamp(2.75rem, 5vw, 3.5rem);
}

.ope-hero__lead {
  max-width: 38rem;
  font-size: var(--text-lg);
  line-height: 1.55;
}

.ope-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
}

.ope-hero__actions > * {
  flex: 0 0 auto;
  min-width: 0;
}

.ope-text-action {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  color: var(--color-moss);
  font-weight: 600;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.ope-text-action:hover {
  color: var(--color-moss-deep);
  text-decoration-thickness: 2px;
}

.ope-hero__figure {
  width: calc(100% + min(4vw, 3rem));
  min-width: 0;
  margin: 0;
  margin-right: calc(min(4vw, 3rem) * -1);
}

.ope-hero__figure img {
  width: 100%;
  height: clamp(24rem, 42vw, 38rem);
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  object-fit: cover;
  object-position: 50% 52%;
}

.ope-guide {
  padding-block: var(--space-8);
}

.ope-guide__intro {
  width: 100%;
  min-width: 0;
  max-width: 42.5rem;
  margin-bottom: var(--space-8);
}

.ope-guide__intro h2 {
  font-size: var(--text-3xl);
}

.ope-entry-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
}

.ope-entry-list > * {
  width: 100%;
  min-width: 0;
}

.ope-entry {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 46rem) minmax(0, 1fr);
  gap: var(--space-4);
  padding-block: var(--space-7);
  border-top: var(--border-subtle);
}

.ope-entry__number {
  width: 4.5rem;
  min-width: 4.5rem;
  color: var(--color-moss);
  font-family: var(--font-heading);
  font-size: clamp(2rem, 3vw, 2.5rem);
  font-weight: 600;
  line-height: 1;
}

.ope-entry__body {
  grid-column: 2;
  width: 100%;
  min-width: 0;
}

.ope-entry__body h3,
.ope-entry__host-heading h3 {
  font-size: var(--text-2xl);
}

.ope-entry__body .meta,
.ope-entry__host-heading .meta {
  margin-bottom: var(--space-2);
}

.ope-entry--indent .ope-entry__body {
  padding-left: var(--space-5);
}

.ope-meta-marker {
  display: inline-block;
  width: 0.45rem;
  height: 0.45rem;
  margin-right: var(--space-2);
  border-radius: var(--radius-stone);
  background: var(--color-moss);
  vertical-align: middle;
}

.ope-entry--host {
  grid-template-columns: 4.5rem minmax(0, 1fr);
}

.ope-entry__host-content {
  display: grid;
  grid-template-columns: minmax(20rem, 42fr) minmax(22.5rem, 58fr);
  grid-template-areas:
    "heading image"
    "prose image";
  align-items: center;
  gap: var(--space-5) var(--space-6);
  width: 100%;
  min-width: 0;
}

.ope-entry__host-content > * {
  min-width: 0;
}

.ope-entry__host-heading {
  grid-area: heading;
  width: 100%;
}

.ope-entry__figure {
  grid-area: image;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.ope-entry__figure img {
  width: 100%;
  height: 29rem;
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  object-fit: cover;
  object-position: 48% 58%;
}

.ope-entry__prose {
  grid-area: prose;
  width: 100%;
  min-width: 0;
}

.ope-seasonal-note,
.ope-quote-line,
.ope-pull-detail,
.ope-gathering__quote {
  color: var(--color-muted-charcoal);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-style: italic;
  line-height: 1.35;
}

.ope-pull-detail {
  color: var(--color-moss);
}

.ope-entry--lounge {
  grid-template-columns: 4.5rem minmax(0, 1fr);
  padding: var(--space-6);
  background: var(--color-stone-grey);
  border-top-color: var(--color-paper-line);
  border-radius: var(--radius-feature);
}

.ope-entry--lounge .ope-entry__body {
  max-width: 46rem;
}

.ope-entry--last {
  border-bottom: var(--border-subtle);
}

.ope-rhythm {
  padding-block: var(--space-8);
}

.ope-rhythm__layout {
  display: grid;
  grid-template-columns: minmax(20rem, 40fr) minmax(0, 60fr);
  align-items: start;
  gap: var(--space-7);
}

.ope-rhythm__layout > * {
  min-width: 0;
}

.ope-rhythm__intro {
  width: 100%;
  min-width: 0;
  max-width: 35rem;
}

.ope-rhythm__intro h2 {
  font-size: clamp(2rem, 3.5vw, 2.75rem);
}

.ope-rhythm__notes {
  display: grid;
  grid-template-columns: minmax(0, 31fr) minmax(0, 36fr) minmax(0, 33fr);
  width: 100%;
  min-width: 0;
}

.ope-rhythm__notes > * {
  min-width: 0;
}

.ope-rhythm__note {
  width: 100%;
  min-width: 0;
  padding-inline: var(--space-5);
  border-left: var(--border-subtle);
}

.ope-rhythm__note:first-child {
  padding-left: 0;
  border-left: 0;
}

.ope-rhythm__note h3 {
  font-size: var(--text-xl);
}

.ope-gathering {
  padding-block: var(--space-8);
}

.ope-gathering__layout {
  display: grid;
  grid-template-columns: minmax(20rem, 7fr) minmax(22.5rem, 5fr);
  align-items: center;
  gap: var(--space-8);
}

.ope-gathering__layout > * {
  min-width: 0;
}

.ope-gathering__figure {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.ope-gathering__figure img {
  width: 100%;
  height: clamp(22rem, 38vw, 34rem);
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  object-fit: cover;
  object-position: 50% 50%;
}

.ope-gathering__copy {
  width: 100%;
  min-width: 0;
  max-width: 31.25rem;
  padding-top: var(--space-6);
}

.ope-gathering__copy h2 {
  font-size: var(--text-2xl);
}

.ope-consider-list {
  width: 100%;
  min-width: 0;
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  border-top: var(--border-subtle);
}

.ope-consider-list .eyebrow {
  margin-bottom: var(--space-2);
}

.ope-consider-list ul {
  margin-bottom: 0;
}

.ope-offline {
  padding-block: var(--space-8);
}

.ope-offline__panel {
  display: flex;
  align-items: flex-start;
  width: 100%;
  min-width: 0;
  gap: var(--space-5);
  padding: var(--space-7);
  border: 1px solid var(--color-inverse);
  border-radius: var(--radius-feature);
  background: var(--color-inverse);
}

.ope-offline__panel > * {
  min-width: 0;
}

.ope-offline__marker {
  flex: 0 0 3rem;
  width: 3rem;
  color: var(--color-moss);
  font-size: 1.9rem;
  line-height: 1.2;
}

.ope-offline__copy {
  width: 100%;
  max-width: 42.5rem;
}

.ope-offline__copy h2 {
  color: var(--color-river-sand);
  font-size: var(--text-xl);
}

.ope-offline__copy p {
  color: var(--color-river-sand);
}

.ope-courtesy {
  padding-block: var(--space-8);
}

.ope-courtesy__lead {
  width: 100%;
  min-width: 0;
  max-width: 42.5rem;
  margin-bottom: var(--space-7);
}

.ope-courtesy__lead h2 {
  font-size: var(--text-2xl);
}

.ope-courtesy__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
  column-gap: var(--space-6);
  row-gap: var(--space-6);
}

.ope-courtesy__grid > * {
  min-width: 0;
}

.ope-courtesy__item {
  width: 100%;
  min-width: 0;
  padding-top: var(--space-5);
  border-top: var(--border-subtle);
}

.ope-courtesy__item--staggered {
  transform: translateY(var(--space-5));
}

.ope-courtesy__number {
  display: block;
  margin-bottom: var(--space-2);
  color: var(--color-moss);
  font-family: var(--font-body);
  font-size: var(--text-lg);
  font-weight: 600;
  line-height: 1.2;
}

.ope-courtesy__item h3 {
  font-size: var(--text-xl);
}

.ope-cta {
  padding-block: var(--space-8);
}

.ope-cta__panel {
  display: flex;
  align-items: stretch;
  width: 100%;
  min-width: 0;
  gap: var(--space-7);
  padding: 3.5rem;
  border-radius: var(--radius-feature);
}

.ope-cta__panel > * {
  min-width: 0;
}

.ope-cta__copy {
  flex: 0 1 38.75rem;
  width: 100%;
  min-width: 0;
  max-width: 38.75rem;
}

.ope-cta__copy h2 {
  font-size: var(--text-2xl);
}

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

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

.ope-cta__actions .button {
  flex: 0 0 auto;
}

.ope-text-action--cta {
  flex: 0 0 auto;
}

.ope-cta__rule {
  flex: 1 1 0;
  align-self: center;
  min-width: 3rem;
  height: 1px;
  background: var(--color-moss);
}

.ope-close {
  padding-top: var(--space-8);
  padding-bottom: var(--space-9);
}

.ope-close__copy {
  width: 100%;
  min-width: 0;
  max-width: 42.5rem;
}

.ope-close__copy h2 {
  font-size: var(--text-xl);
}

.ope-page a:focus-visible {
  outline: 2px solid var(--color-moss);
  outline-offset: var(--focus-offset);
}

@media (max-width: 73.75rem) {
  .ope-hero {
    padding-top: var(--space-8);
  }

  .ope-hero__figure {
    width: 100%;
    margin-right: 0;
  }

  .ope-rhythm__layout {
    gap: var(--space-6);
  }

  .ope-gathering__layout {
    gap: var(--space-6);
  }
}

@media (max-width: 56.25rem) {
  .ope-hero__layout,
  .ope-gathering__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .ope-hero__copy {
    max-width: 38.75rem;
    padding-top: 0;
  }

  .ope-hero__figure img {
    height: auto;
    aspect-ratio: 4 / 5;
    object-position: 52% 48%;
  }

  .ope-entry {
    grid-template-columns: 3.5rem minmax(0, 1fr);
    gap: var(--space-3);
  }

  .ope-entry__number {
    width: 3.5rem;
    min-width: 3.5rem;
  }

  .ope-entry--indent .ope-entry__body {
    padding-left: 0;
  }

  .ope-entry__host-content {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "heading"
      "image"
      "prose";
    gap: var(--space-4);
  }

  .ope-entry__figure img {
    height: auto;
    aspect-ratio: 5 / 6;
  }

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

  .ope-rhythm__intro {
    max-width: 35rem;
  }

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

  .ope-rhythm__note,
  .ope-rhythm__note:first-child {
    padding: var(--space-5) 0 0;
    border-left: 0;
    border-top: var(--border-subtle);
  }

  .ope-rhythm__note + .ope-rhythm__note {
    margin-top: var(--space-5);
  }

  .ope-gathering__copy {
    max-width: 31.25rem;
    padding-top: 0;
  }

  .ope-gathering__figure img {
    height: auto;
    aspect-ratio: 4 / 5;
    object-position: 50% 50%;
  }
}

@media (max-width: 47.5rem) {
  .ope-courtesy__grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0;
  }

  .ope-courtesy__item--staggered {
    transform: none;
  }

  .ope-courtesy__item + .ope-courtesy__item {
    margin-top: var(--space-5);
  }
}

@media (max-width: 43.75rem) {
  .ope-hero {
    padding-block: var(--space-7) var(--space-6);
  }

  .ope-hero__copy h1 {
    font-size: clamp(2.375rem, 11vw, 2.75rem);
  }

  .ope-hero__lead {
    font-size: var(--text-lg);
  }

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

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

  .ope-guide,
  .ope-rhythm,
  .ope-gathering,
  .ope-offline,
  .ope-courtesy,
  .ope-cta {
    padding-block: var(--space-7);
  }

  .ope-guide__intro {
    margin-bottom: var(--space-6);
  }

  .ope-entry {
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: var(--space-2);
    padding-block: var(--space-5);
  }

  .ope-entry__number {
    width: 3rem;
    min-width: 3rem;
    font-size: 2rem;
  }

  .ope-entry__body h3,
  .ope-entry__host-heading h3 {
    font-size: 1.75rem;
  }

  .ope-entry--host,
  .ope-entry--lounge {
    grid-template-columns: 3rem minmax(0, 1fr);
  }

  .ope-entry--lounge {
    padding: var(--space-5) var(--space-4);
  }

  .ope-entry--lounge .ope-entry__number {
    margin-left: calc(var(--space-4) * -1);
  }

  .ope-rhythm__intro h2,
  .ope-courtesy__lead h2,
  .ope-cta__copy h2 {
    font-size: 1.75rem;
  }

  .ope-offline__panel {
    gap: var(--space-3);
    padding: var(--space-5);
  }

  .ope-offline__marker {
    flex-basis: 1.75rem;
    width: 1.75rem;
    font-size: 1.4rem;
  }

  .ope-courtesy__lead {
    margin-bottom: var(--space-6);
  }

  .ope-cta__panel {
    flex-direction: column;
    gap: var(--space-4);
    padding: var(--space-5);
  }

  .ope-cta__copy {
    max-width: none;
  }

  .ope-cta__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .ope-cta__actions .button,
  .ope-text-action--cta {
    width: 100%;
  }

  .ope-cta__rule {
    width: min(5rem, 20vw);
    min-width: 0;
    flex: 0 0 1px;
    align-self: flex-start;
  }

  .ope-close {
    padding-top: var(--space-7);
    padding-bottom: var(--space-8);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .ope-page a,
  .ope-page .button {
    transition: color var(--transition-fast), text-decoration-thickness var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);
  }
}


.home-page {
  overflow: clip;
}

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

.home-hero {
  position: relative;
  min-height: 45rem;
  isolation: isolate;
  background: var(--color-charcoal);
}

.home-hero__image,
.home-hero__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.home-hero__image {
  object-position: center 55%;
}

.home-hero__shade {
  z-index: 1;
  background: linear-gradient(110deg, rgb(58 56 53 / 58%), transparent 62%);
}

.home-hero__container {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  min-height: 45rem;
  padding-block: var(--space-8);
}

.home-hero__panel {
  display: flex;
  flex: 0 1 34rem;
  flex-direction: column;
  min-width: 26.875rem;
  gap: var(--space-5);
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  background: rgb(239 236 230 / 93%);
}

.home-hero__eyebrow {
  color: var(--color-charcoal);
}

.home-hero__copy {
  min-width: 0;
  max-width: 32.5rem;
}

.home-hero__copy > :last-child {
  margin-block-end: 0;
}

.home-hero__copy h1 {
  font-size: clamp(2.75rem, 5vw, 3.5rem);
}

.home-hero__actions,
.home-plan__actions {
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
  gap: var(--space-3);
}

.home-hero__actions > .button,
.home-plan__actions > .button {
  flex: 0 1 auto;
  min-width: 0;
}

.home-intro__content {
  width: min(100%, 42.5rem);
  margin-left: 16%;
}

.home-intro__content > :last-child {
  margin-block-end: 0;
}

.home-intro__rule {
  width: 5rem;
  margin-block: var(--space-7) var(--space-5);
  background: var(--color-moss);
}

.home-intro__offline {
  max-width: 35rem;
}

.home-dining__intro {
  width: min(55%, 38.75rem);
  margin-bottom: var(--space-7);
}

.home-dining__list {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.home-dining__entry {
  display: grid;
  grid-template-columns: minmax(6rem, 12%) minmax(0, 1fr) minmax(12rem, 13.75rem);
  min-width: 0;
  gap: var(--space-5);
  padding-block: var(--space-6);
  border-top: var(--border-subtle);
}

.home-dining__entry > * {
  min-width: 0;
}

.home-dining__entry--offset {
  width: 93%;
  margin-left: 7%;
}

.home-dining__number {
  margin: 0;
  color: var(--color-moss);
  font-family: var(--font-heading);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 600;
  line-height: 1;
}

.home-dining__entry-copy {
  width: min(100%, 35rem);
}

.home-dining__entry-copy > :last-child,
.home-dining__meta {
  margin-block-end: 0;
}

.home-dining__entry h3 {
  font-size: var(--text-xl);
}

.home-dining__meta {
  align-self: start;
  padding-top: var(--space-2);
}

.home-text-link {
  color: var(--color-moss);
  font-weight: 600;
  text-decoration-thickness: 1px;
}

.home-text-link:hover {
  text-decoration-thickness: 2px;
}

.home-lounge {
  background: var(--color-stone-grey);
}

.home-lounge__grid {
  display: grid;
  grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
  min-width: 0;
  gap: var(--space-6);
}

.home-lounge__grid > * {
  min-width: 0;
}

.home-lounge__quiet {
  display: flex;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-3);
}

.home-lounge__line {
  display: block;
  flex: 0 0 1px;
  width: 1px;
  min-height: 13rem;
  background: var(--color-moss);
}

.home-lounge__quiet .eyebrow {
  margin: 0;
}

.home-lounge__content {
  width: min(100%, 36.25rem);
}

.home-lounge__content > :last-child {
  margin-block-end: 0;
}

.home-lounge__label {
  margin-top: var(--space-6);
}

.home-lounge__details {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
}

.home-lounge__details p {
  margin: 0;
  padding-top: var(--space-4);
  border-top: var(--border-subtle);
}

.home-poker__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-7);
}

.home-poker__grid > * {
  min-width: 0;
}

.home-poker__intro {
  width: min(100%, 37.5rem);
}

.home-poker__intro > :last-child {
  margin-block-end: 0;
}

.home-poker__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
}

.home-poker__step {
  display: flex;
  min-width: 0;
  gap: var(--space-3);
  padding-inline: var(--space-4);
  border-left: var(--border-subtle);
}

.home-poker__step > * {
  min-width: 0;
}

.home-poker__step-number {
  flex: 0 0 auto;
  margin: 0;
  color: var(--color-moss);
  font-weight: 600;
}

.home-poker__step h3 {
  font-size: var(--text-xl);
}

.home-poker__step p:last-child {
  margin-block-end: 0;
}

.home-poker__actions {
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
  gap: var(--space-5);
  margin-top: var(--space-6);
}

.home-poker__actions > * {
  min-width: 0;
}

.home-seasonal__clip {
  overflow: clip;
}

.home-seasonal__grid {
  display: grid;
  grid-template-columns: minmax(0, 42fr) minmax(0, 58fr);
  min-width: 0;
  gap: var(--space-6);
}

.home-seasonal__grid > * {
  min-width: 0;
}

.home-seasonal__copy {
  width: min(100%, 30rem);
}

.home-seasonal__copy > :last-child {
  margin-block-end: 0;
}

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

.home-seasonal__prompts p {
  margin: 0;
}

.home-seasonal__inset {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-surface);
  background: var(--color-stone-grey);
}

.home-seasonal__inset > * {
  min-width: 0;
  margin: 0;
}

.home-seasonal__inset h3 {
  font-size: var(--text-xl);
}

.home-seasonal__figure {
  width: calc(100% + 4vw);
  max-width: none;
  margin: 0;
}

.home-seasonal__figure img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-position: center;
}

.home-host__grid {
  display: grid;
  grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
  min-width: 0;
  gap: var(--space-7);
}

.home-host__grid > * {
  min-width: 0;
}

.home-host__figure {
  width: 100%;
  margin: 0;
}

.home-host__figure img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-position: center 45%;
}

.home-host__content {
  width: min(100%, 32.5rem);
  margin-top: 6%;
}

.home-host__content > :last-child {
  margin-block-end: 0;
}

.home-host__checklist {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
}

.home-host__checklist p {
  position: relative;
  margin: 0;
  padding-left: var(--space-5);
}

.home-host__checklist p::before {
  position: absolute;
  top: 0.6rem;
  left: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--radius-stone);
  background: var(--color-moss);
  content: "";
}

.home-routes__intro {
  width: min(100%, 35rem);
  margin-bottom: var(--space-7);
}

.home-routes__columns {
  display: grid;
  grid-template-columns: minmax(0, 44fr) minmax(0, 48fr);
  justify-content: space-between;
  min-width: 0;
  gap: var(--space-7);
}

.home-routes__columns > * {
  min-width: 0;
}

.home-routes__column {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-6);
}

.home-routes__column--practical {
  margin-top: var(--space-8);
}

.home-routes__route {
  width: min(100%, 30rem);
  padding-top: var(--space-5);
  border-top: var(--border-subtle);
}

.home-routes__route > :last-child {
  margin-block-end: 0;
}

.home-routes__route h3 {
  font-size: var(--text-xl);
}

.home-routes__contact {
  display: inline-block;
  margin-top: var(--space-6);
}

.home-plan {
  padding-top: var(--space-8);
}

.home-plan__panel {
  display: flex;
  flex-direction: column;
  width: min(100%, 51.25rem);
  min-width: 0;
  gap: var(--space-5);
  margin-inline: auto;
  padding: var(--space-7);
  text-align: center;
}

.home-plan__content {
  width: min(100%, 38.75rem);
  min-width: 0;
  margin-inline: auto;
}

.home-plan__content > :last-child {
  margin-block-end: 0;
}

.home-plan__content .eyebrow {
  color: var(--color-river-sand);
}

.home-plan__actions {
  justify-content: center;
}

.home-plan__secondary {
  border-color: var(--color-river-sand);
  background: transparent;
  color: var(--color-river-sand);
}

.home-plan__secondary:hover {
  border-color: var(--color-moss);
  background: var(--color-moss-deep);
  color: var(--color-river-sand);
}

.home-faq__intro {
  width: min(100%, 38.75rem);
  margin-bottom: var(--space-6);
}

.home-faq__list {
  width: min(100%, 47.5rem);
}

.home-faq__item {
  border-bottom: var(--border-subtle);
}

.home-faq__item h3 {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-lg);
  font-weight: 600;
  letter-spacing: 0;
}

.home-faq__item button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-width: 0;
  min-height: 3.5rem;
  gap: var(--space-4);
  padding: var(--space-4) 0;
  border: 0;
  background: transparent;
  color: var(--color-charcoal);
  text-align: left;
}

.home-faq__item button span {
  flex: 0 0 auto;
  color: var(--color-moss);
  font-size: 1.5rem;
  font-weight: 400;
}

.home-faq__answer {
  width: min(100%, 40rem);
  padding-bottom: var(--space-5);
}

.home-faq__answer p {
  margin: 0;
}

.home-faq__link {
  display: inline-block;
  margin-top: var(--space-5);
}

@media (max-width: 61.25rem) {
  .home-hero,
  .home-hero__container {
    min-height: 38.75rem;
  }

  .home-hero__container {
    justify-content: center;
  }

  .home-hero__panel {
    flex-basis: min(100%, 34rem);
  }

  .home-dining__entry--offset {
    width: 100%;
    margin-left: 0;
  }

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

  .home-seasonal__copy {
    width: min(100%, 37.5rem);
  }

  .home-seasonal__figure {
    width: 100%;
  }
}

@media (max-width: 56.25rem) {
  .home-section {
    padding-block: var(--space-8);
  }

  .home-lounge__grid,
  .home-poker__grid,
  .home-host__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-lounge__quiet {
    align-items: center;
  }

  .home-lounge__line {
    flex-basis: 5rem;
    width: 5rem;
    min-height: 1px;
    height: 1px;
  }

  .home-lounge__content,
  .home-poker__intro,
  .home-host__content {
    width: 100%;
    margin-top: 0;
  }

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

  .home-poker__step {
    padding: 0 0 var(--space-4);
    border-bottom: var(--border-subtle);
    border-left: 0;
  }

  .home-host__figure {
    width: min(100%, 33rem);
  }

  .home-routes__columns {
    gap: var(--space-6);
  }

  .home-routes__column--practical {
    margin-top: 0;
  }
}

@media (max-width: 45rem) {
  .home-hero,
  .home-hero__container {
    min-height: 33.75rem;
  }

  .home-hero__container {
    align-items: flex-end;
    padding-block: var(--space-5);
  }

  .home-hero__image {
    object-position: 62% center;
  }

  .home-hero__shade {
    background: linear-gradient(180deg, rgb(58 56 53 / 26%), rgb(58 56 53 / 58%));
  }

  .home-hero__panel {
    flex-basis: 100%;
    min-width: 0;
    gap: var(--space-4);
    padding: var(--space-5);
  }

  .home-hero__copy h1 {
    font-size: clamp(2.375rem, 10vw, 3rem);
  }

  .home-intro__content,
  .home-dining__intro {
    width: 100%;
    margin-left: 0;
  }

  .home-dining__entry {
    grid-template-columns: 3.25rem minmax(0, 1fr);
    gap: var(--space-3);
  }

  .home-dining__meta {
    grid-column: 2;
    padding-top: 0;
  }

  .home-dining__number {
    font-size: 2rem;
  }

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

  .home-routes__route {
    width: 100%;
  }

  .home-plan__panel {
    padding: var(--space-5);
  }
}

@media (max-width: 40rem) {
  .home-section {
    padding-block: var(--space-7);
  }

  .home-hero__actions,
  .home-plan__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .home-hero__actions > .button,
  .home-plan__actions > .button {
    width: 100%;
  }

  .home-poker__actions {
    flex-direction: column;
    gap: var(--space-3);
  }

  .home-seasonal__figure img {
    aspect-ratio: 4 / 5;
    object-position: center;
  }

  .home-host__figure {
    width: 100%;
  }

  .home-plan__panel {
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-page * {
    transition-duration: 0.01ms !important;
  }
}


.card-lounge-page {
  padding-block: var(--space-8) 0;
}

.card-lounge-page section,
.card-lounge-page aside {
  min-width: 0;
}

.card-lounge-page em {
  font-family: var(--font-heading);
  font-size: 1.08em;
}

.cl-opening {
  padding-block-end: var(--space-9);
}

.cl-opening__layout {
  display: grid;
  grid-template-columns: minmax(0, 41.7%) minmax(0, 58.3%);
  align-items: center;
  gap: 2.5rem;
}

.cl-opening__copy,
.cl-opening__figure {
  min-width: 0;
}

.cl-opening__copy {
  width: 100%;
  max-width: 33rem;
}

.cl-opening__subtitle {
  max-width: 28rem;
  font-size: var(--text-2xl);
}

.cl-opening__lead {
  max-width: 33rem;
  color: var(--color-muted-charcoal);
  font-size: var(--text-lg);
  line-height: 1.55;
}

.cl-opening__support {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  max-width: 33rem;
}

.cl-opening__support > * {
  min-width: 0;
  margin: 0;
}

.cl-opening__support h3 {
  font-size: var(--text-xl);
}

.cl-opening__figure {
  width: 100%;
  max-width: 36.25rem;
  justify-self: end;
  margin: var(--space-5) min(-6vw, -1rem) 0 0;
}

.cl-opening__figure img {
  width: 100%;
  aspect-ratio: 4 / 5;
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  object-position: 52% 48%;
}

.cl-guide-index {
  padding-block: var(--space-6);
}

.cl-guide-index__inner {
  display: grid;
  grid-template-columns: minmax(0, 18%) minmax(0, 82%);
  align-items: center;
  padding: var(--space-4) var(--space-5);
  border-block: var(--border-subtle);
  background: var(--color-stone-grey);
}

.cl-guide-index__label {
  min-width: 0;
  margin: 0;
  color: var(--color-muted-charcoal);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.cl-guide-index__links {
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
  gap: var(--space-5);
}

.cl-guide-index__links a {
  min-width: 0;
}

.cl-room-notes {
  padding-block: var(--space-9);
}

.cl-room-notes__layout {
  display: grid;
  grid-template-columns: minmax(0, 25%) minmax(0, 75%);
  gap: var(--space-6);
}

.cl-room-notes__intro,
.cl-detail-list {
  min-width: 0;
}

.cl-room-notes__intro {
  position: relative;
  max-width: 19rem;
}

.cl-room-notes__intro h2 {
  font-size: var(--text-xl);
}

.cl-room-notes__botanical {
  display: block;
  margin-block-start: var(--space-5);
  color: var(--color-moss);
  font-size: 1.5rem;
}

.cl-detail-list,
.cl-moment-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cl-detail-list__item {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-block: var(--space-5);
  border-top: var(--border-subtle);
}

.cl-detail-list__item:last-child {
  border-bottom: var(--border-subtle);
}

.cl-detail-list__number,
.cl-moment-list__number {
  display: block;
  min-width: 0;
  color: var(--color-moss);
  font-family: var(--font-heading);
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1;
}

.cl-detail-list__copy {
  min-width: 0;
  max-width: 38rem;
}

.cl-detail-list__copy h2,
.cl-detail-list__copy h3 {
  font-size: var(--text-xl);
}

.cl-detail-list__copy p:not(.meta) {
  max-width: 38rem;
}

.cl-detail-list__copy .meta,
.cl-moment-list__copy .meta {
  margin-block-end: 0;
}

.cl-room-scene {
  padding-block: var(--space-8);
}

.cl-room-scene__layout {
  display: grid;
  grid-template-columns: minmax(0, 64%) minmax(0, 42%);
  align-items: end;
}

.cl-room-scene__figure,
.cl-room-scene__panel {
  min-width: 0;
}

.cl-room-scene__figure {
  width: 100%;
  margin: 0;
}

.cl-room-scene__figure img {
  width: 100%;
  aspect-ratio: 3 / 2;
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  object-position: 50% 52%;
}

.cl-room-scene__panel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  width: 100%;
  max-width: 31rem;
  margin: 0 0 2rem -5rem;
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  background: var(--color-river-sand);
}

.cl-room-scene__panel > * {
  min-width: 0;
  margin: 0;
}

.cl-room-scene__panel h2 {
  font-size: var(--text-2xl);
}

.cl-room-scene__note {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-2);
  padding-block-start: var(--space-4);
  border-top: var(--border-subtle);
}

.cl-room-scene__note > * {
  min-width: 0;
  margin: 0;
}

.cl-offline {
  padding-block: var(--space-8);
}

.cl-offline__inner {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  width: min(100%, 42.5rem);
  margin-inline: auto;
  padding-block: var(--space-4);
  border-block: var(--border-accent);
}

.cl-offline__inner > * {
  min-width: 0;
  margin: 0;
}

.cl-offline .offline-note p {
  margin: 0;
}

.cl-moments {
  padding-block: var(--space-9);
}

.cl-moments__intro {
  width: min(100%, 42.5rem);
  margin-block-end: var(--space-7);
}

.cl-moments__intro h2 {
  font-size: var(--text-3xl);
}

.cl-moments__intro p {
  max-width: 42.5rem;
  color: var(--color-muted-charcoal);
  font-size: var(--text-lg);
}

.cl-moment-list {
  width: min(100%, 62.5rem);
}

.cl-moment-list__item {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-block: var(--space-5);
  border-top: var(--border-subtle);
}

.cl-moment-list__item:last-child {
  border-bottom: var(--border-subtle);
}

.cl-moment-list__copy {
  min-width: 0;
  max-width: 36rem;
}

.cl-moment-list__item--inset .cl-moment-list__copy {
  margin-inline-start: 3rem;
}

.cl-moment-list__copy h3 {
  font-size: var(--text-xl);
}

.cl-moment-list__copy p:not(.meta) {
  max-width: 36rem;
}

.cl-table-details {
  padding-block: var(--space-9);
}

.cl-table-details__layout {
  display: grid;
  grid-template-columns: minmax(0, 41.7%) minmax(0, 58.3%);
  align-items: start;
  gap: 2.5rem;
}

.cl-table-details__figure,
.cl-table-details .cl-detail-list {
  min-width: 0;
}

.cl-table-details__figure {
  width: 100%;
  margin: 0;
}

.cl-table-details__figure img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  object-position: 48% 56%;
}

.cl-table-details .cl-detail-list__copy {
  max-width: 31rem;
}

.cl-table-details .cl-detail-list__copy p:not(.meta) {
  max-width: 31rem;
}

.cl-plan {
  padding-block: var(--space-9);
}

.cl-plan__copy {
  width: min(100%, 42.5rem);
  margin-inline: auto;
}

.cl-plan__copy h2 {
  font-size: var(--text-xl);
}

.cl-plan__checklist {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-2);
  margin-block: var(--space-5) 0;
  padding-inline-start: 1.35em;
}

.cl-plan__checklist li {
  min-width: 0;
}

.cl-plan__links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  width: min(100%, 53.75rem);
  margin: var(--space-6) auto 0;
}

.cl-plan__links a {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 2.75rem;
  gap: var(--space-2);
  padding-block: var(--space-3);
  border-top: var(--border-accent);
}

.cl-plan__links a strong,
.cl-plan__links a span {
  min-width: 0;
}

.cl-plan__links a span {
  color: var(--color-muted-charcoal);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.cl-dining-note {
  padding-block: var(--space-8);
}

.cl-dining-note__panel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  width: min(100%, 47.5rem);
  margin-left: auto;
  margin-right: -8%;
  padding: var(--space-6);
  border: 1px solid var(--color-inverse);
  border-radius: var(--radius-feature);
}

.cl-dining-note__panel > * {
  min-width: 0;
  margin: 0;
}

.cl-dining-note__panel .eyebrow {
  color: var(--color-paper-line);
}

.cl-dining-note__panel h2 {
  font-size: var(--text-2xl);
}

.cl-dining-note__panel p {
  max-width: 34rem;
}

.cl-dining-note__panel a {
  text-decoration-color: var(--color-moss);
}

.cl-close {
  padding: var(--space-9) 0 var(--space-8);
}

.cl-close__copy {
  width: min(100%, 42.5rem);
  margin-inline: auto;
}

.cl-close__copy h2 {
  font-size: var(--text-xl);
}

.cl-close__copy p {
  max-width: 42.5rem;
}

.cl-close__dot {
  display: inline-block;
  margin-inline: var(--space-2);
  color: var(--color-moss);
}

@media (max-width: 68.75rem) {
  .cl-room-notes__layout {
    grid-template-columns: minmax(0, 22%) minmax(0, 78%);
  }

  .cl-opening__figure {
    margin-right: 0;
  }

  .cl-dining-note__panel {
    margin-right: 0;
  }
}

@media (max-width: 61.25rem) {
  .cl-room-scene__layout {
    grid-template-columns: minmax(0, 58%) minmax(0, 42%);
    gap: var(--space-5);
  }

  .cl-room-scene__panel {
    margin-left: 0;
    margin-bottom: 0;
  }

  .cl-moment-list__item--inset .cl-moment-list__copy {
    margin-inline-start: 0;
  }
}

@media (max-width: 55rem) {
  .card-lounge-page {
    padding-block-start: var(--space-7);
  }

  .cl-opening__layout,
  .cl-room-notes__layout,
  .cl-room-scene__layout,
  .cl-table-details__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .cl-opening__layout {
    gap: var(--space-5);
  }

  .cl-opening__copy,
  .cl-opening__figure,
  .cl-room-notes__intro,
  .cl-room-scene__panel {
    max-width: none;
  }

  .cl-opening__figure {
    justify-self: stretch;
    margin: 0;
  }

  .cl-opening__figure img {
    min-height: 22.5rem;
  }

  .cl-room-notes__layout {
    gap: var(--space-5);
  }

  .cl-room-notes__intro {
    width: min(100%, 42.5rem);
  }

  .cl-room-scene__layout,
  .cl-table-details__layout {
    gap: var(--space-5);
  }

  .cl-room-scene__figure img,
  .cl-table-details__figure img {
    aspect-ratio: 4 / 5;
  }

  .cl-room-scene__panel {
    border-radius: 0;
    border-inline: 0;
    border-bottom: 0;
    padding: var(--space-5) var(--page-gutter);
    margin-inline: calc(var(--page-gutter) * -1);
  }
}

@media (max-width: 43.75rem) {
  .cl-opening,
  .cl-room-notes,
  .cl-moments,
  .cl-table-details,
  .cl-plan {
    padding-block: var(--space-7);
  }

  .cl-room-scene,
  .cl-offline,
  .cl-dining-note {
    padding-block: var(--space-6);
  }

  .cl-opening__subtitle {
    font-size: 1.75rem;
  }

  .cl-opening__lead {
    font-size: var(--text-lg);
  }

  .cl-guide-index__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
    padding: var(--space-4);
  }

  .cl-guide-index__links {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .cl-guide-index__links a {
    display: flex;
    align-items: center;
    min-height: 2.75rem;
    border-top: var(--border-subtle);
  }

  .cl-detail-list__item {
    grid-template-columns: 2.625rem minmax(0, 1fr);
    gap: var(--space-3);
    padding-block: var(--space-4);
  }

  .cl-detail-list__number {
    font-size: 1.5rem;
  }

  .cl-moments__intro {
    margin-block-end: var(--space-6);
  }

  .cl-moments__intro h2 {
    font-size: 2.375rem;
  }

  .cl-moment-list__item {
    grid-template-columns: 2.75rem minmax(0, 1fr);
    gap: var(--space-3);
    padding-block: var(--space-4);
  }

  .cl-moment-list__number {
    font-size: 1.5rem;
  }

  .cl-moment-list__copy h3,
  .cl-detail-list__copy h2,
  .cl-detail-list__copy h3 {
    font-size: var(--text-xl);
  }

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

  .cl-plan__links a {
    min-height: 2.75rem;
  }

  .cl-dining-note__panel {
    width: 100%;
    padding: var(--space-5);
  }

  .cl-dining-note__panel h2 {
    font-size: 1.75rem;
  }

  .cl-close {
    padding: var(--space-6) 0 var(--space-7);
  }
}


.plan-visit {
  background: var(--color-river-sand);
}

.plan-visit__section {
  padding-block: var(--space-8);
}

.plan-visit__hero {
  padding-block: var(--space-9) var(--space-8);
}

.plan-visit__hero-grid,
.plan-visit__rhythm-grid,
.plan-visit__enquiry-grid,
.plan-visit__closing-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-6);
  align-items: center;
}

.plan-visit__hero-copy,
.plan-visit__hero-image,
.plan-visit__sequence,
.plan-visit__preparation-image,
.plan-visit__enquiry-intro,
.plan-visit__enquiry-sequence,
.plan-visit__arrival-image,
.plan-visit__closing-copy {
  min-width: 0;
  width: 100%;
}

.plan-visit__hero-copy {
  max-width: 31.25rem;
}

.plan-visit__hero-copy h1 {
  margin-bottom: var(--space-3);
}

.plan-visit__hero-copy h2 {
  max-width: 27rem;
  font-size: var(--text-2xl);
}

.plan-visit__lead {
  max-width: 31rem;
  font-size: var(--text-lg);
}

.plan-visit__microcopy {
  max-width: 28rem;
  color: var(--color-muted-charcoal);
  font-size: var(--text-sm);
}

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

.plan-visit__hero-actions > *,
.plan-visit__enquiry-actions > *,
.plan-visit__closing-actions > * {
  min-width: 0;
}

.plan-visit__text-link {
  font-weight: 600;
}

.plan-visit__hero-image {
  margin: var(--space-5) 0 0;
  min-height: 30rem;
  overflow: hidden;
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
}

.plan-visit__hero-image img,
.plan-visit__preparation-image img,
.plan-visit__arrival-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.plan-visit__hero-image img {
  object-position: 52% 50%;
}

.plan-visit__shape-intro,
.plan-visit__people-intro,
.plan-visit__reading-intro {
  width: 100%;
  max-width: 38.75rem;
}

.plan-visit__choice-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-6);
  margin-top: var(--space-7);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-moss);
}

.plan-visit__choice {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
}

.plan-visit__choice--one,
.plan-visit__choice--three {
  grid-column: 1;
}

.plan-visit__choice--two {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: start;
  margin-top: var(--space-8);
}

.plan-visit__choice--three {
  grid-row: 2;
}

.plan-visit__number,
.plan-visit__rail-number,
.plan-visit__enquiry-number {
  margin: 0;
  color: var(--color-moss);
  font-family: var(--font-heading);
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1;
}

.plan-visit__choice-copy {
  min-width: 0;
  max-width: 32rem;
}

.plan-visit__choice--two .plan-visit__choice-copy {
  max-width: 27rem;
}

.plan-visit__choice-meta {
  padding: var(--space-2) var(--space-3);
  border-left: 1px solid var(--color-paper-line);
  background: var(--color-stone-grey);
  color: var(--color-muted-charcoal);
  font-size: var(--text-xs);
}

.plan-visit__offline-note {
  width: 100%;
  max-width: 36.25rem;
  margin-top: var(--space-6);
  padding-top: var(--space-5);
  border-top: var(--border-subtle);
}

.plan-visit__rhythm-grid {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: start;
}

.plan-visit__sequence {
  grid-column: 1;
  max-width: 42.5rem;
}

.plan-visit__sequence-item {
  padding-block: var(--space-5);
  border-top: var(--border-subtle);
}

.plan-visit__sequence-item:first-of-type {
  margin-top: var(--space-5);
}

.plan-visit__sequence-item p:not(.meta) {
  max-width: 42.5rem;
}

.plan-visit__preparation-image {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: start;
  aspect-ratio: 5 / 4;
  margin-top: 10rem;
  overflow: hidden;
  border: var(--border-subtle);
  border-radius: 1.25rem 1.75rem 1.5rem 2rem;
}

.plan-visit__preparation-image img {
  object-position: 48% 54%;
}

.plan-visit__quote {
  grid-column: 1;
  width: 100%;
  max-width: 35rem;
  margin: var(--space-5) 0 0;
  padding: var(--space-5);
  border: 0;
  background: var(--color-stone-grey);
  border-radius: var(--radius-surface);
}

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

.plan-visit__consideration {
  min-width: 0;
}

.plan-visit__consideration--small,
.plan-visit__consideration--friends {
  grid-row: 1;
}

.plan-visit__consideration--small {
  grid-column: 1;
  width: calc((100% - var(--space-5)) * 0.4);
}

.plan-visit__consideration--friends {
  grid-column: 1;
  width: calc((100% - var(--space-5)) * 0.6);
  justify-self: end;
}

.plan-visit__consideration--private {
  grid-column: 2;
  grid-row: 1;
  margin-top: var(--space-7);
}

.plan-visit__checklist {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-6);
  align-items: start;
  margin: var(--space-4) 0 0;
}

.plan-visit__checklist-copy,
.plan-visit__checklist-list {
  min-width: 0;
  width: 100%;
}

.plan-visit__checklist-copy {
  max-width: 42rem;
}

.plan-visit__checklist-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.plan-visit__checklist-list li {
  padding: var(--space-3) 0 var(--space-3) 1.5rem;
  border-bottom: var(--border-subtle);
  position: relative;
}

.plan-visit__checklist-list li::before {
  position: absolute;
  left: 0;
  color: var(--color-moss);
  content: "✓";
}

.plan-visit__reading-intro {
  max-width: 38.75rem;
}

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

.plan-visit__guide-prompt {
  display: grid;
  grid-template-columns: minmax(3.25rem, 2fr) minmax(0, 5fr);
  gap: var(--space-4);
  min-width: 0;
  padding-bottom: var(--space-5);
  border-bottom: var(--border-subtle);
}

.plan-visit__guide-prompt > div {
  min-width: 0;
  max-width: 31.25rem;
}

.plan-visit__guide-prompt--one,
.plan-visit__guide-prompt--three,
.plan-visit__guide-prompt--five {
  grid-column: 1 / span 7;
}

.plan-visit__guide-prompt--two,
.plan-visit__guide-prompt--four {
  grid-column: 5 / span 7;
}

.plan-visit__prepare-intro {
  width: 100%;
  max-width: 42.5rem;
  margin-inline: auto;
  text-align: center;
}

.plan-visit__cue-surface {
  width: calc(100% - (100% / 6));
  margin: var(--space-7) 0 0 auto;
}

.plan-visit__cue-row {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 7fr);
  gap: var(--space-5);
  min-width: 0;
  padding-block: var(--space-5);
}

.plan-visit__cue-row + .plan-visit__cue-row {
  border-top: var(--border-subtle);
}

.plan-visit__cue-row > * {
  min-width: 0;
  width: 100%;
}

.plan-visit__cue-row > div {
  max-width: 38.75rem;
}

.plan-visit__enquiry-grid {
  align-items: start;
}

.plan-visit__enquiry-intro {
  max-width: 37.5rem;
}

.plan-visit__enquiry-sequence {
  display: grid;
  gap: var(--space-5);
  padding-left: var(--space-5);
  border-left: 1px solid var(--color-moss);
}

.plan-visit__enquiry-sequence article {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
}

.plan-visit__enquiry-sequence article > div {
  min-width: 0;
  max-width: 38.75rem;
}

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

.plan-visit__arrival-image {
  aspect-ratio: 3 / 2;
  margin: 0;
  overflow: hidden;
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
}

.plan-visit__arrival-image img {
  object-position: 50% 45%;
}

.plan-visit__closing-copy {
  max-width: 31.25rem;
  justify-self: end;
}

.plan-visit__closing-copy .offline-note {
  margin-bottom: var(--space-5);
}

.plan-visit__brief-note {
  padding: var(--space-7) 0;
}

.plan-visit__brief-note-inner {
  width: min(100%, 42.5rem);
  margin-inline: auto;
  padding-block: var(--space-5);
  border-top: var(--border-subtle);
  border-bottom: var(--border-subtle);
  text-align: center;
}

.plan-visit__brief-note-inner .offline-note {
  justify-content: center;
  text-align: left;
}

@media (max-width: 73.75rem) {
  .plan-visit__hero,
  .plan-visit__section {
    padding-block: var(--space-7);
  }

  .plan-visit__preparation-image {
    margin-top: 12rem;
  }

  .plan-visit__choice-grid,
  .plan-visit__people-grid,
  .plan-visit__hero-grid,
  .plan-visit__rhythm-grid,
  .plan-visit__enquiry-grid,
  .plan-visit__closing-grid {
    gap: var(--space-5);
  }
}

@media (max-width: 60rem) {
  .plan-visit__choice-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .plan-visit__choice--one,
  .plan-visit__choice--two,
  .plan-visit__choice--three {
    grid-column: 1;
    grid-row: auto;
    margin-top: 0;
  }

  .plan-visit__choice-copy,
  .plan-visit__choice--two .plan-visit__choice-copy {
    max-width: 38rem;
  }

  .plan-visit__guide-prompt--one,
  .plan-visit__guide-prompt--two,
  .plan-visit__guide-prompt--three,
  .plan-visit__guide-prompt--four,
  .plan-visit__guide-prompt--five {
    grid-column: 1 / span 8;
  }

  .plan-visit__guide-prompt--two,
  .plan-visit__guide-prompt--four {
    margin-left: 2rem;
  }

  .plan-visit__cue-surface {
    width: 100%;
  }
}

@media (max-width: 56.25rem) {
  .plan-visit__hero-grid,
  .plan-visit__rhythm-grid,
  .plan-visit__enquiry-grid,
  .plan-visit__closing-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .plan-visit__hero-copy,
  .plan-visit__sequence,
  .plan-visit__enquiry-intro,
  .plan-visit__closing-copy {
    max-width: 34rem;
  }

  .plan-visit__hero-image,
  .plan-visit__preparation-image,
  .plan-visit__arrival-image {
    width: 100%;
  }

  .plan-visit__hero-image {
    min-height: 0;
    aspect-ratio: 4 / 5;
    margin-top: var(--space-5);
  }

  .plan-visit__hero-image img {
    object-position: 58% 48%;
  }

  .plan-visit__preparation-image {
    grid-column: 1;
    grid-row: auto;
    margin-top: 0;
  }

  .plan-visit__quote {
    grid-column: 1;
  }

  .plan-visit__closing-copy {
    justify-self: start;
  }

  .plan-visit__arrival-image {
    aspect-ratio: 4 / 5;
  }

  .plan-visit__arrival-image img {
    object-position: 48% 42%;
  }

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

  .plan-visit__consideration--small,
  .plan-visit__consideration--friends,
  .plan-visit__consideration--private {
    grid-column: 1;
    grid-row: auto;
    width: 100%;
    margin-top: 0;
  }

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

  .plan-visit__guide-rail {
    grid-template-columns: minmax(0, 1fr);
  }

  .plan-visit__guide-prompt--one,
  .plan-visit__guide-prompt--two,
  .plan-visit__guide-prompt--three,
  .plan-visit__guide-prompt--four,
  .plan-visit__guide-prompt--five {
    grid-column: 1;
    margin-left: 0;
  }
}

@media (max-width: 43.75rem) {
  .plan-visit__hero,
  .plan-visit__section {
    padding-block: var(--space-6);
  }

  .plan-visit__hero-copy h1 {
    font-size: clamp(2.375rem, 10vw, 3rem);
  }

  .plan-visit__hero-copy h2,
  .plan-visit__section h2 {
    font-size: 1.75rem;
  }

  .plan-visit h3 {
    font-size: 1.5rem;
  }

  .plan-visit__hero-actions,
  .plan-visit__enquiry-actions,
  .plan-visit__closing-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .plan-visit__hero-actions > *,
  .plan-visit__enquiry-actions > *,
  .plan-visit__closing-actions > * {
    width: 100%;
    min-height: 2.75rem;
  }

  .plan-visit__hero-actions .plan-visit__text-link,
  .plan-visit__enquiry-actions .plan-visit__text-link,
  .plan-visit__closing-actions .plan-visit__text-link {
    display: inline-flex;
    align-items: center;
  }

  .plan-visit__choice {
    grid-template-columns: 2.25rem minmax(0, 1fr);
    gap: var(--space-3);
  }

  .plan-visit__number,
  .plan-visit__rail-number,
  .plan-visit__enquiry-number {
    font-size: 2rem;
  }

  .plan-visit__sequence-item {
    padding-block: var(--space-4);
  }

  .plan-visit__quote {
    padding: var(--space-5);
  }

  .plan-visit__cue-surface {
    padding: var(--space-5);
  }

  .plan-visit__cue-row {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
    padding-block: var(--space-5);
  }

  .plan-visit__enquiry-sequence {
    padding-left: var(--space-3);
  }

  .plan-visit__enquiry-sequence article {
    grid-template-columns: 2.25rem minmax(0, 1fr);
    gap: var(--space-2);
  }

  .plan-visit__brief-note-inner {
    width: 100%;
    text-align: left;
  }

  .plan-visit__brief-note-inner .offline-note {
    justify-content: flex-start;
  }
}


.dining-experiences {
  padding-block: var(--space-9) var(--space-10);
}

.dining-experiences :is(.de-opening__layout, .de-atmosphere__layout, .de-pairing__layout, .de-host__layout, .de-next-step__band) > * {
  min-width: 0;
}

.dining-experiences h2 {
  font-size: clamp(1.75rem, 3vw, 2.75rem);
}

.dining-experiences h3 {
  font-size: clamp(1.5rem, 2.2vw, 2rem);
}

.de-opening__layout {
  display: grid;
  grid-template-columns: minmax(22.5rem, 31.25rem) minmax(0, 1fr);
  align-items: start;
  gap: clamp(2rem, 5vw, 5rem);
}

.de-opening__copy {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  gap: var(--space-5);
  padding-block-start: var(--space-3);
}

.de-opening__copy :is(h1, p) {
  margin: 0;
}

.de-opening__copy h1 {
  font-size: clamp(2.375rem, 5.3vw, 3.5rem);
}

.de-opening__lead {
  max-width: 36ch;
  font-size: var(--text-lg);
  line-height: 1.55;
}

.de-opening__actions,
.de-gatherings__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  min-width: 0;
  gap: var(--space-3);
}

.de-opening__actions > *,
.de-gatherings__actions > * {
  min-width: 0;
}

.de-text-link {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.de-opening__offline {
  max-width: 32rem;
}

.de-opening__figure {
  width: min(100%, 38rem);
  min-width: 0;
  margin: var(--space-6) 0 0 auto;
}

.de-opening__figure img,
.de-seasonal-entry__figure img,
.de-host__figure img,
.de-gatherings__figure img {
  width: 100%;
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
}

.de-opening__figure img {
  aspect-ratio: 4 / 5;
  object-position: 52% 56%;
}

.de-seasonal,
.de-atmosphere,
.de-pairing,
.de-details,
.de-host,
.de-gatherings,
.de-offline,
.de-next-step {
  margin-block-start: var(--space-10);
}

.de-seasonal__intro {
  width: 100%;
  max-width: 38.75rem;
}

.de-seasonal__intro > :last-child,
.de-atmosphere__intro > :last-child,
.de-details__intro > :last-child,
.de-gatherings__intro > :last-child,
.de-offline__intro > :last-child,
.de-next-step__copy > :last-child {
  margin-block-end: 0;
}

.de-seasonal__entries {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  margin-block-start: var(--space-7);
}

.de-seasonal-entry {
  display: grid;
  grid-template-columns: 5.125rem minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  gap: var(--space-4);
  padding-block: var(--space-6);
  border-top: var(--border-subtle);
}

.de-seasonal-entry > * {
  min-width: 0;
}

.de-number,
.de-small-number {
  color: var(--color-moss);
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 600;
  line-height: 1;
}

.de-seasonal-entry__copy {
  width: 100%;
  max-width: 38.125rem;
  min-width: 0;
}

.de-seasonal-entry__copy > :last-child,
.de-seasonal-entry__inner > :last-child,
.de-room-cue > :last-child,
.de-detail__copy > :last-child,
.de-host__copy > :last-child,
.de-gatherings__note > :last-child,
.de-offline-note > div > :last-child,
.de-next-step__actions > :last-child {
  margin-block-end: 0;
}

.de-seasonal-entry__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.38fr) minmax(22.5rem, 1fr);
  align-items: start;
  width: 100%;
  min-width: 0;
  gap: var(--space-6);
}

.de-seasonal-entry__inner > * {
  min-width: 0;
}

.de-seasonal-entry__figure {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.de-seasonal-entry__figure img {
  aspect-ratio: 3 / 2;
  object-position: 58% 50%;
}

.de-consider {
  color: var(--color-muted-charcoal);
  font-size: var(--text-sm);
}

.de-mini-rule {
  width: 4rem;
  margin-block: var(--space-4);
}

.de-atmosphere__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(20.625rem, 0.85fr);
  align-items: start;
  gap: clamp(3rem, 7vw, 8rem);
}

.de-atmosphere__intro {
  width: 100%;
  max-width: 42.5rem;
}

.de-atmosphere__cues {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  gap: var(--space-5);
  padding-block-start: var(--space-2);
  border-top: 1px solid var(--color-moss);
}

.de-room-cue {
  width: 100%;
  min-width: 0;
  max-width: 32.5rem;
  padding-block-end: var(--space-5);
  border-bottom: var(--border-subtle);
}

.de-room-cue h3 {
  margin-block-end: var(--space-3);
  font-size: var(--text-xl);
}

.de-room-cue__label,
.de-guide-label {
  margin-block: 0 var(--space-2);
  color: var(--color-moss);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.de-pairing__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.65fr) minmax(0, 1fr);
  width: 100%;
  min-width: 0;
}

.de-pairing__space,
.de-pairing__panel {
  min-width: 0;
}

.de-pairing__panel {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 45rem;
  justify-self: end;
  gap: var(--space-5);
  padding: var(--space-8) clamp(var(--space-5), 5vw, var(--space-8));
}

.de-pairing__panel :is(h2, p) {
  margin: 0;
}

.de-pairing__panel h2,
.de-pairing__panel > p {
  max-width: 56ch;
}

.de-pairing__closing {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  gap: var(--space-3);
}

.de-pairing__closing p {
  max-width: 48ch;
}

.de-text-link--inverse {
  width: fit-content;
  color: var(--color-river-sand);
  text-decoration-color: var(--color-moss);
}

.de-details__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 0.85fr) minmax(0, 0.95fr);
  width: 100%;
  min-width: 0;
  column-gap: clamp(2rem, 5vw, 5rem);
  row-gap: var(--space-7);
}

.de-details__grid > * {
  min-width: 0;
}

.de-details__intro {
  grid-column: 1 / span 2;
  width: 100%;
  max-width: 38.75rem;
}

.de-detail-stream {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  gap: var(--space-8);
}

.de-detail-stream--a {
  grid-column: 1 / span 1;
}

.de-detail-stream--b {
  grid-column: 3 / span 1;
  margin-block-start: var(--space-8);
}

.de-detail {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  gap: var(--space-3);
}

.de-detail > * {
  min-width: 0;
}

.de-detail__copy h3 {
  margin-block-end: var(--space-3);
  font-size: var(--text-xl);
}

.de-host__layout {
  display: grid;
  grid-template-columns: minmax(27.5rem, 1.38fr) minmax(22.5rem, 0.9fr);
  align-items: start;
  width: 100%;
  min-width: 0;
  gap: clamp(2rem, 5vw, 5rem);
}

.de-host__figure {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.de-host__figure a {
  display: block;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--radius-feature);
}

.de-host__figure img {
  aspect-ratio: 4 / 3;
  object-position: 50% 48%;
  transition: transform var(--transition-fast);
}

.de-host__figure a:hover img,
.de-host__figure a:focus-visible img {
  transform: scale(1.02);
}

.de-host__copy {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  max-width: 31.25rem;
  gap: var(--space-5);
  margin-block-start: var(--space-7);
}

.de-host__copy :is(h2, h3, p) {
  margin: 0;
}

.de-host__games {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  gap: var(--space-3);
}

.de-host__games h3 {
  font-size: var(--text-xl);
}

.de-host__quote {
  width: calc(100% - var(--space-5));
  min-width: 0;
  margin: 0 0 0 var(--space-5);
}

.de-host__quote footer {
  margin-block-start: var(--space-3);
  color: var(--color-moss);
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.de-host__context {
  color: var(--color-muted-charcoal);
}

.de-gatherings__intro {
  width: 100%;
  max-width: 37.5rem;
}

.de-gatherings__stage {
  position: relative;
  width: 100%;
  min-width: 0;
  margin-block-start: var(--space-7);
  padding-block-end: var(--space-7);
}

.de-gatherings__figure {
  width: 76%;
  min-width: 0;
  margin: 0;
}

.de-gatherings__figure img {
  aspect-ratio: 16 / 9;
  object-position: 52% 50%;
}

.de-gatherings__panel {
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  width: min(100%, 29.375rem);
  min-width: 0;
  gap: var(--space-5);
}

.de-gatherings__note {
  width: 100%;
  min-width: 0;
  padding-block-end: var(--space-5);
  border-bottom: var(--border-subtle);
}

.de-gatherings__note h3 {
  margin-block-end: var(--space-3);
  font-size: var(--text-xl);
}

.de-offline__intro {
  width: 100%;
  max-width: 40rem;
  margin-inline: auto;
  text-align: center;
}

.de-offline__intro p:not(.de-guide-label) {
  text-align: left;
}

.de-offline__notes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
  gap: 0 var(--space-6);
  margin-block-start: var(--space-7);
}

.de-offline-note {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  gap: var(--space-3);
  padding-block: var(--space-5);
  border-top: var(--border-subtle);
}

.de-offline-note > * {
  min-width: 0;
}

.de-small-number {
  font-size: var(--text-xl);
}

.de-offline-note h3 {
  margin-block-end: var(--space-3);
  font-size: var(--text-xl);
}

.de-offline__closing {
  width: 100%;
  max-width: 36.25rem;
  margin: var(--space-6) 0 0;
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  line-height: 1.35;
}

.de-next-step__band {
  display: grid;
  grid-template-columns: minmax(22.5rem, 1.4fr) minmax(16rem, 0.7fr);
  align-items: end;
  width: 100%;
  min-width: 0;
  gap: clamp(2rem, 5vw, 5rem);
  padding: var(--space-8);
  border: var(--border-subtle);
  border-radius: var(--radius-surface);
  background: var(--color-stone-grey);
}

.de-next-step__copy {
  width: 100%;
  min-width: 0;
  max-width: 38.75rem;
}

.de-next-step__actions {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 18.75rem;
  min-width: 0;
  gap: var(--space-3);
  justify-self: end;
}

.de-next-step__actions .button {
  width: 100%;
}

.de-next-step__note {
  margin: 0;
  color: var(--color-muted-charcoal);
  font-size: var(--text-sm);
  line-height: 1.45;
}

@media (max-width: 65rem) {
  .de-opening__layout {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .de-opening__copy {
    max-width: 42.5rem;
  }

  .de-opening__figure {
    width: min(100%, 55rem);
    margin: 0;
  }

  .de-opening__figure img {
    aspect-ratio: 3 / 2;
  }

  .de-gatherings__figure {
    width: 100%;
  }

  .de-gatherings__stage {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
    padding-block-end: 0;
  }

  .de-gatherings__panel {
    position: static;
    width: 100%;
  }
}

@media (max-width: 61.25rem) {
  .de-details__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .de-details__intro {
    grid-column: 1 / -1;
  }

  .de-detail-stream--a {
    grid-column: 1;
  }

  .de-detail-stream--b {
    grid-column: 2;
    margin-block-start: 0;
  }

  .de-host__layout {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .de-host__copy {
    max-width: 42.5rem;
    margin-block-start: 0;
  }
}

@media (max-width: 57.5rem) {
  .de-seasonal-entry__inner {
    grid-template-columns: 1fr;
  }

  .de-seasonal-entry__figure {
    max-width: 43rem;
  }

  .de-atmosphere__layout {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .de-atmosphere__cues {
    max-width: 42.5rem;
    margin-inline-start: var(--space-7);
  }

  .de-pairing__layout {
    grid-template-columns: 1fr;
  }

  .de-pairing__space {
    display: none;
  }

  .de-pairing__panel {
    justify-self: center;
    width: min(90%, 45rem);
  }
}

@media (max-width: 53.75rem) {
  .de-next-step__band {
    grid-template-columns: 1fr;
    align-items: start;
    gap: var(--space-7);
  }

  .de-next-step__actions {
    justify-self: start;
  }
}

@media (max-width: 51.25rem) {
  .de-offline__notes {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 47.5rem) {
  .dining-experiences {
    padding-block: var(--space-7) var(--space-8);
  }

  .de-seasonal,
  .de-atmosphere,
  .de-pairing,
  .de-details,
  .de-host,
  .de-gatherings,
  .de-offline,
  .de-next-step {
    margin-block-start: var(--space-8);
  }

  .de-details__grid {
    grid-template-columns: 1fr;
    row-gap: var(--space-6);
  }

  .de-detail-stream--a,
  .de-detail-stream--b {
    grid-column: 1;
    gap: 0;
  }

  .de-detail {
    padding-block: var(--space-5);
    border-top: var(--border-subtle);
  }

  .de-detail-stream--a .de-detail:last-child,
  .de-detail-stream--b .de-detail:last-child {
    border-bottom: var(--border-subtle);
  }
}

@media (max-width: 43.75rem) {
  .dining-experiences h2 {
    font-size: 1.75rem;
  }

  .de-opening__copy h1 {
    font-size: 2.375rem;
  }

  .de-opening__lead {
    max-width: 38ch;
  }

  .de-opening__actions,
  .de-gatherings__actions {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
  }

  .de-opening__actions > *,
  .de-gatherings__actions > * {
    width: 100%;
  }

  .de-opening__actions .de-text-link,
  .de-gatherings__actions .de-text-link {
    justify-content: center;
  }

  .de-opening__figure {
    margin-block-start: var(--space-5);
  }

  .de-opening__figure img {
    aspect-ratio: 4 / 5;
    object-position: 52% 56%;
  }

  .de-seasonal__entries {
    margin-block-start: var(--space-6);
  }

  .de-seasonal-entry {
    grid-template-columns: 2.625rem minmax(0, 1fr);
    gap: var(--space-3);
    padding-block: var(--space-5);
  }

  .de-number {
    font-size: 1.75rem;
  }

  .de-seasonal-entry__figure {
    grid-column: 1 / -1;
    width: 100%;
  }

  .de-atmosphere__cues {
    margin-inline-start: 0;
  }

  .de-pairing__panel {
    width: 100%;
    padding: var(--space-7) var(--space-5);
  }

  .de-pairing__panel h2 {
    font-size: 1.75rem;
  }

  .de-host__figure {
    display: contents;
  }

  .de-host__copy {
    display: contents;
  }

  .de-host__copy > .eyebrow,
  .de-host__copy > h2,
  .de-host__copy > p,
  .de-host__copy > .de-host__games,
  .de-host__copy > .de-host__quote {
    width: 100%;
  }

  .de-host__figure a {
    order: 3;
    margin-block: var(--space-5) var(--space-2);
  }

  .de-host__figure figcaption {
    order: 4;
    margin-block: 0 var(--space-5);
  }

  .de-host__copy .eyebrow { order: 1; }
  .de-host__copy h2 { order: 2; }
  .de-host__copy > p:first-of-type { order: 2; }
  .de-host__games { order: 5; }
  .de-host__quote { order: 6; }
  .de-host__context { order: 7; }

  .de-host__layout {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }

  .de-host__quote {
    width: calc(100% - var(--space-4));
    margin-inline-start: var(--space-4);
  }

  .de-gatherings__figure img {
    aspect-ratio: 3 / 2;
  }

  .de-gatherings__panel {
    gap: var(--space-5);
  }

  .de-offline__intro {
    margin-inline: 0;
    text-align: left;
  }

  .de-offline__intro .de-guide-label,
  .de-offline__intro h2 {
    text-align: center;
  }

  .de-offline__notes {
    margin-block-start: var(--space-6);
  }

  .de-offline-note {
    grid-template-columns: 2.25rem minmax(0, 1fr);
    padding-block: var(--space-5);
  }

  .de-next-step__band {
    gap: var(--space-6);
    padding: var(--space-6) var(--space-5);
  }

  .de-next-step__actions {
    max-width: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .de-host__figure img {
    transition: none;
  }
}


main.thank-you-page {
  display: grid;
  align-items: center;
  min-height: calc(100vh - 12rem);
  padding-block: var(--space-8);
}

.thank-you {
  width: min(100% - (var(--page-gutter) * 2), 46rem);
  margin-inline: auto;
  padding: clamp(var(--space-6), 6vw, var(--space-9));
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  background: var(--color-stone-grey);
  text-align: center;
}

.thank-you__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
}

.thank-you__content > * {
  margin: 0;
}

.thank-you__marker {
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid var(--color-moss);
  border-radius: var(--radius-stone);
  background: var(--color-river-sand);
  color: var(--color-moss);
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 2.55rem;
}

.thank-you__eyebrow {
  color: var(--color-moss);
}

.thank-you__title {
  max-width: 12ch;
}

.thank-you__copy {
  max-width: 38rem;
  margin-inline: auto;
  color: var(--color-muted-charcoal);
  font-size: var(--text-lg);
  text-align: center;
}

.thank-you__next {
  max-width: 38rem;
  margin-inline: auto;
  padding-block-start: var(--space-5);
  border-block-start: var(--border-subtle);
  color: var(--color-charcoal);
  font-size: var(--text-base);
  text-align: center;
}

.thank-you__actions {
  justify-content: center;
  margin-block-start: var(--space-2);
}

@media (max-width: 43.75rem) {
  main.thank-you-page {
    align-items: start;
    min-height: 0;
    padding-block: var(--space-6);
  }

  .thank-you {
    padding: var(--space-6) var(--space-4);
  }

  .thank-you__content {
    gap: var(--space-4);
  }

  .thank-you__copy {
    font-size: var(--text-base);
  }
}