

:root {
  --color-espresso-brown: #211713;
  --color-midnight-petrol: #102b31;
  --color-ruby-garnet: #7c2632;
  --color-antique-bronze: #a8794b;
  --color-warm-champagne: #e6c892;
  --color-dark-emperador: #49352d;
  --color-champagne-limestone: #d8c7a6;
  --color-soft-linen: #f2ebdd;
  --color-muted-linen: #bbaf9b;
  --color-smoked-glass: rgba(16, 43, 49, 0.82);

  --color-text: var(--color-soft-linen);
  --color-text-muted: var(--color-muted-linen);
  --color-text-dark: var(--color-espresso-brown);
  --color-background: var(--color-espresso-brown);
  --color-surface: var(--color-midnight-petrol);
  --color-surface-raised: var(--color-dark-emperador);
  --color-surface-light: var(--color-champagne-limestone);
  --color-border: rgba(230, 200, 146, 0.34);
  --color-border-subtle: rgba(242, 235, 221, 0.16);
  --color-focus: var(--color-warm-champagne);

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

  --font-size-micro: 0.6875rem;
  --font-size-meta: 0.8125rem;
  --font-size-body: 1rem;
  --font-size-lead: 1.25rem;
  --font-size-section: clamp(1.75rem, 3vw, 2.625rem);
  --font-size-editorial: clamp(2.25rem, 5vw, 4rem);
  --font-size-hero: clamp(2.75rem, 7vw, 4rem);
  --font-size-footer-display: clamp(4.5rem, 13vw, 11.875rem);

  --line-height-tight: 1;
  --line-height-heading: 1.05;
  --line-height-body: 1.6;
  --line-height-lead: 1.45;

  --tracking-micro: 0.16em;
  --tracking-meta: 0.12em;
  --tracking-label: 0.14em;

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

  --container-max: 82.5rem;
  --gutter: 1.25rem;
  --container-inline: max(var(--gutter), calc((100% - var(--container-max)) / 2));

  --radius-none: 0;
  --radius-control: 0.125rem;
  --radius-caption: 0.375rem;

  --shadow-floating: 0 1rem 2.5rem rgba(0, 0, 0, 0.28);
  --shadow-deep: 0 1.5rem 4rem rgba(0, 0, 0, 0.38);

  --transition-fast: 220ms ease-out;
  --transition-base: 320ms ease-out;
  --transition-slow: 420ms ease-out;
}

@media (min-width: 48rem) {
  :root {
    --gutter: 1.5rem;
  }
}

@media (min-width: 64rem) {
  :root {
    --gutter: 2rem;
  }
}

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

html {
  min-width: 20rem;
  scroll-behavior: smooth;
  background: var(--color-background);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 100%;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

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

main,
header,
footer,
section,
article,
aside,
nav,
figure,
figcaption,
details,
summary {
  display: block;
}

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

img,
video {
  height: auto;
}

svg {
  fill: currentColor;
}

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

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

a:hover {
  color: var(--color-warm-champagne);
}

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

button,
select {
  text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
}

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

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

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

input,
select,
textarea {
  width: 100%;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: rgba(16, 43, 49, 0.38);
  color: var(--color-soft-linen);
  line-height: 1.4;
}

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

textarea {
  padding: 0.75rem;
}

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

select {
  background-color: var(--color-midnight-petrol);
}

input[type="checkbox"],
input[type="radio"] {
  width: 1rem;
  min-height: 1rem;
  padding: 0;
  accent-color: var(--color-antique-bronze);
}

fieldset {
  min-width: 0;
  margin: 0 0 var(--space-5);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
}

legend {
  padding: 0 var(--space-2);
  color: var(--color-warm-champagne);
}

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

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

th {
  color: var(--color-warm-champagne);
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

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

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl,
blockquote,
figure,
table,
fieldset,
pre,
address {
  margin-top: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-bottom: var(--space-4);
  color: var(--color-warm-champagne);
  font-family: var(--font-heading);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: var(--line-height-heading);
  text-wrap: balance;
}

h1 {
  font-size: var(--font-size-hero);
}

h2 {
  font-size: var(--font-size-editorial);
}

h3 {
  font-size: var(--font-size-section);
}

h4 {
  font-size: clamp(1.375rem, 2vw, 1.75rem);
}

h5 {
  font-size: 1.25rem;
}

h6 {
  font-size: 1.0625rem;
  letter-spacing: 0;
}

p {
  margin-bottom: var(--space-5);
}

ul,
ol {
  margin-bottom: var(--space-5);
  padding-left: 1.25rem;
}

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

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

dt {
  color: var(--color-warm-champagne);
  font-weight: 600;
}

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

blockquote {
  margin-right: 0;
  margin-bottom: var(--space-5);
  margin-left: 0;
  padding: var(--space-4) 0 var(--space-4) var(--space-5);
  border-left: 1px solid var(--color-antique-bronze);
  color: var(--color-soft-linen);
  font-family: var(--font-heading);
  font-size: var(--font-size-lead);
  font-style: italic;
  line-height: var(--line-height-lead);
}

cite {
  color: var(--color-muted-linen);
  font-family: var(--font-body);
  font-size: var(--font-size-meta);
  font-style: normal;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

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

figcaption {
  margin-top: var(--space-3);
  color: var(--color-antique-bronze);
  font-size: var(--font-size-micro);
  font-weight: 600;
  letter-spacing: var(--tracking-micro);
  line-height: 1.5;
  text-transform: uppercase;
}

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

small {
  font-size: var(--font-size-meta);
}

strong,
b {
  font-weight: 600;
}

em,
i {
  font-family: var(--font-heading);
}

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

code,
kbd,
samp {
  padding: 0.1em 0.3em;
  border: 1px solid var(--color-border-subtle);
  background: rgba(242, 235, 221, 0.06);
}

pre {
  margin-bottom: var(--space-5);
  padding: var(--space-4);
  overflow: auto;
  border: 1px solid var(--color-border);
  background: var(--color-midnight-petrol);
  color: var(--color-soft-linen);
}

::selection {
  background: var(--color-antique-bronze);
  color: var(--color-espresso-brown);
}

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

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

.container-full {
  width: 100%;
}

.section {
  padding-block: clamp(var(--space-8), 10vw, var(--space-10));
}

.section-tight {
  padding-block: clamp(var(--space-6), 6vw, var(--space-8));
}

.section-hero {
  padding-block: clamp(5rem, 14vw, 11rem);
}

.surface-espresso {
  background-color: var(--color-espresso-brown);
  color: var(--color-soft-linen);
}

.surface-petrol {
  background-color: var(--color-midnight-petrol);
  color: var(--color-soft-linen);
}

.surface-emperador {
  background-color: var(--color-dark-emperador);
  color: var(--color-soft-linen);
}

.surface-limestone {
  background-color: var(--color-champagne-limestone);
  color: var(--color-espresso-brown);
}

.surface-ruby {
  background-color: var(--color-ruby-garnet);
  color: var(--color-soft-linen);
}

.surface-limestone h1,
.surface-limestone h2,
.surface-limestone h3,
.surface-limestone h4,
.surface-limestone h5,
.surface-limestone h6 {
  color: var(--color-espresso-brown);
}

.eyebrow,
.label,
.micro-label {
  display: block;
  color: var(--color-antique-bronze);
  font-size: var(--font-size-micro);
  font-weight: 600;
  letter-spacing: var(--tracking-micro);
  line-height: 1.45;
  text-transform: uppercase;
}

.meta {
  color: var(--color-muted-linen);
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
  line-height: 1.5;
  text-transform: uppercase;
}

.lead {
  font-size: var(--font-size-lead);
  line-height: var(--line-height-lead);
}

.display {
  font-family: var(--font-heading);
  font-size: var(--font-size-footer-display);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: 0.82;
  text-wrap: balance;
}

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

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

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

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

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

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

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

.flow > :last-child,
.stack > :last-child,
.stack-tight > :last-child,
.stack-loose > :last-child,
.panel > :last-child,
.card > :last-child,
.content-group > :last-child {
  margin-bottom: 0;
}

.flow > :last-child {
  margin-block-end: 0;
}

.panel,
.card {
  min-width: 0;
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-none);
  background: var(--color-surface-raised);
}

.panel {
  padding: clamp(var(--space-5), 4vw, var(--space-7));
}

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

.button,
.button-primary,
.button-secondary {
  display: inline-flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1rem;
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition:
    background-color var(--transition-base),
    border-color var(--transition-base),
    box-shadow var(--transition-base),
    color var(--transition-base);
}

.button-primary {
  border-color: var(--color-ruby-garnet);
  box-shadow: inset 0 0 0 2px rgba(168, 121, 75, 0.8);
  background: var(--color-ruby-garnet);
  color: var(--color-soft-linen);
}

.button-primary:hover {
  background: #92323f;
  color: var(--color-soft-linen);
  box-shadow:
    inset 0 0 0 2px var(--color-antique-bronze),
    0 0 1.5rem rgba(230, 200, 146, 0.16);
}

.button-secondary {
  border-color: var(--color-antique-bronze);
  background: var(--color-antique-bronze);
  color: var(--color-espresso-brown);
}

.button-secondary:hover {
  border-color: var(--color-warm-champagne);
  background: var(--color-warm-champagne);
  color: var(--color-espresso-brown);
  box-shadow: 0 0 1.5rem rgba(230, 200, 146, 0.16);
}

.button-ghost {
  display: inline-flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 0;
  border: 0;
  background: transparent;
  color: var(--color-warm-champagne);
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
}

.button-ghost:hover {
  color: var(--color-soft-linen);
}

.link-arrow {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-warm-champagne);
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
  line-height: 1.4;
  text-decoration: none;
  text-transform: uppercase;
}

.link-arrow::after {
  content: "→";
  color: var(--color-antique-bronze);
  font-size: 1.1em;
  transition: transform var(--transition-fast);
}

.link-arrow:hover::after {
  transform: translateX(0.25rem);
}

.list-plain {
  margin: 0;
  padding: 0;
  list-style: none;
}

.list-content {
  padding-left: 1.25rem;
}

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

.skip-link {
  position: fixed;
  z-index: 1000;
  top: var(--space-3);
  left: var(--space-3);
  padding: var(--space-3) var(--space-4);
  transform: translateY(-200%);
  border: 1px solid var(--color-warm-champagne);
  background: var(--color-midnight-petrol);
  color: var(--color-soft-linen);
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
  text-decoration: none;
  text-transform: uppercase;
  transition: transform var(--transition-fast);
}

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

@media (max-width: 47.9375rem) {
  h1,
  h2,
  h3 {
    text-wrap: pretty;
  }

  .section-hero {
    padding-block: clamp(5rem, 20vw, 7rem);
  }

  .button,
  .button-primary,
  .button-secondary {
    width: 100%;
  }

  .cluster .button,
  .cluster .button-primary,
  .cluster .button-secondary {
    flex: 1 1 100%;
  }
}

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

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


.site-header{position:relative;z-index:100;width:100%;min-height:5.75rem;background:var(--color-midnight-petrol);color:var(--color-soft-linen);transition:min-height var(--transition-base),background-color var(--transition-base),box-shadow var(--transition-base)}.site-header__frame{display:grid;grid-template-columns:clamp(.5rem,2vw,1.25rem) minmax(0,1fr) clamp(.5rem,2vw,1.25rem);min-height:inherit;border-bottom:1px solid var(--color-border)}.site-header__column{position:relative;background:linear-gradient(90deg,rgba(168,121,75,.45),rgba(168,121,75,.08));}.site-header__column--right{transform:scaleX(-1)}.site-header__inner{display:flex;min-width:0;min-height:inherit;align-items:center;gap:clamp(.75rem,1.5vw,1.5rem);padding:var(--space-3) var(--container-inline)}.site-header__brand{display:flex;min-width:0;flex:0 1 auto;align-items:center;gap:.625rem;color:var(--color-warm-champagne);text-decoration:none}.site-header__logo{width:2.5rem;height:2.5rem;flex:0 0 2.5rem;object-fit:contain}.site-header__brand-copy{display:grid;min-width:0;gap:.1rem}.site-header__brand-name,.site-header__mobile-brand{font-family:var(--font-heading);font-size:1.45rem;font-weight:600;letter-spacing:.025em;line-height:1;white-space:nowrap}.site-header__brand-tagline,.site-header__mobile-tagline,.site-header__mobile-kicker{font-size:.56rem;font-weight:600;letter-spacing:.14em;line-height:1.25;text-transform:uppercase;white-space:nowrap}.site-header__brand-tagline,.site-header__mobile-tagline{color:var(--color-muted-linen)}.site-header__nav{min-width:0;flex:1}.site-header__nav-list,.site-header__mobile-full-nav{margin:0;padding:0;list-style:none}.site-header__nav-list{display:flex;min-width:0;align-items:center;justify-content:center;gap:.4rem}.site-header__nav-list li,.site-header__nav-list .site-header__nav-list a{display:inline-flex;min-height:2.25rem;align-items:center;padding:.45rem .52rem;border:1px solid transparent;color:var(--color-soft-linen);font-size:.65rem;font-weight:600;letter-spacing:.105em;line-height:1;text-decoration:none;text-transform:uppercase;white-space:nowrap;transition:border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.site-header__nav-list a:hover,.site-header__nav-list a[aria-current="page"]{border-color:var(--color-antique-bronze);color:var(--color-warm-champagne);box-shadow:0 0 .9rem rgba(230,200,146,.12)}.site-header__cta{width:auto;flex:0 0 auto;min-height:2.5rem;padding:.65rem .8rem;font-size:.63rem;white-space:nowrap}.site-header__toggle,.site-header__mobile-masthead,.site-header__mobile-full-nav,.site-header__mobile-cta{display:none}.site-header.is-condensed{position:sticky;top:0;min-height:4.25rem;background:var(--color-smoked-glass);box-shadow:var(--shadow-floating);backdrop-filter:blur(14px)}.site-header.is-condensed .site-header__frame{border-color:var(--color-border)}.site-header.is-condensed .site-header__inner{padding-block:.5rem}.site-header.is-condensed .site-header__logo{width:2.1rem;height:2.1rem;flex-basis:2.1rem}.site-header.is-condensed .site-header__brand-tagline{display:none}@media (max-width:74.9375rem){.site-header{min-height:4.75rem}.site-header__inner{padding-block:.65rem}.site-header__toggle{display:inline-flex;min-width:2.75rem;min-height:2.75rem;flex:0 0 auto;align-items:center;justify-content:center;gap:.45rem;border:1px solid var(--color-border);border-radius:var(--radius-control);background:transparent;color:var(--color-soft-linen);font-size:.62rem;font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase}.site-header__toggle-lines{display:grid;width:1rem;gap:.2rem}.site-header__toggle-lines span{display:block;width:100%;height:1px;background:currentColor;transition:transform var(--transition-fast),opacity var(--transition-fast)}.site-header__toggle[aria-expanded="true"] .site-header__toggle-lines span:first-child{transform:translateY(.28rem) rotate(45deg)}.site-header__toggle[aria-expanded="true"] .site-header__toggle-lines span:nth-child(2){opacity:0}.site-header__toggle[aria-expanded="true"] .site-header__toggle-lines span:last-child{transform:translateY(-.28rem) rotate(-45deg)}.site-header__cta{display:none}.site-header__nav{position:fixed;z-index:110;top:0;right:0;bottom:0;left:0;display:flex;min-height:100dvh;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;padding:6.5rem var(--gutter) var(--space-6);background:linear-gradient(135deg,rgba(16,43,49,.98),rgba(33,23,19,.99));opacity:0;pointer-events:none;transform:translateX(100%);transition:transform var(--transition-slow),opacity var(--transition-base)}.site-header__nav.is-open{opacity:1;pointer-events:auto;transform:translateX(0)}.site-header__mobile-masthead{display:grid;gap:.35rem;padding:0 0 var(--space-5);border-bottom:1px solid var(--color-border)}.site-header__mobile-kicker{color:var(--color-antique-bronze)}.site-header__mobile-brand{font-size:clamp(2.2rem,10vw,3.5rem);color:var(--color-warm-champagne)}.site-header__nav-list{display:grid;gap:.65rem;padding-block:var(--space-5)}.site-header__nav-list a{display:flex;min-height:3.75rem;align-items:center;justify-content:space-between;padding:var(--space-4);border-color:var(--color-border);background:rgba(242,235,221,.025);font-size:clamp(.8rem,3vw,1rem);letter-spacing:var(--tracking-label)}.site-header__nav-list a::after{content:"→";color:var(--color-antique-bronze);font-size:1.25em}.site-header__mobile-full-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid var(--color-border);background:var(--color-border)}.site-header__mobile-full-nav a{display:flex;min-height:3.5rem;align-items:center;padding:var(--space-3);background:var(--color-midnight-petrol);color:var(--color-muted-linen);font-size:.66rem;font-weight:600;letter-spacing:var(--tracking-label);text-decoration:none;text-transform:uppercase}.site-header__mobile-cta{display:inline-flex;width:auto;margin-top:var(--space-5)}.site-header__toggle{position:relative;z-index:120;margin-left:auto}.site-header.is-condensed{position:sticky}}@media (max-width:35rem){.site-header__brand-tagline{display:none}.site-header__brand-name{font-size:1.25rem}.site-header__logo{width:2.125rem;height:2.125rem;flex-basis:2.125rem}.site-header__toggle-label{display:none}.site-header__toggle{gap:0}.site-header__mobile-full-nav{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.site-header,.site-header__nav,.site-header__toggle-lines span{transition:none}}


.site-footer{background:var(--color-espresso-brown);color:var(--color-soft-linen)}.site-footer__container{width:min(100% - (var(--gutter) * 2),var(--container-max));margin-inline:auto}.site-footer__plan{position:relative;overflow:hidden;padding-block:clamp(var(--space-8),11vw,var(--space-10));background:var(--color-espresso-brown)}.site-footer__plan::before{position:absolute;inset:0;background:linear-gradient(120deg,rgba(16,43,49,.25),transparent 52%);content:"";pointer-events:none}.site-footer__plan-grid{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(var(--space-7),8vw,var(--space-10))}.site-footer__intro{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-5)}.site-footer__intro>*{margin:0}.site-footer__eyebrow,.site-footer__link-heading,.site-consent__eyebrow{color:var(--color-antique-bronze);font-size:var(--font-size-micro);font-weight:600;letter-spacing:var(--tracking-micro);text-transform:uppercase}.site-footer__statement{max-width:8ch;color:var(--color-warm-champagne);font-family:var(--font-heading);font-size:clamp(3.8rem,8vw,8rem);font-weight:500;letter-spacing:-.055em;line-height:.82}.site-footer__copy{max-width:35rem;color:var(--color-muted-linen)}.site-footer__cta{width:auto}.site-footer__map {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,6.25rem);gap:.35rem;padding:.35rem;border:1px solid var(--color-border);background:rgba(16,43,49,.18)}.site-footer__room{position:relative;display:flex;min-width:0;align-items:flex-end;padding:.7rem;border:1px solid rgba(230,200,146,.38);background:rgba(16,43,49,.32);color:var(--color-soft-linen);font-size:.59rem;font-weight:600;letter-spacing:.12em;overflow:hidden;text-decoration:none;text-transform:uppercase}.site-footer__room::before{position:absolute;top:.5rem;left:.5rem;width:.4rem;height:.4rem;border:1px solid var(--color-antique-bronze);border-radius:50%;box-shadow:0 0 .55rem rgba(230,200,146,.7);content:""}.site-footer__room span{position:relative;z-index:1}.site-footer__room i{position:absolute;width:1.1rem;height:1.1rem;border:1px solid rgba(230,200,146,.45);border-radius:50%}.site-footer__room b{position:absolute;width:.3rem;height:.65rem;background:rgba(230,200,146,.42)}.site-footer__room:hover{border-color:var(--color-warm-champagne);background:rgba(168,121,75,.2);color:var(--color-warm-champagne)}.site-footer__room--dining{grid-row:span 2}.site-footer__room--dining i:first-of-type{top:35%;left:35%}.site-footer__room--dining i:last-of-type{right:20%;bottom:24%}.site-footer__room--kitchen{grid-column:span 2}.site-footer__room--kitchen b:nth-of-type(1){top:1rem;right:1rem}.site-footer__room--kitchen b:nth-of-type(2){top:1rem;right:1.7rem}.site-footer__room--kitchen b:nth-of-type(3){top:1rem;right:2.4rem}.site-footer__room--bar{grid-column:span 1}.site-footer__room--bar i{top:1rem}.site-footer__room--bar i:nth-of-type(1){left:1rem}.site-footer__room--bar i:nth-of-type(2){left:2.5rem}.site-footer__room--bar i:nth-of-type(3){left:4rem}.site-footer__room--poker{grid-column:span 2}.site-footer__room--poker i,.site-footer__room--roulette i,.site-footer__room--blackjack i{top:1rem;right:1rem}.site-footer__room--roulette{grid-column:span 1}.site-footer__room--blackjack{grid-column:span 1}.site-footer__room--gallery{grid-column:span 2}.site-footer__room--contact{grid-column:span 2}.site-footer__contact{position:relative;display:flex;flex-wrap:wrap;gap:.55rem;margin:var(--space-7) 0 0;padding-top:var(--space-5);border-top:1px solid var(--color-border);color:var(--color-muted-linen);font-size:var(--font-size-meta);font-style:normal;line-height:1.6}.site-footer__contact a{color:var(--color-soft-linen)}.site-footer__links{padding-block:var(--space-7);border-top:1px solid var(--color-border);background:var(--color-dark-emperador)}.site-footer__links-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}.site-footer__links nav{display:grid;gap:var(--space-3)}.site-footer__links ul{display:grid;gap:.4rem;margin:0;padding:0;list-style:none}.site-footer__links li,.site-footer__links .site-footer__links a{color:var(--color-soft-linen);font-size:var(--font-size-meta);text-decoration:none}.site-footer__legal{padding-block:var(--space-4);background:var(--color-midnight-petrol);color:var(--color-muted-linen);font-size:var(--font-size-micro);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.site-footer__legal-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3)}.site-footer__legal nav{display:flex;flex-wrap:wrap;gap:var(--space-4)}.site-footer__legal a{text-decoration:none}.site-consent{position:fixed;z-index:200;right:var(--gutter);bottom:var(--gutter);left:var(--gutter);max-width:48rem;margin-inline:auto;border:1px solid var(--color-border);background:var(--color-smoked-glass);box-shadow:var(--shadow-deep);backdrop-filter:blur(14px);color:var(--color-soft-linen);transition:opacity var(--transition-base),transform var(--transition-base)}.site-consent[hidden]{display:none}.site-consent.is-hiding{opacity:0;transform:translateY(1rem)}.site-consent__inner{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);padding:var(--space-5)}.site-consent__copy{display:grid;gap:var(--space-2)}.site-consent__copy>*{margin:0}.site-consent__copy h2{font-size:1.7rem}.site-consent__copy p {color:var(--color-muted-linen);font-size:var(--font-size-meta);line-height:1.55}.site-consent__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.site-consent__button{min-height:2.75rem;padding:.65rem .85rem;border:1px solid var(--color-antique-bronze);border-radius:var(--radius-control);background:transparent;color:var(--color-soft-linen);font-size:.68rem;font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase}.site-consent__button--accept{background:var(--color-antique-bronze);color:var(--color-espresso-brown)}.site-consent__button:hover{border-color:var(--color-warm-champagne);box-shadow:0 0 1rem rgba(230,200,146,.15)}.site-consent__actions a{align-self:center;color:var(--color-muted-linen);font-size:var(--font-size-micro)}@media (max-width:47.9375rem){.site-footer__plan-grid{grid-template-columns:1fr}.site-footer__statement{max-width:9ch;font-size:clamp(3.9rem,18vw,6.25rem)}.site-footer__map {grid-template-rows:repeat(4,5.5rem)}.site-footer__room--dining{grid-row:span 1;grid-column:span 2}.site-footer__room--kitchen{grid-column:span 2}.site-footer__room--bar{grid-column:span 2}.site-footer__room--poker,.site-footer__room--roulette,.site-footer__room--blackjack{grid-column:span 2}.site-footer__links-grid{grid-template-columns:1fr;gap:var(--space-5)}.site-footer__legal-inner{flex-direction:column}.site-consent{right:var(--space-3);bottom:var(--space-3);left:var(--space-3)}.site-consent__inner{flex-direction:column;align-items:stretch}.site-consent__actions{justify-content:stretch}.site-consent__button{flex:1 1 8rem}}@media (prefers-reduced-motion:reduce){.site-consent{transition:none}}


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

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

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

.cookie-policy-page__intro-grid,
.cookie-policy-page__plain-grid,
.cookie-policy-page__uses-grid,
.cookie-policy-page__choices-grid,
.cookie-policy-page__further-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-4);
}

.cookie-policy-page__intro-copy {
  grid-column: 2 / span 6;
  min-width: 0;
}

.cookie-policy-page__intro-copy .eyebrow {
  margin-bottom: var(--space-4);
}

.cookie-policy-page__intro-copy h1 {
  max-width: 11ch;
}

.cookie-policy-page__intro-copy > .lead {
  max-width: 64ch;
  margin-bottom: var(--space-6);
}

.cookie-policy-page__scope-note {
  max-width: 68ch;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
  color: var(--color-muted-linen);
}

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

.cookie-policy-page__intro-rule {
  grid-column: 12;
  width: 1px;
  min-width: 1px;
  height: 100%;
  justify-self: end;
  background: var(--color-border);
}

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

.cookie-policy-page__plain-copy {
  grid-column: 2 / span 7;
  min-width: 0;
  color: var(--color-espresso-brown);
}

.cookie-policy-page__plain-copy .eyebrow {
  margin-bottom: var(--space-4);
}

.cookie-policy-page__plain-copy h2 {
  max-width: 18ch;
  margin-bottom: var(--space-7);
}

.cookie-policy-page__definition,
.cookie-policy-page__similar {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(2.5rem, 0.75fr) minmax(0, 1fr);
  gap: var(--space-4);
}

.cookie-policy-page__definition > *,
.cookie-policy-page__similar > * {
  min-width: 0;
}

.cookie-policy-page__similar {
  margin-top: var(--space-6);
  padding-top: var(--space-6);
  border-top: 1px solid rgba(33, 23, 19, 0.28);
}

.cookie-policy-page__index {
  color: var(--color-antique-bronze);
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
}

.cookie-policy-page__plain-copy h3 {
  max-width: 24ch;
  margin-bottom: var(--space-3);
  color: var(--color-espresso-brown);
}

.cookie-policy-page__plain-copy p {
  margin-bottom: 0;
}

.cookie-policy-page__context-callout {
  grid-column: 8 / span 5;
  align-self: end;
  min-width: 0;
  margin-top: var(--space-9);
  padding: var(--space-6);
  border: 1px solid rgba(230, 200, 146, 0.34);
  background: var(--color-dark-emperador);
  color: var(--color-soft-linen);
}

.cookie-policy-page__context-callout .eyebrow {
  margin-bottom: var(--space-3);
}

.cookie-policy-page__context-callout p {
  margin-bottom: 0;
}

.cookie-policy-page__uses {
  padding-block: clamp(var(--space-9), 10vw, 7rem);
}

.cookie-policy-page__section-heading {
  grid-column: 2 / span 6;
  min-width: 0;
}

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

.cookie-policy-page__section-heading h2 {
  max-width: 20ch;
  margin-bottom: 0;
}

.cookie-policy-page__purpose {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border-top: 1px solid var(--color-border);
}

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

.cookie-policy-page__purpose .label {
  color: var(--color-antique-bronze);
}

.cookie-policy-page__purpose-number {
  color: var(--color-antique-bronze);
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
}

.cookie-policy-page__purpose h3 {
  max-width: 21ch;
}

.cookie-policy-page__purpose p {
  }

.cookie-policy-page__purpose--essential {
  grid-column: 2 / span 5;
  margin-top: var(--space-7);
}

.cookie-policy-page__purpose--preferences {
  grid-column: 8 / span 5;
  margin-top: var(--space-7);
  border: 1px solid var(--color-border-subtle);
  background: var(--color-dark-emperador);
}

.cookie-policy-page__purpose--performance {
  grid-column: 2 / span 7;
  margin-top: var(--space-6);
}

.cookie-policy-page__purpose--performance p {
  }

.cookie-policy-page__purpose--third-party {
  grid-column: 9 / span 4;
  align-self: stretch;
  margin-top: var(--space-6);
  border: 1px solid var(--color-border);
  background: var(--color-midnight-petrol);
}

.cookie-policy-page__purpose--third-party h3 {
  max-width: 18ch;
}

.cookie-policy-page__purpose--third-party p {
  }

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

.cookie-policy-page__choices .cookie-policy-page__section-heading {
  color: var(--color-espresso-brown);
}

.cookie-policy-page__choices .cookie-policy-page__section-heading h2 {
  color: var(--color-espresso-brown);
}

.cookie-policy-page__choice-block {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-top: var(--space-7);
  color: var(--color-espresso-brown);
}

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

.cookie-policy-page__choice-block h3 {
  max-width: 21ch;
  color: var(--color-espresso-brown);
}

.cookie-policy-page__choice-block p {
  }

.cookie-policy-page__choice-block--site {
  grid-column: 2 / span 5;
}

.cookie-policy-page__choice-block--browser {
  grid-column: 8 / span 5;
  padding-left: var(--space-6);
  border-left: 1px solid rgba(33, 23, 19, 0.34);
}

.cookie-policy-page__direction {
  color: var(--color-antique-bronze);
  font-size: 1.4rem;
  line-height: 1;
}

.cookie-policy-page__limited-note {
  grid-column: 2 / span 6;
  min-width: 0;
  margin-top: var(--space-7);
  padding: var(--space-6);
  background: var(--color-midnight-petrol);
  color: var(--color-soft-linen);
}

.cookie-policy-page__limited-note .eyebrow {
  margin-bottom: var(--space-3);
}

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

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

.cookie-policy-page__further-primary {
  grid-column: 2 / span 7;
  min-width: 0;
}

.cookie-policy-page__further-primary .eyebrow {
  margin-bottom: var(--space-4);
}

.cookie-policy-page__further-primary h2 {
  max-width: 18ch;
  margin-bottom: var(--space-7);
}

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

.cookie-policy-page__privacy-module p {
  margin-bottom: 0;
}

.cookie-policy-page__privacy-module a,
.cookie-policy-page__enquiry-strip a,
.cookie-policy-page__closing-inner a {
  color: var(--color-warm-champagne);
  font-weight: 600;
  overflow-wrap: anywhere;
}

.cookie-policy-page__further-side {
  display: flex;
  min-width: 0;
  grid-column: 9 / span 4;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
}

.cookie-policy-page__further-side > * {
  min-width: 0;
}

.cookie-policy-page__external-module {
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  background: var(--color-dark-emperador);
}

.cookie-policy-page__external-module h3 {
  max-width: 18ch;
  margin-bottom: var(--space-3);
}

.cookie-policy-page__external-module p {
  margin-bottom: 0;
}

.cookie-policy-page__enquiry-strip {
  padding: var(--space-5);
  border-left: 3px solid var(--color-ruby-garnet);
  background: var(--color-ruby-garnet);
}

.cookie-policy-page__enquiry-strip .eyebrow {
  margin-bottom: var(--space-3);
  color: var(--color-warm-champagne);
}

.cookie-policy-page__enquiry-strip p {
  margin-bottom: 0;
}

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

.cookie-policy-page__closing-inner {
  display: flex;
  width: min(100%, 47rem);
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  margin-inline: auto;
  text-align: center;
}

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

.cookie-policy-page__closing-inner h2 {
  max-width: 14ch;
}

.cookie-policy-page__closing-inner p {
  }

@media (max-width: 65rem) {
  .cookie-policy-page__intro-copy {
    grid-column: 2 / span 8;
  }

  .cookie-policy-page__purpose--essential {
    grid-column: 2 / span 6;
  }

  .cookie-policy-page__purpose--preferences {
    grid-column: 8 / span 5;
  }

  .cookie-policy-page__purpose--performance {
    grid-column: 2 / span 7;
  }

  .cookie-policy-page__purpose--third-party {
    grid-column: 9 / span 4;
  }
}

@media (max-width: 61.25rem) {
  .cookie-policy-page__plain-grid,
  .cookie-policy-page__further-grid {
    row-gap: var(--space-6);
  }

  .cookie-policy-page__context-callout {
    grid-column: 2 / span 7;
    margin-top: 0;
  }

  .cookie-policy-page__further-primary {
    grid-column: 2 / span 8;
  }

  .cookie-policy-page__further-side {
    grid-column: 2 / span 7;
  }
}

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

  .cookie-policy-page__intro-rule {
    grid-column: 2 / span 10;
    width: 100%;
    min-width: 0;
    height: 1px;
    margin-top: var(--space-6);
  }

  .cookie-policy-page__uses-grid,
  .cookie-policy-page__choices-grid {
    row-gap: var(--space-6);
  }

  .cookie-policy-page__purpose--essential,
  .cookie-policy-page__purpose--preferences,
  .cookie-policy-page__purpose--performance,
  .cookie-policy-page__purpose--third-party {
    grid-column: 2 / span 10;
    margin-top: 0;
  }

  .cookie-policy-page__choice-block--site,
  .cookie-policy-page__choice-block--browser {
    grid-column: 2 / span 8;
    margin-top: 0;
  }

  .cookie-policy-page__choice-block--browser {
    padding-top: var(--space-6);
    padding-left: 0;
    border-top: 1px solid rgba(33, 23, 19, 0.34);
    border-left: 0;
  }

  .cookie-policy-page__limited-note {
    grid-column: 2 / span 8;
    margin-top: 0;
  }
}

@media (max-width: 47.9375rem) {
  .cookie-policy-page__intro,
  .cookie-policy-page__plain-language,
  .cookie-policy-page__uses,
  .cookie-policy-page__choices,
  .cookie-policy-page__further {
    padding-block: var(--space-8);
  }

  .cookie-policy-page__closing {
    padding-block: 4.5rem;
  }

  .cookie-policy-page__intro-grid,
  .cookie-policy-page__plain-grid,
  .cookie-policy-page__uses-grid,
  .cookie-policy-page__choices-grid,
  .cookie-policy-page__further-grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-6);
  }

  .cookie-policy-page__intro-copy,
  .cookie-policy-page__plain-copy,
  .cookie-policy-page__context-callout,
  .cookie-policy-page__section-heading,
  .cookie-policy-page__purpose--essential,
  .cookie-policy-page__purpose--preferences,
  .cookie-policy-page__purpose--performance,
  .cookie-policy-page__purpose--third-party,
  .cookie-policy-page__choice-block--site,
  .cookie-policy-page__choice-block--browser,
  .cookie-policy-page__limited-note,
  .cookie-policy-page__further-primary,
  .cookie-policy-page__further-side {
    grid-column: 1;
  }

  .cookie-policy-page__intro-copy h1 {
    max-width: 12ch;
    font-size: clamp(2.75rem, 13vw, 3.5rem);
  }

  .cookie-policy-page__intro-copy > .lead,
  .cookie-policy-page__scope-note,
  .cookie-policy-page__plain-copy p,
  .cookie-policy-page__context-callout p,
  .cookie-policy-page__purpose p,
  .cookie-policy-page__choice-block p,
  .cookie-policy-page__limited-note p,
  .cookie-policy-page__privacy-module p,
  .cookie-policy-page__external-module p,
  .cookie-policy-page__enquiry-strip p {
  }

  .cookie-policy-page__intro-rule {
    grid-column: 1;
    margin-top: 0;
  }

  .cookie-policy-page__plain-copy h2,
  .cookie-policy-page__section-heading h2,
  .cookie-policy-page__further-primary h2 {
    font-size: clamp(2rem, 9vw, 2.5rem);
  }

  .cookie-policy-page__context-callout {
    margin-top: 0;
  }

  .cookie-policy-page__definition,
  .cookie-policy-page__similar {
    grid-template-columns: minmax(2rem, 0.5fr) minmax(0, 1fr);
  }

  .cookie-policy-page__purpose,
  .cookie-policy-page__limited-note,
  .cookie-policy-page__context-callout {
    padding: var(--space-5);
  }

  .cookie-policy-page__purpose--preferences,
  .cookie-policy-page__purpose--third-party {
    background: var(--color-dark-emperador);
  }

  .cookie-policy-page__choice-block--browser {
    padding-top: var(--space-5);
  }

  .cookie-policy-page__further-side {
    gap: var(--space-5);
  }

  .cookie-policy-page__closing-inner {
    width: 100%;
  }
}


.contact-page {
  background: var(--color-espresso-brown);
}

.contact-page .eyebrow,
.contact-page .micro-label {
  margin-bottom: var(--space-4);
}

.contact-hero {
  position: relative;
  min-height: 45rem;
  overflow: hidden;
  background: var(--color-midnight-petrol);
}

.contact-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(90deg, rgba(16, 43, 49, 0.94) 0%, rgba(16, 43, 49, 0.77) 31%, rgba(16, 43, 49, 0.18) 59%, rgba(16, 43, 49, 0.04) 100%), url('/src/media/contact-reception-key-card.webp');
  background-position: center, center;
  background-size: cover;
}

.contact-hero__content {
  position: relative;
  z-index: 1;
  display: flex;
  width: min(100% - (var(--gutter) * 2), var(--container-max));
  min-width: 0;
  min-height: 45rem;
  margin-inline: auto;
  padding-block: var(--space-10);
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--space-5);
}

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

.contact-hero h1 {
  width: min(100%, 10ch);
  font-size: clamp(3.5rem, 6.2vw, 5.5rem);
}

.contact-hero__lead {
  width: min(100%, 32rem);
  font-size: var(--font-size-lead);
  line-height: var(--line-height-lead);
}

.contact-hero__cta {
  width: auto;
}

.contact-direct__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 4fr) minmax(0, 6fr) minmax(0, 2fr);
  gap: var(--space-7);
  align-items: center;
}

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

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

.contact-direct__intro h2 {
  width: min(100%, 18ch);
}

.contact-direct__intro p {
  width: min(100%, 29rem);
}

.contact-keycard {
  position: relative;
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 31rem;
  padding: clamp(var(--space-5), 5vw, var(--space-8));
  overflow: hidden;
  border: 1px solid rgba(230, 200, 146, 0.58);
  background: linear-gradient(125deg, #c49c69 0%, #8b603d 24%, #d6b47e 48%, #805938 76%, #bd9260 100%);
  box-shadow: inset 0 0 0 1px rgba(33, 23, 19, 0.28), inset 0 0 3rem rgba(33, 23, 19, 0.2), var(--shadow-deep);
  color: var(--color-espresso-brown);
  flex-direction: column;
  gap: var(--space-7);
}

.contact-keycard::before {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(0deg, rgba(242, 235, 221, 0.1) 0, rgba(242, 235, 221, 0.1) 1px, transparent 1px, transparent 4px);
  content: '';
  opacity: 0.35;
  pointer-events: none;
}

.contact-keycard > * {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.contact-keycard__topline {
  display: flex;
  min-width: 0;
  justify-content: space-between;
  gap: var(--space-4);
  border-bottom: 1px solid rgba(33, 23, 19, 0.45);
  padding-bottom: var(--space-4);
  font-size: var(--font-size-micro);
  font-weight: 600;
  letter-spacing: var(--tracking-micro);
  line-height: 1.45;
}

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

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

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

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

.contact-keycard__label {
  font-size: var(--font-size-micro);
  font-weight: 600;
  letter-spacing: var(--tracking-micro);
  line-height: 1.45;
}

.contact-keycard a,
.contact-keycard address {
  width: 100%;
  color: var(--color-espresso-brown);
  font-family: var(--font-heading);
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
  font-style: normal;
  font-weight: 500;
  line-height: 1.05;
  overflow-wrap: anywhere;
  text-decoration-color: rgba(33, 23, 19, 0.52);
}

.contact-keycard a:hover {
  color: var(--color-midnight-petrol);
  text-decoration-color: var(--color-midnight-petrol);
}

.contact-keycard__line p {
  width: min(100%, 35rem);
  font-size: 0.8125rem;
  line-height: 1.5;
}

.contact-direct__rail {
  display: flex;
  min-width: 0;
  height: 100%;
  align-items: flex-start;
  gap: var(--space-4);
  color: var(--color-antique-bronze);
  font-size: var(--font-size-micro);
  font-weight: 600;
  letter-spacing: var(--tracking-micro);
  line-height: 1.5;
  text-transform: uppercase;
}

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

.contact-direct__rail i {
  width: 1px;
  height: 100%;
  min-height: 12rem;
  background: var(--color-border);
}

.contact-form-section {
  color: var(--color-espresso-brown);
}

.contact-form-section .eyebrow {
  color: #715031;
}

.contact-form-section__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--space-8);
  align-items: start;
}

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

.contact-form-section__intro h2 {
  width: min(100%, 17ch);
}

.contact-form-section__intro p {
  width: min(100%, 34rem);
}

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

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

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

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

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

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

.contact-field label {
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
  line-height: 1.45;
  text-transform: uppercase;
}

.contact-field__optional,
.contact-field__help {
  font-size: var(--font-size-micro);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.45;
  text-transform: none;
}

.contact-field__optional {
  color: #715031;
}

.contact-field__help {
  color: #624832;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  min-height: 2.75rem;
  border-color: rgba(73, 53, 45, 0.65);
  border-radius: 0;
  background: rgba(242, 235, 221, 0.5);
  color: var(--color-espresso-brown);
}

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

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: var(--color-antique-bronze);
  outline: 2px solid var(--color-warm-champagne);
  outline-offset: 3px;
}

.contact-form input[aria-invalid='true'],
.contact-form select[aria-invalid='true'],
.contact-form textarea[aria-invalid='true'] {
  border-width: 2px;
  border-color: var(--color-ruby-garnet);
}

.contact-field__error {
  display: none;
  color: #651d27;
  font-size: var(--font-size-micro);
  font-weight: 600;
  line-height: 1.45;
}

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

.contact-form__submit {
  display: flex;
  width: 100%;
  min-width: 0;
  margin-top: var(--space-6);
  padding-top: var(--space-6);
  border-top: 1px solid rgba(73, 53, 45, 0.38);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

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

.contact-form__submit .button-primary {
  width: auto;
}

.contact-form__submit p {
  width: min(100%, 32rem);
  color: #624832;
  font-size: var(--font-size-meta);
  line-height: 1.55;
}

.contact-form__status {
  color: var(--color-espresso-brown) !important;
  font-weight: 600;
}

.contact-routes__intro {
  width: min(100%, 41rem);
  min-width: 0;
  margin-bottom: var(--space-8);
}

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

.contact-routes__list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border-top: 1px solid var(--color-border);
}

.contact-route {
  display: grid;
  width: 100%;
  min-width: 0;
  padding: var(--space-6) 0;
  border: 0;
  border-bottom: 1px solid var(--color-border);
  background: transparent;
  color: var(--color-soft-linen);
  grid-template-columns: 3rem minmax(0, 0.95fr) minmax(0, 1.55fr);
  gap: var(--space-6);
  text-align: left;
  transition: background-color var(--transition-base), color var(--transition-base), padding-inline var(--transition-base);
}

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

.contact-route:hover,
.contact-route:focus-visible {
  padding-inline: var(--space-4);
  background: rgba(230, 200, 146, 0.06);
  color: var(--color-warm-champagne);
}

.contact-route__index {
  color: var(--color-antique-bronze);
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
  line-height: 1.5;
}

.contact-route__title {
  color: var(--color-warm-champagne);
  font-family: var(--font-heading);
  font-size: clamp(1.65rem, 2.6vw, 2.35rem);
  font-weight: 500;
  line-height: 1.02;
}

.contact-route__title small {
  display: block;
  margin-bottom: var(--space-2);
  color: var(--color-antique-bronze);
  font-family: var(--font-body);
  font-size: var(--font-size-micro);
  font-weight: 600;
  letter-spacing: var(--tracking-micro);
  line-height: 1.45;
}

.contact-route__copy {
  width: min(100%, 42ch);
  color: var(--color-muted-linen);
  font-size: 0.9375rem;
  line-height: 1.6;
}

.contact-route--emperador {
  padding-inline: var(--space-5);
  background: rgba(73, 53, 45, 0.45);
}

.contact-route--lounge {
  border-left: 3px solid var(--color-ruby-garnet);
  padding-left: var(--space-5);
}

.contact-location__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 6fr) minmax(0, 4fr);
  justify-content: space-between;
  gap: var(--space-8);
  align-items: center;
}

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

.contact-location__content h2 {
  width: min(100%, 19ch);
}

.contact-location__content address {
  width: min(100%, 35rem);
  margin-bottom: var(--space-5);
  color: var(--color-warm-champagne);
  font-family: var(--font-heading);
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  font-style: normal;
  font-weight: 500;
  line-height: 1.1;
}

.contact-location__content p {
  width: min(100%, 32rem);
}

.contact-location__linework {
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: 18rem;
  border: 1px solid var(--color-border);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
  padding: var(--space-4);
}

.contact-location__linework > * {
  min-width: 0;
  border: 1px solid rgba(168, 121, 75, 0.55);
}

.contact-location__linework > :nth-child(1) { grid-column: 1 / 3; grid-row: 1 / 3; }
.contact-location__linework > :nth-child(2) { grid-column: 3 / 5; grid-row: 1 / 2; }
.contact-location__linework > :nth-child(3) { grid-column: 3 / 4; grid-row: 2 / 5; }
.contact-location__linework > :nth-child(4) { grid-column: 1 / 3; grid-row: 3 / 5; }
.contact-location__linework > :nth-child(5) { grid-column: 4 / 5; grid-row: 2 / 5; }

.contact-closing__panel {
  display: flex;
  width: min(100%, 38.75rem);
  min-width: 0;
  margin-inline: auto;
  padding: clamp(var(--space-8), 8vw, var(--space-9));
  border: 1px solid var(--color-border);
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
}

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

.contact-closing h2 {
  width: min(100%, 14ch);
  font-size: clamp(2.4rem, 4vw, 3.7rem);
}

.contact-closing p {
  width: min(100%, 32rem);
}

.contact-closing__cta {
  width: auto;
}

@media (max-width: 63.9375rem) {
  .contact-direct__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: var(--space-6);
  }

  .contact-direct__rail {
    display: none;
  }

  .contact-hero__content {
    min-height: 48rem;
  }
}

@media (max-width: 59.9375rem) {
  .contact-form-section__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-7);
  }

  .contact-form-section__intro p {
    width: min(100%, 38rem);
  }

  .contact-location__linework {
    display: none;
  }

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

@media (max-width: 56.1875rem) {
  .contact-route {
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: var(--space-4);
  }

  .contact-route__copy {
    grid-column: 1 / -1;
    width: min(100%, 44rem);
    padding-left: 3rem;
  }
}

@media (max-width: 47.9375rem) {
  .contact-hero {
    display: flex;
    min-height: 0;
    flex-direction: column;
  }

  .contact-hero__image {
    position: relative;
    inset: auto;
    min-height: 31rem;
    background-image: url('/src/media/contact-reception-key-card.webp');
    background-position: 62% center;
  }

  .contact-hero__content {
    width: 100%;
    min-height: 0;
    padding: var(--space-7) var(--gutter) var(--space-8);
    background: var(--color-midnight-petrol);
  }

  .contact-hero h1 {
    width: min(100%, 11ch);
    font-size: clamp(2.75rem, 12vw, 3.5rem);
  }

  .contact-hero__lead {
    width: min(100%, 31rem);
    font-size: 1rem;
  }

  .contact-hero__cta,
  .contact-closing__cta,
  .contact-form__submit .button-primary {
    width: 100%;
    min-height: 3rem;
  }

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

  .contact-direct__intro h2,
  .contact-direct__intro p {
    width: min(100%, 34rem);
  }

  .contact-keycard {
    min-height: 23.75rem;
    padding: var(--space-5);
    gap: var(--space-5);
  }

  .contact-keycard a,
  .contact-keycard address {
    font-size: 1.45rem;
  }

  .contact-keycard__line p {
    font-size: 0.75rem;
  }

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

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

  .contact-field--date,
  .contact-field--message {
    grid-column: auto;
  }

  .contact-form__submit {
    align-items: stretch;
  }

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

  .contact-route,
  .contact-route--emperador,
  .contact-route--lounge {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
    padding: var(--space-5) 0;
  }

  .contact-route--emperador {
    padding-inline: var(--space-4);
  }

  .contact-route--lounge {
    padding-left: var(--space-4);
  }

  .contact-route__copy {
    grid-column: auto;
    width: min(100%, 42ch);
    padding-left: 0;
  }

  .contact-route:hover,
  .contact-route:focus-visible {
    padding-inline: var(--space-3);
  }

  .contact-location__content h2 {
    width: min(100%, 20ch);
    font-size: clamp(2.1rem, 10vw, 2.6rem);
  }

  .contact-location__content address {
    width: 100%;
    font-size: clamp(1.75rem, 8vw, 2rem);
  }

  .contact-closing__panel {
    width: 100%;
    padding: var(--space-7) var(--space-5);
  }
}

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


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

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

.privacy-hero {
  padding-block: var(--space-10) var(--space-9);
}

.privacy-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  column-gap: var(--space-7);
}

.privacy-hero__content,
.privacy-hero__open-field {
  min-width: 0;
}

.privacy-hero__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  max-width: 48rem;
  padding-left: var(--space-5);
  border-left: 1px solid var(--color-antique-bronze);
}

.privacy-hero__content h1,
.privacy-hero__content p {
  margin: 0;
}

.privacy-hero__content h1 {
  font-size: clamp(2.75rem, 6vw, 4rem);
}

.privacy-hero__lead {
  max-width: 40rem;
  color: var(--color-soft-linen);
  font-size: var(--font-size-lead);
  line-height: var(--line-height-lead);
}

.privacy-hero__scope {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3) var(--space-5);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
  color: var(--color-muted-linen);
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
  line-height: 1.5;
  text-transform: uppercase;
}

.privacy-hero__scope > span {
  min-width: 0;
}

.privacy-hero__note {
  max-width: 38rem;
  color: var(--color-muted-linen);
}

.privacy-hero__open-field {
  min-height: 16rem;
  border-right: 1px solid rgba(230, 200, 146, 0.16);
  background: linear-gradient(180deg, transparent, rgba(230, 200, 146, 0.035));
}

.privacy-guide {
  padding-block: var(--space-8);
  color: var(--color-espresso-brown);
}

.privacy-guide .eyebrow {
  color: var(--color-dark-emperador);
}

.privacy-guide__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 7fr);
  gap: var(--space-7);
}

.privacy-guide__intro,
.privacy-guide__index {
  min-width: 0;
}

.privacy-guide__intro {
  padding-right: var(--space-6);
  border-right: 1px solid rgba(73, 53, 45, 0.4);
}

.privacy-guide__intro h2,
.privacy-guide__intro p {
  margin-bottom: 0;
}

.privacy-guide__intro {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
}

.privacy-guide__index {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.privacy-guide__link {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) auto;
  min-width: 0;
  min-height: 4.5rem;
  align-items: center;
  gap: var(--space-4);
  padding-block: var(--space-3);
  border-bottom: 1px solid rgba(73, 53, 45, 0.34);
  color: var(--color-espresso-brown);
  text-decoration: none;
  transition: color var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);
}

.privacy-guide__link:first-child {
  border-top: 1px solid rgba(73, 53, 45, 0.34);
}

.privacy-guide__link:hover,
.privacy-guide__link.is-active {
  border-color: var(--color-antique-bronze);
  color: var(--color-ruby-garnet);
}

.privacy-guide__number {
  color: var(--color-antique-bronze);
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
}

.privacy-guide__link-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-1);
}

.privacy-guide__link-copy strong {
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-label);
  line-height: 1.45;
  text-transform: uppercase;
}

.privacy-guide__link-copy small {
  max-width: 35rem;
  color: var(--color-dark-emperador);
  font-size: 0.875rem;
  letter-spacing: 0;
  line-height: 1.5;
}

.privacy-guide__link > span:last-child {
  color: var(--color-antique-bronze);
  font-size: 1.25rem;
}

.privacy-collection {
  padding-block: var(--space-10);
}

.privacy-collection__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 6fr) minmax(0, 2fr);
  gap: var(--space-7);
}

.privacy-collection__heading,
.privacy-collection__content,
.privacy-collection__annotation {
  min-width: 0;
}

.privacy-collection__heading {
  align-self: start;
}

.privacy-collection__heading h2 {
  margin-bottom: var(--space-4);
}

.privacy-collection__heading p {
  color: var(--color-muted-linen);
}

.privacy-collection__content {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-8);
}

.privacy-document-module {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.privacy-document-module__number {
  color: var(--color-antique-bronze);
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
}

.privacy-document-module__body {
  min-width: 0;
}

.privacy-document-module__body h3 {
  margin-bottom: var(--space-4);
}

.privacy-document-module__body p {
  }

.privacy-document-module__body .meta {
  margin-bottom: var(--space-3);
}

.privacy-collection__annotation {
  display: flex;
  flex-direction: column;
  align-self: start;
  align-items: stretch;
  gap: var(--space-3);
  padding-top: var(--space-2);
}

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

.privacy-collection__annotation p {
  margin: 0;
  color: var(--color-muted-linen);
  font-size: var(--font-size-meta);
  line-height: 1.55;
}

.privacy-use {
  padding-block: 0 var(--space-10);
}

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

.privacy-use__heading {
  width: min(100%, 47rem);
  min-width: 0;
}

.privacy-use__heading h2 {
  margin-bottom: 0;
}

.privacy-use__panels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-7);
}

.privacy-use-panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  padding: clamp(var(--space-6), 4vw, var(--space-7));
  border-top: 1px solid var(--color-antique-bronze);
}

.privacy-use-panel h3,
.privacy-use-panel p,
.privacy-use-panel ul {
  margin: 0;
}

.privacy-use-panel--use {
  background: var(--color-dark-emperador);
}

.privacy-use-panel--disclosure {
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
  background: var(--color-midnight-petrol);
}

.privacy-use-panel__list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: 0;
  list-style: none;
}

.privacy-use-panel__list li {
  position: relative;
  min-width: 0;
  padding-left: var(--space-4);
}

.privacy-use-panel__list li::before {
  position: absolute;
  top: 0.72em;
  left: 0;
  width: 0.35rem;
  height: 1px;
  background: var(--color-antique-bronze);
  content: "";
}

.privacy-protection-note {
  display: flex;
  width: min(100%, 47rem);
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-border);
}

.privacy-protection-note h3,
.privacy-protection-note p {
  margin: 0;
}

.privacy-protection-note p {
  }

.privacy-cookies {
  padding-block: var(--space-10);
  color: var(--color-espresso-brown);
}

.privacy-cookies .eyebrow {
  color: var(--color-dark-emperador);
}

.privacy-cookies__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  gap: var(--space-7);
}

.privacy-cookies__primary,
.privacy-cookies__external-note {
  min-width: 0;
}

.privacy-cookies__primary {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.privacy-cookies__primary h2,
.privacy-cookies__primary h3,
.privacy-cookies__primary p {
  margin: 0;
}

.privacy-cookies__primary p {
  }

.privacy-cookies__policy-link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-2);
  margin-top: var(--space-2);
  border-bottom: 1px solid var(--color-antique-bronze);
  color: var(--color-espresso-brown);
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
  text-decoration: none;
  text-transform: uppercase;
}

.privacy-cookies__policy-link:hover {
  color: var(--color-ruby-garnet);
}

.privacy-cookies__policy-link span {
  color: var(--color-antique-bronze);
}

.privacy-cookies__external-note {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid rgba(73, 53, 45, 0.42);
  background: var(--color-dark-emperador);
  color: var(--color-soft-linen);
}

.privacy-cookies__external-note .eyebrow {
  color: var(--color-warm-champagne);
}

.privacy-cookies__external-note h3,
.privacy-cookies__external-note p {
  margin: 0;
}

.privacy-cookies__external-note h3 {
  color: var(--color-warm-champagne);
}

.privacy-rights {
  padding-block: var(--space-10);
}

.privacy-rights__grid {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 4fr);
  justify-content: space-between;
  gap: var(--space-8);
}

.privacy-rights__content,
.privacy-contact-plaque {
  min-width: 0;
}

.privacy-rights__content {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-7);
}

.privacy-rights__content h2 {
  margin-bottom: 0;
}

.privacy-rights-module {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.privacy-rights-module__number {
  color: var(--color-antique-bronze);
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
}

.privacy-rights-module__body {
  min-width: 0;
}

.privacy-rights-module__body h3 {
  margin-bottom: var(--space-4);
}

.privacy-rights-module__body p {
  }

.privacy-contact-plaque {
  display: flex;
  flex-direction: column;
  align-self: start;
  align-items: stretch;
  gap: var(--space-5);
  margin-top: 7rem;
  padding: clamp(var(--space-6), 4vw, var(--space-7));
  border: 1px solid var(--color-border);
  background: var(--color-smoked-glass);
  box-shadow: var(--shadow-deep);
}

.privacy-contact-plaque h3 {
  margin: 0;
}

.privacy-contact-plaque__email {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--color-warm-champagne);
  font-family: var(--font-heading);
  font-size: clamp(1.55rem, 3vw, 2.25rem);
  line-height: 1.05;
  text-decoration-color: var(--color-antique-bronze);
}

.privacy-contact-plaque__details {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.privacy-contact-plaque__details p {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-1);
  margin: 0;
  color: var(--color-soft-linen);
}

.privacy-contact-plaque__details span,
.privacy-contact-plaque__details small {
  color: var(--color-muted-linen);
  font-size: var(--font-size-micro);
  font-weight: 600;
  letter-spacing: var(--tracking-micro);
  line-height: 1.45;
  text-transform: uppercase;
}

.privacy-contact-plaque__details a {
  width: fit-content;
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
}

.privacy-closing {
  padding-block: var(--space-9);
}

.privacy-closing__container {
  display: flex;
  justify-content: center;
}

.privacy-closing__block {
  display: flex;
  width: min(100%, 43rem);
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  text-align: center;
}

.privacy-closing__block h2,
.privacy-closing__block p {
  margin: 0;
}

.privacy-closing__block p {
  }

.privacy-closing__contact-line {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-2) var(--space-3);
  margin-top: var(--space-3);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
  color: var(--color-muted-linen);
}

.privacy-closing__contact-line a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-warm-champagne);
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
  text-decoration: none;
  text-transform: uppercase;
}

.privacy-closing__contact-line a span {
  color: var(--color-antique-bronze);
}

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

  .privacy-collection__heading p {
  }

  .privacy-collection__annotation {
    display: none;
  }
}

@media (max-width: 56.1875rem) {
  .privacy-guide__grid,
  .privacy-cookies__grid,
  .privacy-rights__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .privacy-guide__intro {
    padding-right: 0;
    padding-bottom: var(--space-6);
    border-right: 0;
    border-bottom: 1px solid rgba(73, 53, 45, 0.4);
  }

  .privacy-cookies__external-note {
    max-width: 34rem;
  }

  .privacy-contact-plaque {
    width: 100%;
    margin-top: 0;
  }
}

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

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

  .privacy-hero__open-field {
    display: none;
  }
}

@media (max-width: 47.9375rem) {
  .privacy-hero {
    padding-block: 5rem 4rem;
  }

  .privacy-hero__content {
    gap: var(--space-4);
    max-width: none;
    padding-top: var(--space-5);
    padding-left: 0;
    border-top: 1px solid var(--color-antique-bronze);
    border-left: 0;
  }

  .privacy-hero__content h1 {
    font-size: 2.75rem;
  }

  .privacy-hero__lead {
    max-width: none;
    font-size: 1.125rem;
  }

  .privacy-hero__scope {
    flex-direction: column;
    gap: var(--space-2);
  }

  .privacy-guide,
  .privacy-cookies,
  .privacy-rights {
    padding-block: var(--space-8);
  }

  .privacy-collection {
    padding-block: var(--space-8);
  }

  .privacy-use {
    padding-bottom: var(--space-8);
  }

  .privacy-guide__link {
    grid-template-columns: 2rem minmax(0, 1fr) 1rem;
    gap: var(--space-3);
    min-height: 2.75rem;
  }

  .privacy-guide__link-copy small {
    font-size: 0.875rem;
  }

  .privacy-document-module,
  .privacy-rights-module {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .privacy-document-module__body p,
  .privacy-rights-module__body p,
  .privacy-cookies__primary p,
  .privacy-protection-note p {
  }

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

  .privacy-cookies__external-note {
    max-width: none;
    padding: var(--space-6);
  }

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

  .privacy-closing {
    padding-block: var(--space-8);
  }

  .privacy-closing__container {
    justify-content: flex-start;
  }

  .privacy-closing__block {
    width: 100%;
    align-items: flex-start;
    text-align: left;
  }

  .privacy-closing__contact-line {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .privacy-hero__content {
    animation: privacy-policy-reveal 420ms ease-out both;
  }
}

@keyframes privacy-policy-reveal {
  from {
    opacity: 0;
    transform: translateY(0.75rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


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

.terms-page section[id],
.terms-page article[id] {
  scroll-margin-top: 7rem;
}

.terms-identity {
  padding-block: var(--space-10) var(--space-9);
  border-bottom: 1px solid var(--color-border);
}

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

.terms-identity__copy {
  grid-column: 2 / span 7;
  min-width: 0;
  max-width: 38.75rem;
}

.terms-identity__space {
  grid-column: 9 / -1;
  min-width: 0;
}

.terms-identity__copy .eyebrow {
  margin-bottom: var(--space-5);
}

.terms-identity__copy h1 {
  max-width: 15ch;
  margin-bottom: var(--space-5);
  font-size: clamp(2.75rem, 6vw, 4rem);
}

.terms-identity__lead {
  max-width: 38.75rem;
  color: var(--color-soft-linen);
  font-size: var(--font-size-lead);
  line-height: var(--line-height-lead);
}

.terms-identity__lead a {
  color: var(--color-warm-champagne);
}

.terms-identity__metadata {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-6);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.terms-identity__metadata > div {
  min-width: 0;
  color: var(--color-soft-linen);
  font-size: var(--font-size-meta);
  line-height: 1.5;
}

.terms-identity__metadata .micro-label {
  margin-bottom: var(--space-1);
}

.terms-identity__status {
  max-width: 37rem;
  margin-top: var(--space-5);
  margin-bottom: 0;
  color: var(--color-muted-linen);
  font-size: var(--font-size-meta);
}

.terms-section {
  padding-block: clamp(var(--space-8), 9vw, var(--space-10));
}

.terms-section--espresso {
  background: var(--color-espresso-brown);
  color: var(--color-soft-linen);
}

.terms-section--petrol {
  background: var(--color-midnight-petrol);
  color: var(--color-soft-linen);
}

.terms-section--limestone {
  background: var(--color-champagne-limestone);
  color: var(--color-espresso-brown);
}

.terms-contents,
.terms-rail-label {
  grid-column: 1 / span 3;
  min-width: 0;
}

.terms-document {
  grid-column: 5 / span 6;
  min-width: 0;
  max-width: 43.75rem;
}

.terms-document--narrow {
  max-width: 41.25rem;
}

.terms-document > h2 {
  margin-bottom: var(--space-7);
}

.terms-section--limestone h2,
.terms-section--limestone h3 {
  color: var(--color-espresso-brown);
}

.terms-contents__desktop {
  position: sticky;
  top: 7.5rem;
  width: 100%;
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid rgba(73, 53, 45, 0.42);
}

.terms-section--espresso .terms-contents__desktop,
.terms-section--petrol .terms-contents__desktop {
  border-color: var(--color-border);
}

.terms-contents__desktop .eyebrow {
  margin-bottom: var(--space-3);
}

.terms-contents__desktop p {
  margin-bottom: var(--space-4);
  color: inherit;
  font-size: var(--font-size-meta);
  line-height: 1.55;
}

.terms-contents__list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: terms-nav;
}

.terms-contents__list li {
  min-width: 0;
  counter-increment: terms-nav;
}

.terms-contents__list a {
  display: flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) 0;
  border-left: 1px solid transparent;
  color: inherit;
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-decoration: none;
  text-transform: uppercase;
  transition: color var(--transition-fast), border-color var(--transition-fast), padding-left var(--transition-fast);
}

.terms-contents__list a::before {
  content: counter(terms-nav, decimal-leading-zero);
  flex: 0 0 auto;
  color: var(--color-antique-bronze);
  font-size: var(--font-size-micro);
  letter-spacing: var(--tracking-micro);
}

.terms-contents__list a:hover,
.terms-contents__list a.is-active {
  border-left-color: var(--color-antique-bronze);
  padding-left: var(--space-2);
  color: var(--color-warm-champagne);
}

.terms-section--limestone .terms-contents__list a:hover,
.terms-section--limestone .terms-contents__list a.is-active {
  color: var(--color-ruby-garnet);
}

.terms-contents__mobile {
  display: none;
}

.terms-rail-label {
  padding-top: var(--space-2);
}

.terms-rail-label span {
  display: block;
  color: var(--color-antique-bronze);
  font-size: var(--font-size-micro);
  font-weight: 600;
  letter-spacing: var(--tracking-micro);
  line-height: 1.45;
  text-transform: uppercase;
}

.terms-clause {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  column-gap: var(--space-4);
  min-width: 0;
  padding-bottom: var(--space-7);
  border-bottom: 1px solid var(--color-border);
}

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

.terms-clause--last {
  padding-bottom: var(--space-7);
}

.terms-clause__index {
  min-width: 0;
  padding-top: 0.35rem;
  color: var(--color-antique-bronze);
  font-size: var(--font-size-micro);
  font-weight: 600;
  letter-spacing: var(--tracking-micro);
  line-height: 1.45;
}

.terms-clause__body {
  min-width: 0;
}

.terms-clause__body h3 {
  margin-bottom: var(--space-4);
}

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

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

.terms-prohibitions li,
.terms-conduct-list li {
  min-width: 0;
  padding-left: var(--space-4);
  position: relative;
}

.terms-prohibitions li::before,
.terms-conduct-list li::before {
  content: "";
  position: absolute;
  top: 0.72em;
  left: 0;
  width: 0.35rem;
  height: 1px;
  background: var(--color-antique-bronze);
}

.terms-section--limestone .terms-prohibitions li::before,
.terms-section--limestone .terms-conduct-list li::before {
  background: var(--color-ruby-garnet);
}

.terms-note {
  margin-top: var(--space-5);
  margin-bottom: 0;
  padding-top: var(--space-4);
  border-top: 1px solid rgba(73, 53, 45, 0.42);
  font-size: var(--font-size-meta);
}

.terms-clause--inset {
  padding: var(--space-5);
  border: 1px solid rgba(73, 53, 45, 0.48);
  background: rgba(242, 235, 221, 0.28);
}

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

.terms-activity-label,
.terms-ownership-label,
.terms-qualifier {
  display: block;
  margin-bottom: var(--space-3);
  color: var(--color-antique-bronze);
  font-size: var(--font-size-micro);
  font-weight: 600;
  letter-spacing: var(--tracking-micro);
  line-height: 1.45;
  text-transform: uppercase;
}

.terms-qualifier {
  color: var(--color-warm-champagne);
}

.terms-clause--responsible {
  padding: var(--space-5);
  border: 1px solid var(--color-antique-bronze);
  background: var(--color-ruby-garnet);
}

.terms-clause--responsible .terms-clause__index,
.terms-clause--responsible h3 {
  color: var(--color-warm-champagne);
}

.terms-final-group {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-7);
  margin-top: var(--space-7);
  padding-top: var(--space-7);
  border-top: 1px solid var(--color-border);
}

.terms-final-group .terms-clause {
  padding-bottom: var(--space-7);
}

.terms-inline-link {
  display: inline-block;
  min-height: 2.75rem;
  padding: 0.5rem 0;
  color: var(--color-warm-champagne);
  font-weight: 600;
  text-decoration-color: var(--color-antique-bronze);
}

.terms-inline-link:hover {
  color: var(--color-soft-linen);
}

.terms-closing {
  padding-block: var(--space-9);
  border-top: 1px solid var(--color-border);
}

.terms-closing__copy {
  grid-column: 5 / span 6;
  min-width: 0;
  max-width: 38.75rem;
}

.terms-closing__copy > h2 {
  margin-bottom: var(--space-7);
}

.terms-clause--closing {
  padding-bottom: var(--space-7);
}

.terms-enquiry {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-6);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
}

.terms-enquiry p {
  margin: 0;
}

.terms-enquiry a {
  display: inline-block;
  min-height: 2.75rem;
  padding: 0.5rem 0;
  color: var(--color-warm-champagne);
  font-weight: 600;
}

.terms-page :target {
  border-left-color: var(--color-antique-bronze);
}

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

@media (max-width: 63.9375rem) {
  .terms-identity__grid,
  .terms-layout,
  .terms-closing__grid {
    grid-template-columns: 1fr;
    row-gap: var(--space-6);
  }

  .terms-identity__copy,
  .terms-document,
  .terms-document--narrow,
  .terms-closing__copy {
    grid-column: 1;
    width: 100%;
    max-width: none;
  }

  .terms-identity__space,
  .terms-rail-label {
    display: none;
  }

  .terms-contents {
    grid-column: 1;
    width: 100%;
  }

  .terms-contents__desktop {
    display: none;
  }

  .terms-contents__mobile {
    display: block;
    width: 100%;
  }

  .terms-contents__toggle {
    display: flex;
    width: 100%;
    min-height: 2.75rem;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-3) var(--space-4);
    border: 1px solid rgba(73, 53, 45, 0.48);
    border-radius: var(--radius-caption);
    background: transparent;
    color: var(--color-espresso-brown);
    font-size: var(--font-size-meta);
    font-weight: 600;
    letter-spacing: var(--tracking-meta);
    text-align: left;
    text-transform: uppercase;
  }

  .terms-contents__toggle::after {
    content: "+";
    color: var(--color-ruby-garnet);
    font-size: 1.25rem;
    line-height: 1;
  }

  .terms-contents__toggle[aria-expanded="true"]::after {
    content: "−";
  }

  .terms-contents__panel {
    width: 100%;
    min-width: 0;
    margin-top: var(--space-2);
    padding: var(--space-4);
    border: 1px solid rgba(73, 53, 45, 0.48);
    border-radius: var(--radius-caption);
  }

  .terms-contents__panel p {
    margin-bottom: var(--space-4);
    font-size: var(--font-size-meta);
  }

  .terms-contents__panel .terms-contents__list a {
    color: var(--color-espresso-brown);
  }

  .terms-contents__panel .terms-contents__list a:hover,
  .terms-contents__panel .terms-contents__list a.is-active {
    color: var(--color-ruby-garnet);
  }
}

@media (max-width: 47.9375rem) {
  .terms-identity {
    padding-block: 5rem 4rem;
  }

  .terms-identity__copy h1 {
    max-width: 11ch;
    font-size: 2.75rem;
  }

  .terms-identity__metadata {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

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

  .terms-document > h2,
  .terms-closing__copy > h2 {
    margin-bottom: var(--space-6);
    font-size: clamp(2rem, 10vw, 2.625rem);
  }

  .terms-clause {
    grid-template-columns: 1fr;
    row-gap: var(--space-2);
    padding-bottom: var(--space-6);
  }

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

  .terms-clause__index {
    padding-top: 0;
  }

  .terms-prohibitions,
  .terms-conduct-list {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .terms-clause--inset,
  .terms-clause--responsible,
  .terms-enquiry {
    padding: var(--space-5);
  }

  .terms-final-group {
    gap: var(--space-6);
    padding-top: var(--space-6);
  }

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

@media (prefers-reduced-motion: no-preference) {
  .terms-page :target {
    animation: terms-target-flash 1.1s ease-out;
  }
}

@keyframes terms-target-flash {
  0% { box-shadow: inset 3px 0 0 var(--color-warm-champagne); }
  100% { box-shadow: inset 3px 0 0 transparent; }
}


.menu-page {
  overflow: hidden;
}

.menu-page .eyebrow {
  margin-bottom: var(--space-3);
}

.menu-page img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}

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

.menu-hero {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 45rem;
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
  background: var(--color-espresso-brown);
}

.menu-hero__media,
.menu-hero__media::after {
  grid-area: 1 / 1;
}

.menu-hero__media {
  position: absolute;
  inset: 0;
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.menu-hero__media::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(16, 43, 49, 0.86) 0%, rgba(16, 43, 49, 0.58) 38%, rgba(16, 43, 49, 0.08) 70%);
}

.menu-hero__media img {
  object-position: 70% center;
}

.menu-hero__panel {
  position: relative;
  z-index: 1;
  display: flex;
  width: min(100% - (var(--gutter) * 2), var(--container-max));
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  margin: 0 auto clamp(var(--space-8), 8vw, var(--space-10));
  padding: clamp(var(--space-5), 3vw, var(--space-7));
  border: 1px solid var(--color-border);
  background: rgba(16, 43, 49, 0.88);
  box-shadow: var(--shadow-deep);
}

.menu-hero__panel h1,
.menu-hero__panel p {
  margin: 0;
}

.menu-hero__panel h1 {
  width: 100%;
  max-width: 9ch;
  font-size: clamp(3rem, 5.1vw, 4rem);
}

.menu-hero__panel .lead {
  width: 100%;
  max-width: 35rem;
}

.menu-sign-link,
.menu-setting__sign {
  display: inline-flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-2);
  padding: 0.75rem 1rem;
  border: 1px solid var(--color-antique-bronze);
  color: var(--color-warm-champagne);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: var(--tracking-label);
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  transition: border-color var(--transition-base), box-shadow var(--transition-base), color var(--transition-base);
}

.menu-sign-link:hover,
.menu-setting__sign:hover {
  border-color: var(--color-warm-champagne);
  color: var(--color-soft-linen);
  box-shadow: 0 0 1.5rem rgba(230, 200, 146, 0.16);
}

.menu-philosophy__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-7) var(--space-5);
}

.menu-philosophy__intro {
  grid-column: 1 / span 6;
  min-width: 0;
}

.menu-philosophy__intro h2 {
  max-width: 18ch;
}

.menu-principles {
  display: grid;
  grid-column: 1 / -1;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
}

.menu-principle,
.menu-table-module,
.menu-bar-module {
  min-width: 0;
}

.menu-principle {
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.menu-principle h3,
.menu-principle p,
.menu-table-module h3,
.menu-table-module p,
.menu-bar-module h3,
.menu-bar-module p {
  margin-bottom: 0;
}

.menu-principle h3 {
  max-width: 16ch;
  margin-top: var(--space-3);
}

.menu-principle p {
  margin-top: var(--space-4);
}

.menu-index {
  display: block;
  color: var(--color-antique-bronze);
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
  line-height: 1.5;
}

.menu-first {
  padding-block: 0;
}

.menu-first__grid,
.menu-dessert__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}

.menu-first__media,
.menu-dessert__media {
  min-width: 0;
  margin: 0;
}

.menu-first__media {
  min-height: 43rem;
}

.menu-first__media img {
  object-position: center 58%;
}

.menu-first__panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: var(--space-6);
  padding: clamp(var(--space-7), 6vw, var(--space-10));
  color: var(--color-espresso-brown);
}

.menu-first__panel h2,
.menu-first__panel p,
.menu-first__panel h3 {
  color: var(--color-espresso-brown);
}

.menu-first__panel h2,
.menu-first__panel > p {
  margin: 0;
}

.menu-first__panel h2 {
  max-width: 13ch;
}

.menu-first__lead {
  max-width: 36rem;
}

.menu-dish-note {
  display: grid;
  min-width: 0;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  gap: var(--space-3);
  padding-top: var(--space-5);
  border-top: 1px solid rgba(33, 23, 19, 0.3);
}

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

.menu-dish-note__marker {
  color: var(--color-antique-bronze);
}

.menu-dish-note h3,
.menu-dish-note p {
  margin-bottom: 0;
}

.menu-dish-note h3 {
  max-width: 15ch;
}

.menu-dish-note p {
  margin-top: var(--space-3);
}

.menu-signatures__intro {
  display: flex;
  width: min(100%, 45rem);
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  margin: 0 auto var(--space-8);
  text-align: center;
}

.menu-signatures__intro h2,
.menu-signatures__intro p {
  margin: 0;
}

.menu-signatures__intro p {
  width: min(100%, 37rem);
  text-align: left;
}

.menu-signatures__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-6);
  align-items: stretch;
}

.menu-signatures__media {
  min-width: 0;
  min-height: 43rem;
  margin: 0;
}

.menu-signatures__media img {
  object-position: center;
}

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

.menu-signature-card {
  display: flex;
  min-width: 0;
  flex: 1 1 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  background: rgba(33, 23, 19, 0.35);
  transition: border-color var(--transition-base), box-shadow var(--transition-base);
}

.menu-signature-card h3,
.menu-signature-card p {
  margin: 0;
}

.menu-signature-card h3 {
  max-width: 17ch;
}

.menu-signature-card p {
  }

@media (hover: hover) {
  .menu-signature-card:hover {
    border-color: var(--color-warm-champagne);
    box-shadow: inset 0 0 1.5rem rgba(230, 200, 146, 0.07);
  }
}

.menu-table__lead {
  width: 41.6667%;
  min-width: 0;
}

.menu-table__lead h2 {
  max-width: 15ch;
}

.menu-table__lead p {
  }

.menu-table__modules {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-8);
}

.menu-table-module {
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.menu-table-module h3 {
  margin-top: var(--space-3);
}

.menu-table-module p {
  margin-top: var(--space-4);
}

.menu-dessert {
  padding-block: 0;
}

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

.menu-dessert__panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: var(--space-6);
  padding: clamp(var(--space-7), 6vw, var(--space-10));
}

.menu-dessert__panel h2,
.menu-dessert__panel > p {
  margin: 0;
}

.menu-dessert__panel h2 {
  max-width: 10ch;
}

.menu-dessert__lead {
  max-width: 34rem;
}

.menu-dessert__media {
  min-height: 44rem;
}

.menu-dessert__media img {
  object-position: 68% center;
}

.menu-dessert-story {
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.menu-dessert-story h3,
.menu-dessert-story p {
  margin-bottom: 0;
}

.menu-dessert-story h3 {
  max-width: 15ch;
  margin-top: var(--space-3);
}

.menu-dessert-story p {
  margin-top: var(--space-3);
}

.menu-dessert-story--light {
  padding: var(--space-5);
  border: 0;
  background: var(--color-champagne-limestone);
  color: var(--color-espresso-brown);
}

.menu-dessert-story--light h3,
.menu-dessert-story--light p {
  color: var(--color-espresso-brown);
}

.menu-bar__top {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-7);
  align-items: end;
}

.menu-bar__intro,
.menu-bar__media {
  min-width: 0;
}

.menu-bar__intro h2 {
  max-width: 14ch;
}

.menu-bar__intro p {
  }

.menu-bar__media {
  min-height: 25rem;
  margin: 0;
}

.menu-bar__media img {
  object-position: 62% center;
}

.menu-bar__modules {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-8);
}

.menu-bar-module {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.menu-bar-module h3,
.menu-bar-module p {
  margin: 0;
}

.menu-bar-module h3 {
  max-width: 16ch;
}

.menu-bar-module p {
  }

.menu-profile {
  color: var(--color-muted-linen);
  font-size: var(--font-size-micro);
  font-weight: 600;
  letter-spacing: var(--tracking-micro);
  line-height: 1.45;
  text-transform: uppercase;
}

.menu-bar__link {
  margin-top: var(--space-7);
}

.menu-setting {
  position: relative;
  min-height: 48rem;
  background: var(--color-espresso-brown);
}

.menu-setting__media,
.menu-setting__media::after {
  position: absolute;
  inset: 0;
}

.menu-setting__media {
  width: 100%;
  min-width: 0;
}

.menu-setting__media::after {
  content: "";
  background: linear-gradient(90deg, rgba(16, 43, 49, 0.83) 0%, rgba(16, 43, 49, 0.56) 46%, rgba(16, 43, 49, 0.12) 78%);
}

.menu-setting__media img {
  object-position: center;
}

.menu-setting__content {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(100% - (var(--gutter) * 2), var(--container-max));
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  margin-inline: auto;
  padding-block: clamp(var(--space-9), 12vw, var(--space-11));
}

.menu-setting__atmosphere,
.menu-setting__bridge,
.menu-setting__annotation {
  min-width: 0;
}

.menu-setting__atmosphere {
  display: flex;
  grid-column: 2 / span 5;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  background: rgba(16, 43, 49, 0.9);
}

.menu-setting__atmosphere h2,
.menu-setting__atmosphere p {
  margin: 0;
}

.menu-setting__atmosphere h2 {
  max-width: 12ch;
}

.menu-setting__atmosphere p {
  }

.menu-setting__bridge {
  display: flex;
  grid-column: 8 / span 3;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  align-self: end;
  padding: var(--space-5);
  background: var(--color-ruby-garnet);
}

.menu-setting__bridge h3,
.menu-setting__bridge p {
  margin: 0;
}

.menu-setting__bridge h3 {
  color: var(--color-soft-linen);
  font-size: clamp(1.6rem, 2.2vw, 2rem);
}

.menu-setting__bridge p {
  }

.menu-setting__bridge .menu-setting__sign {
  align-self: flex-start;
  border-color: rgba(230, 200, 146, 0.7);
}

.menu-setting__annotation {
  display: flex;
  grid-column: 2 / span 4;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
  background: var(--color-espresso-brown);
}

.menu-setting__annotation p {
  margin: 0;
}

.menu-invitation__panel {
  display: flex;
  width: 66.6667%;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  margin-inline: auto;
  padding: clamp(var(--space-7), 8vw, var(--space-10));
  border: 1px solid var(--color-antique-bronze);
  box-shadow: inset 0 0 0 0.4rem rgba(230, 200, 146, 0.08);
  background: var(--color-ruby-garnet);
  text-align: center;
}

.menu-invitation__panel .eyebrow,
.menu-invitation__panel h2,
.menu-invitation__panel p {
  margin: 0;
}

.menu-invitation__panel .eyebrow {
  color: var(--color-warm-champagne);
}

.menu-invitation__panel h2 {
  max-width: 15ch;
  color: var(--color-warm-champagne);
}

.menu-invitation__panel p {
  width: min(100%, 35rem);
}

.menu-invitation__cta {
  width: auto;
  min-width: 14rem;
  border-color: var(--color-warm-champagne);
}

.menu-note {
  padding-block: var(--space-6);
  border-top: 1px solid var(--color-border);
}

.menu-note__content {
  width: 66.6667%;
  min-width: 0;
}

.menu-note__content .micro-label {
  margin-bottom: var(--space-2);
}

.menu-note__content p {
  margin-bottom: 0;
  color: var(--color-muted-linen);
  font-size: var(--font-size-meta);
  line-height: 1.5;
}

.menu-reveal {
  opacity: 0;
  transform: translateY(1.25rem);
  transition: opacity var(--transition-slow), transform var(--transition-slow);
}

.menu-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (min-width: 60rem) {
  .menu-hero__panel {
    width: min(calc((100% - (var(--gutter) * 2)) * 0.416667), 34.375rem);
    margin-left: var(--container-inline);
    margin-right: 0;
  }
}

@media (max-width: 66.1875rem) {
  .menu-principles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .menu-principle:last-child {
    grid-column: 1 / span 2;
  }
}

@media (max-width: 63.9375rem) {
  .menu-signatures__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .menu-signatures__media {
    min-height: 31rem;
  }

  .menu-signature-stack {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .menu-signature-card:last-child {
    grid-column: 1 / span 2;
  }

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

  .menu-bar__intro {
    width: 58.3333%;
  }

  .menu-bar__media {
    min-height: 26rem;
  }

  .menu-setting {
    min-height: 0;
  }

  .menu-setting__media,
  .menu-setting__media::after {
    position: relative;
    inset: auto;
  }

  .menu-setting__media {
    height: 30rem;
  }

  .menu-setting__media::after {
    display: none;
  }

  .menu-setting__content {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
    padding-block: var(--space-7);
  }

  .menu-setting__atmosphere,
  .menu-setting__bridge,
  .menu-setting__annotation {
    grid-column: 1;
  }

  .menu-setting__atmosphere {
    background: var(--color-midnight-petrol);
  }
}

@media (max-width: 62.4375rem) {
  .menu-table__modules,
  .menu-bar__modules {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .menu-table-module:last-child,
  .menu-bar-module:last-child {
    grid-column: 1 / span 2;
  }
}

@media (max-width: 61.1875rem) {
  .menu-first__grid,
  .menu-dessert__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .menu-first__media,
  .menu-dessert__media {
    min-height: 34rem;
  }

  .menu-first__panel,
  .menu-dessert__panel {
    padding: clamp(var(--space-7), 8vw, var(--space-9)) var(--gutter);
  }

  .menu-dessert__media {
    order: -1;
  }
}

@media (max-width: 44.9375rem) {
  .menu-hero {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .menu-hero__media {
    position: relative;
    height: auto;
    min-height: 30rem;
  }

  .menu-hero__media::after {
    display: none;
  }

  .menu-hero__media img {
    object-position: 66% 35%;
  }

  .menu-hero__panel {
    width: 100%;
    margin: 0;
    padding: var(--space-7) var(--gutter);
    border-width: 0 0 1px;
    box-shadow: none;
    background: var(--color-midnight-petrol);
  }

  .menu-hero__panel h1 {
    max-width: 11ch;
    font-size: 2.75rem;
  }

  .menu-sign-link {
    width: 100%;
    justify-content: center;
  }

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

  .menu-philosophy__intro {
    grid-column: 1;
  }

  .menu-philosophy__intro h2,
  .menu-first__panel h2,
  .menu-table__lead h2,
  .menu-bar__intro h2,
  .menu-setting__atmosphere h2 {
    font-size: 2rem;
  }

  .menu-principles,
  .menu-table__modules,
  .menu-bar__modules,
  .menu-signature-stack {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .menu-principle:last-child,
  .menu-table-module:last-child,
  .menu-bar-module:last-child,
  .menu-signature-card:last-child {
    grid-column: 1;
  }

  .menu-first__media,
  .menu-signatures__media,
  .menu-dessert__media {
    min-height: 0;
    height: auto;
    aspect-ratio: 4 / 5;
  }

  .menu-first__panel,
  .menu-dessert__panel {
    padding: var(--space-7) var(--gutter);
  }

  .menu-signatures__intro {
    align-items: flex-start;
    margin-bottom: var(--space-6);
    text-align: left;
  }

  .menu-signatures__intro p {
    text-align: left;
  }

  .menu-signature-card {
    padding: var(--space-5);
  }

  .menu-table__lead,
  .menu-bar__intro,
  .menu-invitation__panel,
  .menu-note__content {
    width: 100%;
  }

  .menu-table__modules,
  .menu-bar__modules {
    margin-top: var(--space-6);
  }

  .menu-dessert__panel h2 {
    max-width: 12ch;
    font-size: 2.4rem;
  }

  .menu-bar__media {
    min-height: 0;
    height: auto;
    aspect-ratio: 3 / 2;
  }

  .menu-bar__link {
    min-height: 2.75rem;
    margin-top: var(--space-6);
  }

  .menu-setting__media {
    height: auto;
    aspect-ratio: 3 / 2;
  }

  .menu-setting__content {
    width: 100%;
    gap: var(--space-4);
    padding: 0;
  }

  .menu-setting__atmosphere,
  .menu-setting__bridge,
  .menu-setting__annotation {
    padding: var(--space-6) var(--gutter);
  }

  .menu-setting__atmosphere,
  .menu-setting__bridge {
    border: 0;
  }

  .menu-setting__annotation {
    background: var(--color-espresso-brown);
  }

  .menu-setting__bridge .menu-setting__sign {
    width: 100%;
    justify-content: center;
  }

  .menu-invitation__panel {
    padding: var(--space-7) var(--space-5);
  }

  .menu-invitation__panel h2 {
    font-size: 2.5rem;
  }

  .menu-invitation__cta {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .menu-reveal,
  .menu-reveal.is-visible {
    opacity: 1;
    transform: none;
  }
}


.home-page {
  overflow: hidden;
}

.home-page img {
  width: 100%;
  max-width: 100%;
  object-fit: cover;
}

.home-page .button-primary,
.home-page .button-secondary,
.home-page .link-arrow {
  min-height: 2.75rem;
}

.home-hero {
  position: relative;
  min-width: 0;
  min-height: 47.5rem;
  background: var(--color-midnight-petrol);
}

.home-hero__media,
.home-bar__media {
  position: absolute;
  inset: 0;
  min-width: 0;
}

.home-hero__media img,
.home-bar__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-hero__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(16, 43, 49, 0.92) 0%, rgba(16, 43, 49, 0.76) 34%, rgba(16, 43, 49, 0.22) 62%, rgba(16, 43, 49, 0.1) 100%);
}

.home-hero__content {
  position: relative;
  z-index: 1;
  display: flex;
  width: min(100% - (var(--gutter) * 2), var(--container-max));
  min-width: 0;
  min-height: 47.5rem;
  margin-inline: auto;
  padding-block: var(--space-10);
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--space-5);
}

.home-hero__content > * {
  min-width: 0;
  margin: 0;
}

.home-hero h1 {
  width: min(100%, 31rem);
  font-size: clamp(3.5rem, 6.4vw, 4rem);
}

.home-hero__lead {
  width: min(100%, 31rem);
  color: var(--color-soft-linen);
  font-size: var(--font-size-lead);
  line-height: var(--line-height-lead);
}

.home-hero__actions {
  display: flex;
  width: auto;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.home-hero__actions > * {
  min-width: 10.625rem;
}

.home-hero__rooms {
  position: absolute;
  z-index: 1;
  right: max(var(--gutter), calc((100% - var(--container-max)) / 2));
  bottom: var(--space-6);
  display: flex;
  min-width: 0;
  gap: var(--space-4);
  color: var(--color-warm-champagne);
  font-size: var(--font-size-micro);
  font-weight: 600;
  letter-spacing: var(--tracking-micro);
  text-transform: uppercase;
}

.home-hero__rooms span {
  min-width: 0;
  padding-left: var(--space-2);
  border-left: 1px solid var(--color-antique-bronze);
}

.home-hero__caption {
  position: absolute;
  z-index: 1;
  right: var(--gutter);
  bottom: var(--space-3);
  width: min(20rem, calc(100% - (var(--gutter) * 2)));
  margin: 0;
  color: var(--color-muted-linen);
  font-size: var(--font-size-micro);
  letter-spacing: var(--tracking-meta);
  text-align: right;
  text-transform: uppercase;
}

.home-proposition__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 4fr);
  gap: var(--space-6);
}

.home-proposition__intro,
.home-proposition__features {
  min-width: 0;
}

.home-proposition__intro {
  grid-column: 1;
}

.home-proposition__intro .lead {
  width: min(100%, 40rem);
}

.home-proposition__features {
  grid-column: 3;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-6);
  padding-top: var(--space-8);
}

.home-proposition__feature {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding-top: var(--space-5);
  border-top: 1px solid rgba(33, 23, 19, 0.32);
}

.home-proposition__feature > * {
  min-width: 0;
  margin: 0;
}

.home-proposition__feature p {
  width: min(100%, 29rem);
}

.home-index {
  display: block;
  color: var(--color-antique-bronze);
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
}

.home-dishes__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr);
  align-items: start;
  gap: var(--space-6);
}

.home-dishes__figure,
.home-dishes__content {
  min-width: 0;
  margin: 0;
}

.home-dishes__figure {
  grid-column: 1;
}

.home-dishes__figure img {
  aspect-ratio: 4 / 5;
}

.home-dishes__figure figcaption {
  display: grid;
  min-width: 0;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3);
}

.home-dishes__content {
  grid-column: 3;
  padding-top: var(--space-6);
}

.home-dishes__content > p {
  width: min(100%, 31rem);
}

.home-dishes__closing {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-top: var(--space-7);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.home-dishes__closing > * {
  min-width: 0;
  margin: 0;
}

.home-dishes__closing p {
  width: min(100%, 29rem);
}

.home-bar {
  position: relative;
  min-width: 0;
  min-height: 42.5rem;
  background: var(--color-midnight-petrol);
}

.home-bar__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(16, 43, 49, 0.94) 0%, rgba(16, 43, 49, 0.8) 42%, rgba(16, 43, 49, 0.16) 70%);
}

.home-bar__panel {
  position: relative;
  z-index: 1;
  display: flex;
  width: min(100% - (var(--gutter) * 2), var(--container-max));
  min-width: 0;
  min-height: 42.5rem;
  margin-inline: auto;
  padding-block: var(--space-9);
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--space-5);
}

.home-bar__panel > * {
  min-width: 0;
  margin: 0;
}

.home-bar__panel h2,
.home-bar__panel p {
  width: min(100%, 29rem);
}

.home-bar__caption {
  position: absolute;
  z-index: 2;
  right: var(--gutter);
  bottom: var(--space-5);
  width: min(19rem, calc(100% - (var(--gutter) * 2)));
  margin: 0;
  padding-left: var(--space-4);
  border-left: 1px solid var(--color-antique-bronze);
  color: var(--color-soft-linen);
  font-size: var(--font-size-meta);
  line-height: 1.5;
}

.home-bar__caption span {
  display: block;
  margin-bottom: var(--space-2);
  color: var(--color-antique-bronze);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
}

.home-interiors__grid,
.home-lounge__grid,
.home-evenings__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(var(--gutter), 1fr) minmax(0, 4fr) minmax(0, 1fr) minmax(0, 6fr);
  gap: var(--space-6);
}

.home-interiors__content,
.home-interiors__figure,
.home-lounge__panel,
.home-lounge__figure,
.home-evenings__content,
.home-evenings__figure {
  min-width: 0;
}

.home-interiors__content {
  grid-column: 2;
}

.home-interiors__content > p {
  width: min(100%, 38rem);
}

.home-interiors__figure {
  grid-column: 4;
  margin: 0;
}

.home-interiors__figure img {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.home-materials {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-bottom: var(--space-6);
}

.home-materials p {
  width: min(100%, 24rem);
  min-width: 0;
  margin: 0;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border);
}

.home-materials strong {
  color: var(--color-warm-champagne);
}

.home-lounge__figure {
  grid-column: 4;
  grid-row: 1;
  margin: 0;
}

.home-lounge__figure img {
  aspect-ratio: 16 / 9;
}

.home-lounge__panel {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  padding: clamp(var(--space-6), 4vw, var(--space-8));
  background: var(--color-ruby-garnet);
  color: var(--color-soft-linen);
}

.home-lounge__panel .eyebrow {
  color: var(--color-warm-champagne);
}

.home-lounge__panel h2,
.home-lounge__panel p {
  width: min(100%, 33rem);
}

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

.home-lounge__principles article {
  min-width: 0;
  padding-left: var(--space-4);
  border-left: 1px solid var(--color-antique-bronze);
}

.home-lounge__principles h3 {
  margin-bottom: var(--space-2);
  font-family: var(--font-body);
  font-size: var(--font-size-meta);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.home-lounge__principles p {
  width: min(100%, 22rem);
  margin-bottom: 0;
}

.home-lounge__route {
  margin-top: var(--space-6);
}

.home-tables__heading {
  width: min(100%, 36rem);
  min-width: 0;
}

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

.home-table-card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  border-top: 3px solid var(--color-antique-bronze);
  background: rgba(33, 23, 19, 0.34);
  transition: border-color var(--transition-base), box-shadow var(--transition-base);
}

.home-table-card > * {
  min-width: 0;
  margin: 0;
}

.home-table-card h3 {
  font-size: clamp(1.75rem, 2.8vw, 2.25rem);
}

.home-table-card p {
  width: min(100%, 25rem);
}

.home-table-card--ruby {
  border-top-color: var(--color-ruby-garnet);
}

.home-table-card:hover,
.home-table-card:focus-within {
  border-color: var(--color-warm-champagne);
  box-shadow: 0 0 1.25rem rgba(230, 200, 146, 0.1);
}

.home-tables__closing {
  display: flex;
  width: min(100%, 40rem);
  min-width: 0;
  margin: var(--space-8) auto 0;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  text-align: center;
}

.home-tables__closing > * {
  min-width: 0;
  margin: 0;
}

.home-tables__closing p {
  width: min(100%, 35rem);
}

.home-evenings__content {
  grid-column: 2;
}

.home-evenings__content > .lead {
  width: min(100%, 38rem);
}

.home-evenings__figure {
  grid-column: 4;
  margin: 0;
}

.home-evenings__figure img {
  aspect-ratio: 3 / 2;
}

.home-evenings__feature {
  display: flex;
  width: min(100%, 27rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
  margin-top: var(--space-6);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-antique-bronze);
}

.home-evenings__feature > * {
  min-width: 0;
  margin: 0;
}

.home-evenings__feature--ruby {
  margin-left: var(--space-6);
  border-top-color: var(--color-ruby-garnet);
}

.home-evenings__content > .button-secondary {
  margin-top: var(--space-6);
}

.home-gallery__intro {
  width: min(100%, 41rem);
  min-width: 0;
  margin-inline: auto;
  text-align: center;
}

.home-gallery__intro p {
  width: min(100%, 36rem);
  margin-inline: auto;
}

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

.home-gallery__tile {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  color: var(--color-soft-linen);
  text-decoration: none;
}

.home-gallery__tile > * {
  min-width: 0;
  margin: 0;
}

.home-gallery__tile p {
  width: min(100%, 22rem);
}

.home-gallery__tile .link-arrow {
  margin-top: auto;
}

.home-gallery__tile--ruby {
  border-left: 3px solid var(--color-ruby-garnet);
}

.home-gallery__tile:hover,
.home-gallery__tile:focus-visible {
  border-color: var(--color-warm-champagne);
  color: var(--color-soft-linen);
}

.home-gallery__cta {
  display: flex;
  width: fit-content;
  min-width: 0;
  margin: var(--space-7) auto 0;
}

.home-visit__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 2fr) minmax(0, 6fr) minmax(0, 1fr) minmax(0, 3fr);
  gap: var(--space-6);
}

.home-visit__content {
  grid-column: 2;
  min-width: 0;
}

.home-visit__content > p:not(.home-visit__address) {
  width: min(100%, 35rem);
}

.home-visit__address {
  width: min(100%, 38rem);
  color: var(--color-warm-champagne);
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 2.3vw, 2rem);
  line-height: 1.15;
}

.home-visit__email {
  display: inline-flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  color: var(--color-warm-champagne);
  font-weight: 600;
}

.home-visit__contact,
.home-visit__responsible {
  display: flex;
  width: min(100%, 35rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-top: var(--space-6);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.home-visit__contact > *,
.home-visit__responsible > * {
  min-width: 0;
  margin: 0;
}

.home-visit__contact small,
.home-visit__responsible p {
  color: var(--color-muted-linen);
}

.home-visit__frame {
  grid-column: 4;
  min-width: 0;
  min-height: 24rem;
  border: 1px solid var(--color-border);
  background: linear-gradient(135deg, transparent 49.8%, rgba(168, 121, 75, 0.25) 50%, transparent 50.2%);
}

.home-reveal {
  transition: opacity var(--transition-slow), transform var(--transition-slow);
}

html.js .home-reveal[data-reveal-ready] {
  opacity: 0;
  transform: translateY(1.25rem);
}

html.js .home-reveal[data-reveal-ready].is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 68.6875rem) {
  .home-proposition__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-proposition__intro,
  .home-proposition__features {
    grid-column: auto;
  }

  .home-proposition__features {
    padding-top: 0;
  }

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

  .home-dishes__figure,
  .home-dishes__content {
    grid-column: auto;
  }

  .home-dishes__content {
    padding-top: 0;
  }

  .home-lounge__principles {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 62.4375rem) {
  .home-bar,
  .home-bar__panel {
    min-height: auto;
  }

  .home-bar {
    display: grid;
    grid-template-columns: 1fr;
  }

  .home-bar__media {
    position: relative;
    min-height: 30rem;
  }

  .home-bar__shade {
    background: linear-gradient(180deg, transparent 42%, rgba(16, 43, 49, 0.72) 100%);
  }

  .home-bar__panel {
    width: min(100% - (var(--gutter) * 2), 43rem);
    min-height: 0;
    padding-block: var(--space-8);
  }

  .home-bar__caption {
    bottom: var(--space-4);
  }

  .home-interiors__grid,
  .home-lounge__grid,
  .home-evenings__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-interiors__content,
  .home-interiors__figure,
  .home-lounge__panel,
  .home-lounge__figure,
  .home-evenings__content,
  .home-evenings__figure {
    grid-column: auto;
    grid-row: auto;
  }

  .home-lounge__grid {
    grid-template-columns: 1fr;
  }

  .home-lounge__figure {
    grid-row: 1;
  }

  .home-lounge__panel {
    grid-row: 2;
    width: min(100% - (var(--gutter) * 2), 43rem);
    margin-inline: auto;
  }

  .home-tables__grid,
  .home-gallery__tiles {
    grid-template-columns: 1fr;
    width: min(100%, 43rem);
    margin-inline: auto;
  }

  .home-evenings__grid {
    grid-template-columns: 1fr;
  }

  .home-evenings__figure {
    grid-row: 1;
    width: min(100% - (var(--gutter) * 2), 43rem);
    margin-inline: auto;
  }

  .home-evenings__content {
    grid-row: 2;
    width: min(100% - (var(--gutter) * 2), 43rem);
    margin-inline: auto;
  }

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

  .home-visit__content {
    grid-column: 1;
    width: min(100%, 43rem);
    margin-inline: auto;
  }

  .home-visit__frame {
    display: none;
  }
}

@media (max-width: 53.75rem) {
  .home-hero__actions {
    width: min(100%, 22rem);
    flex-direction: column;
    align-items: stretch;
  }

  .home-hero__actions > * {
    width: 100%;
  }
}

@media (max-width: 47.9375rem) {
  .home-hero {
    display: flex;
    min-height: 0;
    flex-direction: column;
  }

  .home-hero__media {
    position: relative;
    inset: auto;
    min-height: 30rem;
  }

  .home-hero__media img {
    aspect-ratio: 4 / 5;
  }

  .home-hero__shade {
    background: linear-gradient(180deg, transparent 55%, rgba(16, 43, 49, 0.72) 100%);
  }

  .home-hero__content {
    width: 100%;
    min-height: 0;
    padding: var(--space-7) var(--gutter);
    background: var(--color-midnight-petrol);
  }

  .home-hero h1 {
    font-size: 2.75rem;
    line-height: 1.04;
  }

  .home-hero__lead {
    font-size: 1.125rem;
  }

  .home-hero__rooms {
    display: none;
  }

  .home-hero__caption {
    position: static;
    width: 100%;
    padding: 0 var(--gutter) var(--space-5);
    background: var(--color-midnight-petrol);
    text-align: left;
  }

  .home-proposition__grid,
  .home-dishes__grid,
  .home-interiors__grid,
  .home-lounge__grid,
  .home-evenings__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .home-proposition__intro,
  .home-proposition__features,
  .home-dishes__figure,
  .home-dishes__content,
  .home-interiors__content,
  .home-interiors__figure,
  .home-lounge__panel,
  .home-lounge__figure,
  .home-evenings__content,
  .home-evenings__figure {
    grid-column: 1;
    grid-row: auto;
    width: 100%;
  }

  .home-proposition__features {
    gap: var(--space-5);
  }

  .home-dishes__figure img,
  .home-interiors__figure img,
  .home-lounge__figure img,
  .home-evenings__figure img {
    aspect-ratio: 3 / 2;
  }

  .home-dishes__figure img {
    aspect-ratio: 4 / 5;
  }

  .home-dishes__content {
    padding-top: 0;
  }

  .home-bar__media {
    min-height: 0;
  }

  .home-bar__media img {
    aspect-ratio: 4 / 5;
  }

  .home-bar__caption {
    position: static;
    width: 100%;
    padding: var(--space-4) var(--gutter);
    background: var(--color-midnight-petrol);
  }

  .home-bar__panel {
    width: 100%;
    padding: var(--space-7) var(--gutter);
  }

  .home-lounge__panel,
  .home-evenings__content,
  .home-evenings__figure {
    width: 100%;
  }

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

  .home-evenings__feature--ruby {
    margin-left: 0;
  }

  .home-tables__closing {
    align-items: flex-start;
    text-align: left;
  }

  .home-gallery__intro {
    width: 100%;
    text-align: left;
  }

  .home-gallery__intro p {
    margin-inline: 0;
  }

  .home-gallery__cta {
    display: flex;
    width: 100%;
  }

  .home-visit__content,
  .home-visit__contact,
  .home-visit__responsible {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-reveal,
  html.js .home-reveal[data-reveal-ready] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


.gallery-page {
  overflow: clip;
}

.gallery-page img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}

.gallery-page figure {
  margin: 0;
}

.gallery-page .eyebrow {
  margin-bottom: var(--space-3);
}

.gallery-page .link-arrow {
  min-height: 2.75rem;
}

.gallery-hero {
  position: relative;
  min-height: 45rem;
  background: var(--color-midnight-petrol);
}

.gallery-hero__figure {
  position: absolute;
  inset: 0;
  width: 100%;
  min-width: 0;
}

.gallery-hero__figure::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(16, 43, 49, 0.94) 0%, rgba(16, 43, 49, 0.66) 30%, rgba(16, 43, 49, 0.12) 62%, rgba(16, 43, 49, 0.18) 100%);
}

.gallery-hero__figure img {
  min-height: 45rem;
}

.gallery-hero__content {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(100% - (var(--gutter) * 2), var(--container-max));
  min-height: 45rem;
  margin-inline: auto;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: end;
  gap: var(--space-4);
  padding-block: var(--space-9);
}

.gallery-hero__copy {
  grid-column: 1 / span 4;
  min-width: 0;
  padding-bottom: var(--space-6);
}

.gallery-hero__copy h1 {
  max-width: 12ch;
}

.gallery-hero__copy .lead {
  max-width: 38ch;
  margin-bottom: 0;
}

.gallery-hero__caption {
  display: flex;
  grid-column: 1 / span 3;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  align-self: end;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border);
  color: var(--color-warm-champagne);
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
  line-height: 1.5;
  text-transform: uppercase;
}

.gallery-hero__caption span {
  max-width: 33ch;
  color: var(--color-soft-linen);
  font-size: var(--font-size-micro);
  font-weight: 400;
  letter-spacing: var(--tracking-micro);
}

.gallery-table__grid,
.gallery-craft__grid,
.gallery-rooms__grid,
.gallery-social__grid,
.gallery-lounge__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6) var(--space-4);
}

.gallery-table__intro {
  grid-column: 2 / span 5;
  min-width: 0;
  padding-left: var(--space-5);
  border-left: 1px solid var(--color-antique-bronze);
}

.gallery-table__intro h2,
.gallery-table__intro p {
  }

.gallery-study {
  min-width: 0;
}

.gallery-study--savoury {
  grid-column: 2 / span 5;
  grid-row: 2;
  height: 40rem;
}

.gallery-study--dessert {
  grid-column: 8 / span 4;
  grid-row: 3;
  height: 31rem;
  margin-top: var(--space-8);
}

.gallery-study__caption {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  align-self: center;
}

.gallery-study__caption p {
  margin-bottom: 0;
}

.gallery-study__caption--savoury {
  grid-column: 7 / span 3;
  grid-row: 2;
}

.gallery-study__caption--dessert {
  grid-column: 5 / span 3;
  grid-row: 3;
  margin-top: var(--space-8);
}

.gallery-craft__grid {
  align-items: center;
}

.gallery-craft__figure {
  grid-column: 2 / span 6;
  min-width: 0;
}

.gallery-craft__figure img {
  aspect-ratio: 3 / 2;
}

.gallery-craft__figure figcaption {
  max-width: 40ch;
}

.gallery-craft__copy {
  position: relative;
  display: flex;
  grid-column: 8 / span 4;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  justify-self: end;
}

.gallery-craft__copy h2,
.gallery-craft__copy p {
  margin-bottom: 0;
}

.gallery-craft__number {
  position: absolute;
  z-index: 0;
  top: -4rem;
  right: 0;
  color: rgba(230, 200, 146, 0.12);
  font-family: var(--font-heading);
  font-size: clamp(7rem, 14vw, 12rem);
  line-height: 0.8;
}

.gallery-craft__copy > :not(.gallery-craft__number) {
  position: relative;
  z-index: 1;
}

.gallery-bar__layout {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: center;
}

.gallery-bar__figure {
  grid-column: 1 / span 8;
  grid-row: 1;
  min-width: 0;
}

.gallery-bar__figure img {
  aspect-ratio: 3 / 2;
}

.gallery-bar__figure figcaption {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  background: var(--color-antique-bronze);
  color: var(--color-espresso-brown);
}

.gallery-bar__figure figcaption span {
  font-weight: 400;
}

.gallery-bar__panel {
  display: flex;
  grid-column: 8 / span 5;
  grid-row: 1;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-left: calc(var(--space-6) * -1);
  padding: var(--space-7);
  border: 1px solid var(--color-border);
  background: var(--color-midnight-petrol);
}

.gallery-bar__panel h2,
.gallery-bar__panel p {
  margin-bottom: 0;
}

.gallery-rooms__intro {
  grid-column: 2 / span 5;
  min-width: 0;
}

.gallery-rooms__intro h2,
.gallery-rooms__intro p {
  }

.gallery-rooms__panorama {
  grid-column: 1 / -1;
  min-width: 0;
}

.gallery-rooms__panorama img {
  aspect-ratio: 16 / 9;
}

.gallery-rooms__panorama figcaption {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-2);
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border);
}

.gallery-rooms__panorama figcaption span {
  color: var(--color-soft-linen);
  font-weight: 400;
}

.gallery-observations {
  display: grid;
  grid-column: 1 / -1;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

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

.gallery-observation h3,
.gallery-observation p {
  }

.gallery-social__grid {
  align-items: start;
}

.gallery-social__figure {
  grid-column: 2 / span 7;
  min-width: 0;
}

.gallery-social__figure img {
  aspect-ratio: 3 / 2;
}

.gallery-social__figure figcaption {
  max-width: 42ch;
}

.gallery-social__quote {
  grid-column: 9 / span 2;
  min-width: 0;
  margin: 0;
  padding: 0 0 0 var(--space-4);
  border-left-color: var(--color-antique-bronze);
  color: var(--color-espresso-brown);
  font-size: clamp(2.25rem, 4vw, 3.3rem);
  line-height: 1.04;
}

.gallery-social__copy {
  grid-column: 9 / span 3;
  min-width: 0;
  margin-top: var(--space-9);
}

.gallery-social__copy h2,
.gallery-social__copy p {
  }

.gallery-lounge__grid {
  align-items: center;
}

.gallery-lounge__intro {
  min-width: 0;
  grid-column: 2 / span 5;
  padding-left: var(--space-5);
  border-left: 3px solid var(--color-ruby-garnet);
}

.gallery-lounge__intro h2,
.gallery-lounge__intro p {
  }

.gallery-lounge__figure {
  grid-column: 7 / span 6;
  min-width: 0;
}

.gallery-lounge__figure img {
  aspect-ratio: 3 / 2;
}

.gallery-lounge__activities {
  display: grid;
  grid-column: 1 / -1;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-5);
}

.gallery-activity {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.gallery-activity h3,
.gallery-activity p {
  margin-bottom: 0;
}

.gallery-activity h3 {
  color: var(--color-warm-champagne);
  font-family: var(--font-body);
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-label);
}

.gallery-activity p {
  }

.gallery-rail-section__intro {
  display: flex;
  width: min(100%, 39rem);
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  margin-inline: auto;
  text-align: center;
}

.gallery-rail-section__intro::before {
  width: 4rem;
  height: 1px;
  content: "";
  background: var(--color-border);
}

.gallery-rail-section__intro .eyebrow,
.gallery-rail-section__intro h2,
.gallery-rail-section__intro p {
  margin-bottom: 0;
}

.gallery-rail-section__intro p {
  }

.gallery-rail-wrap {
  width: min(100% - (var(--gutter) * 2), var(--container-max));
  margin: var(--space-7) auto 0;
}

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

.gallery-rail__frame {
  min-width: 0;
}

.gallery-rail__frame img {
  aspect-ratio: 4 / 5;
}

.gallery-rail__frame:nth-child(1) img {
  object-position: 52% 63%;
}

.gallery-rail__frame:nth-child(2) img {
  object-position: 22% 50%;
}

.gallery-rail__frame:nth-child(3) img {
  object-position: 65% 45%;
}

.gallery-rail__frame figcaption {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-1);
}

.gallery-rail__frame figcaption span {
  color: var(--color-antique-bronze);
  font-weight: 600;
}

.gallery-rail__controls {
  display: flex;
  min-width: 0;
  justify-content: flex-end;
  gap: var(--space-2);
  margin-top: var(--space-4);
}

.gallery-rail__button {
  width: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: transparent;
  color: var(--color-warm-champagne);
}

.gallery-rail__button:hover {
  border-color: var(--color-warm-champagne);
  box-shadow: 0 0 1.25rem rgba(230, 200, 146, 0.14);
}

.gallery-continue {
  padding-block: var(--space-9);
}

.gallery-continue__inner {
  display: flex;
  width: min(100%, 41.25rem);
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  margin-inline: auto;
  text-align: center;
}

.gallery-continue .eyebrow {
  color: var(--color-warm-champagne);
  margin-bottom: 0;
}

.gallery-continue h2,
.gallery-continue p {
  margin-bottom: 0;
}

.gallery-continue h2 {
  color: var(--color-warm-champagne);
}

.gallery-continue p {
  }

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

.gallery-continue__link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-2);
  border-bottom: 1px solid var(--color-warm-champagne);
  color: var(--color-soft-linen);
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
  text-decoration: none;
  text-transform: uppercase;
}

.gallery-continue__link:hover {
  color: var(--color-warm-champagne);
}

.gallery-reveal {
  opacity: 1;
}

.gallery-js .gallery-reveal {
  transform: translateY(1.25rem);
  opacity: 0;
  transition: transform var(--transition-slow), opacity var(--transition-slow);
}

.gallery-js .gallery-reveal.is-visible {
  transform: translateY(0);
  opacity: 1;
}

@media (max-width: 64rem) {
  .gallery-hero,
  .gallery-hero__figure img,
  .gallery-hero__content {
    min-height: 38rem;
  }

  .gallery-hero__copy {
    grid-column: 1 / span 5;
  }

  .gallery-table__intro {
    grid-column: 1 / span 7;
  }

  .gallery-study--savoury {
    grid-column: 1 / span 6;
    height: 34rem;
  }

  .gallery-study__caption--savoury {
    grid-column: 7 / span 6;
  }

  .gallery-study--dessert {
    grid-column: 7 / span 6;
    grid-row: 3;
    height: 34rem;
    margin-top: 0;
  }

  .gallery-study__caption--dessert {
    grid-column: 1 / span 6;
    grid-row: 3;
    margin-top: 0;
  }

  .gallery-social__quote {
    grid-column: 9 / span 3;
  }

  .gallery-social__copy {
    grid-column: 9 / span 3;
    margin-top: var(--space-7);
  }
}

@media (max-width: 61.1875rem) {
  .gallery-hero {
    min-height: 0;
  }

  .gallery-hero__figure {
    position: relative;
    height: auto;
  }

  .gallery-hero__figure::after {
    display: none;
  }

  .gallery-hero__figure img {
    min-height: 0;
    aspect-ratio: 3 / 2;
  }

  .gallery-hero__content {
    display: flex;
    width: 100%;
    min-height: 0;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-5);
    padding: var(--space-6) var(--gutter) var(--space-8);
    background: var(--color-midnight-petrol);
  }

  .gallery-hero__copy,
  .gallery-hero__caption {
    width: min(100%, 42rem);
    min-width: 0;
    padding: 0;
  }

  .gallery-bar__layout {
    gap: var(--space-5);
  }

  .gallery-bar__figure {
    grid-column: 1 / -1;
  }

  .gallery-bar__panel {
    grid-column: 1 / span 8;
    grid-row: 2;
    margin-left: 0;
  }

  .gallery-craft__grid {
    row-gap: var(--space-5);
  }

  .gallery-craft__figure {
    grid-column: 1 / span 8;
  }

  .gallery-craft__copy {
    grid-column: 1 / span 7;
    justify-self: start;
  }

  .gallery-social__figure {
    grid-column: 1 / span 7;
  }

  .gallery-social__quote {
    grid-column: 8 / span 5;
  }

  .gallery-social__copy {
    grid-column: 8 / span 5;
    margin-top: 0;
  }

  .gallery-lounge__intro {
    grid-column: 1 / span 6;
  }

  .gallery-lounge__figure {
    grid-column: 7 / span 6;
  }
}

@media (max-width: 51.1875rem) {
  .gallery-observations,
  .gallery-lounge__activities {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gallery-observation:nth-child(3),
  .gallery-activity:nth-child(3) {
    grid-column: 1 / span 2;
  }

  .gallery-social__grid {
    row-gap: var(--space-5);
  }

  .gallery-social__figure {
    grid-column: 1 / -1;
  }

  .gallery-social__quote,
  .gallery-social__copy {
    grid-column: 2 / span 9;
  }

  .gallery-lounge__intro {
    grid-column: 1 / span 7;
  }

  .gallery-lounge__figure {
    grid-column: 1 / -1;
  }
}

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

  .gallery-hero__figure img {
    aspect-ratio: 4 / 5;
  }

  .gallery-hero__copy h1 {
    max-width: 14ch;
    font-size: 2.75rem;
    line-height: 1.08;
  }

  .gallery-hero__copy .lead {
    max-width: 34ch;
    font-size: 1rem;
  }

  .gallery-hero__caption {
    max-width: 20rem;
  }

  .gallery-table__grid,
  .gallery-craft__grid,
  .gallery-rooms__grid,
  .gallery-social__grid,
  .gallery-lounge__grid {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-6);
  }

  .gallery-table .container,
  .gallery-craft .container,
  .gallery-rooms .container,
  .gallery-social .container,
  .gallery-lounge .container {
    width: 100%;
  }

  .gallery-table__intro,
  .gallery-craft__copy,
  .gallery-rooms__intro,
  .gallery-social__quote,
  .gallery-social__copy,
  .gallery-lounge__intro {
    width: calc(100% - (var(--gutter) * 2));
    min-width: 0;
    margin-inline: auto;
  }

  .gallery-table__intro {
    padding-left: var(--space-4);
  }

  .gallery-table__intro h2,
  .gallery-rooms__intro h2,
  .gallery-social__copy h2,
  .gallery-lounge__intro h2,
  .gallery-bar__panel h2 {
    font-size: 2.25rem;
  }

  .gallery-study,
  .gallery-craft__figure,
  .gallery-rooms__panorama,
  .gallery-social__figure,
  .gallery-lounge__figure {
    width: 100%;
    min-width: 0;
  }

  .gallery-study--savoury,
  .gallery-study--dessert {
    height: auto;
    margin: 0;
  }

  .gallery-study img {
    aspect-ratio: 4 / 5;
  }

  .gallery-study__caption {
    width: calc(100% - (var(--gutter) * 2));
    min-width: 0;
    margin: 0 auto;
  }

  .gallery-craft__figure img,
  .gallery-social__figure img {
    aspect-ratio: 3 / 2;
  }

  .gallery-craft__figure figcaption,
  .gallery-social__figure figcaption,
  .gallery-rooms__panorama figcaption {
    width: calc(100% - (var(--gutter) * 2));
    min-width: 0;
    margin: var(--space-3) auto 0;
  }

  .gallery-craft__copy {
    gap: var(--space-4);
  }

  .gallery-craft__number {
    position: relative;
    top: auto;
    right: auto;
    order: -1;
    font-size: 4.5rem;
  }

  .gallery-bar__layout {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .gallery-bar .container {
    width: 100%;
  }

  .gallery-bar__figure img {
    aspect-ratio: 4 / 5;
  }

  .gallery-bar__figure figcaption {
    padding-inline: var(--gutter);
  }

  .gallery-bar__panel {
    width: calc(100% - (var(--gutter) * 2));
    min-width: 0;
    margin: var(--space-5) auto 0;
    padding: var(--space-5);
  }

  .gallery-rooms__panorama img {
    aspect-ratio: 3 / 2;
  }

  .gallery-observations,
  .gallery-lounge__activities {
    display: flex;
    width: calc(100% - (var(--gutter) * 2));
    min-width: 0;
    flex-direction: column;
    gap: var(--space-5);
    margin-inline: auto;
  }

  .gallery-observation,
  .gallery-activity {
    width: 100%;
    min-width: 0;
  }

  .gallery-social__quote {
    font-size: 2.4rem;
  }

  .gallery-lounge__intro {
    padding-left: var(--space-4);
  }

  .gallery-lounge__figure img {
    aspect-ratio: 4 / 5;
  }

  .gallery-rail-section__intro {
    width: calc(100% - (var(--gutter) * 2));
  }

  .gallery-rail-wrap {
    width: 100%;
    margin-top: var(--space-6);
  }

  .gallery-rail {
    display: flex;
    width: 100%;
    min-width: 0;
    gap: var(--space-4);
    overflow-x: auto;
    padding-inline: var(--gutter);
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }

  .gallery-rail__frame {
    width: 82vw;
    min-width: 82vw;
    scroll-snap-align: start;
  }

  .gallery-rail__frame img {
    aspect-ratio: 4 / 5;
  }

  .gallery-continue {
    padding-block: var(--space-8);
  }

  .gallery-continue__inner {
    width: calc(100% - (var(--gutter) * 2));
  }

  .gallery-continue h2 {
    font-size: 2.25rem;
  }

  .gallery-continue__actions {
    width: min(100%, 20rem);
  }

  .gallery-continue__actions .button-primary {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gallery-js .gallery-reveal,
  .gallery-js .gallery-reveal.is-visible {
    transform: none;
    opacity: 1;
  }
}


.casino-lounge-page {
  --cl-grid-gap: var(--space-6);
  overflow: hidden;
}

.casino-lounge-page .cl-hero,
.casino-lounge-page .cl-poker,
.casino-lounge-page .cl-roulette,
.casino-lounge-page .cl-interior {
  position: relative;
  min-width: 0;
}

.casino-lounge-page .cl-hero {
  min-height: 45rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  background: var(--color-midnight-petrol);
}

.casino-lounge-page .cl-hero__media,
.casino-lounge-page .cl-hero__media img {
  width: 100%;
  height: 100%;
}

.casino-lounge-page .cl-hero__media {
  position: absolute;
  inset: 0;
  min-width: 0;
}

.casino-lounge-page .cl-hero__media::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(16, 43, 49, 0.94) 0%, rgba(16, 43, 49, 0.72) 35%, rgba(16, 43, 49, 0.08) 68%);
}

.casino-lounge-page .cl-hero__media img,
.casino-lounge-page .cl-poker__image img,
.casino-lounge-page .cl-roulette__image img,
.casino-lounge-page .cl-blackjack__image img,
.casino-lounge-page .cl-interior__image img {
  width: 100%;
  max-width: none;
  object-fit: cover;
}

.casino-lounge-page .cl-hero__media img {
  object-position: 62% center;
}

.casino-lounge-page .cl-hero__copy {
  position: relative;
  z-index: 1;
  width: min(100% - (var(--gutter) * 2), var(--container-max));
  min-width: 0;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.casino-lounge-page .cl-hero__copy > * {
  min-width: 0;
  margin: 0;
}

.casino-lounge-page .cl-hero__copy h1 {
  font-size: clamp(3.25rem, 5vw, 4rem);
}

.casino-lounge-page .cl-hero__copy .lead {
  width: min(100%, 39ch);
}

.casino-lounge-page .cl-hero__caption {
  width: min(100%, 46ch);
  color: var(--color-antique-bronze);
  font-size: var(--font-size-micro);
  font-weight: 600;
  letter-spacing: var(--tracking-micro);
  line-height: 1.5;
  text-transform: uppercase;
}

.casino-lounge-page .cl-hosted__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-8);
  align-items: start;
}

.casino-lounge-page .cl-hosted__intro,
.casino-lounge-page .cl-hosted__principles,
.casino-lounge-page .cl-principle,
.casino-lounge-page .cl-principle__content {
  min-width: 0;
}

.casino-lounge-page .cl-hosted__intro {
  width: 100%;
}

.casino-lounge-page .cl-hosted__intro p {
  }

.casino-lounge-page .cl-hosted__principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.casino-lounge-page .cl-principle {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: var(--space-4);
  padding-left: var(--space-4);
  border-left: 1px solid var(--color-border);
}

.casino-lounge-page .cl-principle__number,
.casino-lounge-page .cl-feature-index {
  color: var(--color-antique-bronze);
  font-family: var(--font-heading);
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 0.9;
}

.casino-lounge-page .cl-principle__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.casino-lounge-page .cl-principle__content > * {
  min-width: 0;
  margin: 0;
}

.casino-lounge-page .cl-principle h3,
.casino-lounge-page .cl-principle p {
  width: 100%;
}

.casino-lounge-page .cl-principle p {
  }

.casino-lounge-page .cl-overview__heading {
  width: min(100%, 62ch);
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-bottom: var(--space-7);
  margin-left: calc((100% / 12) * 1);
}

.casino-lounge-page .cl-overview__heading > * {
  min-width: 0;
  margin: 0;
}

.casino-lounge-page .cl-overview__heading p {
  width: min(100%, 62ch);
}

.casino-lounge-page .cl-activity-rail {
  min-width: 0;
}

.casino-lounge-page .cl-activity-rail__controls {
  display: none;
}

.casino-lounge-page .cl-activity-rail__track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
  border: 1px solid var(--color-border);
}

.casino-lounge-page .cl-activity {
  min-width: 0;
  min-height: 26.25rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: var(--space-4);
  padding: var(--space-6);
  border-right: 1px solid var(--color-border);
}

.casino-lounge-page .cl-activity:last-child {
  border-right: 0;
}

.casino-lounge-page .cl-activity > * {
  min-width: 0;
  margin: 0;
}

.casino-lounge-page .cl-activity h3 {
  font-size: clamp(2rem, 3vw, 2.8rem);
}

.casino-lounge-page .cl-activity p {
  width: min(100%, 45ch);
}

.casino-lounge-page .cl-activity--poker {
  background: linear-gradient(145deg, #49352d 0%, #211713 70%);
}

.casino-lounge-page .cl-activity--roulette {
  background: radial-gradient(circle at 80% 18%, rgba(168, 121, 75, 0.18), transparent 38%), #102b31;
}

.casino-lounge-page .cl-activity--blackjack {
  background: linear-gradient(145deg, #3e2729 0%, #211713 70%);
}

.casino-lounge-page .cl-poker {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: stretch;
}

.casino-lounge-page .cl-poker__image,
.casino-lounge-page .cl-poker__copy {
  min-width: 0;
}

.casino-lounge-page .cl-poker__image figure {
  height: 100%;
  margin: 0;
  position: relative;
}

.casino-lounge-page .cl-poker__image img {
  height: 100%;
  min-height: 39rem;
  object-position: center;
}

.casino-lounge-page .cl-poker__image figcaption {
  position: absolute;
  right: var(--space-4);
  bottom: var(--space-4);
  width: min(100% - var(--space-8), 26rem);
  padding: var(--space-3);
  background: rgba(16, 43, 49, 0.9);
}

.casino-lounge-page .cl-poker__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--space-5);
  padding: clamp(var(--space-7), 7vw, var(--space-9));
}

.casino-lounge-page .cl-poker__copy > * {
  min-width: 0;
  margin: 0;
}

.casino-lounge-page .cl-poker__copy h2,
.casino-lounge-page .cl-poker__copy > p,
.casino-lounge-page .cl-poker__copy blockquote,
.casino-lounge-page .cl-poker__copy .rule {
  width: 100%;
}

.casino-lounge-page .cl-poker__copy > p {
  }

.casino-lounge-page .cl-poker__secondary {
  max-width: 50ch !important;
}

.casino-lounge-page .cl-roulette {
  padding-bottom: var(--space-9);
}

.casino-lounge-page .cl-roulette__image {
  height: 28rem;
}

.casino-lounge-page .cl-roulette__image img {
  height: 100%;
  object-position: 64% center;
}

.casino-lounge-page .cl-roulette__content {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) minmax(0, 5fr);
  gap: var(--space-5);
  margin-top: calc(var(--space-8) * -1);
}

.casino-lounge-page .cl-roulette__heading {
  grid-column: 1 / span 2;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-7);
  background: var(--color-midnight-petrol);
  border: 1px solid var(--color-border);
}

.casino-lounge-page .cl-roulette__heading > * {
  min-width: 0;
  margin: 0;
}

.casino-lounge-page .cl-roulette__heading .lead {
  width: min(100%, 62ch);
}

.casino-lounge-page .cl-roulette__modules {
  grid-column: 3;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  align-content: end;
}

.casino-lounge-page .cl-roulette-module {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding-left: var(--space-4);
  border-left: 1px solid var(--color-antique-bronze);
}

.casino-lounge-page .cl-roulette-module > * {
  min-width: 0;
  margin: 0;
}

.casino-lounge-page .cl-roulette-module p {
  width: min(100%, 50ch);
}

.casino-lounge-page .cl-blackjack__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 5fr);
  gap: var(--space-5);
  align-items: start;
}

.casino-lounge-page .cl-blackjack__copy,
.casino-lounge-page .cl-blackjack__image {
  min-width: 0;
}

.casino-lounge-page .cl-blackjack__copy {
  grid-column: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.casino-lounge-page .cl-blackjack__copy > * {
  min-width: 0;
  margin: 0;
}

.casino-lounge-page .cl-blackjack__copy > p,
.casino-lounge-page .cl-blackjack__copy .rule {
  width: 100%;
}

.casino-lounge-page .cl-blackjack__copy > p {
  }

.casino-lounge-page .cl-blackjack__secondary {
  max-width: 48ch !important;
}

.casino-lounge-page .cl-blackjack__image {
  grid-column: 3;
  width: 100%;
  margin: 0;
}

.casino-lounge-page .cl-blackjack__image img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-position: center;
}

.casino-lounge-page .cl-evening__heading {
  width: min(100%, 64ch);
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-bottom: var(--space-7);
  margin-left: calc((100% / 12) * 1);
}

.casino-lounge-page .cl-evening__heading > * {
  min-width: 0;
  margin: 0;
}

.casino-lounge-page .cl-evening__heading .lead {
  width: min(100%, 64ch);
}

.casino-lounge-page .cl-evening__sequence {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
  border-top: 1px solid rgba(33, 23, 19, 0.3);
}

.casino-lounge-page .cl-evening-step {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border-right: 1px solid rgba(33, 23, 19, 0.3);
}

.casino-lounge-page .cl-evening-step:last-child {
  border-right: 0;
}

.casino-lounge-page .cl-evening-step > * {
  min-width: 0;
  margin: 0;
}

.casino-lounge-page .cl-evening-step p {
  width: min(100%, 50ch);
}

.casino-lounge-page .cl-evening-step__index {
  color: var(--color-antique-bronze);
  font-family: var(--font-heading);
  font-size: 3rem;
  line-height: 1;
}

.casino-lounge-page .cl-interior__image {
  height: 42rem;
}

.casino-lounge-page .cl-interior__image img {
  height: 100%;
  object-position: center;
}

.casino-lounge-page .cl-interior__container {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: calc(var(--space-9) * -1);
}

.casino-lounge-page .cl-interior__panel {
  grid-column: 8 / span 4;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  background: var(--color-smoked-glass);
  backdrop-filter: blur(12px);
}

.casino-lounge-page .cl-interior__panel > * {
  min-width: 0;
  margin: 0;
}

.casino-lounge-page .cl-interior__panel p,
.casino-lounge-page .cl-interior__panel .rule {
  width: 100%;
}

.casino-lounge-page .cl-interior__panel p {
  }

.casino-lounge-page .cl-invitation__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.casino-lounge-page .cl-invitation__panel {
  grid-column: 4 / span 6;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  padding: var(--space-8);
  border: 1px solid var(--color-antique-bronze);
  box-shadow: inset 0 0 0 2px rgba(230, 200, 146, 0.16);
  text-align: center;
}

.casino-lounge-page .cl-invitation__panel > * {
  min-width: 0;
  margin: 0;
}

.casino-lounge-page .cl-invitation__panel .eyebrow {
  color: var(--color-warm-champagne);
}

.casino-lounge-page .cl-invitation__panel h2 {
  color: var(--color-warm-champagne);
}

.casino-lounge-page .cl-invitation__panel > p:not(.cl-invitation__support) {
  width: min(100%, 56ch);
}

.casino-lounge-page .cl-invitation__support {
  width: min(100%, 44ch);
  color: var(--color-soft-linen);
  font-size: var(--font-size-meta);
}

.casino-lounge-page .cl-responsibility {
  padding-block: var(--space-8);
}

.casino-lounge-page .cl-responsibility__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.casino-lounge-page .cl-responsibility__content {
  grid-column: 4 / span 6;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  text-align: center;
}

.casino-lounge-page .cl-responsibility__content > * {
  min-width: 0;
  margin: 0;
}

.casino-lounge-page .cl-responsibility__content .rule,
.casino-lounge-page .cl-responsibility__content p {
  width: 100%;
}

.casino-lounge-page .cl-responsibility__content p {
  color: var(--color-muted-linen);
}

.casino-lounge-page .cl-reveal {
  opacity: 1;
}

@media (max-width: 68.75rem) {
  .casino-lounge-page .cl-hosted__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-7);
  }

  .casino-lounge-page .cl-hosted__principles {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .casino-lounge-page .cl-principle {
    grid-template-columns: 3.25rem minmax(0, 1fr);
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--color-border);
    padding-top: var(--space-5);
  }

  .casino-lounge-page .cl-poker {
    grid-template-columns: minmax(0, 1fr);
  }

  .casino-lounge-page .cl-poker__image img {
    min-height: 0;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .casino-lounge-page .cl-poker__copy {
    width: min(100% - (var(--gutter) * 2), 52rem);
    margin-inline: auto;
    padding-inline: 0;
  }

  .casino-lounge-page .cl-evening__heading,
  .casino-lounge-page .cl-overview__heading {
    margin-left: 0;
  }

  .casino-lounge-page .cl-evening__sequence {
    grid-template-columns: minmax(0, 1fr);
  }

  .casino-lounge-page .cl-evening-step {
    border-right: 0;
    border-bottom: 1px solid rgba(33, 23, 19, 0.3);
  }

  .casino-lounge-page .cl-evening-step:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 65.625rem) {
  .casino-lounge-page .cl-hero {
    min-height: 42rem;
  }

  .casino-lounge-page .cl-hero__media::after {
    background: linear-gradient(0deg, rgba(16, 43, 49, 0.96) 0%, rgba(16, 43, 49, 0.78) 34%, rgba(16, 43, 49, 0.1) 70%);
  }

  .casino-lounge-page .cl-hero__copy {
    align-self: end;
    width: min(100% - (var(--gutter) * 2), var(--container-max));
    padding: var(--space-6);
    background: var(--color-smoked-glass);
    backdrop-filter: blur(10px);
  }
}

@media (max-width: 62.5rem) {
  .casino-lounge-page .cl-roulette {
    padding-bottom: 0;
  }

  .casino-lounge-page .cl-roulette__content {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 0;
    padding-block: var(--space-7);
  }

  .casino-lounge-page .cl-roulette__heading,
  .casino-lounge-page .cl-roulette__modules {
    grid-column: 1;
  }

  .casino-lounge-page .cl-roulette__modules {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .casino-lounge-page .cl-interior__container {
    margin-top: 0;
    padding-block: var(--space-7);
  }

  .casino-lounge-page .cl-interior__panel {
    grid-column: 3 / span 8;
  }
}

@media (max-width: 61.1875rem) and (min-width: 48rem) {
  .casino-lounge-page .cl-activity-rail {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .casino-lounge-page .cl-activity-rail__controls {
    display: flex;
    min-width: 0;
    justify-content: flex-end;
    gap: var(--space-3);
  }

  .casino-lounge-page .cl-rail-button {
    width: 2.75rem;
    min-width: 0;
    min-height: 2.75rem;
    border: 1px solid var(--color-border);
    background: transparent;
    color: var(--color-warm-champagne);
  }

  .casino-lounge-page .cl-activity-rail__track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }

  .casino-lounge-page .cl-activity {
    width: 68%;
    min-width: 68%;
    scroll-snap-align: start;
    border-right: 1px solid var(--color-border);
  }
}

@media (max-width: 60rem) {
  .casino-lounge-page .cl-blackjack__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .casino-lounge-page .cl-blackjack__image {
    grid-column: 1;
    grid-row: 1;
  }

  .casino-lounge-page .cl-blackjack__image img {
    aspect-ratio: 4 / 3;
  }

  .casino-lounge-page .cl-blackjack__copy {
    grid-column: 1;
    grid-row: 2;
    width: min(100%, 52rem);
    margin-inline: auto;
  }
}

@media (max-width: 47.9375rem) {
  .casino-lounge-page .cl-hero {
    min-height: 0;
    display: block;
    background: var(--color-midnight-petrol);
  }

  .casino-lounge-page .cl-hero__media {
    position: relative;
    height: auto;
    padding: var(--space-5) var(--gutter) 0;
  }

  .casino-lounge-page .cl-hero__media::after {
    display: none;
  }

  .casino-lounge-page .cl-hero__media img {
    aspect-ratio: 4 / 5;
    object-position: 65% center;
  }

  .casino-lounge-page .cl-hero__copy {
    width: 100%;
    padding: var(--space-6) var(--gutter) var(--space-8);
    background: var(--color-midnight-petrol);
    backdrop-filter: none;
  }

  .casino-lounge-page .cl-hero__copy h1 {
    width: min(100%, 13ch);
    font-size: clamp(2.75rem, 12vw, 3.4rem);
  }

  .casino-lounge-page .cl-hero__copy .lead,
  .casino-lounge-page .cl-hero__caption {
    width: 100%;
    max-width: 48ch;
  }

  .casino-lounge-page .cl-hosted__grid {
    gap: var(--space-6);
  }

  .casino-lounge-page .cl-hosted__intro p,
  .casino-lounge-page .cl-principle p {
  }

  .casino-lounge-page .cl-overview__heading {
    width: 100%;
    margin-bottom: var(--space-6);
  }

  .casino-lounge-page .cl-overview__heading p {
    width: 100%;
  }

  .casino-lounge-page .cl-activity-rail__track {
    grid-template-columns: minmax(0, 1fr);
  }

  .casino-lounge-page .cl-activity {
    min-height: 17.5rem;
    padding: var(--space-5);
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
  }

  .casino-lounge-page .cl-activity:last-child {
    border-bottom: 0;
  }

  .casino-lounge-page .cl-activity p {
    width: 100%;
  }

  .casino-lounge-page .cl-poker__image img {
    aspect-ratio: 4 / 5;
  }

  .casino-lounge-page .cl-poker__image figcaption {
    position: static;
    width: 100%;
    padding: var(--space-3) var(--gutter);
    background: var(--color-espresso-brown);
  }

  .casino-lounge-page .cl-poker__copy {
    width: 100%;
    padding: var(--space-7) var(--gutter);
  }

  .casino-lounge-page .cl-poker__copy > p,
  .casino-lounge-page .cl-poker__secondary {
    max-width: none !important;
  }

  .casino-lounge-page .cl-roulette__image {
    height: auto;
  }

  .casino-lounge-page .cl-roulette__image img {
    aspect-ratio: 3 / 2;
    height: auto;
  }

  .casino-lounge-page .cl-roulette__content {
    padding-block: 0 var(--space-7);
  }

  .casino-lounge-page .cl-roulette__heading {
    padding: var(--space-6) 0;
    border: 0;
  }

  .casino-lounge-page .cl-roulette__heading .lead,
  .casino-lounge-page .cl-roulette-module p {
    width: 100%;
  }

  .casino-lounge-page .cl-roulette__modules {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .casino-lounge-page .cl-blackjack__image img {
    aspect-ratio: 4 / 5;
  }

  .casino-lounge-page .cl-blackjack__copy,
  .casino-lounge-page .cl-blackjack__copy > p,
  .casino-lounge-page .cl-blackjack__secondary {
    width: 100%;
    max-width: none !important;
  }

  .casino-lounge-page .cl-evening__heading {
    width: 100%;
    margin-bottom: var(--space-6);
  }

  .casino-lounge-page .cl-evening__heading .lead,
  .casino-lounge-page .cl-evening-step p {
    width: 100%;
  }

  .casino-lounge-page .cl-evening-step {
    padding-inline: 0;
  }

  .casino-lounge-page .cl-evening-step .button-secondary {
    width: auto;
  }

  .casino-lounge-page .cl-interior__image {
    height: auto;
  }

  .casino-lounge-page .cl-interior__image img {
    aspect-ratio: 3 / 2;
    height: auto;
  }

  .casino-lounge-page .cl-interior__container {
    display: block;
    padding-block: 0;
    width: 100%;
  }

  .casino-lounge-page .cl-interior__panel {
    width: 100%;
    padding: var(--space-6) var(--gutter) var(--space-7);
    border-inline: 0;
    border-bottom: 0;
    backdrop-filter: none;
  }

  .casino-lounge-page .cl-interior__panel p {
  }

  .casino-lounge-page .cl-invitation__container,
  .casino-lounge-page .cl-responsibility__container {
    display: block;
  }

  .casino-lounge-page .cl-invitation__panel {
    width: 100%;
    padding: var(--space-7) var(--space-5);
    align-items: flex-start;
    text-align: left;
  }

  .casino-lounge-page .cl-invitation__panel > p:not(.cl-invitation__support),
  .casino-lounge-page .cl-invitation__support {
    width: 100%;
    max-width: none;
  }

  .casino-lounge-page .cl-invitation__panel .button-secondary {
    width: auto;
  }

  .casino-lounge-page .cl-responsibility {
    padding-block: var(--space-7);
  }

  .casino-lounge-page .cl-responsibility__content {
    width: 100%;
    align-items: flex-start;
    text-align: left;
  }

  .casino-lounge-page .cl-responsibility__content p {
  }
}

@media (max-width: 26.25rem) {
  .casino-lounge-page .cl-hero__copy .button-primary,
  .casino-lounge-page .cl-invitation__panel .button-secondary {
    width: 100%;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .casino-lounge-page .cl-reveal {
    opacity: 0;
    transform: translateY(1rem);
    transition: opacity var(--transition-slow), transform var(--transition-slow);
  }

  .casino-lounge-page .cl-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
  }
}


.interiors-page {
  overflow: hidden;
}

.interiors-page .section {
  position: relative;
}

.interiors-page .eyebrow {
  margin-bottom: var(--space-3);
}

.interiors-hero {
  position: relative;
  min-height: 47.5rem;
  background: var(--color-midnight-petrol);
}

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

.interiors-hero__media::after {
  content: "";
  background: linear-gradient(90deg, rgba(16, 43, 49, 0.84) 0%, rgba(16, 43, 49, 0.56) 36%, rgba(16, 43, 49, 0.08) 68%), linear-gradient(0deg, rgba(16, 43, 49, 0.72) 0%, transparent 42%);
}

.interiors-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.interiors-hero__content {
  position: relative;
  z-index: 1;
  display: flex;
  width: min(100% - (var(--gutter) * 2), var(--container-max));
  min-width: 0;
  min-height: 47.5rem;
  margin-inline: auto;
  padding-block: var(--space-10) var(--space-9);
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  gap: var(--space-5);
}

.interiors-hero__content > * {
  min-width: 0;
  margin: 0;
}

.interiors-hero__content h1 {
  width: min(100%, 10ch);
  font-size: clamp(3.5rem, 6vw, 4.5rem);
}

.interiors-hero__content p {
  width: min(100%, 50ch);
}

.interiors-hero__caption {
  position: absolute;
  z-index: 1;
  right: max(var(--gutter), calc((100% - var(--container-max)) / 2));
  bottom: var(--space-6);
  display: flex;
  width: min(100% - (var(--gutter) * 2), 31rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  color: var(--color-soft-linen);
}

.interiors-hero__caption p {
  margin: 0;
  font-size: var(--font-size-meta);
  line-height: 1.55;
}

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

.interiors-premise__grid,
.interiors-materials__grid,
.interiors-dining__grid,
.interiors-sequence__grid,
.interiors-lounge__top,
.interiors-table__grid,
.interiors-sydney__grid,
.interiors-close__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
}

.interiors-premise__intro {
  position: relative;
  grid-column: 2 / span 7;
  min-width: 0;
}

.interiors-section-number {
  position: absolute;
  top: -0.3rem;
  left: -4.2rem;
  color: var(--color-antique-bronze);
  font-family: var(--font-heading);
  font-size: 4rem;
  line-height: 1;
}

.interiors-premise__intro h2 {
  width: min(100%, 18ch);
}

.interiors-premise__intro .lead {
  width: min(100%, 68ch);
}

.interiors-premise__principles {
  grid-column: 2 / span 10;
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-5);
}

.interiors-principle {
  display: flex;
  min-width: 0;
  min-height: 100%;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.interiors-principle > * {
  min-width: 0;
  margin: 0;
}

.interiors-principle h3 {
  font-size: clamp(1.7rem, 2.4vw, 2.2rem);
}

.interiors-principle p {
  width: min(100%, 42ch);
}

.interiors-materials__heading {
  width: min(100%, 19ch);
}

.interiors-materials__figure {
  grid-column: 1 / span 6;
  min-width: 0;
  margin: 0;
}

.interiors-materials__figure img {
  width: 100%;
  height: 47rem;
  object-fit: cover;
  object-position: center;
}

.interiors-materials__notes {
  grid-column: 7 / span 6;
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: var(--space-5);
}

.interiors-material-note {
  display: flex;
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.interiors-material-note > * {
  min-width: 0;
  margin: 0;
}

.interiors-material-note h3 {
  font-size: clamp(1.55rem, 2vw, 2rem);
}

.interiors-material-note p {
  width: min(100%, 34ch);
}

.interiors-material-note--limestone {
  padding: var(--space-5);
  border-top: 0;
  background: var(--color-champagne-limestone);
  color: var(--color-espresso-brown);
}

.interiors-material-note--limestone h3 {
  color: var(--color-espresso-brown);
}

.interiors-material-note--emperador {
  padding: var(--space-5);
  border-top: 0;
  background: var(--color-dark-emperador);
}

.interiors-dining__copy {
  grid-column: 1 / span 5;
  min-width: 0;
}

.interiors-dining__copy h2 {
  width: min(100%, 14ch);
}

.interiors-dining__copy > .lead,
.interiors-dining__copy > p:not(.lead) {
  width: min(100%, 58ch);
}

.interiors-dining__figure {
  grid-column: 6 / span 7;
  min-width: 0;
  margin: var(--space-7) calc(var(--container-inline) * -1) 0 0;
}

.interiors-dining__figure img {
  width: 100%;
  height: 34rem;
  object-fit: cover;
}

.interiors-dining__qualities {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-6);
}

.interiors-dining__qualities article {
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.interiors-dining__qualities h3 {
  font-size: 1.6rem;
}

.interiors-dining__qualities p {
  width: min(100%, 36ch);
}

.interiors-inline-index {
  display: block;
  margin-bottom: var(--space-3);
  color: var(--color-antique-bronze);
  font-family: var(--font-heading);
  font-size: 2rem;
  line-height: 1;
}

.interiors-sequence__heading {
  grid-column: 1 / span 6;
  min-width: 0;
}

.interiors-sequence__heading h2 {
  width: min(100%, 18ch);
}

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

.interiors-room-chapter {
  display: flex;
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.interiors-room-chapter > * {
  min-width: 0;
  margin: 0;
}

.interiors-room-chapter--step {
  margin-top: var(--space-7);
}

.interiors-room-chapter--late {
  margin-top: var(--space-10);
}

.interiors-room-chapter__number {
  color: var(--color-antique-bronze);
  font-size: var(--font-size-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
}

.interiors-room-chapter h3 {
  width: min(100%, 15ch);
}

.interiors-room-chapter p {
  width: min(100%, 40ch);
}

.interiors-bar__image {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.interiors-bar__image img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.interiors-bar__panel {
  position: relative;
  z-index: 1;
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  gap: var(--space-7);
  width: min(100% - (var(--gutter) * 2), 68.75rem);
  margin-top: calc(var(--space-8) * -1);
  padding: var(--space-7);
  background: var(--color-dark-emperador);
  border: 1px solid var(--color-border);
}

.interiors-bar__primary,
.interiors-bar__aside {
  min-width: 0;
}

.interiors-bar__primary h2 {
  width: min(100%, 18ch);
}

.interiors-bar__primary .lead {
  width: min(100%, 54ch);
}

.interiors-bar__primary > p:not(.lead) {
  width: min(100%, 50ch);
}

.interiors-bar__aside {
  display: flex;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.interiors-bar__aside > * {
  min-width: 0;
  margin: 0;
}

.interiors-bar__aside p {
  width: min(100%, 26ch);
}

.interiors-lounge__intro {
  grid-column: 1 / span 7;
  min-width: 0;
}

.interiors-lounge__intro h2 {
  width: min(100%, 17ch);
}

.interiors-lounge__intro .lead {
  width: min(100%, 54ch);
}

.interiors-lounge__figure {
  grid-column: 8 / span 5;
  min-width: 0;
  margin: 0;
}

.interiors-lounge__figure img {
  width: 100%;
  height: 34rem;
  object-fit: cover;
}

.interiors-lounge__activities {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
  margin-right: calc((100% / 12) * 3 + var(--space-6));
}

.interiors-activity {
  min-width: 0;
  padding: 0 0 0 var(--space-4);
  border-left: 1px solid var(--color-antique-bronze);
}

.interiors-activity--ruby {
  border-left-color: var(--color-ruby-garnet);
}

.interiors-activity h3 {
  margin-bottom: var(--space-3);
  font-family: var(--font-body);
  font-size: 1.25rem;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.interiors-activity p {
  width: min(100%, 30ch);
}

.interiors-lounge__responsible {
  display: flex;
  width: min(100%, 48ch);
  min-width: 0;
  margin-top: var(--space-6);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  color: var(--color-muted-linen);
}

.interiors-lounge__responsible > * {
  min-width: 0;
  margin: 0;
}

.interiors-table__intro {
  grid-column: 1 / span 6;
  min-width: 0;
}

.interiors-table__intro h2 {
  width: min(100%, 15ch);
}

.interiors-table__intro .lead {
  width: min(100%, 60ch);
}

.interiors-table__observations {
  grid-column: 8 / span 5;
  display: grid;
  min-width: 0;
  grid-template-columns: 1fr;
  gap: var(--space-5);
}

.interiors-table__observations article {
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid rgba(33, 23, 19, 0.34);
}

.interiors-table__observations h3 {
  color: var(--color-espresso-brown);
  font-size: 1.8rem;
}

.interiors-table__observations p {
  width: min(100%, 36ch);
}

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

.interiors-table__cta > * {
  min-width: 0;
  margin: 0;
}

.interiors-table__cta p {
  width: min(100%, 42ch);
}

.interiors-sydney__intro {
  grid-column: 1 / span 7;
  min-width: 0;
}

.interiors-sydney__intro h2 {
  width: min(100%, 16ch);
}

.interiors-sydney__intro p {
  width: min(100%, 64ch);
}

.interiors-sydney__occasions {
  grid-column: 1 / -1;
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-5);
}

.interiors-sydney__occasions article {
  display: flex;
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.interiors-sydney__occasions article > * {
  min-width: 0;
  margin: 0;
}

.interiors-sydney__occasions h3 {
  font-size: 1.9rem;
}

.interiors-sydney__occasions p {
  width: min(100%, 34ch);
}

.interiors-sydney__location {
  grid-column: 1 / -1;
  display: flex;
  min-width: 0;
  margin-top: var(--space-5);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.interiors-sydney__location > * {
  min-width: 0;
  margin: 0;
}

.interiors-sydney__location p {
  width: min(100%, 52ch);
}

.interiors-close {
  background-image: radial-gradient(circle at 20% 45%, rgba(230, 200, 146, 0.12), transparent 28%);
}

.interiors-close__block {
  grid-column: 1 / span 7;
  display: flex;
  min-width: 0;
  padding: var(--space-7);
  border: 1px solid var(--color-border);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.interiors-close__block > * {
  min-width: 0;
  margin: 0;
}

.interiors-close__block h2 {
  width: min(100%, 18ch);
}

.interiors-close__block p {
  width: min(100%, 42ch);
}

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

.interiors-close__actions > * {
  min-width: 0;
}

.interiors-page [data-interiors-reveal] {
  opacity: 0;
  transform: translateY(1.25rem);
  transition: opacity var(--transition-slow), transform var(--transition-slow);
}

.interiors-page [data-interiors-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 70rem) {
  .interiors-materials__figure {
    grid-column: 1 / span 5;
  }

  .interiors-materials__notes {
    grid-column: 6 / span 7;
  }

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

  .interiors-room-chapter--late {
    grid-column: 1 / -1;
    margin-top: 0;
  }

  .interiors-room-chapter--step {
    margin-top: var(--space-5);
  }
}

@media (max-width: 67.5rem) {
  .interiors-hero {
    min-height: auto;
  }

  .interiors-hero__media {
    position: relative;
    height: 34rem;
  }

  .interiors-hero__media::after {
    background: linear-gradient(0deg, rgba(16, 43, 49, 0.52), transparent 55%);
  }

  .interiors-hero__content {
    width: 100%;
    min-height: auto;
    padding: var(--space-7) var(--gutter);
    background: var(--color-midnight-petrol);
  }

  .interiors-hero__caption {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    padding: 0 var(--gutter) var(--space-7);
    background: var(--color-midnight-petrol);
  }
}

@media (max-width: 65.625rem) {
  .interiors-lounge__top {
    grid-template-columns: 1fr;
  }

  .interiors-lounge__figure {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .interiors-lounge__figure img {
    height: 30rem;
  }

  .interiors-lounge__intro {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

@media (max-width: 64rem) {
  .interiors-dining__grid {
    grid-template-columns: 1fr;
  }

  .interiors-dining__figure {
    grid-column: 1 / -1;
    grid-row: 1;
    margin: 0 calc(var(--container-inline) * -1);
  }

  .interiors-dining__figure img {
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .interiors-dining__copy {
    grid-column: 2 / span 10;
    grid-row: 2;
  }

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

  .interiors-sydney__occasions article:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 61.25rem) {
  .interiors-bar__panel {
    grid-template-columns: 1fr;
    width: min(100% - (var(--gutter) * 2), var(--container-max));
    margin-top: 0;
  }

  .interiors-bar__aside p {
    width: min(100%, 50ch);
  }

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

  .interiors-table__intro,
  .interiors-table__observations,
  .interiors-table__cta {
    grid-column: 1 / -1;
  }

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

@media (max-width: 56.25rem) {
  .interiors-materials__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .interiors-materials__figure {
    grid-column: 1 / -1;
  }

  .interiors-materials__figure img {
    height: auto;
    aspect-ratio: 4 / 5;
  }

  .interiors-materials__notes {
    grid-column: 1 / -1;
  }

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

  .interiors-premise__principles .interiors-principle:last-child {
    grid-column: 1 / -1;
  }

  .interiors-lounge__activities {
    margin-right: 0;
  }

  .interiors-close__block {
    grid-column: 1 / span 9;
  }
}

@media (max-width: 51.25rem) {
  .interiors-premise__intro,
  .interiors-premise__principles,
  .interiors-sequence__heading,
  .interiors-close__block {
    grid-column: 1 / -1;
  }

  .interiors-section-number {
    position: static;
    display: block;
    margin-bottom: var(--space-3);
  }

  .interiors-lounge__activities {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 47.9375rem) {
  .interiors-hero__media {
    height: min(65vh, 38rem);
    min-height: 25rem;
  }

  .interiors-hero__content {
    padding: var(--space-7) var(--gutter);
  }

  .interiors-hero__content h1 {
    width: min(100%, 12ch);
    font-size: 2.75rem;
    line-height: 1.02;
  }

  .interiors-hero__caption {
    padding: 0 var(--gutter) var(--space-7);
  }

  .interiors-premise__grid,
  .interiors-materials__grid,
  .interiors-dining__grid,
  .interiors-sequence__grid,
  .interiors-lounge__top,
  .interiors-table__grid,
  .interiors-sydney__grid,
  .interiors-close__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .interiors-premise__intro,
  .interiors-premise__principles,
  .interiors-materials__figure,
  .interiors-materials__notes,
  .interiors-dining__copy,
  .interiors-dining__figure,
  .interiors-sequence__heading,
  .interiors-sequence__chapters,
  .interiors-lounge__intro,
  .interiors-lounge__figure,
  .interiors-table__intro,
  .interiors-table__observations,
  .interiors-table__cta,
  .interiors-sydney__intro,
  .interiors-sydney__occasions,
  .interiors-sydney__location,
  .interiors-close__block {
    grid-column: 1;
  }

  .interiors-premise__intro h2,
  .interiors-materials__heading,
  .interiors-dining__copy h2,
  .interiors-sequence__heading h2,
  .interiors-bar__primary h2,
  .interiors-lounge__intro h2,
  .interiors-table__intro h2,
  .interiors-sydney__intro h2,
  .interiors-close__block h2 {
    width: 100%;
    font-size: 2.125rem;
  }

  .interiors-premise__principles,
  .interiors-materials__notes,
  .interiors-dining__qualities,
  .interiors-sequence__chapters,
  .interiors-lounge__activities,
  .interiors-table__observations,
  .interiors-sydney__occasions {
    grid-template-columns: 1fr;
  }

  .interiors-premise__principles .interiors-principle:last-child,
  .interiors-sydney__occasions article:last-child {
    grid-column: 1;
  }

  .interiors-materials__figure {
    margin-inline: calc(var(--gutter) * -1);
  }

  .interiors-materials__figure figcaption {
    padding-inline: var(--gutter);
  }

  .interiors-dining__figure {
    margin: 0 calc(var(--gutter) * -1);
  }

  .interiors-dining__qualities article,
  .interiors-table__observations article {
    width: 100%;
  }

  .interiors-room-chapter--step,
  .interiors-room-chapter--late {
    margin-top: 0;
  }

  .interiors-bar__image img {
    aspect-ratio: 4 / 5;
  }

  .interiors-bar__panel {
    width: 100%;
    padding: var(--space-6) var(--gutter);
    border-inline: 0;
  }

  .interiors-lounge__figure {
    grid-row: auto;
    margin-inline: calc(var(--gutter) * -1);
  }

  .interiors-lounge__figure img {
    height: auto;
    aspect-ratio: 4 / 5;
  }

  .interiors-lounge__intro {
    grid-row: auto;
  }

  .interiors-activity h3 {
    font-size: 1.1rem;
  }

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

  .interiors-close__actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .interiors-close__actions .link-arrow {
    min-height: 2.75rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .interiors-page [data-interiors-reveal] {
    opacity: 1;
    transform: none;
  }
}


.special-evenings-page { overflow: clip; }
.special-evenings-page section { position: relative; }
.special-evenings-page .link-arrow { min-height: 2.75rem; align-items: center; }
.special-evenings-page :focus-visible { outline: 2px solid var(--color-warm-champagne); outline-offset: 3px; }

.se-hero { min-height: 47.5rem; display: grid; grid-template-columns: minmax(0, 1fr); background: var(--color-espresso-brown); }
.se-hero__image, .se-hero__image::after { grid-area: 1 / 1; }
.se-hero__image { min-width: 0; height: 100%; }
.se-hero__image img { width: 100%; max-width: none; height: 100%; object-fit: cover; object-position: 70% center; }
.se-hero__image::after { content: ""; display: block; height: 100%; background: linear-gradient(90deg, rgba(16,43,49,.9) 0%, rgba(16,43,49,.68) 32%, rgba(16,43,49,.16) 61%, rgba(16,43,49,.05) 100%); }
.se-hero__inner { grid-area: 1 / 1; z-index: 1; width: min(100% - (var(--gutter) * 2), var(--container-max)); min-width: 0; margin-inline: auto; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: center; }
.se-hero__copy { grid-column: 2 / span 5; min-width: 0; max-width: 32.5rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.se-hero__copy > * { margin: 0; min-width: 0; }
.se-hero h1 { max-width: 11ch; font-size: clamp(3.5rem, 5.4vw, 4rem); }
.se-hero .lead { max-width: 31rem; }
.se-hero__context { max-width: 31rem; padding-top: var(--space-4); border-top: 1px solid var(--color-border); color: var(--color-soft-linen); }
.se-hero__context span { color: var(--color-warm-champagne); font-size: var(--font-size-meta); font-weight: 600; letter-spacing: var(--tracking-meta); }
.se-hero__location { color: var(--color-muted-linen); font-size: var(--font-size-meta); letter-spacing: var(--tracking-meta); text-transform: uppercase; }
.se-hero__action { width: auto; }

.se-occasion__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-8); align-items: start; }
.se-occasion__intro { grid-column: 3 / span 5; min-width: 0; max-width: 38rem; }
.se-occasion__intro .lead { max-width: 38rem; }
.se-occasion__principles { grid-column: 8 / span 4; min-width: 0; display: flex; flex-direction: column; gap: var(--space-6); }
.se-principle { min-width: 0; padding-top: var(--space-5); border-top: 1px solid rgba(33,23,19,.35); }
.se-principle h3 { font-size: 1.75rem; }
.se-principle p {
  }
.surface-limestone .link-arrow { color: var(--color-espresso-brown); }

.se-formats__heading { max-width: 17ch; }
.se-format-list { display: flex; flex-direction: column; gap: var(--space-10); margin-top: var(--space-8); }
.se-format { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-8); align-items: center; min-width: 0; }
.se-format__media { min-width: 0; margin: 0; overflow: hidden; }
.se-format__media img { width: 100%; height: 100%; object-fit: cover; }
.se-format__copy { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.se-format__copy > * { margin: 0; min-width: 0; }
.se-format__copy p {
  }
.se-index { display: block; color: var(--color-antique-bronze); font-size: var(--font-size-meta); font-weight: 600; letter-spacing: var(--tracking-meta); }
.se-format--dinner .se-format__media { grid-column: 1 / span 7; aspect-ratio: 3 / 2; }
.se-format--dinner .se-format__copy { grid-column: 9 / span 4; }
.se-format--bar .se-format__media { grid-column: 8 / span 5; grid-row: 1; aspect-ratio: 4 / 5; max-height: 34rem; }
.se-format--bar .se-format__copy { grid-column: 1 / span 4; grid-row: 1; }
.se-format--lounge .se-format__media { grid-column: 1 / span 5; aspect-ratio: 3 / 2; }
.se-format--lounge .se-format__copy { grid-column: 7 / span 5; }
.se-format__rail { grid-column: 12 / span 1; min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); border-left: 1px solid var(--color-ruby-garnet); padding-left: var(--space-3); }
.se-format__rail span { writing-mode: vertical-rl; color: var(--color-warm-champagne); font-size: var(--font-size-micro); font-weight: 600; letter-spacing: var(--tracking-micro); text-transform: uppercase; }

.se-movements__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: var(--space-7); border: 1px solid var(--color-border); }
.se-movement { min-width: 0; padding: var(--space-6); border-right: 1px solid var(--color-border); }
.se-movement:last-child { border-right: 0; }
.se-movement--marble { background: var(--color-dark-emperador); }
.se-movement--lounge { background: #0c2328; }
.se-movement__number { display: block; margin-bottom: var(--space-6); color: var(--color-antique-bronze); font-family: var(--font-heading); font-size: 3rem; line-height: 1; }
.se-movement--lounge .se-movement__number { color: #b54452; }
.se-movement h3 { font-size: 1.75rem; }
.se-movement p {
  }
.se-movement__phrase { color: var(--color-warm-champagne); font-family: var(--font-heading); font-size: 1.25rem; font-style: italic; }
.se-movements__responsible { max-width: 50rem; margin: var(--space-5) 0 0; color: var(--color-muted-linen); font-size: var(--font-size-meta); }

.se-table__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-8); align-items: start; }
.se-table__media { grid-column: 1 / span 7; min-width: 0; margin: 0; }
.se-table__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.se-table__copy { grid-column: 9 / span 4; min-width: 0; max-width: 31.25rem; }
.se-table__copy > p {
  }
.se-table__note { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); margin-top: var(--space-6); padding-top: var(--space-5); border-top: 1px solid var(--color-border); }
.se-table__note > * { margin: 0; min-width: 0; }
.se-table__note p {
  }
.se-table__menu-link { margin-top: var(--space-5); }

.se-hosted__intro { width: min(100%, 51.25rem); min-width: 0; margin-inline: auto; text-align: left; }
.se-hosted__intro .lead { max-width: 47rem; }
.se-activities { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--space-8); }
.se-activity { min-width: 0; padding: var(--space-5) var(--space-6); border-right: 1px solid var(--color-border); }
.se-activity:first-child { padding-left: 0; }
.se-activity:last-child { padding-right: 0; border-right: 0; }
.se-activity__label { display: block; margin-bottom: var(--space-5); color: var(--color-antique-bronze); font-size: var(--font-size-micro); font-weight: 600; letter-spacing: var(--tracking-micro); text-transform: uppercase; }
.se-activity__label--ruby { color: #c45d69; }
.se-activity h3 { font-size: 2rem; }
.se-activity p {
  }
.se-hosted__note { width: min(100%, 51.25rem); min-width: 0; margin: var(--space-7) auto 0; padding: var(--space-4) var(--space-5); border: 1px solid var(--color-border); color: var(--color-soft-linen); }

.se-rooms { background: var(--color-espresso-brown); }
.se-rooms__image { height: min(52vw, 48rem); min-height: 35rem; }
.se-rooms__image img { width: 100%; max-width: none; height: 100%; object-fit: cover; object-position: center; }
.se-rooms__desktop-overlay { position: absolute; inset: 0; display: grid; width: min(100% - (var(--gutter) * 2), var(--container-max)); min-width: 0; height: min(52vw, 48rem); min-height: 35rem; margin-inline: auto; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(5, minmax(0, 1fr)); pointer-events: none; }
.se-rooms__intro { grid-column: 2 / span 4; grid-row: 2 / span 3; align-self: center; min-width: 0; max-width: 31.25rem; padding: var(--space-5); background: linear-gradient(90deg, rgba(16,43,49,.86), rgba(16,43,49,.5), transparent); }
.se-rooms__intro p {
  }
.se-room-note { min-width: 0; max-width: 12rem; padding-left: var(--space-3); border-left: 1px solid var(--color-antique-bronze); color: var(--color-soft-linen); }
.se-room-note span, .se-rooms__mobile-notes span { color: var(--color-antique-bronze); font-size: var(--font-size-micro); font-weight: 600; letter-spacing: var(--tracking-micro); text-transform: uppercase; }
.se-room-note p { margin: var(--space-2) 0 0; font-size: var(--font-size-meta); line-height: 1.5; }
.se-room-note--dining { grid-column: 7 / span 2; grid-row: 2; align-self: start; }
.se-room-note--bar { grid-column: 9 / span 2; grid-row: 3; align-self: center; }
.se-room-note--lounge { grid-column: 11 / span 2; grid-row: 4; align-self: end; border-left-color: #c45d69; }
.se-rooms__mobile-copy { display: none; }

.se-gallery h2 { max-width: 20ch; }
.se-gallery__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); width: min(100%, 68.75rem); min-width: 0; margin: var(--space-7) auto 0; }
.se-gallery__tile { min-width: 0; margin: 0; }
.se-gallery__tile img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.se-gallery__tile figcaption { color: var(--color-espresso-brown); }
.se-gallery__tile figcaption span { display: block; margin-bottom: var(--space-2); color: var(--color-antique-bronze); }
.se-gallery__tile--lounge figcaption { border-top: 1px solid var(--color-ruby-garnet); padding-top: var(--space-3); }
.se-gallery__link { margin-top: var(--space-6); color: var(--color-espresso-brown); float: right; }
.se-gallery::after { content: ""; display: block; clear: both; }

.se-planning h2 { max-width: 18ch; color: var(--color-soft-linen); }
.se-planning__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 68.75rem); min-width: 0; margin-top: var(--space-6); }
.se-planning__grid article { min-width: 0; padding: var(--space-5) var(--space-8); border-left: 1px solid rgba(230,200,146,.55); }
.se-planning__grid article:first-child { padding-left: 0; border-left: 0; }
.se-planning__grid article:last-child { border-top: 2px solid var(--color-antique-bronze); }
.se-planning__grid p {
  }
.se-planning__grid .se-index { color: var(--color-warm-champagne); }
.se-planning__cue { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--color-warm-champagne); font-size: var(--font-size-meta); font-weight: 600; letter-spacing: var(--tracking-meta); text-transform: uppercase; }
.se-planning__location { margin: var(--space-6) 0 0; color: var(--color-soft-linen); font-size: var(--font-size-meta); letter-spacing: .04em; }

.se-enquiry__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-8); align-items: start; }
.se-enquiry__intro { grid-column: 2 / span 4; min-width: 0; max-width: 28.75rem; }
.se-enquiry__intro .lead { max-width: 28.75rem; }
.se-enquiry__form-wrap { grid-column: 6 / span 6; min-width: 0; }
.se-enquiry__form { min-width: 0; padding: var(--space-6); border: 1px solid var(--color-border); background: rgba(73,53,45,.32); box-shadow: var(--shadow-deep); }
.se-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.se-field { min-width: 0; display: flex; flex-direction: column; gap: var(--space-2); }
.se-field--full { grid-column: 1 / -1; }
.se-field label, .se-consent label { color: var(--color-warm-champagne); font-size: var(--font-size-meta); font-weight: 600; letter-spacing: .06em; }
.se-field label small { color: var(--color-muted-linen); font-size: .72rem; font-weight: 400; letter-spacing: 0; }
.se-field input, .se-field select, .se-field textarea { min-width: 0; min-height: 3rem; border-radius: 2px; }
.se-field textarea { min-height: 9rem; }
.se-consent { display: grid; grid-template-columns: 1rem minmax(0, 1fr); gap: var(--space-3); align-items: start; margin-top: var(--space-5); }
.se-consent input { width: 1rem; min-width: 1rem; margin-top: .25rem; }
.se-consent .se-field__error { grid-column: 2; }
.se-field__error { min-height: 1.25rem; color: var(--color-warm-champagne); font-size: var(--font-size-meta); line-height: 1.35; }
.se-field [aria-invalid="true"], .se-consent input[aria-invalid="true"] { border-color: var(--color-warm-champagne); outline: 1px solid var(--color-warm-champagne); }
.se-form-summary { margin-bottom: var(--space-5); padding: var(--space-3); border-left: 2px solid var(--color-warm-champagne); color: var(--color-soft-linen); background: rgba(124,38,50,.4); }
.se-enquiry__submit { width: auto; margin-top: var(--space-5); }
.se-enquiry__phone { margin-top: var(--space-5); font-size: var(--font-size-meta); }
.se-enquiry__privacy { max-width: 32.5rem; margin-bottom: 0; color: var(--color-muted-linen); font-size: var(--font-size-meta); }
.se-enquiry__success { display: flex; min-height: 18rem; flex-direction: column; justify-content: center; gap: var(--space-4); padding: var(--space-7); border: 1px solid var(--color-border); background: rgba(73,53,45,.32); }
.se-enquiry__success > * { margin: 0; }

@media (max-width: 64rem) {
  .se-hero { min-height: auto; display: block; }
  .se-hero__image { height: 31rem; }
  .se-hero__image::after { display: none; }
  .se-hero__image img { object-position: center top; }
  .se-hero__inner { display: block; width: 100%; background: var(--color-espresso-brown); }
  .se-hero__copy { width: min(100% - (var(--gutter) * 2), var(--container-max)); max-width: none; margin-inline: auto; padding: var(--space-7) 0; }
  .se-hero h1 { max-width: 14ch; }
  .se-occasion__grid { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-7); }
  .se-occasion__intro, .se-occasion__principles { grid-column: 1; max-width: none; }
  .se-occasion__intro .lead { max-width: 40rem; }
  .se-occasion__principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
  .se-principle { min-width: 0; }
  .se-format { gap: var(--space-6); }
  .se-format--dinner .se-format__media, .se-format--bar .se-format__media, .se-format--lounge .se-format__media { grid-column: 1 / span 6; grid-row: auto; }
  .se-format--dinner .se-format__copy, .se-format--bar .se-format__copy, .se-format--lounge .se-format__copy { grid-column: 8 / span 5; grid-row: auto; }
  .se-format--bar .se-format__media { order: 1; }
  .se-format--bar .se-format__copy { order: 2; }
  .se-format--lounge .se-format__rail { grid-column: 8 / span 5; flex-direction: row; padding: var(--space-4) 0 0; border-left: 0; border-top: 1px solid var(--color-ruby-garnet); }
  .se-format__rail span { writing-mode: horizontal-tb; }
  .se-movements__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .se-movement:nth-child(2) { border-right: 0; }
  .se-movement:nth-child(-n+2) { border-bottom: 1px solid var(--color-border); }
  .se-table__grid { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-7); }
  .se-table__media, .se-table__copy { grid-column: 1; max-width: none; }
  .se-table__copy > p {
  }
  .se-activities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .se-activity { padding: var(--space-5); }
  .se-activity:first-child { padding-left: 0; }
  .se-activity:nth-child(2) { padding-right: 0; border-right: 0; }
  .se-activity:last-child { grid-column: 1 / -1; margin-top: var(--space-5); padding-left: 0; border-top: 1px solid var(--color-border); border-right: 0; }
  .se-rooms__desktop-overlay { display: none; }
  .se-rooms__image { height: auto; min-height: 0; }
  .se-rooms__image img { height: auto; aspect-ratio: 2 / 1; }
  .se-rooms__mobile-copy { display: block; padding-block: var(--space-7); }
  .se-rooms__mobile-copy > p {
  }
  .se-rooms__mobile-notes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
  .se-rooms__mobile-notes article { min-width: 0; padding-top: var(--space-4); border-top: 1px solid var(--color-border); }
  .se-rooms__mobile-notes p { margin: var(--space-2) 0 0; }
  .se-enquiry__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-7); }
  .se-enquiry__intro, .se-enquiry__form-wrap { grid-column: 1;
  }
  .se-enquiry__intro .lead { max-width: 38rem; }
}

@media (max-width: 56.25rem) {
  .se-occasion__principles { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .se-activities { grid-template-columns: minmax(0, 1fr); margin-top: var(--space-7); }
  .se-activity, .se-activity:first-child, .se-activity:nth-child(2), .se-activity:last-child { grid-column: 1; margin: 0; padding: var(--space-5) 0; border-right: 0; border-bottom: 1px solid var(--color-border); }
  .se-activity:first-child { padding-top: 0; }
  .se-activity:last-child { border-bottom: 0; }
  .se-planning__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .se-planning__grid article, .se-planning__grid article:first-child { padding: 0; border-left: 0; }
  .se-planning__grid article:last-child { padding-top: var(--space-5); }
}

@media (max-width: 47.9375rem) {
  .se-hero__image { height: auto; }
  .se-hero__image img { aspect-ratio: 4 / 5; object-position: center top; }
  .se-hero__copy { gap: var(--space-4); padding-block: var(--space-7); }
  .se-hero h1 { max-width: 11ch; font-size: 2.75rem; line-height: 1.04; }
  .se-hero .lead, .se-hero__context { max-width: none; }
  .se-hero__action { width: 100%; }
  .se-formats__heading { max-width: 12ch; }
  .se-format-list { gap: var(--space-8); margin-top: var(--space-6); }
  .se-format { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .se-format--dinner .se-format__media, .se-format--bar .se-format__media, .se-format--lounge .se-format__media { grid-column: 1; grid-row: auto; width: 100%; max-height: none; aspect-ratio: 3 / 2; }
  .se-format--bar .se-format__media { order: 1; }
  .se-format--bar .se-format__copy { order: 2; }
  .se-format--dinner .se-format__copy, .se-format--bar .se-format__copy, .se-format--lounge .se-format__copy { grid-column: 1; grid-row: auto; }
  .se-format__copy p {
  }
  .se-format--lounge .se-format__rail { grid-column: 1; padding-top: 0; }
  .se-movements__grid { grid-template-columns: minmax(0, 1fr); }
  .se-movement, .se-movement:nth-child(2) { padding: var(--space-5) 0; border-right: 0; border-bottom: 1px solid var(--color-border); }
  .se-movement:first-child { padding-top: 0; }
  .se-movement:last-child { padding-bottom: 0; border-bottom: 0; }
  .se-movement--marble, .se-movement--lounge { margin-inline: calc(var(--space-4) * -1); padding-inline: var(--space-4); }
  .se-table__media img { aspect-ratio: 4 / 5; }
  .se-table__copy h2, .se-hosted__intro h2, .se-rooms__mobile-copy h2, .se-gallery h2, .se-planning h2, .se-enquiry__intro h2 { font-size: 2.125rem; }
  .se-hosted__intro { width: 100%; }
  .se-hosted__note { width: 100%; padding: var(--space-4); }
  .se-rooms__image img { aspect-ratio: 4 / 5; object-position: 45% center; }
  .se-rooms__mobile-notes { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .se-gallery__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); margin-top: var(--space-6); }
  .se-gallery__link { float: none; width: 100%; margin-top: var(--space-5); }
  .se-planning__location { line-height: 1.7; }
  .se-enquiry__form { padding: var(--space-5); box-shadow: none; }
  .se-form-grid { grid-template-columns: minmax(0, 1fr); }
  .se-field, .se-field--full { grid-column: 1; }
  .se-enquiry__submit { width: 100%; }
}

@media (prefers-reduced-motion: no-preference) {
  .se-reveal { animation: se-reveal-in 420ms ease-out both; }
  @keyframes se-reveal-in { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: translateY(0); } }
  @media (hover: hover) and (pointer: fine) {
    .se-principle:hover, .se-activity:hover { border-color: var(--color-warm-champagne); }
    .se-room-note:hover { border-left-color: var(--color-warm-champagne); }
  }
}


.thank-you {
  position: relative;
  display: grid;
  min-height: min(46rem, calc(100vh - 8rem));
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 32%, rgba(230, 200, 146, 0.13), transparent 29rem),
    linear-gradient(135deg, #102b31 0%, #162f32 48%, #211713 100%);
}

.thank-you::before,
.thank-you::after {
  position: absolute;
  content: "";
  pointer-events: none;
}

.thank-you::before {
  inset: 1.25rem;
  border: 1px solid var(--color-border);
}

.thank-you::after {
  width: min(70vw, 44rem);
  aspect-ratio: 1;
  border: 1px solid rgba(230, 200, 146, 0.16);
  transform: rotate(45deg);
}

.thank-you .container {
  position: relative;
  z-index: 1;
}

.thank-you__panel {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: var(--space-5);
  padding: clamp(var(--space-7), 7vw, var(--space-9));
  border: 1px solid var(--color-border);
  background: rgba(16, 43, 49, 0.76);
  box-shadow: var(--shadow-deep);
  text-align: center;
}

.thank-you__panel > .eyebrow {
  color: var(--color-warm-champagne);
}

.thank-you__mark {
  position: relative;
  width: 3.25rem;
  aspect-ratio: 1;
  border: 1px solid var(--color-warm-champagne);
  transform: rotate(45deg);
}

.thank-you__mark::before,
.thank-you__mark::after,
.thank-you__mark span {
  position: absolute;
  content: "";
  background: var(--color-antique-bronze);
}

.thank-you__mark::before {
  top: 50%;
  left: 18%;
  width: 64%;
  height: 1px;
}

.thank-you__mark::after {
  top: 18%;
  left: 50%;
  width: 1px;
  height: 64%;
}

.thank-you__mark span {
  top: 50%;
  left: 50%;
  width: 0.5rem;
  height: 0.5rem;
  transform: translate(-50%, -50%);
  background: var(--color-warm-champagne);
}

.thank-you__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.thank-you__content > * {
  margin: 0;
}

.thank-you__content h1 {
  max-width: 16ch;
  margin-inline: auto;
}

.thank-you__content p {
  margin-inline: auto;
  color: var(--color-muted-linen);
  text-align: center;
}

.thank-you__content .lead {
  max-width: 34rem;
  color: var(--color-soft-linen);
}

.thank-you__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
}

.thank-you__actions .button-primary,
.thank-you__actions .button-secondary {
  min-width: 13rem;
}

@media (max-width: 47.9375rem) {
  .thank-you {
    min-height: auto;
  }

  .thank-you::before {
    inset: 0.75rem;
  }

  .thank-you__panel {
    padding: var(--space-7) var(--space-5);
  }

  .thank-you__actions {
    width: 100%;
  }

  .thank-you__actions .button-primary,
  .thank-you__actions .button-secondary {
    width: 100%;
  }
}