

:root {
  --color-charcoal-950: #101110;
  --color-charcoal-900: #171918;
  --color-slate-800: #222827;
  --color-slate-700: #2b3331;
  --color-white-100: #ffffff;
  --color-ivory-100: #f1ede3;
  --color-mist-300: #b9c0ba;
  --color-brass-500: #c49a52;
  --color-brass-300: #e0bc72;
  --color-paprika-600: #a83b2f;
  --color-paprika-400: #c55242;
  --color-felt-700: #244a40;
  --color-felt-500: #3d7964;
  --color-glow-brass: rgba(196, 154, 82, 0.18);
  --color-glow-paprika: rgba(168, 59, 47, 0.14);

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

  --text-label: 0.75rem;
  --text-meta: 0.875rem;
  --text-body: 1rem;
  --text-lead: 1.125rem;
  --text-card-title: 1.5rem;
  --text-section-title: clamp(2rem, 3vw, 3rem);
  --text-page-title: clamp(2.75rem, 5vw, 4.5rem);
  --text-display: clamp(3.5rem, 8vw, 7rem);

  --line-heading: 0.96;
  --line-title: 1.05;
  --line-body: 1.65;
  --line-compact: 1.3;

  --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: 5rem;
  --space-10: 7rem;
  --space-11: 9rem;

  --container-max: 75rem;
  --container-gutter: 1.5rem;
  --editorial-max: 47.5rem;

  --surface-page: var(--color-charcoal-950);
  --surface-elevated: var(--color-charcoal-900);
  --surface-card: var(--color-slate-800);
  --surface-raised: var(--color-slate-700);
  --surface-lounge: var(--color-felt-700);

  --text-primary: var(--color-white-100);
  --text-secondary: var(--color-ivory-100);
  --text-muted: var(--color-mist-300);

  --border-brass: rgba(196, 154, 82, 0.72);
  --border-subtle: rgba(241, 237, 227, 0.12);
  --border-bright: var(--color-brass-300);

  --shadow-panel: 0 18px 48px rgba(0, 0, 0, 0.34);
  --shadow-glow: 0 0 42px rgba(196, 154, 82, 0.12);
  --shadow-card-hover: 0 22px 54px rgba(0, 0, 0, 0.4);

  --radius-sm: 0.125rem;
  --radius-md: 0.25rem;
  --radius-lg: 0.5rem;

  --transition-base: 180ms ease-out;
  --focus-ring: 0 0 0 3px rgba(224, 188, 114, 0.42);
}

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

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

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

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

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

img,
video {
  height: auto;
}

iframe {
  border: 0;
}

a {
  color: inherit;
  text-decoration-color: rgba(224, 188, 114, 0.6);
  text-underline-offset: 0.18em;
  transition: color var(--transition-base), text-decoration-color var(--transition-base);
}

a:hover {
  color: var(--color-brass-300);
  text-decoration-color: currentColor;
}

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

button,
select {
  text-transform: none;
}

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

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

input,
select,
textarea {
  width: 100%;
  min-height: 2.75rem;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  outline: none;
  background: var(--surface-raised);
  color: var(--text-primary);
  line-height: var(--line-compact);
  transition: border-color var(--transition-base), box-shadow var(--transition-base), background-color var(--transition-base);
}

input,
select {
  padding: 0.625rem 0.75rem;
}

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

input::placeholder,
textarea::placeholder {
  color: var(--text-muted);
  opacity: 0.8;
}

input:hover,
select:hover,
textarea:hover {
  border-color: rgba(196, 154, 82, 0.5);
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--color-brass-300);
  box-shadow: var(--focus-ring);
}

select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--color-brass-300) 50%), linear-gradient(135deg, var(--color-brass-300) 50%, transparent 50%);
  background-position: calc(100% - 1rem) 50%, calc(100% - 0.7rem) 50%;
  background-repeat: no-repeat;
  background-size: 0.3rem 0.3rem, 0.3rem 0.3rem;
  padding-right: 2.25rem;
}

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

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

legend {
  padding-inline: var(--space-2);
  color: var(--color-brass-300);
  font-size: var(--text-meta);
  font-weight: 700;
}

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

th,
td {
  padding: var(--space-3);
  border-block-end: 1px solid var(--border-subtle);
  text-align: start;
  vertical-align: top;
}

th {
  color: var(--text-primary);
  font-size: var(--text-meta);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 var(--space-4);
  color: var(--text-primary);
  font-family: var(--font-heading);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: var(--line-title);
  overflow-wrap: break-word;
}

h1 {
  font-size: var(--text-page-title);
  line-height: var(--line-heading);
}

h2 {
  font-size: var(--text-section-title);
}

h3 {
  font-size: var(--text-card-title);
}

h4 {
  font-size: 1.25rem;
  line-height: 1.15;
}

h5,
h6 {
  font-size: 1rem;
  line-height: var(--line-compact);
}

p {
  margin: 0 0 var(--space-4);
  color: var(--text-secondary);
  line-height: var(--line-body);
}

ul,
ol {
  margin: 0 0 var(--space-5);
  padding: 0;
}

ol {
  padding-inline-start: 1.25rem;
}

li {
  min-width: 0;
}

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

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

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

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

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

strong {
  color: var(--text-primary);
  font-weight: 700;
}

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

pre {
  margin: 0 0 var(--space-5);
  overflow-x: auto;
  padding: var(--space-4);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  background: var(--surface-elevated);
}

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

::selection {
  background: var(--color-brass-500);
  color: var(--color-charcoal-950);
}

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

.editorial {
  width: min(100%, var(--editorial-max));
}

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

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

.surface-card,
.panel {
  min-width: 0;
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-md);
  background: var(--surface-card);
  box-shadow: var(--shadow-panel), var(--shadow-glow);
}

.surface-card {
  padding: clamp(var(--space-5), 3vw, var(--space-6));
  transition: border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);
}

.surface-card:hover {
  border-color: var(--border-bright);
  box-shadow: var(--shadow-card-hover), var(--shadow-glow);
  transform: translateY(-3px) scale(1.01);
}

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

.panel--lounge {
  border-color: rgba(61, 121, 100, 0.8);
  background: var(--surface-lounge);
}

.panel--raised {
  background: var(--surface-raised);
}

.eyebrow {
  display: block;
  margin-block-end: var(--space-3);
  color: var(--color-brass-300);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.3;
  text-transform: uppercase;
}

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

.lead {
  color: var(--text-secondary);
  font-size: var(--text-lead);
  line-height: 1.6;
}

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

.divider--brass {
  background: var(--border-brass);
}

.content-list {
  display: grid;
  gap: var(--space-3);
  margin-block-end: var(--space-5);
}

.content-list > li {
  position: relative;
  padding-inline-start: var(--space-4);
}

.content-list > li::before {
  position: absolute;
  inset-block-start: 0.72em;
  inset-inline-start: 0;
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 50%;
  background: var(--color-brass-500);
  content: "";
}

.button,
button.button,
input[type="submit"].button,
input[type="button"].button,
input[type="reset"].button {
  display: inline-flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: 0.625rem 1rem;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  background: var(--color-paprika-600);
  color: var(--color-white-100);
  font-family: var(--font-body);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.08em;
  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), transform var(--transition-base);
}

.button:hover {
  background: var(--color-paprika-400);
  color: var(--color-white-100);
  transform: translateY(-1px);
}

.button:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

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

.button--secondary:hover {
  border-color: var(--color-brass-300);
  background: rgba(196, 154, 82, 0.12);
  color: var(--color-white-100);
}

.button--brass {
  border-color: var(--color-brass-300);
  background: var(--color-brass-300);
  color: var(--color-charcoal-950);
}

.button--brass:hover {
  background: var(--color-white-100);
  border-color: var(--color-white-100);
  color: var(--color-charcoal-950);
}

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

.action-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  min-width: 0;
}

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

.image-frame {
  overflow: hidden;
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-md);
  background: var(--surface-elevated);
}

.image-frame img {
  width: 100%;
  transition: transform var(--transition-base);
}

.image-frame:hover img {
  transform: scale(1.035);
}

.image-overlay {
  position: relative;
  isolation: isolate;
}

.image-overlay::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: rgba(16, 17, 16, 0.18);
  content: "";
}

.image-overlay--strong::after {
  background: rgba(16, 17, 16, 0.5);
}

.image-overlay > * {
  position: relative;
  z-index: 2;
}

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

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

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

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

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

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

.status {
  display: inline-flex;
  min-height: 1.5rem;
  align-items: center;
  padding: 0.2rem 0.5rem;
  border: 1px solid rgba(196, 154, 82, 0.55);
  border-radius: 999px;
  color: var(--color-brass-300);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.status--lounge {
  border-color: rgba(61, 121, 100, 0.9);
  background: rgba(36, 74, 64, 0.45);
  color: var(--color-ivory-100);
}

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

ul {
  list-style: none !important;
}

.nav-toggle {
  flex-direction: column;
}

@media (max-width: 56.25rem) {
  :root {
    --container-gutter: 1.25rem;
  }

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

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

@media (max-width: 45rem) {
  :root {
    --container-gutter: 1rem;
    --text-display: clamp(3rem, 13vw, 4.75rem);
  }

  body {
    font-size: 1rem;
  }

  h1 {
    font-size: clamp(2.5rem, 10vw, 3.75rem);
  }

  h2 {
    font-size: clamp(2rem, 8vw, 2.75rem);
  }

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

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

  .action-group {
    align-items: stretch;
    flex-direction: column;
  }

  .action-group .button {
    width: 100%;
  }
}

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

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

  .surface-card:hover,
  .button:hover,
  .image-frame:hover img {
    transform: none;
  }
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  border-block-end: 1px solid var(--border-brass);
  background: rgba(23, 25, 24, 0.97);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
}

.site-header__inner {
  display: flex;
  min-height: 4.75rem;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--space-4);
}

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

.site-header__brand:hover { color: var(--text-primary); }

.site-header__logo {
  width: 2.375rem;
  height: 2.375rem;
  flex: 0 0 2.375rem;
  object-fit: contain;
}

.site-header__brand-copy {
  display: grid;
  min-width: 0;
  gap: 0.04rem;
  line-height: 1;
}

.site-header__brand-name {
  color: var(--text-primary);
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  white-space: nowrap;
}

.site-header__brand-descriptor {
  color: var(--text-muted);
  font-size: 0.56rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-navigation {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-4);
}

.site-navigation__list {
  display: flex;
  min-width: 0;
  margin: 0;
  padding: 0;
  flex-wrap: nowrap;
  align-items: center;
  gap: clamp(0.55rem, 1.25vw, 1.1rem);
}

.site-navigation__item { display: flex; margin: 0; padding: 0; align-items: center; }

.site-navigation__link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  color: var(--text-secondary);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-navigation__link:hover,
.site-navigation__link[aria-current="page"] { color: var(--color-brass-300); }

.site-navigation__action { flex: 0 0 auto; white-space: nowrap; }
.site-navigation__item--mobile { display: none; }

.nav-toggle {
  display: none;
  width: 2.75rem;
  height: 2.75rem;
  flex-direction: column;
  flex: 0 0 2.75rem;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  padding: 0;
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-sm);
  background: transparent;
}

.nav-toggle__line {
  width: 1.1rem;
  height: 1px;
  background: var(--color-brass-300);
  transition: transform var(--transition-base), opacity var(--transition-base);
}

.nav-toggle[aria-expanded="true"] .nav-toggle__line:nth-child(1) { transform: translateY(0.4rem) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__line:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] .nav-toggle__line:nth-child(3) { transform: translateY(-0.4rem) rotate(-45deg); }
.nav-toggle:focus-visible { outline: none; box-shadow: var(--focus-ring); }

@media (max-width: 62rem) {
  .site-header__inner { min-height: 4.35rem; justify-content: space-between; }
  .site-header__logo { width: 2rem; height: 2rem; flex-basis: 2rem; }
  .site-header__brand-name { font-size: 1rem; }
  .site-header__brand-descriptor { display: none; }
  .nav-toggle { display: inline-flex; }
  .site-navigation {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: grid;
    width: 100%;
    justify-content: stretch;
    justify-items: stretch;
    max-height: min( calc(100vh - 4.35rem), 38rem);
    overflow-y: auto;
    padding: var(--space-4) max(var(--container-gutter), 1rem) var(--space-5);
    border-block-end: 1px solid var(--border-brass);
    background: var(--surface-elevated);
    box-shadow: var(--shadow-panel);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-0.5rem);
    transition: opacity var(--transition-base), transform var(--transition-base);
  }
  .site-navigation.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .site-navigation__list {
    display: grid;
    width: 100%;
    justify-items: stretch;
    justify-content: stretch;
    gap: 0;
    text-align: center;
    border-block-start: 1px solid var(--border-subtle);
  }
  .site-navigation__item {
    width: 100%;
    justify-content: center;
    border-block-end: 1px solid var(--border-subtle);
  }
  .site-navigation__link {
    width: 100%;
    min-height: 3rem;
    justify-content: center;
    text-align: center;
    font-size: 0.78rem;
  }
  .site-navigation__item--mobile { display: flex; width: 100%; justify-content: center; }
  .site-navigation__action { width: 100%; margin-block-start: var(--space-4); justify-content: center; text-align: center; }
}

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

ul { list-style: none !important; }
.nav-toggle { flex-direction: column; }

.site-footer {
  border-block-start: 1px solid var(--border-brass);
  background: var(--surface-elevated);
}

.site-footer__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.85fr) minmax(0, 1fr);
  gap: clamp(var(--space-6), 6vw, var(--space-9));
  padding-block: clamp(var(--space-7), 8vw, var(--space-10));
}

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

.site-footer__brand p,
.site-footer__hours,
.site-footer__bottom p {
  margin: 0;
  color: var(--text-muted);
  font-size: var(--text-meta);
}

.site-footer__brand-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  color: var(--text-primary);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 600;
  text-decoration: none;
}

.site-footer__logo { width: 3rem; height: 3rem; object-fit: contain; }
.site-footer__heading { margin: 0; color: var(--color-brass-300); font-family: var(--font-body); font-size: var(--text-label); font-weight: 800; letter-spacing: 0.14em; line-height: 1.3; text-transform: uppercase; }
.site-footer__list,
.site-footer__legal { display: grid; gap: var(--space-2); margin: 0; padding: 0; }
.site-footer__list li,
.site-footer__legal li { margin: 0; padding: 0; }
.site-footer__list a,
.site-footer__contact a,
.site-footer__contact address { color: var(--text-secondary); font-size: var(--text-meta); font-style: normal; text-decoration: none; }
.site-footer__contact address { line-height: 1.7; }
.site-footer__contact strong { font-size: var(--text-label); letter-spacing: 0.08em; text-transform: uppercase; }
.site-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding-block: var(--space-5); border-block-start: 1px solid var(--border-subtle); }
.site-footer__legal { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.site-footer__legal a { color: var(--text-muted); font-size: 0.75rem; }

.consent-banner {
  position: fixed;
  right: var(--container-gutter);
  bottom: var(--container-gutter);
  left: var(--container-gutter);
  z-index: 1200;
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-md);
  background: var(--surface-card);
  box-shadow: var(--shadow-panel), var(--shadow-glow);
}
.consent-banner[hidden] { display: none !important; }
.consent-banner__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); padding-block: var(--space-4); }
.consent-banner__copy { max-width: 48rem; margin: 0; color: var(--text-secondary); font-size: var(--text-meta); }
.consent-banner__actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: var(--space-3); }
.consent-banner__button { min-width: 7.5rem; }

.age-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  overflow-y: auto;
  padding: var(--space-4);
  background: rgba(16, 17, 16, 0.9);
}
[data-age-modal][hidden] { display: none !important; }
.age-modal__panel {
  width: min(100%, 34rem);
  padding: clamp(var(--space-6), 6vw, var(--space-8));
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-lg);
  background: var(--surface-card);
  box-shadow: var(--shadow-panel), var(--shadow-glow);
}
.age-modal__eyebrow { display: block; margin-block-end: var(--space-3); color: var(--color-brass-300); font-size: var(--text-label); font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.age-modal__panel h2 { margin-block-end: var(--space-4); }
.age-modal__panel p { margin-block-end: var(--space-5); }
.age-modal__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }

@media (max-width: 45rem) {
  .site-footer__inner { grid-template-columns: 1fr; gap: var(--space-6); }
  .site-footer__bottom,
  .consent-banner__inner { align-items: stretch; flex-direction: column; }
  .site-footer__legal { display: grid; gap: var(--space-2); }
  .consent-banner { right: var(--space-3); bottom: var(--space-3); left: var(--space-3); }
  .consent-banner__actions,
  .age-modal__actions { flex-direction: column; }
  .consent-banner__button,
  .age-modal__actions .button { width: 100%; }
}

ul { list-style: none !important; }
.nav-toggle { flex-direction: column; }

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

.cookie-policy-page ul {
  list-style: none !important;
}

.cookie-policy-page .nav-toggle {
  flex-direction: column;
}

.cookie-policy-page section[id] {
  scroll-margin-top: 7rem;
}

.cookie-hero {
  position: relative;
  padding-block-start: clamp(var(--space-9), 11vw, var(--space-11));
}

.cookie-hero::before {
  position: absolute;
  inset: 8% 18% auto 5%;
  width: min(58rem, 72vw);
  height: 30rem;
  border-radius: 50%;
  background: radial-gradient(circle, var(--color-glow-brass) 0%, rgba(196, 154, 82, 0.05) 42%, transparent 72%);
  content: "";
  filter: blur(8px);
  pointer-events: none;
}

.cookie-hero__layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 62fr) minmax(0, 38fr);
  align-items: stretch;
  min-width: 0;
}

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

.cookie-hero__plane {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  max-width: 47.5rem;
  flex-direction: column;
  gap: var(--space-5);
}

.cookie-hero__copy {
  width: min(100%, 38.75rem);
  min-width: 0;
}

.cookie-hero__copy h1,
.cookie-hero__copy p,
.cookie-hero__meta,
.cookie-hero__actions {
  margin: 0;
}

.cookie-hero__copy h1 {
  font-size: var(--text-display);
}

.cookie-hero__meta {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: baseline;
  gap: var(--space-3);
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--border-brass);
  color: var(--text-secondary);
}

.cookie-hero__meta-label {
  color: var(--color-brass-300);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.cookie-hero__actions {
  align-items: flex-start;
}

.cookie-hero__atmosphere {
  position: relative;
  display: block;
  min-width: 0;
  min-height: 100%;
}

.cookie-hero__atmosphere::before {
  position: absolute;
  inset: 2rem 15% 2rem 28%;
  border-inline-start: 1px solid var(--border-brass);
  content: "";
}

.cookie-hero__arch {
  position: absolute;
  inset: auto 14% 18% 34%;
  width: min(15rem, 70%);
  aspect-ratio: 0.72;
  border: 1px solid rgba(196, 154, 82, 0.78);
  border-bottom: 0;
  border-radius: 8rem 8rem 0 0;
  box-shadow: 0 0 42px rgba(196, 154, 82, 0.12);
}

.cookie-hero__arch::before,
.cookie-hero__arch::after,
.cookie-hero__arch span::before,
.cookie-hero__arch span::after {
  position: absolute;
  background: var(--color-brass-500);
  content: "";
}

.cookie-hero__arch::before {
  inset: 22% 30% auto;
  height: 42%;
  clip-path: polygon(50% 0, 72% 44%, 55% 44%, 78% 100%, 36% 61%, 47% 61%, 23% 29%);
}

.cookie-hero__arch::after {
  inset: 17% 47% auto;
  width: 1px;
  height: 4.3rem;
}

.cookie-hero__arch span::before {
  inset: 14% auto auto 35%;
  width: 2.2rem;
  height: 1px;
}

.cookie-hero__arch span::after {
  inset: 9% 42% auto auto;
  width: 1px;
  height: 2.2rem;
}

.cookie-section-heading {
  width: min(100%, 47.5rem);
}

.cookie-section-heading h2,
.cookie-section-heading .eyebrow {
  margin-block-end: var(--space-4);
}

.cookie-explainer__grid {
  display: grid;
  grid-template-columns: minmax(0, 34fr) minmax(0, 33fr) minmax(0, 33fr);
  gap: var(--space-5);
  min-width: 0;
}

.cookie-explainer__grid > * {
  min-width: 0;
}

.cookie-explainer__intro {
  width: 100%;
  min-width: 0;
  max-width: 42.5rem;
  padding: var(--space-5) 0;
}

.cookie-explainer__intro p {
  margin-block-end: var(--space-5);
}

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

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

.cookie-explainer__panel h3 {
  font-size: clamp(1.65rem, 2.4vw, 2rem);
}

.cookie-categories__heading {
  width: min(100%, 43.75rem);
  margin-block-end: var(--space-6);
}

.cookie-categories__heading > * {
  margin: 0;
}

.cookie-categories__heading .eyebrow,
.cookie-categories__heading h2 {
  margin-block-end: var(--space-4);
}

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

.cookie-categories__grid > * {
  min-width: 0;
}

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

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

.cookie-category-card .status {
  align-self: flex-start;
}

.cookie-category-card h3 {
  font-size: clamp(1.65rem, 2.4vw, 2rem);
}

.cookie-categories__note {
  width: min(100%, 43.75rem);
  margin: var(--space-6) 0 0;
  color: var(--text-secondary);
}

.cookie-categories__note a,
.cookie-contact__panel a {
  color: var(--color-brass-300);
  font-weight: 700;
}

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

.cookie-duration__grid > * {
  min-width: 0;
}

.cookie-duration__panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  border-top-color: var(--color-brass-300);
}

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

.cookie-duration__note {
  width: min(100%, 45rem);
  margin: var(--space-6) 0 0;
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--border-subtle);
}

.cookie-management {
  position: relative;
}

.cookie-management::before {
  position: absolute;
  inset: 20% auto auto max(0px, calc((100% - var(--container-max)) / 2));
  width: 32rem;
  height: 26rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(196, 154, 82, 0.1), transparent 70%);
  content: "";
  filter: blur(12px);
  pointer-events: none;
}

.cookie-management__column {
  position: relative;
  display: flex;
  width: min(100%, 47.5rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-6);
}

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

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

.cookie-management__steps {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0;
  margin: 0;
}

.cookie-step {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-block: var(--space-5);
  border-block-start: 1px solid var(--border-subtle);
}

.cookie-step:last-child {
  border-block-end: 1px solid var(--border-subtle);
}

.cookie-step > * {
  min-width: 0;
}

.cookie-step__number {
  width: 2.25rem;
  min-width: 2.25rem;
  color: var(--color-brass-300);
  font-size: var(--text-meta);
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.3;
}

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

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

.cookie-step--caution {
  border-inline-start: 2px solid var(--color-paprika-600);
  padding-inline-start: var(--space-4);
}

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

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

.cookie-contact__panel {
  display: flex;
  width: min(66%, 47.5rem);
  min-width: 0;
  margin-inline: auto;
  flex-direction: column;
  gap: var(--space-5);
}

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

.cookie-contact__unit {
  display: flex;
  width: min(100%, 40rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

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

.cookie-contact__panel .divider {
  margin: 0;
}

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

.cookie-closing__content {
  display: flex;
  width: min(58%, 42.5rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding-block-start: var(--space-6);
  border-block-start: 1px solid var(--border-brass);
}

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

.cookie-closing__actions {
  align-items: flex-start;
  margin-block-start: var(--space-2);
}

.cookie-policy-page a:focus-visible,
.cookie-policy-page button:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

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

  .cookie-hero__plane {
    width: 100%;
    max-width: none;
  }

  .cookie-hero__atmosphere {
    display: none;
  }

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

  .cookie-explainer__intro {
    grid-column: 1 / -1;
    width: min(100%, 42.5rem);
    padding-block: 0;
  }
}

@media (max-width: 56.25rem) {
  .cookie-categories__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cookie-categories__grid > :first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 45rem) {
  .cookie-policy-page section[id] {
    scroll-margin-top: 5.5rem;
  }

  .cookie-hero {
    padding-block-start: var(--space-8);
  }

  .cookie-hero__plane {
    gap: var(--space-5);
  }

  .cookie-hero__copy {
    width: 100%;
  }

  .cookie-hero__copy h1 {
    font-size: clamp(3rem, 13vw, 4.25rem);
  }

  .cookie-contact__panel {
    width: 100%;
  }

  .cookie-closing__content {
    width: 100%;
  }
}

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

@media (max-width: 40rem) {
  .cookie-explainer__grid,
  .cookie-categories__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .cookie-explainer__intro,
  .cookie-categories__grid > :first-child {
    grid-column: auto;
  }

  .cookie-explainer__panel,
  .cookie-category-card {
    padding: var(--space-5);
  }

  .cookie-management__column {
    width: 100%;
  }

  .cookie-step {
    grid-template-columns: 2.25rem minmax(0, 1fr);
    gap: var(--space-3);
  }

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

  .cookie-closing__actions {
    align-items: stretch;
    flex-direction: column;
    gap: var(--space-3);
  }

  .cookie-closing__actions .button {
    width: 100%;
    justify-content: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-hero::before,
  .cookie-management::before {
    filter: none;
  }
}

.privacy-page {
  overflow: hidden;
  background: var(--surface-page);
}

.privacy-page ul {
  list-style: none !important;
}

.privacy-page [id] {
  scroll-margin-top: 7rem;
}

.privacy-hero {
  position: relative;
  isolation: isolate;
  padding-block: 7rem 6rem;
}

.privacy-hero::before {
  position: absolute;
  inset: -14rem 0 auto 24%;
  z-index: -1;
  width: 48rem;
  height: 34rem;
  border-radius: 50%;
  background: radial-gradient(circle, var(--color-glow-brass) 0%, rgba(196, 154, 82, 0.06) 38%, transparent 72%);
  content: "";
  filter: blur(8px);
}

.privacy-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, 47.5rem) minmax(0, 1fr);
  align-items: center;
  gap: var(--space-7);
}

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

.privacy-hero__panel {
  width: 100%;
  max-width: 47.5rem;
  margin: 0;
  padding: clamp(2rem, 4vw, 3rem);
  border-color: var(--border-brass);
  background: var(--surface-card);
}

.privacy-hero__copy {
  display: flex;
  max-width: 42.5rem;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
}

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

.privacy-hero__copy h1 {
  font-size: clamp(3.5rem, 6vw, 5.25rem);
}

.privacy-hero__effective {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  column-gap: var(--space-3);
  row-gap: var(--space-2);
  min-width: 0;
  margin-top: var(--space-6);
  padding-top: var(--space-4);
  border-top: 1px solid var(--border-brass);
  color: var(--text-secondary);
  font-size: var(--text-meta);
}

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

.privacy-hero__effective > span {
  color: var(--text-muted);
}

.privacy-hero__effective > strong {
  color: var(--text-primary);
}

.privacy-hero__effective > p {
  grid-column: 1 / -1;}

.privacy-hero__space {
  min-width: 0;
  min-height: 10rem;
}

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

.privacy-section--closing {
  padding-bottom: clamp(6rem, 10vw, 9rem);
}

.privacy-document-column {
  width: min(100%, 47.5rem);
  min-width: 0;
}

.privacy-document-column > .eyebrow,
.privacy-document-column > h2 {
  max-width: 42.5rem;
}

.privacy-document-column > h2 {
  margin-bottom: var(--space-6);
}

.privacy-card-label {
  display: block;
  color: var(--color-brass-300);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.3;
  text-transform: uppercase;
}

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

.privacy-contact-card > * {
  min-width: 0;
  width: 100%;
}

.privacy-contact-card__intro {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

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

.privacy-contact-card__details {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-3);
  min-width: 0;
  margin: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--border-subtle);
}

.privacy-contact-card__details > div {
  display: grid;
  grid-template-columns: minmax(7rem, 0.28fr) minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
}

.privacy-contact-card__details dt,
.privacy-contact-card__details dd {
  min-width: 0;
  margin: 0;
}

.privacy-contact-card__details dt {
  color: var(--text-muted);
  font-size: var(--text-meta);
  font-weight: 700;
}

.privacy-contact-card__details dd {
  color: var(--text-secondary);
  overflow-wrap: anywhere;
}

.privacy-contact-card a,
.privacy-right-card a,
.privacy-remedy-panel a,
.privacy-contact-callout a {
  color: var(--color-brass-300);
  text-decoration: none;
}

.privacy-contact-card a:hover,
.privacy-right-card a:hover,
.privacy-remedy-panel a:hover,
.privacy-contact-callout a:hover {
  color: var(--color-white-100);
  text-decoration: underline;
}

.privacy-contact-card a:focus-visible,
.privacy-right-card a:focus-visible,
.privacy-remedy-panel a:focus-visible,
.privacy-contact-callout a:focus-visible,
.privacy-inline-link:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.privacy-scope-copy {
  display: flex;
  max-width: 45rem;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  margin-top: var(--space-7);
  padding-left: var(--space-5);
  border-left: 1px solid var(--color-brass-500);
}

.privacy-scope-copy > * {
  min-width: 0;
  margin: 0;
}

.privacy-data-cards {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
}

.privacy-data-cards > * {
  width: 100%;
  min-width: 0;
}

.privacy-data-card {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  gap: var(--space-4);
  align-items: start;
}

.privacy-data-card__number,
.privacy-right-card__number,
.privacy-legal-item__number {
  color: var(--color-brass-300);
  font-size: var(--text-meta);
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.3;
}

.privacy-data-card__content {
  display: flex;
  max-width: 40rem;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

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

.privacy-data-card--lounge {
  border-color: rgba(61, 121, 100, 0.8);
  background: var(--surface-lounge);
}

.privacy-inline-link {
  color: var(--color-brass-300);
  font-weight: 700;
  text-decoration: none;
}

.privacy-inline-link:hover {
  color: var(--color-white-100);
  text-decoration: underline;
}

.privacy-legal-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  min-width: 0;
}

.privacy-legal-list > * {
  width: 100%;
  min-width: 0;
}

.privacy-legal-item {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-block: var(--space-5);
  border-top: 1px solid var(--border-subtle);
}

.privacy-legal-item:last-child {
  padding-bottom: 0;
}

.privacy-legal-item__copy {
  display: flex;
  max-width: 42.5rem;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.privacy-legal-item__copy > * {
  min-width: 0;
  margin: 0;
}

.privacy-legal-item__copy .status {
  width: fit-content;
  margin-top: var(--space-2);
}

.privacy-security-layout,
.privacy-rights-layout {
  width: min(100%, 60rem);
  min-width: 0;
}

.privacy-security-heading,
.privacy-rights-heading {
  width: min(100%, 47.5rem);
  min-width: 0;
  margin-bottom: var(--space-6);
}

.privacy-security-heading > :last-child,
.privacy-rights-heading > :last-child {
  margin-bottom: 0;
}

.privacy-security-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
}

.privacy-security-cards > * {
  width: 100%;
  min-width: 0;
}

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

.privacy-security-card > * {
  min-width: 0;
  margin: 0;
}

.privacy-security-card .privacy-card-label {
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-brass-500);
}

.privacy-security-card .meta {
  margin-top: auto;
  padding-top: var(--space-3);
  border-top: 1px solid var(--border-subtle);
}

.privacy-rights-heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.privacy-rights-heading > * {
  min-width: 0;
  margin: 0;
}

.privacy-rights-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
}

.privacy-rights-grid > * {
  width: 100%;
  min-width: 0;
}

.privacy-right-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.privacy-right-card > * {
  min-width: 0;
  margin: 0;
}

.privacy-right-card:nth-child(3) {
  border-top-color: var(--color-brass-300);
}

.privacy-remedy-panel {
  display: grid;
  grid-template-columns: 0.25rem minmax(0, 1fr);
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
  margin-top: var(--space-5);
}

.privacy-remedy-panel > * {
  min-width: 0;
}

.privacy-remedy-panel__mark {
  width: 0.25rem;
  min-height: 100%;
  background: var(--color-paprika-600);
}

.privacy-remedy-panel__copy {
  display: flex;
  max-width: 42.5rem;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.privacy-remedy-panel__copy > * {
  min-width: 0;
  margin: 0;
}

.privacy-closing-intro {
  max-width: 38.75rem;
  margin-bottom: var(--space-6);
}

.privacy-contact-callout {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 47.5rem;
  flex-direction: column;
  gap: var(--space-5);
}

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

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

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

.privacy-contact-callout__content p {}

.privacy-contact-callout__email,
.privacy-contact-callout__phone {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  overflow-wrap: anywhere;
}

.privacy-contact-callout__email {
  color: var(--color-white-100) !important;
  font-family: var(--font-heading);
  font-size: clamp(1.7rem, 4vw, 2.35rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.05;
}

.privacy-contact-callout__phone {
  color: var(--color-brass-300) !important;
  font-size: var(--text-lead);
  font-weight: 700;
}

.privacy-closing-date {
  max-width: 47.5rem;
  margin-top: var(--space-5);
  margin-bottom: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-brass-500);
  color: var(--text-muted);
  font-size: var(--text-meta);
}

.privacy-closing-date span {
  color: var(--text-secondary);
}

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

  .privacy-hero__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .privacy-hero__panel,
  .privacy-document-column,
  .privacy-security-layout,
  .privacy-rights-layout {
    max-width: none;
  }

  .privacy-hero__space {
    display: none;
  }

  .privacy-security-cards,
  .privacy-rights-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .privacy-security-card,
  .privacy-right-card {
    min-width: 0;
  }

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

  .privacy-legal-item__copy {
    max-width: none;
  }
}

@media (max-width: 45rem) {
  .privacy-page [id] {
    scroll-margin-top: 5.5rem;
  }

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

  .privacy-hero::before {
    inset-inline-start: -12rem;
    width: 32rem;
    height: 24rem;
  }

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

  .privacy-hero__copy h1 {
    font-size: clamp(3rem, 13vw, 4.25rem);
  }

  .privacy-hero__copy .lead {
    font-size: 1rem;
  }

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

  .privacy-hero__effective > p {
    grid-column: auto;
    margin-top: var(--space-2);
  }

  .privacy-section {
    padding-block: clamp(3.5rem, 14vw, 4.5rem);
  }

  .privacy-document-column > h2,
  .privacy-security-heading,
  .privacy-rights-heading {
    margin-bottom: var(--space-5);
  }

  .privacy-contact-card,
  .privacy-data-card,
  .privacy-security-card,
  .privacy-right-card {
    padding: var(--space-5);
  }

  .privacy-contact-card__details > div {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-1);
  }

  .privacy-scope-copy {
    padding-left: var(--space-4);
  }

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

  .privacy-data-card__content {
    max-width: none;
  }

  .privacy-security-cards,
  .privacy-rights-grid {
    gap: var(--space-4);
  }

  .privacy-remedy-panel {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
    padding: var(--space-5);
  }

  .privacy-remedy-panel__mark {
    width: 2.5rem;
    min-height: 0.25rem;
  }

  .privacy-contact-callout {
    padding: var(--space-5);
  }

  .privacy-contact-callout__email {
    width: 100%;
    min-height: 2.75rem;
    font-size: clamp(1.55rem, 8vw, 2rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .privacy-hero::before {
    filter: none;
  }
}

main.terms-page {
  min-width: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 72% 6%, var(--color-glow-brass), transparent 30rem),
    var(--surface-page);
}

.terms-page ul {
  list-style: none !important;
}

.terms-hero {
  position: relative;
  padding-block: var(--space-10) var(--space-9);
  border-block-end: 1px solid var(--border-subtle);
}

.terms-hero::after {
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--border-brass), transparent);
  content: "";
}

.terms-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(18.75rem, 5fr);
  align-items: center;
  gap: clamp(var(--space-7), 6vw, var(--space-10));
}

.terms-hero__grid > * {
  min-width: 0;
  width: 100%;
}

.terms-hero__copy {
  display: flex;
  width: min(100%, 42.5rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

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

.terms-hero__copy h1 {
  max-width: 42.5rem;
  font-size: var(--text-display);
}

.terms-hero__effective {
  width: 100%;
  padding-block-start: var(--space-3);
  border-block-start: 1px solid var(--border-brass);
  color: var(--text-muted);
  font-size: var(--text-meta);
  font-weight: 700;
  line-height: var(--line-body);
}

.terms-hero__lead {
  width: min(100%, 41.25rem);
}

.terms-hero__support {
  width: min(100%, 39rem);
  color: var(--text-muted);
}

.terms-overview {
  display: flex;
  width: min(100%, 22.5rem);
  min-width: 0;
  justify-self: end;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
}

.terms-overview > * {
  min-width: 0;
  margin: 0;
}

.terms-overview h2 {
  font-size: clamp(1.75rem, 3vw, 2.25rem);
}

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

.terms-overview__list > li {
  position: relative;
  min-width: 0;
  padding-inline-start: var(--space-4);
  color: var(--text-secondary);
  font-size: var(--text-meta);
  line-height: var(--line-compact);
}

.terms-overview__list > li::before {
  position: absolute;
  inset-block-start: 0.45rem;
  inset-inline-start: 0;
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 50%;
  background: var(--color-brass-300);
  content: "";
}

.terms-overview__date {
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--border-subtle);
}

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

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

.terms-reading {
  width: min(100%, 47.5rem);
  min-width: 0;
  margin-inline: auto;
}

.terms-reading > .eyebrow {
  margin-block-end: var(--space-3);
}

.terms-reading > h2 {
  margin-block-end: var(--space-6);
}

.terms-reading > h3 {
  margin-block-start: var(--space-7);
}

.terms-reading > h2 + h3,
.terms-reading > .status + h2 {
  margin-block-start: 0;
}

.terms-reading p {}

.terms-address {
  display: block;
  margin-block-start: var(--space-3);
  color: var(--text-secondary);
  overflow-wrap: anywhere;
}

.terms-service-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4) var(--space-5);
  width: 100%;
  margin-block: var(--space-5) var(--space-6);
  padding-block: var(--space-5);
  border-block: 1px solid var(--border-subtle);
}

.terms-service-list > li {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-1);
  padding-inline-start: var(--space-4);
  border-inline-start: 1px solid var(--border-brass);
}

.terms-service-list strong {
  font-size: var(--text-meta);
}

.terms-service-list span {
  color: var(--text-muted);
  font-size: var(--text-meta);
  line-height: var(--line-compact);
}

.terms-rule-callout {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding-inline-start: var(--space-5);
  border-inline-start: 1px solid var(--color-brass-500);
}

.terms-rule-callout > * {
  min-width: 0;
  margin: 0;
}

.terms-detail-lines {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  margin-block: var(--space-5) var(--space-6);
  border-block: 1px solid var(--border-subtle);
}

.terms-detail-lines > p {
  min-width: 0;
  margin: 0;
  padding-block: var(--space-3);
  color: var(--text-muted);
  font-size: var(--text-meta);
}

.terms-detail-lines > p + p {
  border-block-start: 1px solid var(--border-subtle);
}

.terms-booking__notice {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-block: var(--space-6);
}

.terms-booking__notice > * {
  min-width: 0;
  margin: 0;
}

.terms-booking__notice p {
  width: min(100%, 38.75rem);
}

.terms-booking__action,
.terms-events__action,
.terms-lounge__action {
  display: flex;
  width: 100%;
  min-width: 0;
  justify-content: flex-start;
  margin-block-start: var(--space-5);
}

.terms-booking__action > *,
.terms-events__action > *,
.terms-lounge__action > * {
  min-width: 0;
}

.terms-dining__divider,
.terms-responsibility__divider {
  margin-block: var(--space-5);
}

.terms-allergen {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-block: var(--space-6);
}

.terms-allergen > * {
  min-width: 0;
  margin: 0;
}

.terms-allergen p {
  width: min(100%, 43.75rem);
}

.terms-dining__sub-label {
  margin-block-start: var(--space-7);
}

.terms-events > .status {
  margin-block-end: var(--space-3);
}

.terms-events__conduct {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-block: var(--space-6);
  padding-inline-start: var(--space-5);
  border-inline-start: 3px solid var(--color-paprika-600);
}

.terms-events__conduct > * {
  min-width: 0;
  margin: 0;
}

.terms-lounge__intro {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-block: var(--space-6);
}

.terms-lounge__intro > * {
  min-width: 0;
  margin: 0;
}

.terms-lounge__intro p {
  width: min(100%, 43.125rem);
}

.terms-lounge__clarification {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  margin-block-end: var(--space-7);
}

.terms-lounge__clarification > * {
  min-width: 0;
  margin: 0;
}

.terms-lounge__statements {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
  width: min(100%, 43.125rem);
  padding: var(--space-5);
  border: 1px solid rgba(61, 121, 100, 0.8);
  border-radius: var(--radius-md);
  background: rgba(36, 74, 64, 0.36);
}

.terms-lounge__statements > p {
  position: relative;
  min-width: 0;
  margin: 0;
  padding-inline-start: var(--space-4);
  color: var(--text-primary);
  font-weight: 700;
  line-height: var(--line-compact);
}

.terms-lounge__statements > p::before {
  position: absolute;
  inset-block-start: 0.43rem;
  inset-inline-start: 0;
  width: 0.4rem;
  height: 0.4rem;
  border: 1px solid var(--color-brass-300);
  border-radius: 50%;
  content: "";
}

.terms-belongings {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-block: var(--space-6);
}

.terms-belongings > * {
  min-width: 0;
  margin: 0;
}

.terms-email {
  display: inline-block;
  max-width: 100%;
  margin-block-start: var(--space-4);
  padding-block-end: var(--space-2);
  border-block-end: 1px solid var(--color-brass-500);
  overflow-wrap: anywhere;
}

.terms-email a {
  color: var(--color-brass-300);
  font-weight: 800;
  text-decoration: none;
}

.terms-email a:hover {
  color: var(--text-primary);
}

.terms-updates__effective {
  display: inline-block;
  max-width: 100%;
  margin-block: var(--space-5) var(--space-7);
  padding-block-end: var(--space-2);
  border-block-end: 1px solid var(--color-brass-500);
  color: var(--text-muted);
  font-size: var(--text-meta);
  font-weight: 700;
}

.terms-pathways {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
}

.terms-pathways > * {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.terms-pathways > * > * {
  min-width: 0;
  margin: 0;
}

.terms-pathway h3 {
  font-size: clamp(1.75rem, 3vw, 2rem);
}

.terms-pathway p {
  flex: 1 1 auto;
}

.terms-page a:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

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

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

  .terms-hero__copy,
  .terms-overview {
    width: min(100%, 42.5rem);
    justify-self: start;
  }

  .terms-overview {
    max-width: 36rem;
  }
}

@media (max-width: 42.5rem) {
  .terms-service-list,
  .terms-pathways {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-pathways {
    gap: var(--space-4);
  }
}

@media (max-width: 45rem) {
  .terms-hero {
    padding-block: var(--space-9) var(--space-8);
  }

  .terms-hero__copy {
    gap: var(--space-3);
  }

  .terms-hero__copy h1 {
    font-size: clamp(3rem, 13vw, 4.75rem);
  }

  .terms-hero__lead {
    font-size: var(--text-body);
  }

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

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

  .terms-reading > h2 {
    margin-block-end: var(--space-5);
  }

  .terms-reading > h3 {
    margin-block-start: var(--space-6);
  }

  .terms-rule-callout,
  .terms-events__conduct {
    padding-inline-start: var(--space-4);
  }

  .terms-booking__notice,
  .terms-allergen,
  .terms-lounge__intro,
  .terms-belongings {
    padding: var(--space-5);
  }

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

  .terms-booking__action,
  .terms-events__action,
  .terms-lounge__action {
    width: 100%;
  }

  .terms-booking__action .button,
  .terms-events__action .button,
  .terms-lounge__action .button,
  .terms-pathway .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .terms-page .surface-card:hover,
  .terms-page .button:hover {
    transform: none;
  }
}

ul {
  list-style: none !important;
}

.nav-toggle {
  flex-direction: column;
}

.contact-page {
  min-width: 0;
  overflow: hidden;
  background: var(--surface-page);
}

.contact-page a:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.contact-hero {
  position: relative;
  isolation: isolate;
  padding-block: clamp(var(--space-9), 11vw, var(--space-11));
}

.contact-hero::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(circle at 68% 42%, var(--color-glow-brass), transparent 36%);
  content: "";
}

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

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

.contact-hero__copy {
  display: flex;
  width: 100%;
  max-width: 35.625rem;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.contact-hero__copy .eyebrow,
.contact-hero__copy h1,
.contact-hero__copy p {
  margin: 0;
}

.contact-hero__copy h1 {
  max-width: 11ch;
  font-size: var(--text-display);
}

.contact-hero__lead {
  max-width: 35rem;
}

.contact-hero__actions,
.contact-closing__actions {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
}

.contact-hero__actions > *,
.contact-closing__actions > * {
  min-width: 0;
}

.contact-hero__location-meta {
  display: grid;
  width: 100%;
  min-width: 0;
  gap: var(--space-2);
  padding-top: var(--space-4);
  border-top: 1px solid var(--border-brass);
  color: var(--text-secondary);
  font-size: var(--text-meta);
  line-height: var(--line-body);
}

.contact-hero__meta-label,
.contact-arrival__card-label,
.contact-explore__accent {
  color: var(--color-brass-300);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-transform: uppercase;
}

.contact-hero__media {
  width: 100%;
  min-width: 0;
  min-height: 33.75rem;
  margin: 0;
  border-radius: var(--radius-lg);
}

.contact-hero__media img {
  width: 100%;
  height: 100%;
  min-height: 33.75rem;
  object-fit: cover;
  object-position: center right;
}

.contact-details__heading,
.contact-topics__heading,
.contact-explore__heading {
  width: 100%;
  max-width: 40rem;
  min-width: 0;
  margin-bottom: var(--space-7);
}

.contact-details__heading .eyebrow,
.contact-details__heading h2,
.contact-topics__heading .eyebrow,
.contact-topics__heading h2,
.contact-explore__heading .eyebrow,
.contact-explore__heading h2 {
  margin-bottom: var(--space-3);
}

.contact-details__heading p,
.contact-topics__heading p,
.contact-explore__heading p {
  margin-bottom: 0;
}

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

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

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

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

.contact-detail-card__icon {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-sm);
  color: var(--color-brass-300);
  font-size: 1.25rem;
  line-height: 1;
}

.contact-detail-card address,
.contact-arrival__card address {
  color: var(--text-secondary);
  font-style: normal;
  line-height: var(--line-body);
}

.contact-detail-card__primary-link {
  color: var(--text-primary);
  font-size: 1.125rem;
  font-weight: 800;
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-decoration-color: rgba(196, 154, 82, 0.72);
  text-underline-offset: 0.26em;
}

.contact-text-link,
.contact-booking__step a,
.contact-arrival__follow-up a,
.contact-guidance__item a {
  color: var(--color-brass-300);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(196, 154, 82, 0.72);
  text-underline-offset: 0.25em;
}

.contact-text-link:hover,
.contact-booking__step a:hover,
.contact-arrival__follow-up a:hover,
.contact-guidance__item a:hover,
.contact-detail-card__primary-link:hover {
  color: var(--color-white-100);
  text-decoration-color: currentColor;
}

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

.contact-booking__panel {
  position: relative;
  overflow: hidden;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-7);
}

.contact-booking__panel::before {
  position: absolute;
  inset: auto -10% -50% 60%;
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
  background: radial-gradient(circle, var(--color-glow-paprika), transparent 68%);
  content: "";
  pointer-events: none;
}

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

.contact-booking__heading {
  width: 100%;
  max-width: 42.5rem;
}

.contact-booking__heading .eyebrow,
.contact-booking__heading h2 {
  margin-bottom: var(--space-3);
}

.contact-booking__heading p {
  margin-bottom: 0;
}

.contact-booking__steps {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
}

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

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

.contact-booking__step:not(:first-child) {
  padding-left: var(--space-6);
  border-left: 1px solid var(--border-subtle);
}

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

.contact-booking__number {
  color: var(--color-brass-300);
  font-size: var(--text-meta);
  font-weight: 800;
  letter-spacing: 0.12em;
}

.contact-booking__cta {
  width: auto;
}

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

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

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

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

.contact-topic__mark {
  width: 1.75rem;
  height: 0.25rem;
  background: var(--color-paprika-600);
}

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

.contact-topic--lounge {
  padding: var(--space-5);
  border: 1px solid rgba(61, 121, 100, 0.8);
  border-radius: var(--radius-md);
  background: rgba(36, 74, 64, 0.54);
}

.contact-topic--lounge .contact-topic__mark {
  background: var(--color-felt-500);
}

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

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

.contact-arrival__copy {
  width: 100%;
  max-width: 47.5rem;
}

.contact-arrival__copy .eyebrow,
.contact-arrival__copy h2 {
  margin-bottom: var(--space-3);
}

.contact-arrival__copy p {
  margin-bottom: 0;
}

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

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

.contact-arrival__card address {
  color: var(--text-primary);
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  font-weight: 600;
  line-height: 1.12;
}

.contact-arrival__follow-up {
  grid-column: 1 / 2;
  width: 100%;
  max-width: 37.5rem;
}

.contact-arrival__follow-up h3 {
  margin-bottom: var(--space-3);
}

.contact-arrival__follow-up p {
  margin-bottom: 0;
}

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

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

.contact-guidance__heading {
  width: 100%;
  max-width: 38.75rem;
}

.contact-guidance__heading .eyebrow,
.contact-guidance__heading h2 {
  margin-bottom: var(--space-3);
}

.contact-guidance__heading p {
  margin-bottom: 0;
}

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

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

.contact-guidance__item {
  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(--border-brass);
}

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

.contact-guidance__icon {
  color: var(--color-brass-300);
  font-size: 1.25rem;
  line-height: 1;
}

.contact-guidance__item--lounge {
  border-top-color: var(--color-felt-500);
}

.contact-guidance__item--lounge .contact-guidance__icon {
  color: var(--color-felt-500);
}

.contact-explore__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--space-5);
}

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

.contact-explore__card {
  display: flex;
  min-width: 0;
  min-height: 16.25rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

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

.contact-explore__card p {
  margin-bottom: auto;
}

.contact-explore__accent--paprika {
  color: var(--color-paprika-400);
}

.contact-explore__card--lounge {
  display: flex;
  min-width: 0;
  min-height: 16.25rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: clamp(var(--space-5), 3vw, var(--space-6));
  border: 1px solid rgba(61, 121, 100, 0.8);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-panel);
  transition: border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);
}

.contact-explore__card--lounge:hover {
  border-color: var(--color-brass-300);
  box-shadow: var(--shadow-card-hover), var(--shadow-glow);
  transform: translateY(-3px) scale(1.01);
}

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

.contact-explore__card--lounge p {
  margin-bottom: auto;
}

.contact-closing {
  position: relative;
  isolation: isolate;
  margin-top: var(--space-8);
  background: var(--surface-elevated);
}

.contact-closing::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(circle at 50% 55%, var(--color-glow-paprika), transparent 45%);
  content: "";
}

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

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

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

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

  .contact-hero__copy {
    max-width: 100%;
    order: 1;
  }

  .contact-hero__media {
    order: 2;
    min-height: 20rem;
  }

  .contact-hero__media img {
    min-height: 20rem;
    object-position: center right;
  }

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

  .contact-detail-card--place {
    grid-column: 1 / -1;
  }

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

  .contact-booking__step:nth-child(3) {
    grid-column: 1 / -1;
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--border-subtle);
    padding-top: var(--space-5);
  }

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

  .contact-topic--lounge {
    grid-column: 1 / -1;
  }

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

  .contact-arrival__copy,
  .contact-arrival__card,
  .contact-arrival__follow-up {
    grid-column: 1;
    max-width: 100%;
  }

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

  .contact-explore__card--lounge {
    grid-column: 2;
  }

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

@media (max-width: 45rem) {
  .contact-hero__copy {
    gap: var(--space-4);
  }

  .contact-hero__copy h1 {
    max-width: 12ch;
  }

  .contact-hero__actions,
  .contact-closing__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .contact-hero__actions > .button,
  .contact-closing__actions > .button {
    width: 100%;
  }

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

  .contact-details__grid,
  .contact-booking__steps,
  .contact-topics__grid,
  .contact-guidance__grid,
  .contact-explore__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-detail-card--place,
  .contact-booking__step:nth-child(3),
  .contact-topic--lounge,
  .contact-explore__card--lounge,
  .contact-explore__grid > :nth-child(3) {
    grid-column: 1;
  }

  .contact-booking__panel,
  .contact-guidance__panel {
    gap: var(--space-6);
  }

  .contact-booking__step:not(:first-child),
  .contact-booking__step:nth-child(3) {
    padding-top: var(--space-5);
    padding-left: 0;
    border-top: 1px solid var(--border-subtle);
    border-left: 0;
  }

  .contact-booking__cta {
    width: 100%;
  }

  .contact-topic {
    padding-block: var(--space-5);
  }

  .contact-explore__card,
  .contact-explore__card--lounge {
    min-height: 0;
  }
}

@media (max-width: 40rem) {
  .contact-closing {
    margin-top: var(--space-7);
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-explore__card--lounge:hover {
    transform: none;
  }
}

.menu-page {
  overflow: hidden;
  background: var(--surface-page);
}

.menu-page ul {
  list-style: none !important;
}

.menu-page .nav-toggle {
  flex-direction: column;
}

.menu-hero {
  position: relative;
  padding-block-start: clamp(var(--space-8), 10vw, var(--space-11));
}

.menu-hero::before {
  position: absolute;
  inset: 0 0 auto;
  height: 34rem;
  pointer-events: none;
  background: radial-gradient(circle at 38% 38%, var(--color-glow-brass), transparent 58%);
  content: "";
}

.menu-hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 46fr) minmax(26.875rem, 54fr);
  align-items: center;
  gap: var(--space-8);
}

.menu-hero__grid > * {
  min-width: 0;
  width: 100%;
}

.menu-hero__copy {
  display: flex;
  width: min(100%, 32.5rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

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

.menu-hero__copy h1 {
  font-size: var(--text-display);
}

.menu-hero__copy .lead {
  max-width: 32.5rem;
}

.menu-hero__actions {
  width: 100%;
}

.menu-hero__meta {
  width: 100%;
  color: var(--text-muted);
  font-size: var(--text-meta);
  line-height: var(--line-body);
}

.menu-hero__meta span {
  margin-inline: var(--space-2);
  color: var(--color-brass-500);
}

.menu-hero__media {
  justify-self: end;
  width: 100%;
  max-width: 40.5rem;
  aspect-ratio: 4 / 5;
  margin: 0;
}

.menu-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 65% center;
}

.menu-principles {
  position: relative;
}

.menu-principles::before {
  position: absolute;
  inset: 15% auto auto 0;
  width: 1px;
  height: 14rem;
  background: var(--border-brass);
  content: "";
}

.menu-principles__intro {
  width: min(100%, 47.5rem);
  min-width: 0;
  margin-inline: auto;
  text-align: center;
}

.menu-principles__intro p {
  margin-block-end: 0;
}

.menu-principles__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  margin-block-start: var(--space-8);
}

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

.menu-principle {
  min-width: 0;
  padding-block-start: var(--space-5);
  border-block-start: 1px solid var(--border-brass);
}

.menu-principle h3 {
  font-size: 1.5rem;
}

.menu-principle p {margin-block-end: 0;
}

.menu-principle--statement p {
  color: var(--text-secondary);
  font-family: var(--font-heading);
  font-size: 1.35rem;
  line-height: 1.35;
}

.menu-voices {
  background: linear-gradient(180deg, transparent, rgba(43, 51, 49, 0.22), transparent);
}

.menu-voices__heading {
  width: min(100%, 38.75rem);
  min-width: 0;
  margin-inline: auto;
  text-align: center;
}

.menu-voices__heading p {
  margin-block-end: 0;
}

.menu-voices__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--space-5);
  margin-block-start: var(--space-8);
}

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

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

.menu-voice-card > * {
  min-width: 0;
  margin: 0;
}

.menu-voice-card--featured {
  padding-block: calc(var(--space-6) + var(--space-3));
}

.menu-voice-card__number {
  color: var(--color-brass-300);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.14em;
}

.menu-voice-card h3 {
  font-size: 1.7rem;
}

.menu-voice-card p {}

.menu-voice-card__rule {
  width: 100%;
  height: 1px;
  margin-block-start: auto;
  background: var(--border-brass);
}

.menu-voice-card--featured::before {
  width: 2.5rem;
  height: 0.25rem;
  background: var(--color-paprika-600);
  content: "";
}

.menu-dishes__heading {
  width: min(100%, 43rem);
  min-width: 0;
}

.menu-dishes__heading p {
  margin-block-end: 0;
}

.menu-dishes__layout {
  display: grid;
  grid-template-columns: minmax(0, 62fr) minmax(21.875rem, 38fr);
  align-items: start;
  gap: var(--space-7);
  margin-block-start: var(--space-7);
}

.menu-dishes__layout > * {
  min-width: 0;
  width: 100%;
}

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

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

.menu-dish {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(9.375rem, 10.625rem);
  align-items: start;
  gap: var(--space-5);
  padding-block-end: var(--space-5);
  border-block-end: 1px solid var(--border-brass);
}

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

.menu-dish__content h3 {
  font-size: 1.75rem;
}

.menu-dish__content p {margin-block-end: 0;
}

.menu-dish__meta {
  color: var(--color-brass-300);
  font-size: var(--text-meta);
  font-weight: 700;
  line-height: var(--line-compact);
  text-align: end;
}

.menu-dishes__cta {
  align-self: flex-start;
}

.menu-dishes__media {
  aspect-ratio: 4 / 5;
  margin: 0;
}

.menu-dishes__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 70% center;
}

.menu-interlude__frame {
  position: relative;
  min-height: 26.25rem;
  margin: 0;
  isolation: isolate;
}

.menu-interlude__frame > img {
  width: 100%;
  height: 100%;
  min-height: 26.25rem;
  object-fit: cover;
  object-position: center;
}

.menu-interlude__panel {
  position: absolute;
  z-index: 3;
  inset: auto auto var(--space-7) var(--space-7);
  display: flex;
  width: min(100% - var(--space-10), 28.75rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid rgba(196, 154, 82, 0.6);
  border-radius: var(--radius-md);
  background: rgba(23, 25, 24, 0.86);
  box-shadow: var(--shadow-panel);
}

.menu-interlude__panel > * {
  min-width: 0;
  margin: 0;
}

.menu-interlude__panel h2 {
  font-size: clamp(2rem, 3vw, 3rem);
}

.menu-wine {
  background: var(--surface-elevated);
}

.menu-wine__intro {
  width: min(100%, 42.5rem);
  min-width: 0;
  margin-inline: auto;
  text-align: center;
}

.menu-wine__intro p {
  margin-block-end: 0;
}

.menu-wine__media {
  width: min(100%, 26.25rem);
  min-width: 0;
  aspect-ratio: 3 / 2;
  margin: var(--space-7) auto 0;
}

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

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

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

.menu-wine-card {
  min-width: 0;
}

.menu-wine-card h3 {
  font-size: 1.5rem;
}

.menu-wine-card p {margin-block-end: 0;
}

.menu-wine-card--accent {
  border-block-start: 3px solid var(--color-felt-500);
}

.menu-wine__action {
  display: flex;
  width: 100%;
  min-width: 0;
  justify-content: center;
  margin-block-start: var(--space-6);
}

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

.menu-evening__heading {
  width: min(100%, 38.75rem);
  min-width: 0;
}

.menu-evening__heading h2 {
  margin-block-end: 0;
}

.menu-evening__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--space-6);
  margin-block-start: var(--space-7);
}

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

.menu-evening-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
}

.menu-evening-card > * {
  min-width: 0;
  margin: 0;
}

.menu-evening-card__copy {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.menu-evening-card__copy > * {
  min-width: 0;
  margin: 0;
}

.menu-evening-card__copy p {}

.menu-location__panel {
  display: grid;
  grid-template-columns: minmax(0, 65fr) minmax(17rem, 35fr);
  align-items: end;
  gap: var(--space-6);
}

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

.menu-location__venue {
  min-width: 0;
}

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

.menu-location__venue > p {
  width: min(100%, 47.5rem);
}

.menu-location__address {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-1);
  margin-block-start: var(--space-5);
  padding-inline-start: var(--space-5);
  border-inline-start: 1px solid var(--color-brass-500);
  color: var(--text-secondary);
  font-style: normal;
}

.menu-location__address strong {
  font-family: var(--font-heading);
  font-size: 1.6rem;
  font-weight: 600;
  line-height: var(--line-title);
}

.menu-location__action {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  background: var(--surface-raised);
}

.menu-location__action > * {
  min-width: 0;
  margin: 0;
}

.menu-location__action p {}

.menu-final {
  padding-block-end: var(--space-8);
}

.menu-final__panel {
  display: flex;
  width: min(100%, 51.25rem);
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  margin-inline: auto;
  padding: var(--space-8) var(--space-7);
  border-radius: var(--radius-lg);
  background: radial-gradient(circle at 50% 12%, var(--color-glow-paprika), transparent 48%), var(--surface-card);
  text-align: center;
}

.menu-final__panel > * {
  min-width: 0;
  margin: 0;
}

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

.menu-note {
  padding-block-start: 0;
}

.menu-note__inner {
  display: flex;
  width: min(100%, 42.5rem);
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  margin-inline: auto;
  padding-block-end: var(--space-7);
  text-align: center;
}

.menu-note__inner > * {
  min-width: 0;
  margin: 0;
}

.menu-note__rule {
  width: 100%;
  height: 1px;
  background: var(--border-subtle);
}

.menu-note__inner p {
  color: var(--text-muted);
  font-size: var(--text-meta);
  line-height: 1.55;
}

@media (max-width: 61.25rem) {
  .menu-hero__grid {
    grid-template-columns: 1fr;
    gap: var(--space-7);
  }

  .menu-hero__copy {
    width: min(100%, 37.5rem);
  }

  .menu-hero__media {
    justify-self: start;
    max-width: none;
    aspect-ratio: 5 / 4;
  }

  .menu-dishes__layout {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .menu-dishes__media {
    grid-row: 1;
    aspect-ratio: 5 / 4;
  }

  .menu-dishes__list {
    grid-row: 2;
  }
}

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

  .menu-principle--statement {
    grid-column: 1 / -1;
  }

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

  .menu-voice-card:nth-child(3) {
    grid-column: 1 / -1;
  }

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

  .menu-wine-card:nth-child(3) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 55rem) {
  .menu-wine__media {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 50rem) {
  .menu-location__panel {
    grid-template-columns: 1fr;
    align-items: start;
  }

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

@media (max-width: 47.5rem) {
  .menu-interlude__frame {
    display: grid;
    grid-template-columns: 1fr;
    min-height: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

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

  .menu-interlude__frame > img {
    min-height: 15.625rem;
    border: 1px solid var(--border-brass);
    border-radius: var(--radius-md);
    object-position: center;
  }

  .menu-interlude__panel {
    position: static;
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-4);
    margin: 0;
    padding: var(--space-5);
    border: 1px solid var(--border-brass);
    border-block-start: 0;
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    background: var(--surface-card);
    box-shadow: none;
  }
}

@media (max-width: 45rem) {
  .menu-hero {
    padding-block-start: var(--space-8);
  }

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

  .menu-hero__copy h1 {
    font-size: clamp(3rem, 13vw, 4.75rem);
  }

  .menu-hero__copy .lead {
    font-size: var(--text-lead);
  }

  .menu-hero__meta span {
    margin-inline: var(--space-1);
  }

  .menu-hero__media {
    min-height: 17.5rem;
  }

  .menu-principles__intro {
    width: min(100%, 34ch);
  }

  .menu-principles__grid,
  .menu-voices__grid,
  .menu-wine__grid,
  .menu-evening__grid {
    grid-template-columns: 1fr;
  }

  .menu-principle--statement,
  .menu-voice-card:nth-child(3),
  .menu-wine-card:nth-child(3) {
    grid-column: auto;
  }

  .menu-principles__grid {
    gap: var(--space-5);
    margin-block-start: var(--space-7);
  }

  .menu-principle h3 {
    font-size: 1.625rem;
  }

  .menu-principle p,
  .menu-voice-card p,
  .menu-wine-card p,
  .menu-evening-card__copy p {}

  .menu-voice-card--featured {
    padding-block: var(--space-5);
  }

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

  .menu-dish__content h3 {
    font-size: 1.625rem;
  }

  .menu-dish__content p {}

  .menu-dish__meta {
    text-align: start;
  }

  .menu-dishes__cta,
  .menu-evening-card .button,
  .menu-location__action .button,
  .menu-final__panel .button,
  .menu-wine__action .button {
    width: 100%;
  }

  .menu-wine__action {
    display: block;
  }

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

  .menu-location__address strong {
    font-size: 1.625rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .menu-page *,
  .menu-page *::before,
  .menu-page *::after {
    animation: none !important;
  }
}

.home-page {
  overflow: hidden;
  background: var(--surface-page);
}

.home-page ul {
  list-style: none !important;
}

.home-page .button {
  min-height: 2.75rem;
}

.home-page .home-text-link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  color: var(--color-brass-300);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-decoration: none;
  text-transform: uppercase;
}

.home-page .home-text-link::after {
  width: 1.5rem;
  height: 1px;
  margin-inline-start: var(--space-2);
  background: currentColor;
  content: "";
  transition: width var(--transition-base);
}

.home-page .home-text-link:hover::after,
.home-page .home-text-link:focus-visible::after {
  width: 2.5rem;
}

.home-hero {
  position: relative;
  padding-block: clamp(var(--space-8), 8vw, var(--space-10));
  background: radial-gradient(circle at 18% 34%, var(--color-glow-brass), transparent 38%);
}

.home-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 52fr) minmax(0, 48fr);
  align-items: center;
  gap: var(--space-6);
}

.home-hero__grid > * {
  min-width: 0;
  width: 100%;
}

.home-hero__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  max-width: 35rem;
  margin: 0;
}

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

.home-hero__content h1 {
  max-width: 10.8ch;
  font-size: var(--text-display);
}

.home-hero__content .lead {
  max-width: 34rem;
}

.home-hero__actions {
  width: 100%;
}

.home-hero__actions > * {
  width: auto;
}

.home-hero__meta {
  max-width: 34rem;
}

.home-hero__image {
  min-height: 35rem;
  margin: 0;
}

.home-hero__image img {
  width: 100%;
  height: 100%;
  min-height: 35rem;
  object-fit: cover;
  object-position: 65% center;
}

.home-layers__intro {
  width: min(100%, 42.5rem);
  margin-block-end: var(--space-7);
}

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

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

.home-layers__grid > * {
  min-width: 0;
  width: 100%;
}

.home-layer {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  height: 100%;
}

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

.home-layer__number {
  color: var(--color-brass-300);
  font-family: var(--font-heading);
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 1;
}

.home-layer p {
  flex: 1 1 auto;
}

.home-layer--lounge {
  border-top-color: var(--color-felt-500);
}

.home-layer--lounge .home-layer__number {
  color: var(--color-felt-500);
}

.home-culinary__grid {
  display: grid;
  grid-template-columns: minmax(0, 58fr) minmax(0, 42fr);
  align-items: center;
  gap: clamp(var(--space-6), 6vw, var(--space-9));
}

.home-culinary__grid > * {
  min-width: 0;
  width: 100%;
}

.home-culinary__image {
  margin: 0;
}

.home-culinary__image img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
}

.home-culinary__copy {
  width: min(100%, 31.25rem);
}

.home-culinary__copy .lead {
  max-width: 29rem;
}

.home-culinary__copy blockquote {
  max-width: 26.25rem;
}

.home-culinary__cta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-block-start: var(--space-5);
}

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

.home-wine {
  background: radial-gradient(circle at 50% 45%, var(--color-glow-brass), transparent 43%);
}

.home-wine__intro {
  width: min(100%, 42.5rem);
  margin-inline: auto;
  margin-block-end: var(--space-7);
  text-align: center;
}

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

.home-wine__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1fr);
  align-items: stretch;
  gap: var(--space-5);
}

.home-wine__grid > * {
  min-width: 0;
  width: 100%;
}

.home-wine__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  height: 100%;
  border-top-color: var(--color-brass-500);
}

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

.home-wine__card p {
  flex: 1 1 auto;
}

.home-wine__card--feature {
  box-shadow: var(--shadow-panel), var(--shadow-glow);
}

.home-lounge__grid {
  display: grid;
  grid-template-columns: minmax(0, 55fr) minmax(0, 45fr);
  align-items: center;
  gap: clamp(var(--space-6), 6vw, var(--space-9));
}

.home-lounge__grid > * {
  min-width: 0;
  width: 100%;
}

.home-lounge__image {
  margin: 0;
}

.home-lounge__image img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
}

.home-lounge__panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  max-width: 32.5rem;
  margin-inline-start: auto;
}

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

.home-lounge__panel .lead {
  max-width: 30rem;
}

.home-lounge__detail {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: min(100%, 26.875rem);
  padding: var(--space-5);
  border: 1px solid rgba(241, 237, 227, 0.18);
  border-radius: var(--radius-md);
  background: rgba(16, 17, 16, 0.2);
}

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

.home-lounge__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  width: 100%;
}

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

.home-events__intro {
  width: min(100%, 38.75rem);
  margin-block-end: var(--space-7);
}

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

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

.home-events__grid > * {
  min-width: 0;
  width: 100%;
}

.home-event {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  height: 100%;
}

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

.home-event .eyebrow {
  color: var(--color-brass-300);
}

.home-event--lounge {
  border-color: rgba(61, 121, 100, 0.9);
  background: var(--surface-lounge);
}

.home-event--lounge .eyebrow {
  color: var(--color-ivory-100);
}

.home-events__cta {
  display: flex;
  width: 100%;
  margin-block-start: var(--space-6);
}

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

.home-location__visual {
  position: relative;
  min-height: 31.25rem;
  margin: 0;
}

.home-location__visual > img {
  width: 100%;
  min-height: 31.25rem;
  object-fit: cover;
  object-position: center;
}

.home-location__panel {
  position: absolute;
  right: var(--space-6);
  bottom: var(--space-6);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  width: min(100% - var(--space-8), 27.5rem);
}

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

.home-plan__intro {
  width: min(100%, 35rem);
  margin-block-end: var(--space-7);
}

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

.home-plan__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.08fr);
  gap: var(--space-5);
}

.home-plan__grid::before {
  position: absolute;
  top: 1.15rem;
  left: 16.66%;
  width: 50%;
  height: 1px;
  background: var(--border-brass);
  content: "";
}

.home-plan__grid > * {
  min-width: 0;
  width: 100%;
}

.home-plan__step {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-height: 100%;
  padding: var(--space-5) 0;
}

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

.home-plan__step p {
  flex: 1 1 auto;
}

.home-plan__number {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border: 1px solid var(--border-brass);
  border-radius: 50%;
  background: var(--surface-page);
  color: var(--color-brass-300);
  font-family: var(--font-heading);
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1;
}

.home-plan__links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
  width: 100%;
}

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

.home-plan__step--booking {
  padding: var(--space-6);
  background: var(--surface-card);
  box-shadow: var(--shadow-panel), 0 0 42px var(--color-glow-paprika);
}

.home-plan__step--booking .home-plan__number {
  background: var(--surface-card);
}

.home-booking__panel {
  display: flex;
  justify-content: center;
  width: min(100%, 56.25rem);
  margin-inline: auto;
  background: radial-gradient(circle at 50% 38%, var(--color-glow-brass), transparent 48%), var(--surface-elevated);
}

.home-booking__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  width: min(100%, 35rem);
  text-align: center;
}

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

.home-booking__content h2 {
  max-width: 43.75rem;
}

.home-booking__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  width: 100%;
}

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

.home-booking__phone {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  color: var(--text-secondary);
  font-size: var(--text-meta);
  font-weight: 700;
  text-decoration: none;
}

.home-booking__address {
  width: 100%;
  padding-top: var(--space-4);
  border-top: 1px solid var(--border-brass);
}

.home-promise {
  padding-block-end: var(--space-9);
}

.home-promise__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  width: min(100%, 38.75rem);
  margin-inline: auto;
  padding-top: var(--space-5);
  border-top: 1px solid var(--border-brass);
  text-align: center;
}

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

.home-promise__content .eyebrow {
  margin: 0;
}

.home-promise__content p {
  color: var(--text-primary);
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 600;
  line-height: 1.14;
}

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

  .home-hero__content {
    max-width: 35rem;
  }

  .home-hero__image,
  .home-hero__image img {
    min-height: 22.5rem;
  }

  .home-hero__image {
    grid-row: 2;
  }

  .home-culinary__grid,
  .home-lounge__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-culinary__copy {
    width: min(100%, var(--editorial-max));
  }

  .home-culinary__image img {
    aspect-ratio: 16 / 10;
    min-height: 15rem;
  }

  .home-lounge__panel {
    max-width: none;
    margin-inline-start: 0;
  }

  .home-lounge__image img {
    aspect-ratio: 4 / 3;
    min-height: 15.625rem;
  }
}

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

  .home-layers__grid > :nth-child(3),
  .home-events__grid > :nth-child(3) {
    grid-column: 1 / -1;
  }

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

  .home-wine__card--feature {
    grid-column: 1 / -1;
    grid-row: 1;
  }

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

  .home-plan__grid::before {
    display: none;
  }

  .home-plan__step--booking {
    grid-column: 1 / -1;
  }
}

@media (max-width: 55rem) {
  .home-location__visual {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    overflow: visible;
  }

  .home-location__visual > img {
    min-height: 15rem;
    aspect-ratio: 16 / 10;
  }

  .home-location__panel {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    border-top: 0;
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    background: var(--surface-card);
  }
}

@media (max-width: 45rem) {
  .home-hero {
    padding-block: var(--space-8);
  }

  .home-hero__content {
    gap: var(--space-4);
  }

  .home-hero__content h1 {
    max-width: 11ch;
  }

  .home-hero__content .lead {
    font-size: 1.0625rem;
  }

  .home-hero__image,
  .home-hero__image img {
    min-height: 17.5rem;
  }

  .home-layers__intro,
  .home-events__intro,
  .home-plan__intro {
    margin-block-end: var(--space-6);
  }

  .home-layers__grid,
  .home-events__grid,
  .home-wine__grid,
  .home-plan__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .home-layers__grid > :nth-child(3),
  .home-events__grid > :nth-child(3),
  .home-wine__card--feature,
  .home-plan__step--booking {
    grid-column: auto;
    grid-row: auto;
  }

  .home-layer {
    padding: var(--space-5) 0;
    border-right: 0;
    border-left: 0;
    border-bottom: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .home-layer:hover {
    transform: none;
    box-shadow: none;
  }

  .home-wine__intro {
    text-align: center;
  }

  .home-wine__card,
  .home-event,
  .home-plan__step--booking {
    padding: var(--space-5);
  }

  .home-culinary__grid,
  .home-lounge__grid {
    gap: var(--space-5);
  }

  .home-culinary__copy blockquote {
    max-width: 100%;
  }

  .home-lounge__detail {
    width: 100%;
    padding: var(--space-5);
  }

  .home-events__cta {
    margin-block-start: var(--space-5);
  }

  .home-events__cta .button {
    width: 100%;
  }

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

  .home-plan__step {
    min-height: 0;
    padding: var(--space-5) 0 var(--space-5) var(--space-5);
    border-left: 1px solid var(--border-brass);
  }

  .home-plan__step--booking {
    border-left-color: var(--border-brass);
  }

  .home-booking__panel {
    width: 100%;
  }

  .home-booking__content {
    width: 100%;
  }

  .home-booking__actions .button {
    width: 100%;
    min-height: 3rem;
  }

  .home-promise {
    padding-block-end: var(--space-8);
  }

  .home-promise__content {
    width: 100%;
  }
}

@media (hover: hover) and (pointer: fine) {
  .home-location__visual:hover > img {
    transform: scale(1.02);
  }

  .home-location__visual > img {
    transition: transform var(--transition-base);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-location__visual > img {
    transition: none;
  }

  .home-location__visual:hover > img {
    transform: none;
  }
}

.gallery-page {
  background: var(--surface-page);
}

.gallery-page ul {
  list-style: none !important;
}

.gallery-page a:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.gallery-hero {
  position: relative;
  display: grid;
  min-height: 42.5rem;
  overflow: hidden;
  isolation: isolate;
  background: var(--surface-page);
}

.gallery-hero__image,
.gallery-hero__veil,
.gallery-hero__container {
  grid-area: 1 / 1;
}

.gallery-hero__image {
  width: 100%;
  min-width: 0;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 72% center;
}

.gallery-hero__veil {
  z-index: 1;
  min-width: 0;
  background: linear-gradient(90deg, rgba(16, 17, 16, 0.88) 0%, rgba(16, 17, 16, 0.68) 43%, rgba(16, 17, 16, 0.32) 72%, rgba(16, 17, 16, 0.2) 100%);
}

.gallery-hero::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(circle at 22% 45%, var(--color-glow-brass), transparent 34%);
  content: "";
}

.gallery-hero__container {
  position: relative;
  z-index: 2;
  display: flex;
  width: min(100% - (var(--container-gutter) * 2), var(--container-max));
  min-width: 0;
  align-items: center;
}

.gallery-hero__content {
  display: flex;
  width: min(100%, 32.5rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  padding: var(--space-7);
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-md);
  background: rgba(23, 25, 24, 0.78);
  box-shadow: var(--shadow-panel), var(--shadow-glow);
}

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

.gallery-hero__content h1 {
  font-size: var(--text-display);
}

.gallery-hero__lead {
  width: min(100%, 31rem);
  color: var(--text-secondary);
  font-size: var(--text-lead);
  line-height: 1.6;
}

.gallery-hero__copy {
  width: min(100%, 31rem);
}

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

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

.gallery-rhythms__intro {
  width: min(100%, 40.625rem);
  min-width: 0;
  margin-block-end: var(--space-7);
}

.gallery-rhythms__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  min-width: 0;
  padding: var(--space-6) 0 0;
  border-top: 1px solid var(--border-brass);
}

.gallery-rhythm {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-inline-end: var(--space-5);
  border-inline-end: 1px solid var(--border-subtle);
}

.gallery-rhythm:last-child {
  padding-inline-end: 0;
  border-inline-end: 0;
}

.gallery-rhythm__number {
  min-width: 2rem;
  color: var(--color-brass-300);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.3;
}

.gallery-rhythm__body {
  min-width: 0;
}

.gallery-rhythm__body p {
  margin-block-end: 0;
}

.gallery-rhythm--lounge .gallery-rhythm__body {
  padding: var(--space-4);
  border-radius: var(--radius-md);
  background: rgba(36, 74, 64, 0.3);
}

.gallery-types {
  background: var(--surface-elevated);
}

.gallery-types__intro {
  width: min(100%, 38.75rem);
  min-width: 0;
  margin-block-end: var(--space-7);
}

.gallery-types__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  align-items: stretch;
}

.gallery-type {
  display: flex;
  min-width: 0;
  min-height: 24.375rem;
  flex-direction: column;
  gap: var(--space-4);
}

.gallery-type > * {
  min-width: 0;
  margin: 0;
}

.gallery-type > p {
  flex: 1 1 auto;
}

.gallery-type--wine {
  box-shadow: var(--shadow-panel), 0 0 42px var(--color-glow-brass);
}

.gallery-type--lounge {
  border-color: rgba(61, 121, 100, 0.9);
  background: var(--surface-lounge);
}

.gallery-type__link,
.gallery-highlights__booking,
.gallery-plan__link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-brass-300);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
}

.gallery-highlights__intro {
  width: min(100%, 38.75rem);
  min-width: 0;
  margin-block-end: var(--space-7);
}

.gallery-highlights__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  min-width: 0;
  border-top: 1px solid var(--border-brass);
}

.gallery-highlight {
  display: grid;
  grid-template-columns: minmax(0, 26%) minmax(0, 74%);
  min-width: 0;
  padding: var(--space-6) 0;
  border-bottom: 1px solid var(--border-subtle);
}

.gallery-highlight__meta {
  min-width: 0;
  padding-inline-end: var(--space-5);
  color: var(--color-brass-300);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.3;
  text-transform: uppercase;
}

.gallery-highlight__content {
  width: min(100%, 43.75rem);
  min-width: 0;
}

.gallery-highlight__content p {
  margin-block-end: 0;
}

.gallery-highlight--lounge {
  padding-inline: var(--space-5);
  border: 1px solid rgba(61, 121, 100, 0.85);
  border-radius: var(--radius-md);
  background: rgba(36, 74, 64, 0.4);
}

.gallery-highlights__booking {
  margin-block-start: var(--space-5);
}

.gallery-culinary__layout {
  display: grid;
  grid-template-columns: minmax(0, 56%) minmax(0, 44%);
  gap: var(--space-7);
  min-width: 0;
  align-items: start;
}

.gallery-culinary__image {
  width: 100%;
  min-width: 0;
  min-height: 32.5rem;
  margin: 0;
}

.gallery-culinary__image img {
  width: 100%;
  height: 100%;
  min-height: 32.5rem;
  object-fit: cover;
}

.gallery-culinary__content {
  display: flex;
  width: min(100%, 31.25rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding-top: var(--space-3);
}

.gallery-culinary__content > * {
  min-width: 0;
  margin: 0;
}

.gallery-culinary__content::before {
  width: 5rem;
  height: 1px;
  background: var(--color-paprika-600);
  content: "";
}

.gallery-culinary__detail {
  padding-top: var(--space-4);
  border-top: 1px solid var(--border-brass);
}

.gallery-culinary__closing {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding-top: var(--space-2);
}

.gallery-culinary__closing > * {
  min-width: 0;
  margin: 0;
}

.gallery-wine {
  background: var(--surface-elevated);
}

.gallery-wine__intro {
  width: min(100%, 38.75rem);
  min-width: 0;
  margin-block-end: var(--space-7);
}

.gallery-wine__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-8);
  min-width: 0;
}

.gallery-wine__block {
  display: flex;
  width: min(100%, 26.25rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
}

.gallery-wine__block > * {
  min-width: 0;
  margin: 0;
}

.gallery-wine__block--second {
  justify-self: end;
  padding-inline-start: var(--space-8);
  border-inline-start: 1px solid var(--border-brass);
}

.gallery-lounge__layout {
  display: grid;
  grid-template-columns: minmax(0, 45%) minmax(0, 55%);
  min-width: 0;
  align-items: stretch;
}

.gallery-lounge__panel {
  display: flex;
  min-width: 0;
  min-height: 33.75rem;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-4);
  padding: var(--space-7);
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-md) 0 0 var(--radius-md);
  background: var(--surface-lounge);
  box-shadow: var(--shadow-panel);
}

.gallery-lounge__panel > * {
  min-width: 0;
  margin: 0;
}

.gallery-lounge__panel p {
  width: min(100%, 26.875rem);
}

.gallery-lounge__rule {
  width: 100%;
  height: 1px;
  background: rgba(224, 188, 114, 0.64);
}

.gallery-lounge__image {
  width: 100%;
  min-width: 0;
  min-height: 33.75rem;
  margin: 0;
  border-inline-start: 0;
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

.gallery-lounge__image img {
  width: 100%;
  height: 100%;
  min-height: 33.75rem;
  object-fit: cover;
  object-position: 68% center;
}

.gallery-location__panel {
  display: flex;
  width: min(100%, 47.5rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  padding: var(--space-7);
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-lg);
  background: var(--surface-card);
  box-shadow: var(--shadow-panel), var(--shadow-glow);
}

.gallery-location__panel > * {
  min-width: 0;
  margin: 0;
}

.gallery-location__intro {
  width: min(100%, 37.5rem);
}

.gallery-location__address {
  display: flex;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-5);
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-md);
  background: var(--surface-raised);
}

.gallery-location__address-label {
  color: var(--color-brass-300);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.3;
  text-transform: uppercase;
}

.gallery-location__address strong {
  font-size: var(--text-lead);
  line-height: 1.45;
}

.gallery-location__arrival {
  display: flex;
  width: min(100%, 37.5rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
}

.gallery-location__arrival > * {
  min-width: 0;
  margin: 0;
}

.gallery-location__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3);
}

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

.gallery-plan {
  background: var(--surface-elevated);
}

.gallery-plan__intro {
  width: min(100%, 37.5rem);
  min-width: 0;
  margin-block-end: var(--space-7);
}

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

.gallery-plan__route {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-5);
  border-bottom: 1px solid var(--border-brass);
  background: rgba(34, 40, 39, 0.44);
  color: inherit;
  text-decoration: none;
  transition: background-color var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);
}

.gallery-plan__route > * {
  min-width: 0;
  margin: 0;
}

.gallery-plan__route > p {
  flex: 1 1 auto;
}

.gallery-plan__route--lounge {
  border-bottom-color: var(--color-felt-500);
  background: rgba(36, 74, 64, 0.38);
}

.gallery-plan__route:hover {
  border-bottom-color: var(--color-brass-300);
  background: var(--surface-card);
  box-shadow: var(--shadow-panel);
  transform: translateY(-3px) scale(1.01);
}

.gallery-cta__panel {
  position: relative;
  overflow: hidden;
  padding: 6rem var(--space-7);
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-lg);
  background: var(--surface-card);
  box-shadow: var(--shadow-panel), var(--shadow-glow);
}

.gallery-cta__panel::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 12%, var(--color-glow-paprika), transparent 36%), radial-gradient(circle at 50% 100%, var(--color-glow-brass), transparent 42%);
  content: "";
}

.gallery-cta__content {
  position: relative;
  z-index: 1;
  display: flex;
  width: min(100%, 38.75rem);
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  margin-inline: auto;
  text-align: center;
}

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

.gallery-cta__content p {
  width: min(100%, 31.25rem);
}

.gallery-cta__meta {
  color: var(--text-muted);
  font-size: var(--text-meta);
  line-height: var(--line-body);
}

@media (max-width: 61.25rem) {
  .gallery-types__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gallery-type--lounge {
    grid-column: 1 / -1;
    min-height: auto;
  }
}

@media (max-width: 56.25rem) {
  .gallery-hero {
    min-height: 40rem;
  }

  .gallery-hero__image {
    object-position: 66% center;
  }

  .gallery-hero__content {
    width: min(100%, 38.75rem);
  }

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

  .gallery-rhythm:nth-child(2) {
    padding-inline-end: 0;
    border-inline-end: 0;
  }

  .gallery-rhythm:nth-child(3) {
    grid-column: 1 / -1;
    padding-top: var(--space-5);
    padding-inline-end: 0;
    border-top: 1px solid var(--border-subtle);
    border-inline-end: 0;
  }

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

  .gallery-highlight__meta {
    padding-inline-end: 0;
  }

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

  .gallery-culinary__image,
  .gallery-culinary__image img {
    min-height: 27rem;
  }

  .gallery-culinary__content {
    width: min(100%, 31.25rem);
  }

  .gallery-lounge__panel {
    min-height: auto;
    border-radius: var(--radius-md);
  }

  .gallery-lounge__image {
    min-height: 27rem;
    border: 1px solid var(--border-brass);
    border-radius: var(--radius-md);
  }

  .gallery-lounge__image img {
    min-height: 27rem;
  }

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

  .gallery-plan__route--lounge {
    grid-column: 1 / -1;
  }
}

@media (max-width: 51.25rem) {
  .gallery-wine__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .gallery-wine__block,
  .gallery-wine__block--second {
    width: min(100%, 32.5rem);
    justify-self: start;
  }

  .gallery-wine__block--second {
    padding-top: var(--space-6);
    padding-inline-start: 0;
    border-top: 1px solid var(--border-brass);
    border-inline-start: 0;
  }
}

@media (max-width: 45rem) {
  .gallery-hero {
    min-height: 38.75rem;
  }

  .gallery-hero__image {
    object-position: 58% 70%;
  }

  .gallery-hero__veil {
    background: linear-gradient(180deg, rgba(16, 17, 16, 0.64) 0%, rgba(16, 17, 16, 0.72) 40%, rgba(16, 17, 16, 0.88) 100%);
  }

  .gallery-hero__content {
    width: 100%;
    gap: var(--space-4);
    padding: var(--space-5);
  }

  .gallery-hero__content h1 {
    font-size: clamp(3rem, 13vw, 4.75rem);
  }

  .gallery-hero__lead {
    font-size: 1.0625rem;
  }

  .gallery-hero__actions {
    flex-direction: column;
    flex-wrap: nowrap;
  }

  .gallery-hero__actions > * {
    width: 100%;
  }

  .gallery-rhythms__grid,
  .gallery-types__grid,
  .gallery-plan__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .gallery-rhythm,
  .gallery-rhythm:nth-child(2),
  .gallery-rhythm:nth-child(3) {
    grid-column: auto;
    padding: var(--space-5) 0;
    border-top: 1px solid var(--border-subtle);
    border-inline-end: 0;
  }

  .gallery-rhythm:first-child {
    padding-top: 0;
    border-top: 0;
  }

  .gallery-type,
  .gallery-type--lounge,
  .gallery-plan__route--lounge {
    grid-column: auto;
    min-height: auto;
  }

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

  .gallery-highlight--lounge {
    padding: var(--space-5);
  }

  .gallery-culinary__image,
  .gallery-culinary__image img,
  .gallery-lounge__image,
  .gallery-lounge__image img {
    min-height: 16.25rem;
  }

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

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

  .gallery-location__actions {
    flex-direction: column;
    flex-wrap: nowrap;
  }

  .gallery-location__actions > * {
    width: 100%;
  }

  .gallery-cta__panel {
    padding: var(--space-7) var(--space-5);
  }

  .gallery-cta__content {
    align-items: stretch;
  }

  .gallery-cta__content .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gallery-plan__route:hover {
    transform: none;
  }
}

.booking-page {
  overflow: clip;
}

.booking-page ul {
  list-style: none !important;
}

.booking-hero {
  position: relative;
  min-width: 0;
  padding-block: clamp(var(--space-8), 8vw, var(--space-10));
  background: radial-gradient(circle at 26% 40%, var(--color-glow-brass), transparent 34%), var(--surface-page);
}

.booking-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, 47fr) minmax(0, 53fr);
  align-items: stretch;
  min-width: 0;
}

.booking-hero__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-5);
  padding: clamp(var(--space-6), 5vw, var(--space-9));
  border: 1px solid var(--border-brass);
  border-inline-end: 0;
  border-radius: var(--radius-lg) 0 0 var(--radius-lg);
  background: rgba(23, 25, 24, 0.9);
  box-shadow: var(--shadow-glow);
}

.booking-hero__copy .eyebrow,
.booking-hero__copy h1,
.booking-hero__copy p,
.booking-hero__copy .action-group {
  margin: 0;
}

.booking-hero__copy h1 {
  max-width: 38.75rem;
  font-size: var(--text-display);
}

.booking-hero__lead {
  max-width: 32.5rem;
  font-size: var(--text-lead);
}

.booking-hero__prompt {
  max-width: 32.5rem;
  color: var(--text-muted);
}

.booking-hero__actions {
  align-items: flex-start;
}

.booking-hero__actions > * {
  flex: 0 1 auto;
}

.booking-hero__image {
  width: 100%;
  min-width: 0;
  height: 100%;
  margin: 0;
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
}

.booking-hero__image img {
  width: 100%;
  height: 100%;
  min-height: 38rem;
  object-fit: cover;
  object-position: 68% center;
}

.booking-occasions__intro {
  max-width: 42.5rem;
  margin-block-end: var(--space-7);
}

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

.booking-occasion-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.booking-occasion-card > * {
  min-width: 0;
  margin: 0;
}

.booking-occasion-card__mark,
.booking-guidance-card__corner {
  color: var(--color-brass-300);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.14em;
}

.booking-occasion-card__mark--paprika,
.booking-guidance-card__corner--paprika {
  color: var(--color-paprika-400);
}

.booking-occasion-card__mark--felt,
.booking-guidance-card__corner--felt {
  color: var(--color-felt-500);
}

.booking-occasion-card--lounge {
  border-color: rgba(61, 121, 100, 0.9);
  background: var(--surface-lounge);
}

.booking-occasion-card__links,
.booking-experience-unit__links {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
  margin-top: auto;
}

.booking-text-link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  color: var(--color-brass-300);
  font-size: var(--text-meta);
  font-weight: 700;
  text-decoration: none;
}

.booking-text-link:hover,
.booking-text-link:focus-visible {
  color: var(--color-white-100);
}

.booking-form-section {
  background: radial-gradient(circle at 50% 42%, var(--color-glow-paprika), transparent 42%);
}

.booking-form-panel {
  width: min(100%, 61.25rem);
  margin-inline: auto;
  border-color: var(--border-brass);
}

.booking-form-panel__intro {
  max-width: 40.625rem;
  margin-block-end: var(--space-7);
}

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

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

.booking-field {
  min-width: 0;
}

.booking-field label {
  width: 100%;
}

.booking-field__error {
  min-height: 1.4rem;
  margin: var(--space-2) 0 0;
  color: #f0a59b;
  font-size: var(--text-meta);
  line-height: var(--line-compact);
}

.booking-field input[aria-invalid="true"],
.booking-field select[aria-invalid="true"] {
  border-color: var(--color-paprika-400);
}

.booking-form__details {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
  min-width: 0;
  padding-top: var(--space-6);
  border-top: 1px solid var(--border-subtle);
}

.booking-form__helper {
  max-width: 40.625rem;
  margin: var(--space-3) 0 0;
  color: var(--text-muted);
  font-size: var(--text-meta);
}

.booking-form__submit-area {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding-top: var(--space-6);
  border-top: 1px solid var(--border-subtle);
}

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

.booking-form__status {
  min-height: 1.65rem;
  color: var(--color-brass-300);
  font-weight: 700;
}

.booking-form__privacy {
  color: var(--text-muted);
  font-size: var(--text-meta);
}

.booking-process__intro {
  max-width: 40.625rem;
  margin-block-end: var(--space-7);
}

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

.booking-process-step {
  position: relative;
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--border-brass);
}

.booking-process-step > :last-child {
  margin-block-end: 0;
}

.booking-process-step__number {
  display: block;
  margin-block-end: var(--space-4);
  color: var(--color-brass-300);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.14em;
}

.booking-process-step--lounge {
  border-color: var(--color-felt-500);
}

.booking-process-step--lounge .booking-process-step__number {
  color: var(--color-felt-500);
}

.booking-experiences__layout {
  display: grid;
  grid-template-columns: minmax(0, 56fr) minmax(0, 44fr);
  gap: var(--space-8);
  align-items: start;
  min-width: 0;
}

.booking-experiences__image {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.booking-experiences__image img {
  width: 100%;
  height: auto;
  min-height: 39rem;
  object-fit: cover;
}

.booking-experiences__image figcaption {
  max-width: 18.75rem;
}

.booking-experiences__copy {
  width: 100%;
  max-width: 31.25rem;
  min-width: 0;
  justify-self: end;
}

.booking-experience-unit {
  margin-top: var(--space-6);
  padding-top: var(--space-6);
  border-top: 1px solid var(--border-brass);
}

.booking-experience-unit > :last-child {
  margin-block-end: 0;
}

.booking-experience-unit--lounge {
  padding: var(--space-5);
  border: 1px solid rgba(61, 121, 100, 0.9);
  border-radius: var(--radius-md);
  background: var(--surface-lounge);
}

.booking-experience-unit--lounge .booking-experience-unit__links {
  margin-top: var(--space-4);
}

.booking-guidance__intro {
  max-width: 38.75rem;
  margin-block-end: var(--space-7);
}

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

.booking-guidance-card {
  min-width: 0;
}

.booking-guidance-card > :last-child {
  margin-block-end: 0;
}

.booking-guidance-card--lounge {
  border-color: rgba(61, 121, 100, 0.9);
  background: var(--surface-lounge);
}

.booking-guidance__action {
  display: flex;
  min-width: 0;
  justify-content: flex-start;
  margin-top: var(--space-6);
}

.booking-guidance__action > * {
  min-width: 0;
}

.booking-venue {
  padding-block: var(--space-8);
  background: radial-gradient(circle at 30% 50%, var(--color-glow-brass), transparent 36%);
}

.booking-venue__card {
  width: min(100%, 47.5rem);
  min-width: 0;
}

.booking-venue__description {
  max-width: 35rem;
}

.booking-venue__address {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  margin-block: var(--space-6);
  padding: var(--space-5);
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-md);
  color: var(--text-secondary);
  text-decoration: none;
}

.booking-venue__address:hover {
  border-color: var(--color-brass-300);
  color: var(--color-white-100);
}

.booking-venue__address-label {
  color: var(--color-white-100);
  font-family: var(--font-heading);
  font-size: 1.65rem;
  font-weight: 600;
  line-height: 1.1;
}

.booking-venue__address small {
  color: var(--color-brass-300);
}

.booking-venue__contact {
  padding-top: var(--space-5);
  border-top: 1px solid var(--border-subtle);
}

.booking-venue__contact-links {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.booking-venue__contact-links > * {
  min-width: 0;
}

.booking-venue__contact-links a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-brass-300);
  font-size: var(--text-meta);
  font-weight: 700;
}

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

.booking-atmosphere__image {
  min-width: 0;
  min-height: 34rem;
  overflow: hidden;
}

.booking-atmosphere__image > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.booking-atmosphere__content-wrap {
  display: flex;
  min-height: 34rem;
  align-items: flex-end;
  padding-block: var(--space-8);
}

.booking-atmosphere__panel {
  display: flex;
  width: min(100%, 32.5rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-md);
  background: rgba(23, 25, 24, 0.94);
  box-shadow: var(--shadow-panel);
}

.booking-atmosphere__panel > * {
  min-width: 0;
  margin: 0;
}

.booking-final__panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: var(--space-6);
  text-align: center;
}

.booking-final__copy {
  width: min(100%, 35rem);
  min-width: 0;
  margin-inline: auto;
}

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

.booking-final__actions {
  justify-content: center;
}

.booking-final__actions > * {
  flex: 0 1 auto;
}

@media (max-width: 61.25rem) {
  .booking-hero__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .booking-hero__copy {
    border-inline-end: 1px solid var(--border-brass);
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  }

  .booking-hero__image {
    height: 26.25rem;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  }

  .booking-hero__image img {
    min-height: 0;
  }

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

@media (max-width: 56.25rem) {
  .booking-occasions__grid,
  .booking-process__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .booking-occasion-card:nth-child(3) {
    grid-column: 1 / -1;
  }

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

  .booking-experiences__copy {
    max-width: none;
    justify-self: stretch;
  }

  .booking-experiences__image img {
    min-height: 25rem;
    max-height: 38rem;
  }

  .booking-atmosphere__image,
  .booking-atmosphere__content-wrap {
    min-height: 30rem;
  }
}

@media (max-width: 53.75rem) {
  .booking-form__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 47.5rem) {
  .booking-venue__card {
    width: 100%;
  }
}

@media (max-width: 45rem) {
  .booking-hero {
    padding-block: var(--space-7);
  }

  .booking-hero__copy {
    gap: var(--space-4);
    padding: var(--space-5);
  }

  .booking-hero__copy h1 {
    font-size: clamp(3rem, 13vw, 4.75rem);
    line-height: 0.98;
  }

  .booking-hero__image {
    height: 20.5rem;
  }

  .booking-hero__image img {
    object-position: 62% center;
  }

  .booking-hero__actions {
    align-items: stretch;
  }

  .booking-occasions__grid,
  .booking-process__grid,
  .booking-guidance__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .booking-occasion-card:nth-child(3) {
    grid-column: auto;
  }

  .booking-process__grid {
    gap: var(--space-5);
    padding-inline-start: var(--space-5);
    border-inline-start: 1px solid var(--border-brass);
  }

  .booking-process-step {
    padding-top: 0;
    border-top: 0;
  }

  .booking-process-step--lounge {
    border-color: transparent;
  }

  .booking-process-step__number {
    margin-block-end: var(--space-2);
  }

  .booking-experiences__image img {
    min-height: 15rem;
  }

  .booking-venue__contact-links {
    flex-direction: column;
    align-items: stretch;
  }

  .booking-venue__contact-links a {
    width: 100%;
    padding-inline: var(--space-3);
    border-bottom: 1px solid var(--border-subtle);
  }

  .booking-atmosphere__image {
    display: block;
    min-height: 0;
    overflow: visible;
  }

  .booking-atmosphere__image > img {
    position: relative;
    width: 100%;
    height: 18.75rem;
    object-position: center;
  }

  .booking-atmosphere__image::after {
    display: none;
  }

  .booking-atmosphere__content-wrap {
    display: block;
    min-height: 0;
    padding-block: 0;
  }

  .booking-atmosphere__panel {
    width: calc(100% - (var(--container-gutter) * 2));
    margin: calc(var(--space-5) * -1) auto 0;
    padding: var(--space-5);
  }

  .booking-final__actions {
    width: 100%;
    align-items: stretch;
  }
}

@media (max-width: 42.5rem) {
  .booking-final__actions > * {
    width: 100%;
  }
}

@media (max-width: 38.75rem) {
  .booking-occasions__intro,
  .booking-process__intro,
  .booking-guidance__intro {
    margin-block-end: var(--space-6);
  }

  .booking-atmosphere__panel h2,
  .booking-final__copy h2 {
    font-size: clamp(2.125rem, 10vw, 2.5rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .booking-page *,
  .booking-page *::before,
  .booking-page *::after {
    transform: none !important;
    animation: none !important;
  }
}

ul { list-style: none !important; }
.nav-toggle { flex-direction: column; }

.features-page {
  overflow: clip;
  background:
    radial-gradient(circle at 82% 6%, var(--color-glow-brass), transparent 28rem),
    var(--surface-page);
}

.features-page .section {
  position: relative;
}

.features-hero {
  padding-block: clamp(var(--space-8), 9vw, var(--space-11));
}

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

.features-hero__grid > * { min-width: 0; width: 100%; }

.features-hero__copy {
  position: relative;
  z-index: 2;
  width: min(100%, 35.625rem);
  margin-inline-end: calc(var(--space-7) * -1);
  background: linear-gradient(135deg, rgba(34, 40, 39, 0.98), rgba(23, 25, 24, 0.96));
}

.features-hero__copy > :last-child,
.features-principles__intro > :last-child,
.features-ritual__heading > :last-child,
.features-sequence__intro > :last-child,
.features-evening__heading > :last-child,
.features-space__heading > :last-child,
.features-audience__intro > :last-child,
.features-events__copy > :last-child,
.features-arrival__copy > :last-child,
.features-reservation__panel > :last-child { margin-block-end: 0; }

.features-hero__copy h1 {
  max-width: 10.5ch;
  font-size: var(--text-display);
}

.features-hero__copy .lead { max-width: 34rem; }
.features-hero__actions { margin-block: var(--space-2) var(--space-1); }
.features-hero__note { max-width: 30rem; }

.features-hero__media {
  min-height: 36.875rem;
  margin: 0;
}

.features-hero__media img {
  width: 100%;
  height: 100%;
  min-height: 36.875rem;
  object-fit: cover;
  object-position: 62% center;
}

.features-principles__intro { width: min(100%, 43.125rem); }

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

.features-principles__grid > * { min-width: 0; width: 100%; }

.features-principle-card {
  display: flex;
  min-height: 23rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.features-principle-card h3,
.features-principle-card p { margin: 0; }
.features-principle-card p {}
.features-principle-card__rule { width: 3rem; height: 1px; background: var(--color-brass-500); }
.features-principle-card__star { color: var(--color-brass-300); font-size: 1.25rem; line-height: 1; }
.features-principle-card--felt::after { width: 100%; height: 2px; margin-block-start: auto; background: var(--color-felt-500); content: ""; }

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

.features-ritual__layout > * { min-width: 0; width: 100%; }
.features-ritual__media { margin: 0; min-height: 38.75rem; }
.features-ritual__media img { width: 100%; height: 100%; min-height: 38.75rem; object-fit: cover; object-position: center; }

.features-ritual__content {
  display: flex;
  width: min(100%, 29.375rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  margin-inline-start: auto;
}

.features-ritual__heading { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.features-ritual__heading h2, .features-ritual__heading p { margin: 0; }
.features-ritual__heading .lead { max-width: 29rem; }

.features-ritual__block {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border-inline-start: 1px solid var(--border-brass);
  background: rgba(34, 40, 39, 0.58);
}

.features-ritual__block h3, .features-ritual__block p { margin: 0; }
.features-ritual__block p {}
.features-ritual__block--felt { border: 1px solid rgba(196, 154, 82, 0.72); border-radius: var(--radius-md); background: var(--surface-lounge); }
.features-ritual__block--raised { border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-raised); }
.features-ritual__block--raised .status { align-self: flex-start; }

.features-sequence__intro { width: min(100%, 45rem); }
.features-sequence__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  margin-block-start: var(--space-7);
}
.features-sequence__grid > * { min-width: 0; width: 100%; }
.features-sequence-card { display: flex; min-height: 22rem; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.features-sequence-card h3, .features-sequence-card p { margin: 0; }
.features-sequence-card p {}
.features-sequence-card__number { color: var(--color-brass-300); font-size: var(--text-meta); font-weight: 800; letter-spacing: 0.1em; }
.features-sequence-card__number--paprika { color: var(--color-paprika-400); }
.features-sequence-card--lounge { box-shadow: inset 0 -3px 0 var(--color-felt-500), var(--shadow-panel), var(--shadow-glow); }
.features-text-link { display: inline-flex; min-height: 2.75rem; align-items: center; gap: var(--space-2); margin-block-start: auto; color: var(--color-brass-300); font-size: var(--text-label); font-weight: 800; letter-spacing: 0.08em; text-decoration: none; text-transform: uppercase; }
.features-text-link span { transition: transform var(--transition-base); }
.features-text-link:hover span, .features-text-link:focus-visible span { transform: translateX(0.25rem); }

.features-evening__frame { display: flex; min-width: 0; flex-direction: column; gap: var(--space-7); }
.features-evening__heading { width: min(100%, 40.625rem); }
.features-evening__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
.features-evening__grid > * { min-width: 0; width: 100%; }
.features-evening-stage { position: relative; display: flex; min-height: 16rem; flex-direction: column; gap: var(--space-3); padding-block-start: var(--space-5); border-top: 1px solid var(--border-subtle); }
.features-evening-stage h3, .features-evening-stage p { margin: 0; }
.features-evening-stage p {}
.features-evening-stage__number { color: var(--color-brass-300); font-size: var(--text-label); font-weight: 800; letter-spacing: 0.12em; }
.features-evening-stage--felt { padding-inline: var(--space-4); border: 1px solid rgba(61, 121, 100, 0.8); border-radius: var(--radius-md); background: rgba(36, 74, 64, 0.52); }
.features-evening__actions { justify-content: flex-end; }

.features-space__heading { width: min(100%, 42rem); margin-block-end: var(--space-7); }
.features-space__composition { position: relative; min-height: 35rem; }
.features-space__media { width: 100%; min-height: 35rem; margin: 0; }
.features-space__media img { width: 100%; height: 100%; min-height: 35rem; object-fit: cover; object-position: center; }
.features-space__primary { position: absolute; inset-block-end: var(--space-7); inset-inline-start: var(--space-7); width: min(41.667%, 31.25rem); }
.features-space__primary h3, .features-space__primary p { margin: 0; }
.features-space__primary { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.features-space__primary p {}
.features-space__details { position: absolute; inset-inline-end: var(--space-6); inset-block-end: var(--space-6); display: flex; width: min(25%, 18rem); min-width: 0; flex-direction: column; gap: var(--space-3); }
.features-space__details > * { min-width: 0; width: 100%; }
.features-space-detail { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); }
.features-space-detail h3, .features-space-detail p { margin: 0; }
.features-space-detail p {}
.features-space-detail--felt { border-color: rgba(61, 121, 100, 0.9); background: var(--surface-lounge); }
.features-space-detail .status { align-self: flex-start; }

.features-audience__intro { width: min(100%, 43.75rem); }
.features-audience__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-block-start: var(--space-7); }
.features-audience__grid > * { min-width: 0; width: 100%; }
.features-audience-card { display: flex; min-height: 21rem; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.features-audience-card h3, .features-audience-card p { margin: 0; }
.features-audience-card p {}
.features-audience-card--felt { border-top: 3px solid var(--color-felt-500); }
.features-audience-card .button { margin-block-start: auto; }

.features-arrival > .container > h2 { width: min(100%, 42rem); }
.features-arrival__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-7); align-items: center; margin-block-start: var(--space-7); }
.features-arrival__grid > * { min-width: 0; width: 100%; }
.features-arrival__address { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
.features-arrival__address > * { margin: 0; }
.features-arrival__label { color: var(--color-brass-300); font-size: var(--text-label); font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.features-arrival__address address { color: var(--color-ivory-100); font-size: 1.125rem; font-style: normal; line-height: 1.55; }
.features-arrival__copy { display: flex; width: min(100%, 24.375rem); min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.features-arrival__copy h3, .features-arrival__copy p { margin: 0; }
.features-arrival__copy p {}
.features-arrival__rule { width: 3rem; height: 1px; margin-block-end: var(--space-2); background: var(--color-brass-500); }

.features-events__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: var(--space-8); }
.features-events__grid > * { min-width: 0; width: 100%; }
.features-events__copy { display: flex; width: min(100%, 31.25rem); min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.features-events__copy h2, .features-events__copy h3, .features-events__copy p { margin: 0; }
.features-events__copy p {}
.features-events__media { margin: 0; }
.features-events__media img { width: 100%; height: 100%; min-height: 28rem; object-fit: cover; object-position: 60% center; }
.features-events__media figcaption { position: absolute; inset-inline-start: var(--space-4); inset-block-end: var(--space-4); z-index: 3; width: min(100% - var(--space-8), 14.375rem); margin: 0; padding: var(--space-3); background: rgba(16, 17, 16, 0.72); color: var(--color-ivory-100); }

.features-reservation { padding-block-start: var(--space-9); }
.features-reservation__panel { display: flex; width: min(100%, 52.5rem); min-width: 0; flex-direction: column; align-items: center; gap: var(--space-4); margin-inline: auto; border-radius: var(--radius-lg); background: radial-gradient(circle at 50% 0%, var(--color-glow-paprika), transparent 20rem), var(--surface-card); text-align: center; }
.features-reservation__panel h2, .features-reservation__panel p { margin: 0; }
.features-reservation__panel .lead { width: min(100%, 38.75rem); }
.features-reservation__actions { justify-content: center; }
.features-reservation__address { width: 100%; padding-block-start: var(--space-4); border-top: 1px solid var(--border-brass); }

@media (max-width: 63.75rem) {
  .features-evening__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .features-evening-stage { min-height: 13rem; }
}

@media (max-width: 61.25rem) {
  .features-hero__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
  .features-hero__copy { margin-inline-end: 0; }
  .features-hero__media, .features-hero__media img { min-height: 31rem; }
}

@media (max-width: 58.75rem) {
  .features-ritual__layout, .features-events__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .features-ritual__media, .features-ritual__media img { min-height: 28rem; }
  .features-ritual__content, .features-events__copy { width: 100%; margin-inline-start: 0; }
  .features-events__copy { max-width: 31.25rem; }
  .features-space__composition { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); min-height: 0; }
  .features-space__media { grid-column: 1 / -1; min-height: 28rem; }
  .features-space__media img { min-height: 28rem; }
  .features-space__primary, .features-space__details { position: static; width: 100%; }
  .features-space__details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
  .features-arrival__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
}

@media (max-width: 55rem) {
  .features-principles__grid, .features-sequence__grid, .features-audience__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .features-principles__grid > :last-child, .features-sequence__grid > :last-child, .features-audience__grid > :last-child { grid-column: 1 / -1; }
}

@media (max-width: 56.25rem) {
  .features-hero__grid { grid-template-columns: minmax(0, 1fr); }
  .features-hero__copy { width: 100%; }
  .features-hero__media, .features-hero__media img { min-height: 26rem; }
}

@media (max-width: 45rem) {
  .features-hero { padding-block: var(--space-8); }
  .features-hero__copy h1 { max-width: 11ch; }
  .features-hero__media, .features-hero__media img { min-height: 16.25rem; aspect-ratio: 4 / 5; }
  .features-hero__media img { object-position: 58% center; }
  .features-principles__grid, .features-sequence__grid, .features-evening__grid, .features-audience__grid, .features-space__composition, .features-space__details { grid-template-columns: minmax(0, 1fr); }
  .features-principles__grid > :last-child, .features-sequence__grid > :last-child, .features-audience__grid > :last-child { grid-column: auto; }
  .features-principles__grid, .features-sequence__grid, .features-audience__grid { gap: var(--space-4); margin-block-start: var(--space-6); }
  .features-principle-card, .features-sequence-card, .features-audience-card { min-height: 0; }
  .features-ritual__layout { gap: var(--space-5); }
  .features-ritual__media, .features-ritual__media img { min-height: 16.25rem; aspect-ratio: 4 / 5; }
  .features-ritual__content { gap: var(--space-4); }
  .features-ritual__block { padding: var(--space-5); }
  .features-evening__frame { gap: var(--space-5); }
  .features-evening-stage { min-height: 0; padding-inline-start: 3rem; }
  .features-evening-stage__number { position: absolute; inset-inline-start: 0; inset-block-start: var(--space-5); }
  .features-space__heading { margin-block-end: var(--space-5); }
  .features-space__media, .features-space__media img { min-height: 17.5rem; aspect-ratio: 4 / 5; }
  .features-space__primary { padding: var(--space-5); }
  .features-events__grid { gap: var(--space-5); }
  .features-events__media img { min-height: 16.25rem; aspect-ratio: 4 / 5; }
  .features-events__media figcaption { position: static; width: 100%; margin-block-start: var(--space-3); padding: 0; background: transparent; color: var(--text-muted); }
  .features-reservation__panel { padding: var(--space-5); }
  .features-reservation__actions { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .features-page *, .features-page *::before, .features-page *::after { transition-duration: 0.01ms !important; }
}

.borok-page {
  overflow: hidden;
  background: var(--surface-page);
}

.borok-page ul {
  list-style: none !important;
}

.borok-page .nav-toggle {
  flex-direction: column;
}

.borok-page .section {
  position: relative;
}

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

.borok-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: clamp(var(--space-6), 5vw, var(--space-9));
  min-height: 41.25rem;
}

.borok-hero__copy {
  display: flex;
  min-width: 0;
  max-width: 31.25rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

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

.borok-hero__copy h1 {
  max-width: 11ch;
  font-size: var(--text-display);
}

.borok-hero__copy .lead {
  max-width: 58ch;
}

.borok-hero__actions {
  width: 100%;
  margin-block-start: var(--space-2);
}

.borok-hero__note {
  max-width: 42ch;
}

.borok-hero__media {
  width: 100%;
  min-width: 0;
  min-height: 41.25rem;
  margin: 0;
  align-self: stretch;
}

.borok-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 68% center;
}

.borok-philosophy {
  background: linear-gradient(180deg, transparent 0%, rgba(23, 25, 24, 0.56) 100%);
}

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

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

.borok-philosophy__grid > * {
  min-width: 0;
}

.borok-philosophy__card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  border-top-color: var(--color-brass-300);
}

.borok-philosophy__card > * {
  min-width: 0;
  margin: 0;
}

.borok-philosophy__card p {}

.borok-philosophy__emphasis {
  color: var(--color-white-100) !important;
  font-weight: 700;
}

.borok-philosophy__card .status {
  margin-block-start: auto;
}

.borok-moments__intro {
  width: min(100%, 42.5rem);
  min-width: 0;
  margin-block-end: var(--space-8);
}

.borok-moments__list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: clamp(var(--space-8), 9vw, var(--space-10));
}

.borok-moment {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
  align-items: center;
  gap: min(8.333%, var(--space-8));
}

.borok-moment > * {
  min-width: 0;
}

.borok-moment--reverse .borok-moment__media {
  grid-column: 2;
  grid-row: 1;
}

.borok-moment--reverse .borok-moment__copy {
  grid-column: 1;
  grid-row: 1;
}

.borok-moment__media {
  width: 100%;
  min-width: 0;
  min-height: 25rem;
  margin: 0;
}

.borok-moment__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.borok-moment:first-child .borok-moment__media img,
.borok-moment--late .borok-moment__media img {
  object-position: center;
}

.borok-moment--reverse .borok-moment__media img {
  object-position: right center;
}

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

.borok-moment__copy > * {
  min-width: 0;
  margin: 0;
}

.borok-moment__copy p:not(.borok-moment__aside) {
  max-width: 66ch;
}

.borok-moment__aside {
  width: 100%;
  padding-block-start: var(--space-4);
  border-top: 1px solid var(--border-brass);
  color: var(--color-brass-300) !important;
  font-size: var(--text-meta);
}

.borok-moment--late .borok-moment__copy {
  padding: var(--space-6);
  border: 1px solid rgba(61, 121, 100, 0.8);
  border-radius: var(--radius-md);
  background: rgba(36, 74, 64, 0.42);
}

.borok-characters {
  background: var(--surface-elevated);
}

.borok-characters__intro {
  width: min(100%, 45rem);
  min-width: 0;
  margin-block-end: var(--space-7);
}

.borok-characters__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
}

.borok-characters__grid > * {
  min-width: 0;
}

.borok-character {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.borok-character > * {
  min-width: 0;
  margin: 0;
}

.borok-character p {}

.borok-character__mark {
  color: var(--color-brass-300);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.borok-character__mark--paprika::before {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  margin-inline-end: var(--space-2);
  border-radius: 50%;
  background: var(--color-paprika-600);
  content: "";
}

.borok-character--glow {
  background: radial-gradient(circle at 50% 0%, var(--color-glow-brass), transparent 60%), var(--surface-card);
}

.borok-character--closing {
  background: var(--surface-raised);
}

.borok-character__link,
.borok-evening__link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  margin-block-start: auto;
  color: var(--color-brass-300);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.borok-pairing__intro {
  width: min(100%, 40rem);
  min-width: 0;
  margin-block-end: var(--space-7);
}

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

.borok-pairing__grid > * {
  min-width: 0;
}

.borok-pairing__item {
  min-width: 0;
  padding-inline-end: var(--space-6);
  border-inline-end: 1px solid var(--border-subtle);
}

.borok-pairing__item:last-child {
  padding-inline-end: 0;
  border-inline-end: 0;
}

.borok-pairing__item p {}

.borok-pairing__action {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-block-start: var(--space-7);
}

.borok-pairing__action > * {
  min-width: 0;
  margin: 0;
}

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

.borok-lounge__panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: center;
  gap: var(--space-6);
  overflow: hidden;
  isolation: isolate;
}

.borok-lounge__panel::before {
  position: absolute;
  inset: auto -12% -45% auto;
  z-index: -1;
  width: 32rem;
  height: 32rem;
  border-radius: 50%;
  background: var(--color-glow-brass);
  content: "";
  filter: blur(20px);
  animation: borok-lounge-glow 12s ease-in-out infinite alternate;
}

.borok-lounge__panel > * {
  min-width: 0;
}

.borok-lounge__main {
  display: flex;
  min-width: 0;
  max-width: 34rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.borok-lounge__main > * {
  min-width: 0;
  margin: 0;
}

.borok-lounge__main p {}

.borok-lounge__media {
  position: absolute;
  inset: var(--space-6) 0 auto auto;
  z-index: -1;
  width: 23%;
  min-width: 10rem;
  height: 11rem;
  margin: 0;
  opacity: 0.5;
}

.borok-lounge__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.borok-lounge__card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-md);
  background: rgba(16, 17, 16, 0.42);
}

.borok-lounge__card > * {
  min-width: 0;
  margin: 0;
}

.borok-lounge__card p {}

.borok-evenings__intro {
  width: min(100%, 37.5rem);
  min-width: 0;
  margin-block-end: var(--space-7);
}

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

.borok-evenings__grid > * {
  min-width: 0;
}

.borok-evening {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  background: var(--surface-elevated);
}

.borok-evening > * {
  min-width: 0;
  margin: 0;
}

.borok-evening p {}

.borok-evening--glow {
  background: radial-gradient(circle at 80% 10%, var(--color-glow-brass), transparent 57%), var(--surface-card);
}

.borok-evening--lounge {
  border-color: rgba(61, 121, 100, 0.85);
  background: linear-gradient(180deg, rgba(36, 74, 64, 0.35), var(--surface-card) 56%);
}

.borok-guidance {
  background: linear-gradient(180deg, rgba(23, 25, 24, 0.76), transparent);
}

.borok-guidance__intro {
  width: min(100%, 38.75rem);
  min-width: 0;
  margin-block-end: var(--space-7);
}

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

.borok-guidance__steps > * {
  min-width: 0;
}

.borok-step {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-inline-end: var(--space-5);
  border-inline-end: 1px solid var(--border-subtle);
}

.borok-step:last-child {
  padding-inline-end: 0;
  border-inline-end: 0;
}

.borok-step__number {
  color: var(--color-brass-300);
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
}

.borok-step__content {
  min-width: 0;
}

.borok-step__content p {}

.borok-guidance__action {
  display: flex;
  min-width: 0;
  justify-content: flex-start;
  margin-block-start: var(--space-7);
}

.borok-guidance__action > * {
  min-width: 0;
}

.borok-booking__panel {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: center;
  gap: var(--space-6);
  background: radial-gradient(circle at 15% 40%, var(--color-glow-paprika), transparent 44%), var(--surface-card);
}

.borok-booking__panel > * {
  min-width: 0;
}

.borok-booking__main {
  display: flex;
  min-width: 0;
  max-width: 28.75rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.borok-booking__main > * {
  min-width: 0;
  margin: 0;
}

.borok-booking__main p {}

.borok-booking__links {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  padding: var(--space-6);
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-md);
  background: var(--surface-raised);
}

.borok-booking__links > * {
  min-width: 0;
  margin: 0;
}

.borok-booking__links p {}

.borok-booking__links a {
  display: flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding-block: var(--space-2);
  border-block-start: 1px solid var(--border-subtle);
  color: var(--text-secondary);
  font-size: var(--text-meta);
  font-weight: 700;
  text-decoration: none;
}

.borok-booking__links a span {
  color: var(--color-brass-300);
  font-size: 1.25rem;
}

.borok-closing {
  padding-block: clamp(var(--space-9), 10vw, var(--space-10));
}

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

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

.borok-closing__rule {
  width: 4rem;
  height: 1px;
  background: var(--border-brass);
}

.borok-closing__content h2 {
  max-width: 15ch;
  font-size: clamp(2.25rem, 4vw, 3.5rem);
}

.borok-closing__content p {}

@keyframes borok-lounge-glow {
  from { opacity: 0.45; transform: translate3d(0, 0, 0); }
  to { opacity: 0.85; transform: translate3d(-1.5rem, -1rem, 0); }
}

@media (max-width: 60rem) {
  .borok-moment {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .borok-moment--reverse .borok-moment__media,
  .borok-moment--reverse .borok-moment__copy {
    grid-column: 1;
    grid-row: auto;
  }

  .borok-moment__copy {
    max-width: none;
  }

  .borok-moment__copy p:not(.borok-moment__aside) {
    max-width: 66ch;
  }
}

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

  .borok-hero__copy {
    max-width: none;
  }

  .borok-hero__media {
    min-height: 22rem;
  }

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

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

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

  .borok-lounge__main {
    max-width: none;
  }

  .borok-lounge__media {
    position: static;
    z-index: auto;
    order: 2;
    width: 100%;
    min-width: 0;
    height: 13.75rem;
    opacity: 1;
  }

  .borok-lounge__card {
    order: 3;
  }

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

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

  .borok-booking__main {
    max-width: none;
  }
}

@media (max-width: 52.5rem) {
  .borok-pairing__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .borok-pairing__item,
  .borok-pairing__item:last-child {
    padding: 0 0 var(--space-5);
    border: 0;
    border-block-end: 1px solid var(--border-subtle);
  }

  .borok-pairing__item:last-child {
    padding-block-end: 0;
    border-block-end: 0;
  }
}

@media (max-width: 50rem) {
  .borok-guidance__steps {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .borok-step,
  .borok-step:last-child {
    padding: var(--space-5) 0;
    border: 0;
    border-block-end: 1px solid var(--border-subtle);
  }

  .borok-step:first-child {
    padding-block-start: 0;
  }

  .borok-step:last-child {
    padding-block-end: 0;
    border-block-end: 0;
  }
}

@media (max-width: 38.75rem) {
  .borok-hero__copy h1 {
    max-width: 10.5ch;
    font-size: clamp(3rem, 13vw, 4.75rem);
  }

  .borok-hero__media {
    min-height: 17.5rem;
  }

  .borok-philosophy__grid,
  .borok-characters__grid,
  .borok-evenings__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .borok-moments__list {
    gap: var(--space-8);
  }

  .borok-moment__media {
    min-height: 15rem;
  }

  .borok-moment--late .borok-moment__copy {
    padding: var(--space-5);
  }

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

  .borok-lounge__media {
    height: 13.75rem;
  }

  .borok-lounge__card,
  .borok-booking__links {
    padding: var(--space-5);
  }

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

@media (max-width: 45rem) {
  .borok-hero__actions,
  .borok-guidance__action {
    width: 100%;
  }

  .borok-hero__actions .button,
  .borok-guidance__action .button,
  .borok-booking__main .button,
  .borok-lounge__card .button,
  .borok-pairing__action .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .borok-lounge__panel::before {
    animation: none;
  }
}

.thank-you {
  position: relative;
  display: grid;
  min-height: clamp(34rem, calc(100vh - 12rem), 46rem);
  place-items: center;
  overflow: hidden;
  padding-block: clamp(var(--space-8), 10vw, var(--space-10));
  background:
    radial-gradient(circle at 50% 42%, var(--color-glow-brass), transparent 42%),
    radial-gradient(circle at 72% 74%, var(--color-glow-paprika), transparent 34%);
}

.thank-you::before,
.thank-you::after {
  position: absolute;
  width: min(42vw, 32rem);
  height: 1px;
  background: var(--border-brass);
  content: "";
  opacity: 0.7;
}

.thank-you::before {
  inset-block-start: 18%;
  inset-inline-start: 0;
}

.thank-you::after {
  inset-block-end: 18%;
  inset-inline-end: 0;
}

.thank-you__container {
  position: relative;
  z-index: 1;
}

.thank-you__panel {
  width: min(100%, 48rem);
  margin-inline: auto;
  text-align: center;
}

.thank-you__mark {
  display: grid;
  width: 3rem;
  height: 3rem;
  margin: 0 auto var(--space-4);
  place-items: center;
  border: 1px solid var(--border-brass);
  border-radius: 50%;
  color: var(--color-brass-300);
  font-size: 1.25rem;
  line-height: 1;
}

.thank-you__content {
  display: grid;
  gap: var(--space-4);
}

.thank-you__content h1,
.thank-you__content p {
  margin: 0;
}

.thank-you__content h1 {
  text-wrap: balance;
}

.thank-you__lead,
.thank-you__copy {
  width: min(100%, 40rem);
  margin-inline: auto;
}

.thank-you__copy {
  color: var(--text-muted);
}

.thank-you__actions {
  justify-content: center;
  margin-block-start: var(--space-6);
}

@media (max-width: 45rem) {
  .thank-you {
    min-height: 0;
    padding-block: var(--space-8);
  }

  .thank-you::before {
    inset-block-start: 10%;
  }

  .thank-you::after {
    inset-block-end: 10%;
  }

  .thank-you__actions {
    margin-block-start: var(--space-5);
  }
}
html, body {
  overflow-x: clip;
  max-width: 100%;
}

img, video, svg {
  max-width: 100%;
  height: auto;
}
