

:root {
  --color-black: #050505;
  --color-near-black: #101113;
  --color-graphite: #25272b;
  --color-cold-ash: #e6e7e4;
  --color-muted-ash: #a6a9aa;
  --color-signal-red: #e52b38;
  --color-signal-red-deep: #8f1823;
  --color-image-white: #f4f4f0;

  --font-heading: "Barlow Condensed", "Arial Narrow", sans-serif;
  --font-body: "IBM Plex Sans", Arial, sans-serif;

  --text-meta: 0.75rem;
  --text-utility: 0.875rem;
  --text-body: 1rem;
  --text-lead: 1.125rem;
  --text-label: 1.5rem;
  --text-heading-sm: 2rem;
  --text-hero: clamp(2.5rem, 7vw, 6.5rem);
  --text-display: clamp(3.5rem, 12vw, 12rem);

  --leading-tight: 0.92;
  --leading-heading: 1;
  --leading-body: 1.6;
  --leading-relaxed: 1.7;

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

  --container-max: 90rem;
  --container-reading: 45rem;
  --container-inline: min(100% - 2.5rem, var(--container-max));
  --container-inline-reading: min(100% - 2.5rem, var(--container-reading));

  --surface-base: var(--color-black);
  --surface-raised: var(--color-near-black);
  --surface-input: var(--color-near-black);
  --border-default: 1px solid var(--color-graphite);
  --border-emphasis: 1px solid var(--color-cold-ash);
  --border-signal: 1px solid var(--color-signal-red);

  --radius-none: 0;
  --radius-control: 2px;
  --radius-dialog: 6px;

  --shadow-floating: 0 8px 24px rgb(0 0 0 / 55%);

  --transition-fast: 120ms ease;
  --transition-base: 160ms ease;
  --transition-slow: 200ms ease;
  --focus-outline: 2px solid var(--color-signal-red);
  --focus-offset: 3px;
}

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

html {
  min-width: 0;
  scroll-behavior: smooth;
  scroll-padding-top: var(--space-8);
  background: var(--color-black);
  color-scheme: dark;
}

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

body,
button,
input,
select,
textarea {
  font-family: var(--font-body);
}

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

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

img,
video {
  height: auto;
}

img {
  color: var(--color-muted-ash);
}

svg {
  fill: currentColor;
}

iframe {
  border: 0;
}

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

a:hover {
  color: var(--color-cold-ash);
  text-decoration-color: currentColor;
}

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

button,
[type="button"],
[type="submit"],
[type="reset"] {
  min-height: 44px;
  margin: 0;
  border: 1px solid var(--color-graphite);
  border-radius: var(--radius-none);
  background: transparent;
  color: var(--color-cold-ash);
  cursor: pointer;
  font-size: var(--text-utility);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
  transition:
    background-color var(--transition-base),
    border-color var(--transition-base),
    color var(--transition-base),
    transform var(--transition-fast);
}

button:hover,
[type="button"]:hover,
[type="submit"]:hover,
[type="reset"]:hover {
  border-color: var(--color-cold-ash);
}

button:active,
[type="button"]:active,
[type="submit"]:active,
[type="reset"]:active {
  transform: translateY(1px);
}

button:disabled,
[type="button"]:disabled,
[type="submit"]:disabled,
[type="reset"]:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

input,
select,
textarea {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--color-graphite);
  border-radius: var(--radius-control);
  background: var(--surface-input);
  color: var(--color-cold-ash);
  line-height: 1.4;
  padding: var(--space-3) var(--space-4);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

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

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

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

input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--color-signal-red);
  inline-size: 1rem;
  min-height: 1rem;
  margin: 0;
}

input[type="file"] {
  padding: var(--space-2);
}

input[type="file"]::file-selector-button {
  min-height: 32px;
  margin-inline-end: var(--space-3);
  border: 1px solid var(--color-graphite);
  background: var(--color-black);
  color: var(--color-cold-ash);
  cursor: pointer;
  font: inherit;
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.06em;
  padding: var(--space-2) var(--space-3);
  text-transform: uppercase;
}

label {
  display: inline-block;
  margin-block-end: var(--space-2);
  color: var(--color-cold-ash);
  font-size: var(--text-utility);
  font-weight: 600;
  letter-spacing: 0.04em;
}

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

legend {
  padding-inline: var(--space-2);
  color: var(--color-cold-ash);
  font-size: var(--text-utility);
  font-weight: 600;
}

:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-offset);
}

::selection {
  background: var(--color-signal-red);
  color: var(--color-cold-ash);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 var(--space-4);
  color: var(--color-cold-ash);
  font-family: var(--font-heading);
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: var(--leading-heading);
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

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

h2 {
  font-size: clamp(2.25rem, 5vw, 4.5rem);
}

h3 {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
}

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

h5 {
  font-size: var(--text-label);
}

h6 {
  font-size: 1.125rem;
}

p {
  margin: 0 0 var(--space-4);
  color: var(--color-muted-ash);
  line-height: var(--leading-body);
  overflow-wrap: anywhere;
}

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

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

li {
  overflow-wrap: anywhere;
}

blockquote {
  margin: 0 0 var(--space-5);
  border-inline-start: 2px solid var(--color-signal-red);
  color: var(--color-cold-ash);
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.05;
  padding-inline-start: var(--space-4);
  text-transform: uppercase;
}

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

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

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

table {
  width: 100%;
  margin: 0 0 var(--space-5);
  border-collapse: collapse;
  border-spacing: 0;
  color: var(--color-cold-ash);
  font-size: var(--text-utility);
}

caption {
  margin-block-end: var(--space-2);
  color: var(--color-muted-ash);
  text-align: left;
}

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

th {
  color: var(--color-cold-ash);
  font-weight: 600;
}

code,
kbd,
samp,
pre {
  font-family: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
}

code,
kbd,
samp {
  border: 1px solid var(--color-graphite);
  background: var(--color-near-black);
  color: var(--color-cold-ash);
  font-size: 0.9em;
  padding: 0.08em 0.3em;
}

pre {
  max-width: 100%;
  margin: 0 0 var(--space-5);
  overflow: auto;
  border: var(--border-default);
  background: var(--color-near-black);
  color: var(--color-cold-ash);
  padding: var(--space-4);
}

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

strong,
b {
  color: var(--color-cold-ash);
  font-weight: 600;
}

em,
i {
  font-style: italic;
}

details {
  margin: 0 0 var(--space-3);
  border: var(--border-default);
  background: var(--color-near-black);
}

summary {
  cursor: pointer;
  color: var(--color-cold-ash);
  font-weight: 600;
  padding: var(--space-4);
}

details > :not(summary) {
  padding-inline: var(--space-4);
}

details > :last-child {
  margin-block-end: var(--space-4);
}

.container {
  width: var(--container-inline);
  margin-inline: auto;
}

.container--reading {
  width: var(--container-inline-reading);
  margin-inline: auto;
}

.container--wide {
  width: var(--container-inline);
  margin-inline: auto;
  max-width: var(--container-max);
}

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

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

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

.surface {
  border: var(--border-default);
  background: var(--surface-raised);
  padding: var(--space-6);
}

.surface--dark {
  background: var(--surface-base);
}

.surface--emphasis {
  border-color: var(--color-cold-ash);
}

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

.panel {
  border: var(--border-default);
  background: var(--surface-raised);
  padding: var(--space-6);
}

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

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

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

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0 0 var(--space-3);
  color: var(--color-muted-ash);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.eyebrow::before {
  width: 1.5rem;
  height: 1px;
  background: var(--color-signal-red);
  content: "";
  flex: 0 0 auto;
}

.display {
  margin: 0 0 var(--space-5);
  color: var(--color-cold-ash);
  font-family: var(--font-heading);
  font-size: var(--text-display);
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: var(--leading-tight);
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

.lead {
  color: var(--color-cold-ash);
  font-size: var(--text-lead);
  line-height: var(--leading-relaxed);
}

.meta {
  color: var(--color-muted-ash);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

.text-signal {
  color: var(--color-signal-red);
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border: 1px solid var(--color-graphite);
  border-radius: var(--radius-none);
  background: transparent;
  color: var(--color-cold-ash);
  font-size: var(--text-utility);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.1;
  overflow-wrap: anywhere;
  padding: var(--space-3) var(--space-4);
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition:
    background-color var(--transition-base),
    border-color var(--transition-base),
    color var(--transition-base),
    transform var(--transition-fast);
}

.button:hover {
  border-color: var(--color-cold-ash);
  color: var(--color-cold-ash);
}

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

.button--primary {
  border-color: var(--color-signal-red);
  background: var(--color-signal-red);
  color: var(--color-cold-ash);
}

.button--primary:hover {
  border-color: var(--color-signal-red-deep);
  background: var(--color-signal-red-deep);
}

.button--secondary {
  border-color: var(--color-cold-ash);
}

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

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

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

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

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

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

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

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

.media-frame {
  position: relative;
  overflow: hidden;
  background: var(--color-near-black);
  border: var(--border-default);
}

.media-frame > img,
.media-frame > picture,
.media-frame > video {
  width: 100%;
  height: 100%;
}

.media-frame > img,
.media-frame > picture > img,
.media-frame > video {
  object-fit: cover;
}

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

.media-frame--portrait {
  aspect-ratio: 4 / 5;
}

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

.media-frame--venue {
  aspect-ratio: 16 / 9;
}

.media-frame--mono > img,
.media-frame--mono > picture > img {
  filter: grayscale(1) contrast(1.15);
}

.media-frame--inverted > img,
.media-frame--inverted > picture > img {
  filter: grayscale(1) contrast(1.2) invert(1);
}

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

.skip-link {
  position: fixed;
  z-index: 1000;
  top: var(--space-3);
  left: var(--space-3);
  transform: translateY(-200%);
  border: 1px solid var(--color-signal-red);
  background: var(--color-near-black);
  color: var(--color-cold-ash);
  font-size: var(--text-utility);
  font-weight: 600;
  padding: var(--space-3) var(--space-4);
  text-decoration: none;
  transition: transform var(--transition-fast);
}

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

@media (max-width: 56.25rem) {
  .section {
    padding-block: clamp(3.5rem, 9vw, 4.5rem);
  }

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

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

@media (max-width: 39.9375rem) {
  :root {
    --container-inline: calc(100% - 2rem);
    --container-inline-reading: calc(100% - 2rem);
  }

  html {
    scroll-padding-top: var(--space-7);
  }

  h1 {
    font-size: clamp(2.75rem, 15vw, 5rem);
  }

  h2 {
    font-size: clamp(2rem, 11vw, 3.5rem);
  }

  .display {
    font-size: clamp(2.75rem, 15vw, 5rem);
  }

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

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

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

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

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

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-delay: 0ms !important;
    transition-duration: 1ms !important;
    animation-delay: 0ms !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
  }
}


.site-header {
  --site-header-height: 4.75rem;
  position: sticky;
  z-index: 900;
  top: 0;
  width: 100%;
  min-width: 0;
  padding: 0.75rem 0;
  pointer-events: none;
}

.site-header__shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  width: var(--container-inline);
  min-height: var(--site-header-height);
  margin-inline: auto;
  border: 1px solid var(--color-graphite);
  background: rgb(16 17 19 / 96%);
  box-shadow: var(--shadow-floating);
  pointer-events: auto;
}

.site-header__nav,
.site-header__utility,
.site-header__brand,
.site-header__mobile-menu {
  min-width: 0;
}

.site-header__list,
.site-header__mobile-list {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-header__list li,
.site-header__mobile-list li,
.site-header__list li + li,
.site-header__mobile-list li + li {
  margin: 0;
  padding: 0;
}

.site-header__nav--primary {
  grid-column: 1;
  justify-self: start;
  padding-inline-start: 1rem;
}

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

.site-header__link,
.site-header__access,
.site-header__mobile-link,
.site-header__mobile-action {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  color: var(--color-cold-ash);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-header__link {
  position: relative;
}

.site-header__link::after {
  position: absolute;
  right: 0;
  bottom: 0.38rem;
  left: 0;
  height: 1px;
  background: var(--color-signal-red);
  content: "";
  opacity: 0;
  transform: scaleX(0.3);
  transition: opacity var(--transition-fast), transform var(--transition-fast);
}

.site-header__link:hover::after,
.site-header__link:focus-visible::after,
.site-header__link[aria-current="page"]::after {
  opacity: 1;
  transform: scaleX(1);
}

.site-header__link[aria-current="page"] {
  color: var(--color-cold-ash);
  font-weight: 700;
}

.site-header__brand {
  grid-column: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  gap: 0.55rem;
  min-width: 0;
  color: var(--color-cold-ash);
  text-decoration: none;
}

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

.site-header__brand-name {
  overflow: hidden;
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-header__utility {
  grid-column: 3;
  display: flex;
  align-items: center;
  justify-self: end;
  gap: 0.8rem;
  padding-inline-end: 0.75rem;
}

.site-header__access {
  min-height: 2.5rem;
  border: 1px solid var(--color-signal-red);
  background: var(--color-signal-red);
  padding-inline: 0.75rem;
}

.site-header__access:hover,
.site-header__access:focus-visible {
  border-color: var(--color-signal-red-deep);
  background: var(--color-signal-red-deep);
  color: var(--color-cold-ash);
}

.site-header__toggle {
  display: none;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  min-height: 2.75rem;
  border-color: var(--color-graphite);
  padding: 0.55rem;
}

.site-header__toggle-line {
  display: block;
  width: 100%;
  height: 1px;
  margin: 0.22rem 0;
  background: var(--color-cold-ash);
  transform-origin: center;
  transition: transform var(--transition-base), opacity var(--transition-fast), background-color var(--transition-fast);
}

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

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

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

.site-header__mobile-menu {
  position: absolute;
  z-index: 1;
  top: calc(100% + 0.5rem);
  right: 0;
  left: 0;
  max-height: min(70vh, 34rem);
  overflow: auto;
  border: 1px solid var(--color-graphite);
  background: var(--color-near-black);
  box-shadow: var(--shadow-floating);
  padding: 1rem;
}

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

.site-header__mobile-list {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--color-graphite);
}

.site-header__mobile-link {
  display: flex;
  min-height: 3rem;
  border-bottom: 1px solid var(--color-graphite);
  padding-inline: 0.25rem;
}

.site-header__mobile-link:hover,
.site-header__mobile-link:focus-visible {
  color: var(--color-signal-red);
}

.site-header__mobile-action {
  justify-content: center;
  width: 100%;
  min-height: 2.75rem;
  margin-top: 1rem;
  border: 1px solid var(--color-signal-red);
  background: var(--color-signal-red);
  padding-inline: 0.75rem;
}

.site-header__mobile-action:hover,
.site-header__mobile-action:focus-visible {
  background: var(--color-signal-red-deep);
  color: var(--color-cold-ash);
}

@media (max-width: 72rem) {
  .site-header__nav--primary,
  .site-header__nav--secondary {
    display: none;
  }

  .site-header__shell {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }

  .site-header__utility {
    gap: 0.5rem;
  }

  .site-header__toggle {
    display: block;
  }
}

@media (max-width: 39.9375rem) {
  .site-header {
    --site-header-height: 3.75rem;
    padding: 0.5rem 0;
  }

  .site-header__shell {
    width: calc(100% - 2rem);
  }

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

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

  .site-header__utility {
    padding-inline-end: 0.5rem;
  }

  .site-header__access {
    display: none;
  }

  .site-header__mobile-menu {
    right: -1px;
    left: -1px;
  }
}

@media (max-width: 22rem) {
  .site-header__brand-name {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .site-header__link:hover,
  .site-header__link:focus-visible {
    text-shadow: 1px 0 var(--color-signal-red), -1px 0 rgb(230 231 228 / 45%);
  }
}


.site-footer {
  border-top: 1px solid var(--color-graphite);
  background: var(--color-near-black);
  padding: 3rem max(1rem, calc((100% - 90rem) / 2));
}

.site-footer__inner {
  display: grid;
  grid-template-columns: minmax(15rem, 1.5fr) repeat(3, minmax(9rem, 1fr));
  gap: 2rem;
}

.site-footer__brand-block,
.site-footer__group {
  min-width: 0;
}

.site-footer__brand {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
  color: var(--color-cold-ash);
  font-family: var(--font-heading);
  font-size: 1.75rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

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

.site-footer__intro,
.site-footer__address,
.site-footer__contact {
  display: block;
  margin: 0 0 0.75rem;
  color: var(--color-muted-ash);
  font-size: 0.875rem;
  font-style: normal;
  line-height: 1.6;
}

.site-footer__contact:hover,
.site-footer__contact:focus-visible {
  color: var(--color-cold-ash);
}

.site-footer__group h2 {
  margin: 0 0 1rem;
  color: var(--color-cold-ash);
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.site-footer__group h2::before {
  display: block;
  width: 1.5rem;
  height: 1px;
  margin-bottom: 0.5rem;
  background: var(--color-signal-red);
  content: "";
}

.site-footer__group ul {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

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

.site-footer__group a {
  color: var(--color-muted-ash);
  font-size: 0.875rem;
  line-height: 1.5;
  text-decoration: none;
}

.site-footer__group a:hover,
.site-footer__group a:focus-visible {
  color: var(--color-cold-ash);
  text-decoration: underline;
}

.site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.75rem 2rem;
  margin-top: 3rem;
  border-top: 1px solid var(--color-graphite);
  padding-top: 1rem;
}

.site-footer__bottom p {
  margin: 0;
  color: var(--color-muted-ash);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-transform: uppercase;
}

.site-consent {
  position: fixed;
  z-index: 950;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  border: 1px solid var(--color-graphite);
  background: var(--color-near-black);
  box-shadow: var(--shadow-floating);
}

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

.site-consent__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  width: min(100%, 72rem);
  margin-inline: auto;
  padding: 1rem;
}

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

.site-consent__eyebrow,
.site-age-modal__eyebrow {
  margin: 0 0 0.4rem;
  color: var(--color-signal-red);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.site-consent__copy p:not(.site-consent__eyebrow) {
  max-width: 48rem;
  margin: 0;
  color: var(--color-muted-ash);
  font-size: 0.875rem;
  line-height: 1.55;
}

.site-consent__actions,
.site-age-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.site-consent__button,
.site-age-modal__confirm,
.site-age-modal__decline {
  min-height: 2.75rem;
  padding-inline: 1rem;
}

.site-consent__button--accept,
.site-age-modal__confirm {
  border-color: var(--color-signal-red);
  background: var(--color-signal-red);
}

.site-consent__button--accept:hover,
.site-consent__button--accept:focus-visible,
.site-age-modal__confirm:hover,
.site-age-modal__confirm:focus-visible {
  border-color: var(--color-signal-red-deep);
  background: var(--color-signal-red-deep);
}

.site-age-modal {
  position: fixed;
  z-index: 1100;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: auto;
  background: rgb(5 5 5 / 98%);
  padding: 1rem;
}

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

.site-age-modal__dialog {
  width: min(100%, 34rem);
  border: 1px solid var(--color-cold-ash);
  background: var(--color-near-black);
  box-shadow: var(--shadow-floating);
  padding: clamp(1.5rem, 4vw, 2.5rem);
}

.site-age-modal__dialog::before {
  display: block;
  width: 3rem;
  height: 2px;
  margin-bottom: 1rem;
  background: var(--color-signal-red);
  content: "";
}

.site-age-modal__dialog h2 {
  margin: 0 0 1rem;
  font-size: clamp(2.25rem, 7vw, 3.5rem);
}

.site-age-modal__dialog > p:not(.site-age-modal__eyebrow):not(.site-age-modal__notice) {
  margin: 0 0 1.5rem;
  color: var(--color-muted-ash);
}

.site-age-modal__notice {
  margin: 1rem 0 0;
  color: var(--color-muted-ash);
  font-size: 0.75rem;
  line-height: 1.5;
}

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

  .site-footer__brand-block {
    grid-column: 1 / -1;
  }
}

@media (max-width: 39.9375rem) {
  .site-footer {
    padding: 2.5rem 1rem;
  }

  .site-footer__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }

  .site-footer__brand-block {
    grid-column: auto;
  }

  .site-footer__bottom {
    margin-top: 2rem;
  }

  .site-consent {
    right: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;
  }

  .site-consent__inner {
    align-items: stretch;
    flex-direction: column;
  }

  .site-consent__actions,
  .site-age-modal__actions {
    flex-direction: column;
  }

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


.contact-page {
  position: relative;
  overflow: clip;
}

.contact-page address {
  font-style: normal;
}

.contact-hero__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-4);
  position: relative;
}

.contact-hero__editorial {
  grid-column: 1 / span 8;
  min-width: 0;
  position: relative;
}

.contact-hero__editorial::before {
  position: absolute;
  top: 2.5rem;
  left: -0.75rem;
  width: 1px;
  height: 10rem;
  background: var(--color-graphite);
  content: "";
}

.contact-hero h1 {
  max-width: 12ch;
  font-size: clamp(4rem, 10vw, 8.5rem);
  line-height: 0.84;
}

.contact-hero__fracture {
  display: inline-block;
  position: relative;
  color: var(--color-signal-red);
  transform: translateX(0.04em);
}

.contact-hero__fracture::after {
  position: absolute;
  right: -0.08em;
  bottom: 0.08em;
  width: 0.9em;
  height: 1px;
  background: var(--color-cold-ash);
  content: "";
}

.contact-hero__lead {
  max-width: 56ch;
}

.contact-hero__routes {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
  max-width: 44rem;
  min-width: 0;
}

.contact-route {
  display: grid;
  grid-template-columns: minmax(8rem, 0.7fr) minmax(0, 1.3fr) auto;
  align-items: center;
  min-height: 44px;
  gap: var(--space-3);
  border-bottom: var(--border-default);
  color: var(--color-cold-ash);
  padding: var(--space-3) 0;
  text-decoration: none;
}

.contact-route__label,
.contact-route__value {
  min-width: 0;
  overflow-wrap: anywhere;
}

.contact-route__label {
  color: var(--color-muted-ash);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.contact-route__value {
  font-weight: 600;
}

.contact-route__arrow {
  color: var(--color-signal-red);
  font-size: 1.25rem;
}

.contact-route:hover,
.contact-route:focus-visible {
  border-color: var(--color-cold-ash);
  color: var(--color-cold-ash);
}

.contact-route:hover .contact-route__label,
.contact-route:focus-visible .contact-route__label {
  color: var(--color-cold-ash);
}

.contact-hero__note {
  display: flex;
  flex-direction: column;
  grid-column: 10 / span 3;
  align-self: end;
  gap: var(--space-2);
  min-width: 0;
  border-inline-start: var(--border-default);
  color: var(--color-muted-ash);
  font-size: var(--text-utility);
  line-height: 1.45;
  padding: var(--space-4);
}

.contact-hero__note-index {
  color: var(--color-signal-red);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.12em;
}

.contact-lines__intro {
  max-width: 58ch;
}

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

.contact-line-panel {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
  gap: var(--space-6);
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-6);
}

.contact-line-panel--call {
  grid-column: 1 / span 5;
}

.contact-line-panel--email {
  grid-column: 7 / span 5;
  border-top-color: var(--color-signal-red);
}

.contact-line-panel__copy {
  min-width: 0;
}

.contact-line-panel__copy h3 {
  max-width: 16ch;
}

.contact-line-panel__copy p:not(.meta) {
  max-width: 46ch;
}

.contact-line-panel__link {
  display: block;
  min-width: 0;
  border-top: var(--border-default);
  color: var(--color-cold-ash);
  font-weight: 600;
  overflow-wrap: anywhere;
  padding-top: var(--space-3);
}

.contact-line-panel__link span {
  color: var(--color-signal-red);
}

.contact-line-panel:hover,
.contact-line-panel:focus-within {
  border-color: var(--color-cold-ash);
}

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

.contact-prep__intro {
  grid-column: 1 / span 3;
  min-width: 0;
}

.contact-prep__intro p:not(.eyebrow) {
  max-width: 38ch;
}

.contact-prep__ledger {
  display: grid;
  grid-column: 5 / span 5;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
}

.contact-prep__note {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  border-top: var(--border-default);
  padding-top: var(--space-4);
}

.contact-prep__number {
  color: var(--color-signal-red);
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
}

.contact-prep__note h3 {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
}

.contact-prep__note p {
  max-width: 50ch;
}

.contact-prep__margin {
  grid-column: 11 / span 2;
  min-width: 0;
  border-inline-start: var(--border-default);
  color: var(--color-graphite);
  font-family: var(--font-heading);
  font-size: 5rem;
  font-weight: 800;
  padding-inline-start: var(--space-4);
}

.contact-location__panel {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  isolation: isolate;
  min-width: 0;
  position: relative;
  border-block: var(--border-default);
  padding-block: var(--space-7);
}

.contact-location__lines {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: 0.7;
  pointer-events: none;
}

.contact-location__lines::before,
.contact-location__lines::after {
  position: absolute;
  background: var(--color-graphite);
  content: "";
}

.contact-location__lines::before {
  top: 18%;
  left: 3%;
  width: 92%;
  height: 1px;
  box-shadow: 0 7rem 0 var(--color-graphite), 0 14rem 0 var(--color-graphite);
  transform: rotate(-8deg);
}

.contact-location__lines::after {
  top: 5%;
  left: 69%;
  width: 1px;
  height: 90%;
  box-shadow: -18rem 2rem 0 var(--color-graphite);
  transform: rotate(14deg);
}

.contact-location__address {
  grid-column: 1 / span 7;
  min-width: 0;
}

.contact-location__address address {
  max-width: 18ch;
  color: var(--color-cold-ash);
  font-family: var(--font-heading);
  font-size: clamp(2.2rem, 5vw, 4.75rem);
  font-weight: 800;
  letter-spacing: 0.035em;
  line-height: 0.95;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

.contact-location__rail {
  display: flex;
  flex-direction: column;
  grid-column: 9 / span 3;
  gap: var(--space-4);
  min-width: 0;
  border-inline-start: var(--border-default);
  padding-inline-start: var(--space-5);
}

.contact-location__rail p {
  max-width: 46ch;
}

.contact-location__crosshair {
  color: var(--color-signal-red);
  font-size: 2rem;
  line-height: 1;
}

.contact-location__copy {
  align-self: flex-start;
  min-width: 0;
  padding-inline: var(--space-4);
}

.contact-location__copy-status {
  min-height: 1.6em;
  margin: 0;
  color: var(--color-cold-ash);
  font-size: var(--text-utility);
}

.contact-form-bay {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: min(100%, 45rem);
  min-width: 0;
  margin-inline: auto;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-7);
  position: relative;
}

.contact-form-bay::before {
  position: absolute;
  top: -1px;
  right: 2rem;
  width: 4rem;
  height: 1px;
  background: var(--color-signal-red);
  content: "";
}

.contact-form-bay h2,
.contact-form-bay__intro {
  margin: 0;
}

.contact-form-bay__intro {
  max-width: 58ch;
}

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

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

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

.contact-field label {
  overflow-wrap: anywhere;
}

.contact-field__optional {
  color: var(--color-muted-ash);
  font-size: var(--text-meta);
  font-weight: 400;
  letter-spacing: 0;
  text-transform: lowercase;
}

.contact-field__error {
  min-height: 1.5em;
  margin: var(--space-2) 0 0;
  color: var(--color-cold-ash);
  font-size: var(--text-utility);
  font-weight: 600;
  overflow-wrap: anywhere;
}

.contact-field [aria-invalid="true"] {
  border-color: var(--color-signal-red);
  box-shadow: inset 3px 0 0 var(--color-signal-red);
}

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

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

.contact-enquiry-form__alternatives,
.contact-enquiry-form__status {
  margin: 0;
  max-width: 58ch;
}

.contact-enquiry-form__status {
  min-height: 1.6em;
  color: var(--color-cold-ash);
  font-weight: 500;
  overflow-wrap: anywhere;
}

.contact-closing__block {
  display: flex;
  flex-direction: column;
  grid-column: 3 / span 7;
  gap: var(--space-4);
  max-width: 52rem;
  min-width: 0;
  border-inline-start: 2px solid var(--color-signal-red);
  padding-inline-start: var(--space-5);
}

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

.contact-closing__block p:not(.eyebrow) {
  max-width: 54ch;
}

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

.contact-closing__links a {
  min-width: 0;
  border-bottom: var(--border-default);
  color: var(--color-cold-ash);
  font-weight: 600;
  overflow-wrap: anywhere;
  padding: var(--space-3) 0;
  text-decoration: none;
}

.contact-closing__links a span {
  color: var(--color-signal-red);
}

.contact-closing__links a:hover,
.contact-closing__links a:focus-visible {
  border-color: var(--color-cold-ash);
}

@media (max-width: 61.25rem) {
  .contact-hero__editorial {
    grid-column: 1 / span 9;
  }

  .contact-hero__note {
    grid-column: 1 / span 8;
    margin-top: var(--space-4);
  }

  .contact-location__address {
    grid-column: 1 / span 8;
  }

  .contact-location__rail {
    grid-column: 1 / span 8;
    border-inline-start: 0;
    border-top: var(--border-default);
    padding: var(--space-5) 0 0;
  }
}

@media (max-width: 56.25rem) {
  .contact-prep__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .contact-prep__intro {
    grid-column: 1 / span 7;
  }

  .contact-prep__ledger {
    grid-column: 1 / span 7;
  }

  .contact-prep__margin {
    display: none;
  }

  .contact-form-bay {
    padding: var(--space-5);
  }
}

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

  .contact-line-panel--call,
  .contact-line-panel--email {
    grid-column: 1;
  }

  .contact-line-panel {
    padding: var(--space-5);
  }

  .contact-closing__block {
    grid-column: 1;
    max-width: none;
  }

  .contact-closing__links {
    flex-direction: column;
    align-items: stretch;
  }

  .contact-closing__links a {
    width: 100%;
  }
}

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

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

  .contact-hero__editorial,
  .contact-hero__note,
  .contact-location__address,
  .contact-location__rail {
    grid-column: 1;
  }

  .contact-hero h1 {
    max-width: 10ch;
    font-size: clamp(2.75rem, 15vw, 5rem);
  }

  .contact-hero__editorial::before {
    left: -0.25rem;
    height: 7rem;
  }

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

  .contact-route__label {
    grid-column: 1 / span 2;
  }

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

  .contact-route__arrow {
    grid-column: 2;
    grid-row: 2;
  }

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

  .contact-prep__intro,
  .contact-prep__ledger {
    grid-column: 1;
  }

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

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

  .contact-location__address address {
    font-size: clamp(1.8rem, 8vw, 2.6rem);
  }

  .contact-location__rail {
    padding-inline-start: 0;
  }

  .contact-form-bay {
    padding: var(--space-5);
  }

  .contact-enquiry-form__actions,
  .contact-enquiry-form__actions .button {
    width: 100%;
  }

  .contact-closing__block {
    padding-inline-start: var(--space-4);
  }
}

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


.cookie-policy-page {
  background: var(--color-black);
  overflow: hidden;
}

.cookie-policy-page *,
.cookie-policy-page *::before,
.cookie-policy-page *::after {
  min-width: 0;
}

.cookie-policy-page a:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-offset);
}

.cookie-policy-page__cover {
  padding-top: calc(var(--space-10) + var(--space-5));
  padding-bottom: var(--space-9);
}

.cookie-policy-page__cover-grid,
.cookie-policy-page__plain-grid,
.cookie-policy-page__controls-grid,
.cookie-policy-page__limitations-grid,
.cookie-policy-page__updates-grid,
.cookie-policy-page__questions-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-4);
  row-gap: var(--space-6);
}

.cookie-policy-page__title-rail {
  grid-column: 1 / span 8;
  width: 100%;
  max-width: 56.25rem;
}

.cookie-policy-page__title {
  position: relative;
  width: 100%;
  margin-bottom: var(--space-5);
  font-size: clamp(4rem, 9vw, 8rem);
  letter-spacing: 0.025em;
}

.cookie-policy-page__title span {
  position: relative;
  display: inline-block;
}

.cookie-policy-page__title span::after {
  position: absolute;
  right: -0.08em;
  bottom: 0.08em;
  left: 0.08em;
  height: 2px;
  background: var(--color-signal-red);
  content: "";
}

.cookie-policy-page__document-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2) var(--space-4);
  width: 100%;
  border-top: var(--border-default);
  border-bottom: var(--border-default);
  color: var(--color-muted-ash);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.4;
  padding-block: var(--space-3);
  text-transform: uppercase;
}

.cookie-policy-page__document-meta > * {
  min-width: 0;
}

.cookie-policy-page__meta-index {
  color: var(--color-signal-red);
}

.cookie-policy-page__scope {
  width: 100%;
  max-width: 40rem;
  margin-top: var(--space-5);
  margin-bottom: 0;
}

.cookie-policy-page__coordinate-rail {
  position: relative;
  grid-column: 9 / span 4;
  width: 100%;
  min-height: 16rem;
}

.cookie-policy-page__coordinate-rail::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: var(--color-graphite);
  content: "";
}

.cookie-policy-page__coordinate-rail span {
  position: absolute;
  top: var(--space-3);
  left: calc(50% + var(--space-3));
  color: var(--color-muted-ash);
  font-size: var(--text-meta);
  letter-spacing: 0.1em;
  writing-mode: vertical-rl;
}

.cookie-policy-page__section-heading {
  width: 100%;
}

.cookie-policy-page__section-heading h2 {
  margin-bottom: 0;
}

.cookie-policy-page__plain-grid {
  row-gap: var(--space-5);
}

.cookie-policy-page__plain-grid > * {
  width: 100%;
}

.cookie-policy-page__plain-grid .cookie-policy-page__section-heading {
  grid-column: 1 / span 7;
}

.cookie-policy-page__definition-block {
  grid-column: 1 / span 7;
  max-width: 45rem;
}

.cookie-policy-page__similar-block {
  grid-column: 2 / span 6;
  max-width: 34rem;
  border-left: var(--border-default);
  padding-left: var(--space-4);
}

.cookie-policy-page__block-index,
.cookie-policy-page__card-index,
.cookie-policy-page__implication-index {
  margin-bottom: var(--space-2);
  color: var(--color-signal-red);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.2;
}

.cookie-policy-page__definition-block h3,
.cookie-policy-page__similar-block h3,
.cookie-policy-page__browser-settings h3,
.cookie-policy-page__device-note h3,
.cookie-policy-page__review-callout h3,
.cookie-policy-page__revision-copy h3,
.cookie-policy-page__contact-copy h3 {
  margin-bottom: var(--space-3);
}

.cookie-policy-page__purpose-panel {
  grid-column: 1 / span 9;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
  max-width: 61.25rem;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-6);
}

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

.cookie-policy-page__purpose-panel h3 {
  margin-bottom: 0;
}

.cookie-policy-page__purpose-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
  width: 100%;
  padding: 0;
  list-style: none;
}

.cookie-policy-page__purpose-list li {
  width: 100%;
  border-top: var(--border-default);
  color: var(--color-cold-ash);
  font-size: var(--text-utility);
  padding-top: var(--space-3);
}

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

.cookie-policy-page__category-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-4);
  width: 100%;
}

.cookie-policy-page__category-grid > * {
  width: 100%;
  min-width: 0;
}

.cookie-policy-page__category-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-6);
  transition: border-color var(--transition-fast);
}

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

.cookie-policy-page__category-card h3 {
  margin-bottom: 0;
}

.cookie-policy-page__category-card--necessary {
  grid-column: 1 / span 5;
  border-left: 2px solid var(--color-signal-red);
}

.cookie-policy-page__category-card--preference {
  grid-column: 6 / span 4;
}

.cookie-policy-page__matrix-void {
  position: relative;
  grid-column: 10 / span 3;
  min-height: 15rem;
}

.cookie-policy-page__matrix-void::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: var(--color-graphite);
  content: "";
}

.cookie-policy-page__matrix-void span {
  position: absolute;
  top: var(--space-3);
  left: calc(50% + var(--space-2));
  color: var(--color-muted-ash);
  font-size: var(--text-meta);
  letter-spacing: 0.08em;
  writing-mode: vertical-rl;
}

.cookie-policy-page__category-card--performance {
  grid-column: 1 / span 7;
}

.cookie-policy-page__category-card--performance::after {
  width: 4rem;
  height: 1px;
  background: var(--color-signal-red);
  content: "";
}

.cookie-policy-page__category-card--third-party {
  grid-column: 8 / span 5;
  clip-path: polygon(0 0, calc(100% - 1rem) 0, 100% 1rem, 100% 100%, 0 100%);
}

.cookie-policy-page__category-card:focus-within,
.cookie-policy-page__category-card:focus {
  border-color: var(--color-cold-ash);
  outline: none;
}

.cookie-policy-page__controls-grid > * {
  width: 100%;
}

.cookie-policy-page__controls-heading {
  grid-column: 1 / span 7;
}

.cookie-policy-page__browser-settings {
  grid-column: 1 / span 7;
  max-width: 45rem;
  border-top: 2px solid var(--color-signal-red);
  padding-top: var(--space-5);
}

.cookie-policy-page__device-note {
  grid-column: 9 / span 3;
  align-self: start;
  border: var(--border-default);
  padding: var(--space-5);
}

.cookie-policy-page__device-note > :last-child,
.cookie-policy-page__browser-settings > :last-child,
.cookie-policy-page__review-callout > :last-child,
.cookie-policy-page__revision-copy > :last-child,
.cookie-policy-page__contact-copy > :last-child {
  margin-bottom: 0;
}

.cookie-policy-page__review-callout {
  grid-column: 1 / span 7;
  position: relative;
  width: 100%;
  max-width: 45rem;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-5);
}

.cookie-policy-page__review-callout::before {
  position: absolute;
  top: -1px;
  left: var(--space-5);
  width: 3rem;
  height: 2px;
  background: var(--color-signal-red);
  content: "";
}

.cookie-policy-page__limitations-grid > * {
  width: 100%;
}

.cookie-policy-page__limitations-heading {
  grid-column: 1 / span 9;
}

.cookie-policy-page__limitations-lead {
  grid-column: 1 / span 6;
  max-width: 42.5rem;
}

.cookie-policy-page__limitations-lead .lead {
  margin-bottom: 0;
}

.cookie-policy-page__implications-list {
  grid-column: 1 / span 9;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  margin: var(--space-3) 0 0;
  padding: 0;
  list-style: none;
}

.cookie-policy-page__implications-list li {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  column-gap: var(--space-4);
  width: 100%;
  border-top: var(--border-default);
  padding-block: var(--space-5);
}

.cookie-policy-page__implications-list li:last-child {
  border-bottom: 2px solid var(--color-signal-red);
}

.cookie-policy-page__implication-index {
  width: 4rem;
  margin: 0;
  padding-top: var(--space-1);
}

.cookie-policy-page__implication-copy {
  width: 100%;
  max-width: 41rem;
}

.cookie-policy-page__implication-copy h3 {
  margin-bottom: var(--space-2);
}

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

.cookie-policy-page__updates-grid > * {
  width: 100%;
}

.cookie-policy-page__updates-heading {
  grid-column: 1 / span 9;
}

.cookie-policy-page__revision-panel {
  grid-column: 1 / span 9;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(10rem, 2fr);
  gap: var(--space-5);
  width: 100%;
  max-width: 61.25rem;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-6);
}

.cookie-policy-page__revision-copy,
.cookie-policy-page__revision-date {
  width: 100%;
  min-width: 0;
}

.cookie-policy-page__revision-copy {
  max-width: 39rem;
}

.cookie-policy-page__revision-date {
  align-self: stretch;
  border-left: 2px solid var(--color-signal-red);
  color: var(--color-muted-ash);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.5;
  padding-left: var(--space-4);
  text-transform: uppercase;
}

.cookie-policy-page__revision-date strong {
  display: block;
  margin-top: var(--space-3);
  color: var(--color-cold-ash);
  font-size: var(--text-utility);
  letter-spacing: 0.04em;
}

.cookie-policy-page__date-strip {
  grid-column: 1 / span 9;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  width: 100%;
  max-width: 61.25rem;
  margin: 0;
  border-bottom: var(--border-default);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.08em;
  padding-bottom: var(--space-3);
  text-transform: uppercase;
}

.cookie-policy-page__date-strip span {
  color: var(--color-muted-ash);
}

.cookie-policy-page__questions-grid > * {
  width: 100%;
}

.cookie-policy-page__questions-heading {
  grid-column: 1 / span 8;
}

.cookie-policy-page__contact-panel {
  grid-column: 2 / span 8;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  width: 100%;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-6);
}

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

.cookie-policy-page__contact-copy {
  max-width: 36rem;
}

.cookie-policy-page__email {
  display: block;
  width: 100%;
  border-top: 2px solid var(--color-signal-red);
  border-bottom: var(--border-default);
  color: var(--color-cold-ash);
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 4vw, 3.25rem);
  font-weight: 800;
  letter-spacing: 0.035em;
  line-height: 1;
  overflow-wrap: anywhere;
  padding-block: var(--space-4);
  text-decoration: underline;
  text-decoration-color: var(--color-signal-red);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.18em;
}

.cookie-policy-page__email:hover {
  color: var(--color-cold-ash);
  text-decoration-color: var(--color-cold-ash);
}

.cookie-policy-page__address-record {
  color: var(--color-muted-ash);
  font-size: var(--text-body);
  font-style: normal;
  line-height: var(--leading-body);
}

.cookie-policy-page__address-record > span {
  display: block;
  margin-bottom: var(--space-2);
  color: var(--color-muted-ash);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cookie-policy-page__address-record p {
  margin: 0;
}

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

  .cookie-policy-page__category-card--necessary,
  .cookie-policy-page__category-card--preference,
  .cookie-policy-page__category-card--performance,
  .cookie-policy-page__category-card--third-party {
    grid-column: auto;
  }

  .cookie-policy-page__matrix-void {
    display: none;
  }
}

@media (max-width: 56.25rem) {
  .cookie-policy-page__cover {
    padding-top: var(--space-10);
  }

  .cookie-policy-page__cover-grid,
  .cookie-policy-page__plain-grid,
  .cookie-policy-page__controls-grid,
  .cookie-policy-page__limitations-grid,
  .cookie-policy-page__updates-grid,
  .cookie-policy-page__questions-grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-5);
  }

  .cookie-policy-page__title-rail,
  .cookie-policy-page__plain-grid .cookie-policy-page__section-heading,
  .cookie-policy-page__definition-block,
  .cookie-policy-page__similar-block,
  .cookie-policy-page__purpose-panel,
  .cookie-policy-page__controls-heading,
  .cookie-policy-page__browser-settings,
  .cookie-policy-page__device-note,
  .cookie-policy-page__review-callout,
  .cookie-policy-page__limitations-heading,
  .cookie-policy-page__limitations-lead,
  .cookie-policy-page__implications-list,
  .cookie-policy-page__updates-heading,
  .cookie-policy-page__revision-panel,
  .cookie-policy-page__date-strip,
  .cookie-policy-page__questions-heading,
  .cookie-policy-page__contact-panel {
    grid-column: 1;
    max-width: none;
  }

  .cookie-policy-page__coordinate-rail {
    display: none;
  }

  .cookie-policy-page__similar-block {
    border-left: 0;
    border-top: var(--border-default);
    padding-top: var(--space-4);
    padding-left: 0;
  }

  .cookie-policy-page__device-note {
    max-width: 45rem;
  }

  .cookie-policy-page__contact-panel {
    margin-left: 0;
  }
}

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

  .cookie-policy-page__revision-date {
    border-top: 2px solid var(--color-signal-red);
    border-left: 0;
    padding-top: var(--space-4);
    padding-left: 0;
  }
}

@media (max-width: 39.9375rem) {
  .cookie-policy-page__cover {
    padding-top: calc(var(--space-9) + var(--space-5));
  }

  .cookie-policy-page__title {
    font-size: clamp(2.75rem, 15vw, 5rem);
  }

  .cookie-policy-page__document-meta {
    gap: var(--space-2);
  }

  .cookie-policy-page__purpose-panel,
  .cookie-policy-page__category-card,
  .cookie-policy-page__revision-panel,
  .cookie-policy-page__contact-panel {
    padding: var(--space-5);
  }

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

  .cookie-policy-page__implications-list li {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .cookie-policy-page__implication-index {
    width: 100%;
  }

  .cookie-policy-page__email {
    min-height: 44px;
    font-size: clamp(1.25rem, 7vw, 2rem);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .cookie-policy-page__title:hover span {
    transform: translate(1px, -1px);
    transition: transform 160ms ease;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-policy-page__title span {
    transform: none !important;
  }
}


.privacy-policy-page {
  position: relative;
  overflow: hidden;
  background: var(--color-black);
}

.privacy-policy-page::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: linear-gradient(rgb(230 231 228 / 3%) 1px, transparent 1px);
  background-size: 100% 12px;
  content: "";
  opacity: 0.35;
}

.privacy-policy-page > section {
  position: relative;
  z-index: 1;
}

.privacy-policy-page__masthead {
  padding-block: calc(var(--space-10) + var(--space-7)) var(--space-9);
  border-bottom: var(--border-default);
}

.privacy-policy-page__masthead-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: end;
}

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

.privacy-policy-page__masthead-copy {
  grid-column: 1 / span 8;
  min-width: 0;
}

.privacy-policy-page__masthead-copy h1 {
  margin-bottom: var(--space-5);
  font-size: clamp(3.5rem, 8vw, 7rem);
}

.privacy-policy-page__masthead-copy h1 span {
  display: inline-block;
  padding-inline-start: 0.08em;
  color: var(--color-signal-red);
  text-shadow: 2px 0 var(--color-near-black);
}

.privacy-policy-page__deck {
  max-width: 62ch;
  margin-bottom: 0;
  font-size: var(--text-lead);
  line-height: var(--leading-relaxed);
}

.privacy-policy-page__date-panel {
  grid-column: 10 / span 3;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  border-left: 2px solid var(--color-signal-red);
  background: var(--color-near-black);
  padding: var(--space-4) var(--space-5);
}

.privacy-policy-page__date-panel strong {
  color: var(--color-cold-ash);
  font-size: var(--text-body);
  overflow-wrap: anywhere;
}

.privacy-policy-page__section {
  padding-block: var(--space-9);
  border-bottom: var(--border-default);
}

.privacy-policy-page__map-layout,
.privacy-policy-page__legal-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-4);
  row-gap: var(--space-6);
}

.privacy-policy-page__map-layout > *,
.privacy-policy-page__legal-grid > * {
  min-width: 0;
}

.privacy-policy-page__section-marker {
  grid-column: 1 / span 1;
  align-self: start;
  color: var(--color-signal-red);
  font-family: var(--font-heading);
  font-size: var(--text-heading-sm);
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
}

.privacy-policy-page__section-marker::after {
  display: block;
  width: 1px;
  height: var(--space-7);
  margin-top: var(--space-3);
  background: var(--color-graphite);
  content: "";
}

.privacy-policy-page__map-copy {
  grid-column: 2 / span 6;
  max-width: 680px;
}

.privacy-policy-page h2 {
  margin-bottom: var(--space-5);
}

.privacy-policy-page h3 {
  margin-bottom: var(--space-3);
  font-size: clamp(1.65rem, 2.5vw, 2.2rem);
}

.privacy-policy-page__policy-index {
  grid-column: 2 / span 10;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
  border: var(--border-default);
  background: var(--color-near-black);
}

.privacy-policy-page__policy-index a {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  min-width: 0;
  min-height: 52px;
  border-bottom: var(--border-default);
  color: var(--color-cold-ash);
  font-size: var(--text-utility);
  font-weight: 600;
  letter-spacing: 0.03em;
  padding: var(--space-3) var(--space-4);
  text-decoration: none;
}

.privacy-policy-page__policy-index a:nth-child(odd) {
  border-right: var(--border-default);
}

.privacy-policy-page__policy-index a:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.privacy-policy-page__policy-index a span {
  flex: 0 0 auto;
  color: var(--color-signal-red);
  font-size: var(--text-meta);
}

.privacy-policy-page__policy-index a:hover,
.privacy-policy-page__policy-index a[aria-current="location"] {
  background: var(--color-black);
  color: var(--color-cold-ash);
  box-shadow: inset 3px 0 0 var(--color-signal-red);
}

.privacy-policy-page__plain-note {
  grid-column: 2 / span 6;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-width: 620px;
  min-width: 0;
  border-bottom: var(--border-signal);
  padding-bottom: var(--space-4);
}

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

.privacy-policy-page__legal-content {
  grid-column: 3 / span 7;
  min-width: 0;
}

.privacy-policy-page__legal-content > h2 {
  max-width: 700px;
}

.privacy-policy-page__clause {
  max-width: 700px;
  border-top: var(--border-default);
  padding-top: var(--space-5);
}

.privacy-policy-page__clause + .privacy-policy-page__clause,
.privacy-policy-page__clause + .privacy-policy-page__caution,
.privacy-policy-page__caution + .privacy-policy-page__clause,
.privacy-policy-page__clause + .privacy-policy-page__no-sale-note,
.privacy-policy-page__clause + .privacy-policy-page__contact-plate,
.privacy-policy-page__clause + .privacy-policy-page__cookie-strip,
.privacy-policy-page__cookie-strip + .privacy-policy-page__cookie-note,
.privacy-policy-page__clause + .privacy-policy-page__location-plate,
.privacy-policy-page__location-plate + .privacy-policy-page__clause,
.privacy-policy-page__clause + .privacy-policy-page__final-contact {
  margin-top: var(--space-6);
}

.privacy-policy-page__clause--panel {
  max-width: 760px;
  margin-left: var(--space-5);
  border: var(--border-default);
  border-top-color: var(--color-signal-red);
  background: var(--color-near-black);
  padding: var(--space-5);
}

.privacy-policy-page__clause--panel .meta,
.privacy-policy-page__clause--strip .meta,
.privacy-policy-page__change-clause .meta {
  margin-bottom: var(--space-3);
}

.privacy-policy-page__caution {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-width: 700px;
  border-left: 2px solid var(--color-signal-red);
  padding: var(--space-4) 0 var(--space-4) var(--space-4);
}

.privacy-policy-page__caution h3,
.privacy-policy-page__caution p {
  margin-bottom: 0;
}

.privacy-policy-page__uses-intro {
  max-width: 62ch;
  margin-bottom: var(--space-6);
}

.privacy-policy-page__purpose-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
  border-top: var(--border-default);
  border-bottom: var(--border-default);
}

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

.privacy-policy-page__purpose-entry {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-5);
  border-right: var(--border-default);
}

.privacy-policy-page__purpose-entry:last-child {
  border-right: 0;
}

.privacy-policy-page__purpose-entry h3,
.privacy-policy-page__purpose-entry p {
  margin-bottom: 0;
}

.privacy-policy-page__purpose-number {
  color: var(--color-signal-red);
  font-family: var(--font-heading);
  font-size: var(--text-label);
  font-weight: 800;
  line-height: 1;
}

.privacy-policy-page__purpose-entry--terminal {
  background: var(--color-near-black);
}

.privacy-policy-page__clause--strip {
  max-width: 840px;
  margin-left: var(--space-4);
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-5);
}

.privacy-policy-page__no-sale-note {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-width: 540px;
  border: var(--border-emphasis);
  padding: var(--space-4);
}

.privacy-policy-page__no-sale-note p {
  margin-bottom: 0;
}

.privacy-policy-page__clause--action-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(12rem, 15rem);
  gap: var(--space-5);
  max-width: 720px;
  align-items: end;
}

.privacy-policy-page__clause--action-row > * {
  min-width: 0;
}

.privacy-policy-page__clause--action-row .button {
  width: 100%;
}

.privacy-policy-page__clause--request-panel {
  max-width: 800px;
  border: var(--border-default);
  border-top: 2px solid var(--color-signal-red);
  background: var(--color-near-black);
  padding: var(--space-5);
}

.privacy-policy-page__contact-plate,
.privacy-policy-page__final-contact {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 720px;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-5);
}

.privacy-policy-page__contact-plate h3,
.privacy-policy-page__contact-plate p,
.privacy-policy-page__final-contact h3,
.privacy-policy-page__final-contact p {
  margin-bottom: 0;
}

.privacy-policy-page__contact-links {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
  border-top: var(--border-default);
  padding-top: var(--space-3);
}

.privacy-policy-page__contact-links a,
.privacy-policy-page__contact-links p {
  min-width: 0;
  overflow-wrap: anywhere;
}

.privacy-policy-page__contact-links a {
  color: var(--color-cold-ash);
}

.privacy-policy-page__contact-links span {
  display: inline-block;
  min-width: 5rem;
  color: var(--color-muted-ash);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.privacy-policy-page__cookie-strip {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 6fr);
  gap: var(--space-5);
  max-width: 100%;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-5);
}

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

.privacy-policy-page__cookie-strip h3,
.privacy-policy-page__cookie-strip p {
  margin-bottom: 0;
}

.privacy-policy-page__cookie-note {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-width: 560px;
  border: var(--border-default);
  padding: var(--space-4) var(--space-5);
}

.privacy-policy-page__cookie-note::before {
  width: 1.5rem;
  height: 1px;
  background: var(--color-signal-red);
  content: "";
}

.privacy-policy-page__cookie-note h3,
.privacy-policy-page__cookie-note p {
  margin-bottom: 0;
}

.privacy-policy-page__location-plate {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-width: 760px;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-5);
}

.privacy-policy-page__location-plate h3,
.privacy-policy-page__location-plate p {
  margin-bottom: 0;
}

.privacy-policy-page__final-contact {
  border-color: var(--color-cold-ash);
}

.privacy-policy-page__end-rule {
  width: min(100%, 700px);
  height: 2px;
  margin-top: var(--space-6);
  background: var(--color-signal-red);
}

.privacy-policy-page a:focus-visible,
.privacy-policy-page button:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-offset);
}

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

  .privacy-policy-page__purpose-entry:nth-child(2) {
    border-right: 0;
  }

  .privacy-policy-page__purpose-entry:nth-child(-n + 2) {
    border-bottom: var(--border-default);
  }
}

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

  .privacy-policy-page__legal-grid > .privacy-policy-page__section-marker,
  .privacy-policy-page__legal-grid > .privacy-policy-page__legal-content {
    grid-column: 1;
  }

  .privacy-policy-page__section-marker {
    display: flex;
    align-items: center;
    gap: var(--space-3);
  }

  .privacy-policy-page__section-marker::after {
    width: 3rem;
    height: 1px;
    margin-top: 0;
  }

  .privacy-policy-page__legal-content {
    max-width: 700px;
  }

  .privacy-policy-page__clause--panel,
  .privacy-policy-page__clause--strip {
    margin-left: 0;
  }

  .privacy-policy-page__cookie-strip {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 53.75rem) {
  .privacy-policy-page__map-layout {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-5);
  }

  .privacy-policy-page__map-layout > .privacy-policy-page__section-marker,
  .privacy-policy-page__map-layout > .privacy-policy-page__map-copy,
  .privacy-policy-page__map-layout > .privacy-policy-page__policy-index,
  .privacy-policy-page__map-layout > .privacy-policy-page__plain-note {
    grid-column: 1;
  }

  .privacy-policy-page__map-layout > .privacy-policy-page__section-marker {
    display: flex;
    align-items: center;
    gap: var(--space-3);
  }

  .privacy-policy-page__map-layout > .privacy-policy-page__section-marker::after {
    width: 3rem;
    height: 1px;
    margin-top: 0;
  }

  .privacy-policy-page__policy-index {
    grid-template-columns: minmax(0, 1fr);
  }

  .privacy-policy-page__policy-index a,
  .privacy-policy-page__policy-index a:nth-child(odd) {
    border-right: 0;
    border-bottom: var(--border-default);
  }

  .privacy-policy-page__policy-index a:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 48.75rem) {
  .privacy-policy-page__masthead-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
    align-items: start;
  }

  .privacy-policy-page__masthead-copy,
  .privacy-policy-page__date-panel {
    grid-column: 1;
  }
}

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

  .privacy-policy-page__purpose-entry,
  .privacy-policy-page__purpose-entry:nth-child(2) {
    border-right: 0;
    border-bottom: var(--border-default);
  }

  .privacy-policy-page__purpose-entry:last-child {
    border-bottom: 0;
  }

  .privacy-policy-page__clause--action-row {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 39.9375rem) {
  .privacy-policy-page__masthead {
    padding-block: calc(var(--space-9) + var(--space-6)) var(--space-7);
  }

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

  .privacy-policy-page__masthead-copy h1 {
    font-size: clamp(2.75rem, 15vw, 4.5rem);
  }

  .privacy-policy-page__date-panel,
  .privacy-policy-page__clause--panel,
  .privacy-policy-page__clause--strip,
  .privacy-policy-page__clause--request-panel,
  .privacy-policy-page__contact-plate,
  .privacy-policy-page__final-contact,
  .privacy-policy-page__cookie-strip,
  .privacy-policy-page__location-plate {
    padding: var(--space-5);
  }

  .privacy-policy-page__contact-links a {
    display: block;
    min-height: 44px;
    border-bottom: var(--border-default);
    padding-block: var(--space-3);
  }

  .privacy-policy-page__contact-links a span,
  .privacy-policy-page__contact-links p span {
    display: block;
    margin-bottom: var(--space-1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .privacy-policy-page::before {
    display: none;
  }
}


.terms-page {
  background: var(--color-black);
  overflow: hidden;
}

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

.terms-page :is(a, button):focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-offset);
}

.terms-masthead {
  padding-block: calc(var(--space-10) + var(--space-5)) var(--space-9);
}

.terms-masthead__grid {
  display: grid;
  grid-template-columns: minmax(7.5rem, 12.5%) minmax(0, 1fr);
  column-gap: var(--space-6);
  align-items: start;
}

.terms-masthead__rail,
.terms-masthead__content,
.terms-map__topline > *,
.terms-map__clauses > *,
.terms-access__layout > *,
.terms-reservations__panel > *,
.terms-content__layout > *,
.terms-content__clause > *,
.terms-availability__clause > *,
.terms-framework__jurisdiction > *,
.terms-contact__details > div {
  min-width: 0;
}

.terms-masthead__rail {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
  padding-top: var(--space-2);
}

.terms-masthead__code,
.terms-masthead__meta,
.terms-access__marker,
.terms-reservations__marker,
.terms-content__number,
.terms-availability__number,
.terms-framework__number {
  color: var(--color-cold-ash);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-transform: uppercase;
}

.terms-masthead__line,
.terms-access__rail-line {
  display: block;
  width: 1px;
  min-height: 7rem;
  background: var(--color-signal-red);
}

.terms-masthead__content {
  width: 100%;
  max-width: 51.25rem;
}

.terms-masthead__title {
  margin-bottom: var(--space-5);
  font-size: clamp(3rem, 8vw, 7rem);
  font-weight: 900;
  line-height: 0.88;
}

.terms-masthead__title span:last-child {
  display: inline-block;
  margin-left: clamp(0.5rem, 4vw, 3.5rem);
}

.terms-masthead__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3) var(--space-5);
  align-items: center;
  width: 100%;
  border-top: var(--border-signal);
  border-bottom: var(--border-default);
  padding-block: var(--space-3);
}

.terms-masthead__meta strong {
  font-size: inherit;
}

.terms-masthead__meta span {
  color: var(--color-muted-ash);
}

.terms-masthead__copy {
  width: 100%;
  max-width: 42.5rem;
  margin-top: var(--space-5);
}

.terms-map {
  border-top: var(--border-default);
}

.terms-map__heading,
.terms-reservations__heading,
.terms-availability__heading {
  width: 100%;
  max-width: 56.25rem;
}

.terms-map__topline {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(14rem, 1fr);
  gap: var(--space-6);
  align-items: start;
  margin-top: var(--space-6);
}

.terms-map__index {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  border-top: var(--border-default);
  border-left: var(--border-default);
}

.terms-map__index a {
  display: flex;
  gap: var(--space-3);
  align-items: center;
  min-width: 0;
  min-height: 3.5rem;
  border-right: var(--border-default);
  border-bottom: var(--border-default);
  color: var(--color-cold-ash);
  font-size: var(--text-utility);
  font-weight: 600;
  padding: var(--space-3) var(--space-4);
  text-decoration: none;
}

.terms-map__index a:hover {
  background: var(--color-near-black);
}

.terms-map__index span {
  color: var(--color-signal-red);
  font-size: var(--text-meta);
  letter-spacing: 0.08em;
}

.terms-map__note {
  width: 100%;
  border-left: var(--border-signal);
  padding-left: var(--space-4);
}

.terms-map__note p:last-child {
  margin-bottom: 0;
}

.terms-map__clauses {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  width: 100%;
  margin-top: var(--space-8);
}

.terms-map__clause {
  display: grid;
  grid-template-columns: minmax(5rem, 10rem) minmax(0, 43.75rem);
  column-gap: var(--space-5);
  align-items: start;
  width: 100%;
}

.terms-map__number {
  width: 100%;
  color: var(--color-signal-red);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
  padding-top: var(--space-2);
}

.terms-map__reading {
  width: 100%;
  max-width: 43.75rem;
  border-top: var(--border-default);
  padding-top: var(--space-4);
}

.terms-map__reading h3 {
  font-size: var(--text-heading-sm);
}

.terms-access {
  border-top: var(--border-default);
}

.terms-access__layout {
  display: grid;
  grid-template-columns: minmax(10rem, 22%) minmax(0, 1fr);
  gap: var(--space-7);
  align-items: start;
}

.terms-access__rail {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
}

.terms-access__content {
  width: 100%;
  max-width: 45rem;
}

.terms-access__clause {
  width: 100%;
  border-top: var(--border-default);
  padding-top: var(--space-5);
}

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

.terms-access__marker,
.terms-reservations__marker,
.terms-framework__number span,
.terms-availability__number span {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
}

.terms-access__marker span,
.terms-reservations__marker span,
.terms-framework__number span,
.terms-availability__number span {
  color: var(--color-muted-ash);
}

.terms-access__marker span::before,
.terms-reservations__marker span::before,
.terms-framework__number span::before,
.terms-availability__number span::before {
  width: 1.25rem;
  height: 1px;
  background: var(--color-signal-red);
  content: "";
}

.terms-access__clause h3 {
  margin-top: var(--space-3);
}

.terms-access__list {
  margin-bottom: var(--space-4);
  padding: 0;
  list-style: none;
  border-top: var(--border-default);
}

.terms-access__list li {
  border-bottom: var(--border-default);
  color: var(--color-muted-ash);
  padding: var(--space-3) 0 var(--space-3) var(--space-4);
  position: relative;
}

.terms-access__list li::before {
  position: absolute;
  top: 1.1rem;
  left: 0;
  width: 0.35rem;
  height: 1px;
  background: var(--color-signal-red);
  content: "";
}

.terms-reservations {
  border-top: var(--border-default);
}

.terms-reservations__panel {
  display: grid;
  grid-template-columns: minmax(8rem, 10rem) minmax(0, 1fr);
  gap: var(--space-5);
  width: 100%;
  padding: var(--space-6);
}

.terms-reservations__panel--one {
  grid-column: 2 / span 7;
  margin-top: var(--space-7);
  border: var(--border-default);
  background: var(--color-near-black);
}

.terms-reservations__panel--two {
  grid-column: 5 / span 6;
  margin-top: var(--space-6);
  border-top: var(--border-default);
  border-bottom: var(--border-default);
}

.terms-reservations__panel--three {
  grid-column: 3 / span 8;
  margin-top: var(--space-6);
  border: var(--border-default);
  background: var(--color-near-black);
}

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

.terms-reservations__heading {
  grid-column: 1 / -1;
}

.terms-reservations__copy {
  width: 100%;
  max-width: 43.125rem;
}

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

.terms-content {
  border-top: var(--border-default);
}

.terms-content__layout {
  display: grid;
  grid-template-columns: minmax(8rem, 2fr) minmax(0, 8fr);
  gap: var(--space-6);
  align-items: start;
  width: min(100%, 75rem);
}

.terms-content__rail {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
  color: var(--color-muted-ash);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.terms-content__body {
  width: 100%;
}

.terms-content__clause {
  display: grid;
  grid-template-columns: minmax(4.5rem, 6rem) minmax(0, 45rem);
  gap: var(--space-4);
  width: 100%;
  border-top: var(--border-default);
  padding-top: var(--space-5);
}

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

.terms-content__number {
  color: var(--color-signal-red);
}

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

.terms-content__clause--inset {
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-5);
}

.terms-content__outgoing {
  color: var(--color-signal-red);
}

.terms-availability {
  border-top: var(--border-default);
}

.terms-availability__wrap {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  align-items: center;
}

.terms-availability__heading {
  align-self: flex-start;
}

.terms-availability__sequence {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  width: 100%;
  max-width: 48.125rem;
}

.terms-availability__clause {
  display: grid;
  grid-template-columns: 5.625rem minmax(0, 42.5rem);
  gap: var(--space-4);
  width: 100%;
  border-top: var(--border-default);
  padding-top: var(--space-5);
}

.terms-availability__number {
  color: var(--color-signal-red);
}

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

.terms-availability__clause--band {
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-5);
}

.terms-availability__clause--safeguard {
  border: var(--border-emphasis);
  padding: var(--space-5);
}

.terms-framework {
  border-top: var(--border-default);
}

.terms-framework > .container {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  column-gap: var(--space-4);
}

.terms-framework__primary {
  grid-column: 2 / span 8;
  width: 100%;
  max-width: 43.75rem;
}

.terms-framework__clause {
  width: 100%;
  border-top: var(--border-default);
  padding-top: var(--space-5);
}

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

.terms-framework__number {
  color: var(--color-signal-red);
  margin-bottom: var(--space-3);
}

.terms-framework__clause h3,
.terms-framework__jurisdiction h3 {
  font-size: clamp(1.75rem, 3vw, 2.25rem);
}

.terms-framework__jurisdiction {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(7rem, 10rem) minmax(0, 43.75rem);
  justify-content: center;
  gap: var(--space-5);
  width: 100%;
  margin-top: var(--space-7);
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-6);
}

.terms-framework__jurisdiction-copy {
  width: 100%;
  max-width: 43.75rem;
}

.terms-contact {
  border-top: var(--border-default);
}

.terms-contact__panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  width: 100%;
  max-width: 53.75rem;
  margin-inline: auto;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-7);
}

.terms-contact__heading {
  width: 100%;
  max-width: 40rem;
}

.terms-contact__heading p:last-child {
  margin-bottom: 0;
}

.terms-contact__details {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  margin: 0;
  border-top: var(--border-default);
}

.terms-contact__details > div {
  display: grid;
  grid-template-columns: 10rem minmax(0, 1fr);
  gap: var(--space-4);
  width: 100%;
  border-bottom: var(--border-default);
  padding-block: var(--space-4);
}

.terms-contact__details dt {
  color: var(--color-muted-ash);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.terms-contact__details dd {
  margin: 0;
  color: var(--color-cold-ash);
  overflow-wrap: anywhere;
}

.terms-contact__details a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  color: var(--color-cold-ash);
}

.terms-contact__closing {
  width: 100%;
  max-width: 40rem;
  border-top: var(--border-default);
  padding-top: var(--space-4);
}

.terms-contact__closing p {
  margin-bottom: 0;
}

.terms-page .terms-targeted {
  outline: var(--focus-outline);
  outline-offset: var(--focus-offset);
}

@media (max-width: 61.25rem) {
  .terms-reservations > .container {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
  }

  .terms-reservations__panel--one,
  .terms-reservations__panel--two,
  .terms-reservations__panel--three {
    width: 100%;
    margin-top: 0;
  }

  .terms-reservations__heading {
    margin-bottom: var(--space-2);
  }
}

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

  .terms-map__note {
    grid-column: 1 / -1;
  }

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

  .terms-access__rail {
    flex-direction: row;
    align-items: center;
  }

  .terms-access__rail-line {
    width: 4rem;
    min-height: 1px;
  }

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

  .terms-content__rail {
    flex-direction: row;
    align-items: center;
  }

  .terms-framework > .container {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
  }

  .terms-framework__primary {
    max-width: none;
  }

  .terms-framework__jurisdiction {
    margin-top: 0;
  }
}

@media (max-width: 51.25rem) {
  .terms-availability__sequence {
    max-width: none;
  }

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

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

@media (max-width: 47.5rem) {
  .terms-masthead {
    padding-block: calc(var(--space-9) + var(--space-5)) var(--space-8);
  }

  .terms-masthead__grid {
    grid-template-columns: 1fr;
    row-gap: var(--space-4);
  }

  .terms-masthead__rail {
    flex-direction: row;
    align-items: center;
    padding-top: 0;
  }

  .terms-masthead__line {
    width: 4rem;
    min-height: 1px;
  }

  .terms-masthead__content {
    max-width: none;
  }

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

  .terms-map__reading {
    max-width: none;
  }

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

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

@media (max-width: 39.9375rem) {
  .terms-masthead__title {
    font-size: clamp(2.75rem, 15vw, 4.25rem);
  }

  .terms-masthead__title span:last-child {
    margin-left: var(--space-4);
  }

  .terms-masthead__meta {
    flex-direction: column;
    align-items: flex-start;
  }

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

  .terms-map__note {
    grid-column: auto;
  }

  .terms-map__index {
    grid-template-columns: 1fr;
  }

  .terms-map__index a {
    min-height: 2.75rem;
  }

  .terms-reservations__panel,
  .terms-framework__jurisdiction,
  .terms-contact__panel {
    padding: var(--space-5);
  }

  .terms-contact__details > div {
    grid-template-columns: 1fr;
    gap: var(--space-2);
  }

  .terms-contact__details a {
    min-height: 2.75rem;
  }
}

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


.dining-page {
  overflow-x: clip;
  background: var(--color-black);
}

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

.dining-page .dining-section:nth-child(even) {
  position: relative;
}

.dining-page .dining-section:nth-child(even)::before {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(90deg, transparent, rgb(230 231 228 / 0.035%), transparent);
  content: "";
  opacity: 0.45;
  pointer-events: none;
}

.dining-page .container--wide {
  width: min(100% - 2.5rem, 90rem);
  max-width: 90rem;
}

.dining-page .dining-text-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--color-cold-ash);
  font-size: var(--text-utility);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-decoration-thickness: 1px;
  text-transform: uppercase;
}

.dining-page .dining-text-link::after {
  width: 1rem;
  height: 1px;
  margin-inline-start: var(--space-2);
  background: var(--color-signal-red);
  content: "";
  transition: width var(--transition-fast);
}

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

.dining-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
  align-items: start;
  gap: var(--space-4);
}

.dining-hero__copy {
  grid-column: 1 / span 5;
  min-width: 0;
  padding-block-start: var(--space-6);
}

.dining-hero__title {
  margin-block-end: var(--space-5);
  font-size: clamp(4.5rem, 8vw, 7.5rem);
  font-weight: 900;
  line-height: 0.82;
}

.dining-hero__title span,
.dining-closing__statement h2 span {
  color: var(--color-signal-red);
}

.dining-hero__title:focus-visible,
.dining-hero__title:hover {
  text-shadow: 2px 0 var(--color-signal-red), -1px 0 var(--color-cold-ash);
}

.dining-hero__lead {
  max-width: 56ch;
  color: var(--color-cold-ash);
  font-size: var(--text-lead);
  line-height: var(--leading-relaxed);
}

.dining-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  min-width: 0;
  margin-block-start: var(--space-5);
}

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

.dining-hero__microcopy {
  flex-basis: 100%;
  max-width: 34ch;
  margin: 0;
  font-size: var(--text-utility);
}

.dining-hero__media {
  grid-column: 7 / span 6;
  width: 100%;
  min-width: 0;
  margin: var(--space-7) 0 0;
}

.dining-hero__media figcaption {
  padding: var(--space-2) var(--space-3);
}

.dining-room-pace__grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  align-items: start;
  gap: var(--space-6);
}

.dining-room-pace__panel {
  grid-column: 1;
  min-width: 0;
  border-top: 2px solid var(--color-signal-red);
  border-right: var(--border-default);
  border-bottom: var(--border-default);
  border-left: var(--border-default);
  background: var(--color-near-black);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 1rem), calc(100% - 1rem) 100%, 0 100%);
  padding: var(--space-7);
}

.dining-room-pace__panel > p:not(.eyebrow):not(.dining-room-pace__companion) {
  max-width: 66ch;
}

.dining-room-pace__companion {
  max-width: 58ch;
}

.dining-room-pace__rail {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
  border-top: var(--border-default);
  border-bottom: var(--border-default);
  padding: var(--space-5) 0;
}

.dining-room-pace__rail > * {
  min-width: 0;
  margin: 0;
}

.dining-room-pace__rail p:not(.meta) {
  max-width: 34ch;
}

.dining-architecture__heading {
  max-width: 7ch;
}

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

.dining-architecture__principles {
  grid-column: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  min-width: 0;
}

.dining-principle {
  min-width: 0;
  border-left: var(--border-default);
  padding: var(--space-4) 0 var(--space-4) var(--space-5);
}

.dining-principle__index {
  margin-block-end: var(--space-2);
  color: var(--color-signal-red);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.dining-principle p:last-child {
  max-width: 54ch;
  margin-block-end: 0;
}

.dining-principle:hover .dining-principle__index,
.dining-principle:focus-within .dining-principle__index {
  color: var(--color-cold-ash);
}

.dining-architecture__media {
  grid-column: 2;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.dining-architecture__annotation {
  position: absolute;
  right: 0;
  bottom: var(--space-5);
  border-left: 2px solid var(--color-signal-red);
  background: var(--color-black);
  color: var(--color-cold-ash);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.08em;
  padding: var(--space-2) var(--space-3);
}

.dining-architecture__route {
  max-width: 42ch;
  margin: var(--space-5) 0 0 auto;
}

.dining-movements__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 4fr);
  align-items: end;
  gap: var(--space-4);
}

.dining-movement-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-6);
  transition: border-color var(--transition-fast);
}

.dining-movement-card > * {
  min-width: 0;
}

.dining-movement-card:hover,
.dining-movement-card:focus-within {
  border-color: var(--color-cold-ash);
}

.dining-movement-card p:not(.meta) {
  max-width: 46ch;
}

.dining-movement-card--arrival { grid-column: 1; }
.dining-movement-card--centre {
  grid-column: 2;
  border-top: 2px solid var(--color-signal-red);
  transform: translateY(-1.5rem);
}
.dining-movement-card--after { grid-column: 3; }

.dining-movement-card__links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
  min-width: 0;
  margin-block-start: auto;
}

.dining-evidence__wrap {
  position: relative;
}

.dining-evidence__media {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.dining-evidence__copy {
  position: absolute;
  z-index: 1;
  bottom: 8rem;
  left: var(--space-6);
  width: min(33.333%, 28rem);
  min-width: 0;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-6);
}

.dining-evidence__copy p:last-child {
  max-width: 52ch;
  margin-block-end: 0;
}

.dining-evidence__caption {
  display: block;
  width: 100%;
  margin: 0;
  border-right: var(--border-default);
  border-bottom: var(--border-default);
  border-left: var(--border-default);
  background: var(--color-near-black);
  color: var(--color-muted-ash);
  font-size: var(--text-meta);
  line-height: 1.5;
  padding: var(--space-3) var(--space-4);
}

.dining-evidence__caption span {
  margin-inline-end: var(--space-3);
  color: var(--color-signal-red);
  font-weight: 600;
  letter-spacing: 0.1em;
}

.dining-evidence__notes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  min-width: 0;
  margin-block-start: var(--space-5);
}

.dining-evidence__notes > article {
  min-width: 0;
  border-top: var(--border-default);
  border-bottom: var(--border-default);
  padding: var(--space-4) 0;
}

.dining-evidence__notes h3 {
  margin-block-end: var(--space-2);
  font-size: var(--text-label);
}

.dining-evidence__notes p {
  max-width: 38ch;
  margin-block-end: 0;
}

.dining-selections__intro {
  width: 50%;
  min-width: 0;
  border-left: 2px solid var(--color-signal-red);
  padding-left: var(--space-5);
}

.dining-selections__intro p {
  max-width: 63ch;
  margin-block-end: 0;
}

.dining-selections__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
  min-width: 0;
  margin-block-start: var(--space-7);
}

.dining-selection-lens {
  min-width: 0;
  border-top: var(--border-default);
  border-bottom: var(--border-default);
  padding: var(--space-5) 0;
}

.dining-selection-lens--raised {
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-5);
}

.dining-selection-lens h3 {
  font-size: var(--text-label);
}

.dining-selection-lens p {
  max-width: 49ch;
  margin-block-end: 0;
}

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

.dining-groups__narrative {
  position: relative;
  grid-column: 1;
  min-width: 0;
}

.dining-groups__narrative > p:last-child {
  max-width: 67ch;
}

.dining-groups__index {
  position: absolute;
  top: 2rem;
  left: -2.8rem;
  color: var(--color-signal-red);
  font-family: var(--font-heading);
  font-size: clamp(3rem, 7vw, 6rem);
  font-weight: 900;
  line-height: 1;
}

.dining-groups__panels {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
}

.dining-planning-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-6);
}

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

.dining-planning-panel p {
  max-width: 45ch;
}

.dining-planning-panel .button {
  width: fit-content;
}

.dining-faq__list {
  border-top: var(--border-default);
}

.dining-faq__row {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--space-6);
  min-width: 0;
  border-bottom: var(--border-default);
  padding-block: var(--space-5);
}

.dining-faq__question,
.dining-faq__answer {
  min-width: 0;
}

.dining-faq__question {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}

.dining-faq__question span {
  color: var(--color-signal-red);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.08em;
}

.dining-faq__question h3 {
  margin: 0;
  font-size: var(--text-heading-sm);
}

.dining-faq__answer p {
  max-width: 65ch;
}

.dining-faq__answer p:last-child {
  margin-block-end: 0;
}

.dining-faq__answer address {
  max-width: 60ch;
  margin: 0 0 var(--space-3);
  border-left: 2px solid var(--color-signal-red);
  background: var(--color-near-black);
  color: var(--color-cold-ash);
  font-style: normal;
  padding: var(--space-3) var(--space-4);
}

.dining-closing__wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-6);
  min-width: 0;
}

.dining-closing__statement {
  width: 50%;
  min-width: 0;
  margin-inline: auto;
  text-align: center;
}

.dining-closing__statement .eyebrow {
  justify-content: center;
}

.dining-closing__statement p:last-child {
  max-width: 50ch;
  margin-inline: auto;
}

.dining-closing__action {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  width: 58.333%;
  min-width: 0;
  border: var(--border-default);
  background: var(--color-near-black);
  clip-path: polygon(0 0, calc(100% - 1rem) 0, 100% 1rem, 100% 100%, 0 100%);
  padding: var(--space-6);
}

.dining-closing__action > * {
  min-width: 0;
  margin: 0;
}

.dining-closing__action > p {
  max-width: 34ch;
}

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

.dining-closing__routes > * {
  min-width: 0;
}

@media (max-width: 68.75rem) {
  .dining-hero__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dining-hero__media {
    grid-column: 1 / -1;
    grid-row: 1;
    margin: 0;
  }

  .dining-hero__copy {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .dining-hero__lead {
    max-width: 62ch;
  }

  .dining-architecture__grid {
    grid-template-columns: 1fr;
  }

  .dining-architecture__media {
    grid-column: 1;
    grid-row: 1;
    max-width: 34rem;
  }

  .dining-architecture__principles {
    grid-column: 1;
    grid-row: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dining-principle:nth-child(3) {
    grid-column: 1 / -1;
  }

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

@media (max-width: 64rem) {
  .dining-movements__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dining-movement-card--arrival { grid-column: 1; }
  .dining-movement-card--centre {
    grid-column: 2;
    transform: none;
  }
  .dining-movement-card--after { grid-column: 1 / -1; }
}

@media (max-width: 56.25rem) {
  .dining-page .dining-section {
    padding-block: clamp(4.5rem, 9vw, 6rem);
  }

  .dining-room-pace__grid,
  .dining-groups__grid {
    grid-template-columns: 1fr;
  }

  .dining-room-pace__panel,
  .dining-room-pace__rail,
  .dining-groups__narrative,
  .dining-groups__panels {
    grid-column: 1;
  }

  .dining-room-pace__rail {
    width: 100%;
  }

  .dining-evidence__copy {
    position: static;
    width: 100%;
    margin-block-end: var(--space-4);
  }

  .dining-groups__panels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .dining-closing__statement,
  .dining-closing__action {
    width: min(100%, 46rem);
  }
}

@media (max-width: 43.75rem) {
  .dining-architecture__principles {
    grid-template-columns: 1fr;
  }

  .dining-principle:nth-child(3) {
    grid-column: 1;
  }

  .dining-evidence__notes {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 39.9375rem) {
  .dining-page .container--wide {
    width: calc(100% - 2rem);
  }

  .dining-page .dining-section {
    padding-block: clamp(3.5rem, 10vw, 4rem);
  }

  .dining-hero__copy {
    padding-block-start: 0;
  }

  .dining-hero__title {
    font-size: clamp(2.75rem, 15vw, 5rem);
  }

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

  .dining-hero__actions .button,
  .dining-hero__actions .dining-text-link {
    width: 100%;
  }

  .dining-room-pace__panel,
  .dining-movement-card,
  .dining-planning-panel,
  .dining-evidence__copy,
  .dining-closing__action {
    padding: var(--space-5);
  }

  .dining-room-pace__panel blockquote {
    font-size: clamp(2.25rem, 12vw, 3.4rem);
  }

  .dining-movements__grid,
  .dining-selections__grid,
  .dining-groups__panels {
    grid-template-columns: 1fr;
  }

  .dining-movement-card--arrival,
  .dining-movement-card--centre,
  .dining-movement-card--after {
    grid-column: 1;
  }

  .dining-movement-card--centre {
    transform: none;
  }

  .dining-selections__intro,
  .dining-closing__statement,
  .dining-closing__action {
    width: 100%;
  }

  .dining-selections__grid {
    gap: var(--space-4);
    margin-block-start: var(--space-5);
  }

  .dining-selection-lens {
    padding: var(--space-5);
    border: var(--border-default);
  }

  .dining-groups__index {
    position: static;
    margin: 0 0 var(--space-3);
  }

  .dining-planning-panel .button {
    width: 100%;
  }

  .dining-closing__statement {
    text-align: left;
  }

  .dining-closing__statement .eyebrow {
    justify-content: flex-start;
  }

  .dining-closing__statement p:last-child {
    margin-inline: 0;
  }

  .dining-closing__routes {
    flex-direction: column;
    align-items: stretch;
  }

  .dining-closing__routes .dining-text-link {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dining-page .dining-text-link::after,
  .dining-page .dining-hero__title,
  .dining-page .dining-movement-card {
    transition: none;
  }

  .dining-page .dining-hero__title:focus-visible,
  .dining-page .dining-hero__title:hover {
    text-shadow: none;
  }
}


.card-room-page {
  overflow-x: hidden;
  background: var(--color-black);
}

.card-room-page * { min-width: 0; }
.card-room-page a:focus-visible,
.card-room-page button:focus-visible { outline: var(--focus-outline); outline-offset: var(--focus-offset); }

.cr-shell { width: min(100% - 2.5rem, var(--container-max)); margin-inline: auto; }
.cr-hero { padding-block: calc(var(--space-10) + var(--space-5)) var(--space-9); }
.cr-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: var(--space-6); }
.cr-hero__copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); width: 100%; }
.cr-hero__copy > * { margin: 0; }
.cr-hero h1 { max-width: 11ch; font-size: clamp(3.5rem, 7vw, 6.5rem); }
.cr-hero h1 span { color: var(--color-signal-red); display: inline-block; }
.cr-hero__lead { max-width: 58ch; color: var(--color-cold-ash); font-size: var(--text-lead); line-height: var(--leading-relaxed); }
.cr-hero__actions { width: 100%; }
.cr-hero__media { width: 100%; max-width: none; margin: 0; }
.cr-hero__media figcaption, .cr-blackjack__media figcaption, .cr-private__media figcaption { display: flex; gap: var(--space-2); margin: 0; padding: var(--space-3) var(--space-4); background: var(--color-near-black); color: var(--color-muted-ash); }
.cr-hero__media figcaption span, .cr-blackjack__media figcaption span, .cr-private__media figcaption span, .cr-materials figcaption span { color: var(--color-signal-red); font-weight: 600; }

.cr-room__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 4fr); align-items: end; gap: var(--space-6); }
.cr-room__rail { width: 100%; border-inline-start: var(--border-default); padding-inline-start: var(--space-4); }
.cr-room__rail p:last-child { max-width: 42ch; }
.cr-room__statement { width: 100%; }
.cr-room__statement p:last-child { max-width: 64ch; }
.cr-room__panel { display: flex; flex-direction: column; gap: var(--space-3); width: 100%; border: var(--border-default); background: var(--color-near-black); padding: var(--space-6); }
.cr-room__panel > * { margin: 0; }
.cr-room__panel .meta span { color: var(--color-signal-red); }
.cr-room__panel p:not(.meta) { max-width: 56ch; }
.cr-room__panel a, .cr-blackjack__note a, .cr-poker__cues a, .cr-guidance__panels a, .cr-routes__grid a { color: var(--color-cold-ash); text-decoration-color: var(--color-signal-red); }

.cr-roulette__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); align-items: start; gap: var(--space-6); }
.cr-roulette__copy { width: 100%; }
.cr-roulette__copy p:last-child { max-width: 58ch; }
.cr-roulette__media { width: 100%; margin: var(--space-8) 0 0; }
.cr-roulette__caption { width: min(60%, 32rem); margin: 0; padding: var(--space-4); background: var(--color-near-black); }
.cr-roulette__caption > div { display: flex; flex-direction: column; gap: var(--space-2); }
.cr-roulette__caption p, .cr-roulette__caption strong { margin: 0; }
.cr-roulette__caption p { max-width: 45ch; }
.cr-roulette__note { grid-column: 1 / 2; width: 100%; border: var(--border-default); padding: var(--space-5); }
.cr-roulette__note p:last-child { max-width: 45ch; }

.cr-blackjack__wrap { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); }
.cr-blackjack__media { grid-column: 1 / -1; width: 100%; margin: 0; }
.cr-blackjack__panel { grid-column: 1 / span 5; z-index: 1; display: flex; flex-direction: column; gap: var(--space-4); width: 100%; margin-top: calc(var(--space-8) * -1); border: var(--border-emphasis); background: var(--color-near-black); padding: var(--space-6); }
.cr-blackjack__panel > * { margin: 0; }
.cr-blackjack__panel p:last-child { max-width: 56ch; }
.cr-blackjack__notes { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); width: 100%; }
.cr-blackjack__note { display: flex; flex-direction: column; gap: var(--space-3); width: 100%; border-top: var(--border-default); padding-top: var(--space-4); }
.cr-blackjack__note > * { margin: 0; }
.cr-blackjack__note p:last-child { max-width: 38ch; }

.cr-poker__intro { display: flex; flex-direction: column; gap: var(--space-4); width: min(100%, 45rem); margin-inline: auto; }
.cr-poker__intro > * { margin: 0; }
.cr-poker__intro h2 { max-width: 19ch; }
.cr-poker__intro .lead { max-width: 60ch; }
.cr-poker__ornament { margin: var(--space-6) auto; color: var(--color-signal-red); font-size: 2rem; line-height: 1; text-align: center; }
.cr-poker__cues { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); width: 100%; border-top: var(--border-default); }
.cr-poker__cues article { display: flex; flex-direction: column; gap: var(--space-3); width: 100%; border-inline-start: var(--border-default); padding: var(--space-4) 0 var(--space-4) var(--space-4); }
.cr-poker__cues article > * { margin: 0; }
.cr-poker__cues article p:last-child { max-width: 40ch; }

.cr-materials__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; gap: var(--space-6); }
.cr-materials__square { grid-column: 1 / span 5; width: 100%; margin: 0; }
.cr-materials__portrait { grid-column: 6 / span 3; width: 100%; margin: var(--space-8) 0 0; }
.cr-materials__panel { grid-column: 9 / span 4; display: flex; flex-direction: column; gap: var(--space-4); width: 100%; border: var(--border-default); background: var(--color-near-black); padding: var(--space-6); }
.cr-materials__panel > * { margin: 0; }
.cr-materials__panel p:last-child { max-width: 54ch; }
.cr-materials figcaption { display: flex; gap: var(--space-2); margin: 0; padding-top: var(--space-2); }

.cr-guidance__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; gap: var(--space-6); }
.cr-guidance__intro { width: 100%; }
.cr-guidance__intro p:last-child { max-width: 66ch; }
.cr-guidance__panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); width: 100%; }
.cr-guidance__panels article { display: flex; flex-direction: column; gap: var(--space-3); width: 100%; border: var(--border-default); background: var(--color-near-black); padding: var(--space-5); }
.cr-guidance__panels article:nth-child(2) { margin-top: var(--space-5); }
.cr-guidance__panels article:nth-child(3) { grid-column: 1 / -1; }
.cr-guidance__panels article > * { margin: 0; }
.cr-guidance__panels article p:last-child { max-width: 52ch; }
.cr-guidance__panels a { display: inline-block; padding-block: var(--space-2); }

.cr-private__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: var(--space-6); }
.cr-private__copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); width: 100%; }
.cr-private__copy > * { margin: 0; }
.cr-private__copy h2 { max-width: 16ch; }
.cr-private__copy > .lead { max-width: 58ch; }
.cr-private__media { width: 100%; margin: var(--space-6) 0 0; }
.cr-private__cta { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); width: 100%; border-inline-start: 2px solid var(--color-signal-red); padding-inline-start: var(--space-4); }
.cr-private__cta p { max-width: 45ch; margin: 0; }

.cr-routes__closing { display: flex; flex-direction: column; gap: var(--space-4); width: min(100%, 45rem); margin-inline: auto; }
.cr-routes__closing > * { margin: 0; }
.cr-routes__closing h2 { max-width: 18ch; }
.cr-routes__closing p:last-child { max-width: 58ch; }
.cr-routes__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); width: 100%; margin-top: var(--space-7); }
.cr-routes__grid article { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); width: 100%; border: var(--border-default); background: var(--color-near-black); padding: var(--space-5); }
.cr-routes__grid article > * { margin: 0; }
.cr-routes__grid article p { max-width: 40ch; }
.cr-routes__grid a { display: inline-flex; align-items: center; min-height: 44px; padding-block: var(--space-2); }
.cr-routes__grid a span { margin-inline-start: var(--space-2); transition: transform var(--transition-base); }

@media (prefers-reduced-motion: no-preference) {
  .cr-hero h1:hover span { text-shadow: 2px 0 var(--color-cold-ash), -2px 0 var(--color-signal-red-deep); }
  .cr-room__panel:hover { border-color: var(--color-cold-ash); }
  .cr-blackjack__note:hover { border-top-color: var(--color-signal-red); }
  .cr-routes__grid a:hover span { transform: translateX(2px); }
}

@media (max-width: 65rem) {
  .cr-poker__cues { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 61.25rem) {
  .cr-room__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cr-room__statement { grid-column: 1 / -1; grid-row: 1; max-width: 52rem; }
  .cr-room__rail { grid-column: 1; grid-row: 2; }
  .cr-room__panel { grid-column: 2; grid-row: 2; }
}

@media (max-width: 60rem) {
  .cr-materials__panel { grid-column: 1 / -1; grid-row: 2; }
}

@media (max-width: 57.5rem) {
  .cr-hero__grid, .cr-roulette__grid, .cr-private__grid, .cr-guidance__grid { grid-template-columns: 1fr; }
  .cr-hero__media, .cr-roulette__media, .cr-private__media { margin-top: 0; }
  .cr-roulette__copy, .cr-private__copy { max-width: 45rem; }
  .cr-roulette__note { grid-column: 1; }
  .cr-blackjack__panel { grid-column: 1 / span 7; }
  .cr-blackjack__notes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cr-blackjack__note:nth-child(3) { grid-column: 1 / -1; }
  .cr-guidance__intro { max-width: 52rem; }
}

@media (max-width: 53.75rem) {
  .cr-routes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cr-routes__grid article:nth-child(3) { grid-column: 1 / -1; }
}

@media (max-width: 39.9375rem) {
  .cr-shell { width: calc(100% - 2rem); }
  .cr-hero { padding-block: var(--space-9) var(--space-7); }
  .cr-hero__grid, .cr-room__grid, .cr-roulette__grid, .cr-private__grid, .cr-guidance__grid { gap: var(--space-5); }
  .cr-hero__copy { gap: var(--space-4); }
  .cr-hero h1 { max-width: 10ch; }
  .cr-hero__lead { font-size: 1rem; }
  .cr-room__grid { grid-template-columns: 1fr; }
  .cr-room__statement, .cr-room__rail, .cr-room__panel { grid-column: 1; grid-row: auto; }
  .cr-room__panel, .cr-materials__panel, .cr-guidance__panels article, .cr-routes__grid article, .cr-blackjack__panel { padding: var(--space-5); }
  .cr-roulette__caption { width: 100%; padding: var(--space-4); }
  .cr-blackjack__wrap { display: flex; flex-direction: column; gap: var(--space-5); }
  .cr-blackjack__media, .cr-blackjack__panel, .cr-blackjack__notes { width: 100%; }
  .cr-blackjack__panel { margin-top: 0; }
  .cr-blackjack__notes, .cr-poker__cues, .cr-guidance__panels, .cr-routes__grid { grid-template-columns: 1fr; }
  .cr-blackjack__note:nth-child(3), .cr-guidance__panels article:nth-child(3), .cr-routes__grid article:nth-child(3) { grid-column: auto; }
  .cr-poker__cues article { border-inline-start: 0; border-top: var(--border-default); padding-inline-start: 0; }
  .cr-materials__grid { display: flex; flex-direction: column; gap: var(--space-5); }
  .cr-materials__square, .cr-materials__portrait, .cr-materials__panel { width: 100%; margin: 0; }
  .cr-guidance__panels article:nth-child(2) { margin-top: 0; }
  .cr-private__copy { gap: var(--space-4); }
  .cr-private__media { margin: 0; }
  .cr-private__cta { align-items: stretch; }
  .cr-routes__grid { margin-top: var(--space-6); }
}


.gallery-page {
  overflow-x: hidden;
  background: var(--color-black);
}

.gallery-page__wide {
  width: min(100% - 2.5rem, 90rem);
  margin-inline: auto;
}

.gallery-page .section {
  position: relative;
}

.gallery-page figure,
.gallery-page h1,
.gallery-page h2,
.gallery-page h3,
.gallery-page p,
.gallery-page ol {
  min-width: 0;
}

.gallery-page .media-frame {
  width: 100%;
}

.gallery-page .media-frame::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image: radial-gradient(rgb(244 244 240 / 0.05) 0.55px, transparent 0.7px);
  background-size: 4px 4px;
  content: "";
  opacity: 0.55;
}

.gallery-page .media-frame img {
  width: 100%;
  max-width: 100%;
  height: 100%;
}

.gallery-caption {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3);
  width: 100%;
  max-width: 100%;
  margin: 0;
  border: var(--border-default);
  border-top: 0;
  background: var(--color-near-black);
  color: var(--color-muted-ash);
  font-size: var(--text-meta);
  line-height: 1.5;
  overflow-wrap: anywhere;
  padding: var(--space-3) var(--space-4);
}

.gallery-caption__index {
  color: var(--color-cold-ash);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.gallery-entry {
  padding-top: calc(var(--space-10) + var(--space-5));
}

.gallery-entry__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
}

.gallery-entry__copy {
  display: flex;
  grid-column: 1 / span 5;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
  padding-top: var(--space-6);
}

.gallery-entry__copy .eyebrow,
.gallery-entry__copy h1,
.gallery-entry__copy p {
  margin: 0;
}

.gallery-entry__title {
  width: min(100%, 19ch);
  font-size: clamp(4rem, 8vw, 7.75rem);
  line-height: 0.84;
}

.gallery-entry__title > span {
  display: block;
}

.gallery-entry__record {
  position: relative;
  isolation: isolate;
}

.gallery-entry__record::before {
  position: absolute;
  z-index: -1;
  top: 48%;
  left: -0.06em;
  width: 1.15em;
  height: 0.08em;
  background: var(--color-signal-red);
  content: "";
  transform: skewX(-28deg);
}

.gallery-entry__lead {
  width: min(100%, 56ch);
  color: var(--color-cold-ash);
  font-size: var(--text-lead);
  line-height: var(--leading-relaxed);
}

.gallery-entry__figure {
  grid-column: 6 / -1;
  width: 100%;
  min-width: 0;
  margin: var(--space-7) 0 0;
}

.gallery-entry__media {
  aspect-ratio: 16 / 9;
}

.gallery-ledger__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
}

.gallery-ledger__intro {
  grid-column: 1 / span 3;
  min-width: 0;
}

.gallery-ledger__intro .eyebrow,
.gallery-ledger__intro h2 {
  margin: 0;
}

.gallery-ledger__intro h2 {
  margin-top: var(--space-3);
}

.gallery-ledger__notes {
  display: grid;
  grid-column: 4 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gallery-ledger__note {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-5);
}

.gallery-ledger__note p,
.gallery-ledger__note h3 {
  margin: 0;
}

.gallery-ledger__note h3 {
  font-size: clamp(1.65rem, 2.3vw, 2.15rem);
}

.gallery-ledger__note > p:last-child {
  width: min(100%, 44ch);
}

.gallery-ledger__number,
.gallery-dining__annotation-label,
.gallery-observations__label {
  color: var(--color-cold-ash);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.09em;
  line-height: 1.3;
  text-transform: uppercase;
}

.gallery-room__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: min(100%, 62ch);
  min-width: 0;
}

.gallery-room__intro .eyebrow,
.gallery-room__intro h2,
.gallery-room__intro p {
  margin: 0;
}

.gallery-room__media-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: start;
  margin-top: var(--space-7);
}

.gallery-room__wide-frame {
  grid-column: 3 / span 8;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.gallery-room__detail-frame {
  grid-column: 11 / -1;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.gallery-dining__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
}

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

.gallery-dining__media {
  aspect-ratio: 16 / 10;
}

.gallery-dining__copy {
  display: flex;
  grid-column: 8 / -1;
  flex-direction: column;
  gap: var(--space-5);
  min-width: 0;
  padding-top: var(--space-7);
}

.gallery-dining__panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-6);
}

.gallery-dining__panel::before,
.gallery-closing__callout::before {
  position: absolute;
  top: -1px;
  left: -1px;
  width: 18px;
  height: 18px;
  border-right: 1px solid var(--color-graphite);
  border-bottom: 1px solid var(--color-graphite);
  background: var(--color-black);
  content: "";
}

.gallery-dining__panel {
  position: relative;
}

.gallery-dining__panel .eyebrow,
.gallery-dining__panel h2,
.gallery-dining__panel p,
.gallery-dining__annotation p {
  margin: 0;
}

.gallery-dining__panel > p:last-child {
  width: min(100%, 56ch);
}

.gallery-dining__annotation {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: min(100%, 34ch);
  min-width: 0;
  border-left: 1px solid var(--color-signal-red);
  padding-left: var(--space-4);
}

.gallery-dining__annotation > p:last-child {
  width: min(100%, 34ch);
}

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

.gallery-card-room__intro {
  display: flex;
  grid-column: 1 / span 3;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
}

.gallery-card-room__intro .eyebrow,
.gallery-card-room__intro h2,
.gallery-card-room__intro p {
  margin: 0;
}

.gallery-card-room__intro > p:last-child {
  width: min(100%, 48ch);
}

.gallery-card-room__frames {
  display: grid;
  grid-column: 4 / -1;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: start;
  min-width: 0;
}

.gallery-card-room__frames figure {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.gallery-card-room__frame-a {
  grid-column: 1 / span 6;
}

.gallery-card-room__frame-b {
  grid-column: 7 / -1;
  margin-top: var(--space-7) !important;
}

.gallery-card-room__frame-c {
  grid-column: 7 / -1;
}

.gallery-studies > .eyebrow,
.gallery-studies > h2 {
  margin: 0;
}

.gallery-studies > h2 {
  margin-top: var(--space-3);
}

.gallery-studies__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
  margin-top: var(--space-7);
}

.gallery-studies__roulette {
  display: flex;
  grid-column: 1 / span 7;
  flex-direction: column;
  gap: var(--space-5);
  min-width: 0;
}

.gallery-studies__blackjack {
  display: flex;
  grid-column: 9 / -1;
  flex-direction: column;
  gap: var(--space-5);
  min-width: 0;
}

.gallery-studies__roulette figure,
.gallery-studies__blackjack figure {
  width: 100%;
  min-width: 0;
  margin: 0;
}

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

.gallery-studies__copy h3,
.gallery-studies__copy p {
  margin: 0;
}

.gallery-studies__copy p {
  width: min(100%, 46ch);
}

.gallery-studies__shared-note {
  width: min(100%, 66ch);
  margin: var(--space-7) auto 0;
  border-left: 1px solid var(--color-signal-red);
  color: var(--color-cold-ash);
  padding-left: var(--space-4);
}

.gallery-negative__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: end;
}

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

.gallery-negative__panel {
  display: flex;
  grid-column: 8 / span 4;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-6);
}

.gallery-negative__panel .eyebrow,
.gallery-negative__panel h2,
.gallery-negative__panel p {
  margin: 0;
}

.gallery-negative__panel p:last-child {
  width: min(100%, 52ch);
}

.gallery-observations__heading {
  width: min(100%, 54ch);
}

.gallery-observations__heading .eyebrow,
.gallery-observations__heading h2 {
  margin: 0;
}

.gallery-observations__heading h2 {
  margin-top: var(--space-3);
}

.gallery-observations__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
  margin-top: var(--space-7);
}

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

.gallery-observations__item h3,
.gallery-observations__item p {
  margin: 0;
}

.gallery-observations__item h3 {
  font-size: clamp(1.75rem, 2.8vw, 2.3rem);
}

.gallery-observations__item--one {
  grid-column: 1 / span 4;
}

.gallery-observations__item--two {
  grid-column: 5 / span 4;
  margin-top: var(--space-7);
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-6);
}

.gallery-observations__item--three {
  grid-column: 9 / -1;
  border-bottom: 1px solid var(--color-signal-red);
  padding-bottom: var(--space-4);
}

.gallery-observations__item--one > p:last-child {
  width: min(100%, 52ch);
}

.gallery-observations__item--two > p:last-child {
  width: min(100%, 46ch);
}

.gallery-observations__item--three > p:last-child {
  width: min(100%, 60ch);
}

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

.gallery-closing__callout {
  position: relative;
  display: flex;
  grid-column: 3 / span 6;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
  border: var(--border-default);
  border-left: 2px solid var(--color-signal-red);
  background: var(--color-near-black);
  padding: var(--space-6);
}

.gallery-closing__callout .eyebrow,
.gallery-closing__callout h2,
.gallery-closing__callout p {
  margin: 0;
}

.gallery-closing__callout > p {
  width: min(100%, 54ch);
}

.gallery-closing__action {
  align-self: flex-start;
}

@media (max-width: 74.9375rem) {
  .gallery-entry__grid,
  .gallery-dining__grid,
  .gallery-studies__grid,
  .gallery-negative__grid {
    gap: var(--space-5);
  }

  .gallery-entry__copy {
    grid-column: 1 / span 6;
  }

  .gallery-entry__figure {
    grid-column: 7 / -1;
  }

  .gallery-room__wide-frame {
    grid-column: 1 / span 8;
  }

  .gallery-room__detail-frame {
    grid-column: 9 / -1;
  }

  .gallery-dining__figure {
    grid-column: 1 / span 7;
  }

  .gallery-dining__copy {
    grid-column: 8 / -1;
    padding-top: var(--space-5);
  }

  .gallery-card-room__intro {
    grid-column: 1 / span 4;
  }

  .gallery-card-room__frames {
    grid-column: 5 / -1;
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .gallery-card-room__frame-a {
    grid-column: 1 / span 5;
  }

  .gallery-card-room__frame-b,
  .gallery-card-room__frame-c {
    grid-column: 6 / -1;
  }

  .gallery-studies__roulette {
    grid-column: 1 / span 7;
  }

  .gallery-studies__blackjack {
    grid-column: 8 / -1;
  }

  .gallery-negative__panel {
    grid-column: 8 / -1;
  }

  .gallery-observations__grid {
    gap: var(--space-4);
  }
}

@media (max-width: 63.6875rem) {
  .gallery-entry__grid,
  .gallery-ledger__grid,
  .gallery-room__media-grid,
  .gallery-dining__grid,
  .gallery-card-room__grid,
  .gallery-studies__grid,
  .gallery-negative__grid,
  .gallery-observations__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gallery-entry__copy,
  .gallery-entry__figure,
  .gallery-ledger__intro,
  .gallery-ledger__notes,
  .gallery-room__intro,
  .gallery-room__wide-frame,
  .gallery-dining__figure,
  .gallery-dining__copy,
  .gallery-card-room__intro,
  .gallery-card-room__frames,
  .gallery-studies__roulette,
  .gallery-studies__blackjack,
  .gallery-negative__figure,
  .gallery-negative__panel,
  .gallery-observations__item--one,
  .gallery-observations__item--two,
  .gallery-observations__item--three {
    grid-column: auto;
  }

  .gallery-entry__copy {
    grid-column: 1 / span 2;
    padding-top: 0;
  }

  .gallery-entry__figure {
    grid-column: 1 / span 2;
    margin-top: 0;
  }

  .gallery-entry__title {
    width: min(100%, 22ch);
  }

  .gallery-ledger__intro {
    grid-column: 1 / span 2;
  }

  .gallery-ledger__notes {
    grid-column: 1 / span 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gallery-ledger__note:nth-child(3) {
    grid-column: 1 / span 2;
  }

  .gallery-room__intro {
    grid-column: 1 / span 2;
  }

  .gallery-room__wide-frame,
  .gallery-room__detail-frame {
    grid-column: auto;
  }

  .gallery-dining__figure,
  .gallery-dining__copy {
    grid-column: auto;
  }

  .gallery-dining__copy {
    padding-top: 0;
  }

  .gallery-card-room__intro,
  .gallery-card-room__frames {
    grid-column: 1 / span 2;
  }

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

  .gallery-card-room__frame-a,
  .gallery-card-room__frame-b,
  .gallery-card-room__frame-c {
    grid-column: auto;
    margin-top: 0 !important;
  }

  .gallery-card-room__frame-c {
    grid-column: 1 / span 2;
  }

  .gallery-studies__roulette,
  .gallery-studies__blackjack {
    grid-column: auto;
  }

  .gallery-negative__figure,
  .gallery-negative__panel {
    grid-column: 1 / span 2;
  }

  .gallery-negative__panel {
    width: min(100%, 70%);
    justify-self: end;
  }

  .gallery-observations__item--one,
  .gallery-observations__item--two {
    grid-column: auto;
  }

  .gallery-observations__item--three {
    grid-column: 1 / span 2;
  }

  .gallery-closing__callout {
    grid-column: 3 / span 8;
  }
}

@media (max-width: 58.6875rem) {
  .gallery-dining__grid,
  .gallery-studies__grid {
    grid-template-columns: 1fr;
  }

  .gallery-dining__figure,
  .gallery-dining__copy,
  .gallery-studies__roulette,
  .gallery-studies__blackjack {
    grid-column: 1;
  }

  .gallery-studies__blackjack {
    width: min(100%, 34rem);
  }

  .gallery-negative__grid {
    grid-template-columns: 1fr;
  }

  .gallery-negative__figure,
  .gallery-negative__panel {
    grid-column: 1;
  }

  .gallery-negative__panel {
    width: min(100%, 70%);
  }

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

@media (max-width: 39.9375rem) {
  .gallery-page__wide {
    width: calc(100% - 2rem);
  }

  .gallery-entry {
    padding-top: var(--space-9);
  }

  .gallery-entry__grid,
  .gallery-ledger__grid,
  .gallery-room__media-grid,
  .gallery-card-room__grid,
  .gallery-card-room__frames,
  .gallery-observations__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .gallery-entry__copy,
  .gallery-entry__figure,
  .gallery-ledger__intro,
  .gallery-ledger__notes,
  .gallery-room__intro,
  .gallery-room__wide-frame,
  .gallery-room__detail-frame,
  .gallery-card-room__intro,
  .gallery-card-room__frames,
  .gallery-card-room__frame-a,
  .gallery-card-room__frame-b,
  .gallery-card-room__frame-c,
  .gallery-observations__item--one,
  .gallery-observations__item--two,
  .gallery-observations__item--three {
    grid-column: 1;
  }

  .gallery-entry__title {
    width: 100%;
    font-size: clamp(2.75rem, 15vw, 5rem);
  }

  .gallery-entry__lead {
    width: 100%;
  }

  .gallery-entry__media {
    aspect-ratio: 16 / 10;
  }

  .gallery-caption {
    gap: var(--space-2);
    padding: var(--space-3);
  }

  .gallery-ledger__notes {
    grid-template-columns: 1fr;
  }

  .gallery-ledger__note,
  .gallery-ledger__note:nth-child(3) {
    grid-column: 1;
    padding: var(--space-5);
  }

  .gallery-room__intro,
  .gallery-card-room__intro,
  .gallery-observations__heading {
    width: 100%;
  }

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

  .gallery-dining__panel,
  .gallery-negative__panel,
  .gallery-closing__callout {
    padding: var(--space-5);
  }

  .gallery-dining__annotation {
    width: 100%;
  }

  .gallery-card-room__frame-b {
    width: 82% !important;
  }

  .gallery-card-room__frame-c {
    width: 100%;
  }

  .gallery-studies__blackjack,
  .gallery-negative__panel {
    width: 100%;
  }

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

  .gallery-studies__copy p,
  .gallery-studies__shared-note,
  .gallery-negative__panel p:last-child,
  .gallery-observations__item--one > p:last-child,
  .gallery-observations__item--two > p:last-child,
  .gallery-observations__item--three > p:last-child,
  .gallery-closing__callout > p {
    width: 100%;
  }

  .gallery-observations__item--two {
    margin-top: 0;
    padding: var(--space-5);
  }

  .gallery-closing__grid {
    grid-template-columns: 1fr;
  }

  .gallery-closing__callout {
    grid-column: 1;
  }

  .gallery-closing__action {
    align-self: stretch;
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gallery-page .media-frame::after {
    opacity: 0.35;
  }
}


.chef-selections-page {
  background: var(--color-black);
  overflow: clip;
}

.chef-selections-page .container--wide {
  width: min(100% - 2.5rem, 90rem);
}

.chef-selections-page h1 span,
.chef-selections-page h3 span {
  color: var(--color-signal-red);
}

.cs-hero {
  padding: calc(var(--space-9) + var(--space-5)) 0 var(--space-9);
}

.cs-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 4.25fr) minmax(0, 0.75fr) minmax(35rem, 7fr);
  align-items: end;
  gap: 0;
  min-width: 0;
}

.cs-hero__copy {
  grid-column: 1 / 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: var(--space-7) var(--space-6) var(--space-6) 0;
  gap: var(--space-4);
}

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

.cs-hero h1 {
  font-size: clamp(3.5rem, 7vw, 6.5rem);
}

.cs-hero__lead {
  max-width: 56ch;
  color: var(--color-cold-ash);
  font-size: var(--text-lead);
  line-height: var(--leading-relaxed);
}

.cs-hero__note {
  display: flex;
  flex-direction: column;
  width: min(100%, 38ch);
  min-width: 0;
  border-top: var(--border-default);
  padding-top: var(--space-4);
  gap: var(--space-2);
}

.cs-hero__note > * {
  margin: 0;
}

.cs-hero__note p:last-child {
  font-size: var(--text-utility);
}

.cs-hero__actions {
  width: 100%;
}

.cs-hero__media {
  grid-column: 3 / 4;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.cs-hero__media::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgb(230 231 228 / 8%) 0.6px, transparent 0.7px);
  background-size: 4px 4px;
  content: "";
  opacity: 0.32;
}

.cs-contrast__heading,
.cs-plate__header,
.cs-signals__heading,
.cs-pass__header,
.cs-build__heading,
.cs-atmosphere__heading {
  width: min(100%, 60rem);
  margin-bottom: var(--space-7);
}

.cs-contrast__heading h2,
.cs-plate__header h2,
.cs-signals__heading h2,
.cs-pass__header h2,
.cs-build__heading h2,
.cs-atmosphere__heading h2 {
  margin-bottom: 0;
}

.cs-contrast__units {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(17.5rem, 3fr) minmax(0, 4fr);
  align-items: start;
  gap: var(--space-6);
  min-width: 0;
  border-top: var(--border-default);
  padding-top: var(--space-6);
}

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

.cs-philosophy > * {
  margin: 0;
}

.cs-philosophy h3 {
  font-size: var(--text-heading-sm);
}

.cs-philosophy p:last-child {
  max-width: 64ch;
}

.cs-philosophy--two {
  padding-top: var(--space-7);
}

.cs-philosophy--two .meta {
  border-left: 2px solid var(--color-signal-red);
  padding-left: var(--space-2);
}

.cs-philosophy--three {
  position: relative;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-5);
}

.cs-philosophy--three::before {
  position: absolute;
  top: -1px;
  right: -1px;
  width: 1rem;
  height: 1rem;
  background: var(--color-black);
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  content: "";
}

.cs-plate__grid {
  display: grid;
  grid-template-columns: minmax(31.25rem, 8fr) minmax(20rem, 4fr);
  align-items: start;
  gap: var(--space-6);
  min-width: 0;
}

.cs-plate__figure,
.cs-pass__figure {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.cs-plate__figure figcaption,
.cs-pass__figure figcaption {
  max-width: 52ch;
}

.cs-plate__rail {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding-top: var(--space-3);
  gap: var(--space-8);
}

.cs-plate__rail article,
.cs-plate__detail {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-3);
}

.cs-plate__rail article > *,
.cs-plate__detail > * {
  margin: 0;
}

.cs-plate__rail article p:last-child {
  max-width: 60ch;
}

.cs-plate__detail {
  width: min(100%, 44ch);
  border-left: 2px solid var(--color-signal-red);
  padding-left: var(--space-4);
}

.cs-plate__detail p {
  font-size: var(--text-lead);
  line-height: 1.5;
}

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

.cs-signal {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  min-height: 21rem;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-5);
  gap: var(--space-3);
}

.cs-signal > * {
  margin: 0;
}

.cs-signal::after {
  position: absolute;
  right: var(--space-5);
  bottom: var(--space-5);
  left: var(--space-5);
  height: 1px;
  background: var(--color-graphite);
  content: "";
  transition: background-color var(--transition-base);
}

.cs-signal:hover::after,
.cs-signal:focus-within::after {
  background: var(--color-signal-red);
}

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

.cs-signal p:last-child {
  width: min(100%, 45ch);
}

.cs-signal--one {
  grid-column: 1 / 5;
  grid-row: 1 / 3;
  justify-content: flex-start;
}

.cs-signal--two {
  grid-column: 5 / 13;
  grid-row: 1 / 2;
}

.cs-signal--three {
  grid-column: 1 / 8;
  grid-row: 3 / 4;
}

.cs-signal--four {
  grid-column: 8 / 13;
  grid-row: 2 / 4;
  justify-content: flex-end;
}

.cs-signal--two::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 1.25rem;
  height: 1.25rem;
  background: var(--color-signal-red);
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  content: "";
}

.cs-signal__ornament {
  position: absolute;
  right: var(--space-4);
  top: var(--space-4);
  color: var(--color-graphite);
  font-family: Georgia, serif;
  font-size: 3rem;
  line-height: 1;
}

.cs-pass__grid {
  display: grid;
  grid-template-columns: minmax(35rem, 7.5fr) minmax(20.625rem, 4.5fr);
  align-items: start;
  gap: var(--space-6);
  min-width: 0;
}

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

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

.cs-pass__notes article > * {
  margin: 0;
}

.cs-pass__notes article .meta {
  border-top: 1px solid var(--color-signal-red);
  padding-top: var(--space-3);
}

.cs-pass__notes h3 {
  font-size: var(--text-heading-sm);
}

.cs-pass__notes p:last-child {
  max-width: 44ch;
}

.cs-pass__final-note {
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-5);
}

.cs-pass__final-note p:last-child {
  max-width: 54ch;
}

.cs-build__route {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  gap: var(--space-5);
  min-width: 0;
}

.cs-phase {
  display: grid;
  grid-template-columns: minmax(3rem, auto) minmax(0, 1fr);
  align-items: start;
  min-width: 0;
  border-left: var(--border-default);
  padding-left: var(--space-4);
  gap: var(--space-3);
}

.cs-phase > * {
  min-width: 0;
}

.cs-phase__number {
  color: var(--color-cold-ash);
  font-family: var(--font-heading);
  font-size: 3rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 0.9;
}

.cs-phase div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.cs-phase div > * {
  margin: 0;
}

.cs-phase h3 {
  font-size: var(--text-heading-sm);
}

.cs-phase p:last-child {
  max-width: 56ch;
}

.cs-phase--one {
  grid-column: 1 / 5;
}

.cs-phase--two {
  grid-column: 6 / 10;
  border-color: var(--color-signal-red);
  background: var(--color-near-black);
  padding: var(--space-5);
}

.cs-phase--three {
  grid-column: 3 / 9;
  border-bottom: var(--border-default);
  padding-bottom: var(--space-5);
}

.cs-phase--three::after {
  width: 1rem;
  height: 1rem;
  margin: auto 0 -1.25rem auto;
  background: var(--color-black);
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
  content: "";
}

.cs-atmosphere__columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--space-6);
  min-width: 0;
}

.cs-atmosphere__columns article {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  border-top: var(--border-default);
  padding-top: var(--space-4);
  gap: var(--space-3);
}

.cs-atmosphere__columns article > * {
  margin: 0;
}

.cs-atmosphere__columns h3 {
  font-size: var(--text-heading-sm);
}

.cs-atmosphere__columns p:last-child {
  max-width: 46ch;
}

.cs-atmosphere__raised {
  border: var(--border-default) !important;
  background: var(--color-near-black);
  padding: var(--space-5) !important;
}

.cs-atmosphere__ornament {
  position: absolute;
  top: var(--space-4);
  right: var(--space-4);
  color: var(--color-graphite);
  font-size: 2rem;
}

.cs-atmosphere__closing {
  display: flex;
  width: 100%;
  min-width: 0;
  border-top: var(--border-default);
  margin-top: var(--space-7);
  padding-top: var(--space-5);
}

.cs-atmosphere__closing p {
  width: min(100%, 68ch);
  margin: 0;
  color: var(--color-cold-ash);
  font-size: var(--text-label);
  line-height: 1.35;
}

.cs-dietary__panel {
  display: flex;
  flex-direction: column;
  width: min(100%, 75rem);
  min-width: 0;
  border: var(--border-default);
  border-top: 2px solid var(--color-signal-red);
  background: var(--color-near-black);
  padding: var(--space-7);
  gap: var(--space-5);
}

.cs-dietary__panel > * {
  margin: 0;
}

.cs-dietary__content {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  align-items: start;
  min-width: 0;
  gap: var(--space-6);
}

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

.cs-dietary__content article > * {
  margin: 0;
}

.cs-dietary__content h3 {
  font-size: var(--text-heading-sm);
}

.cs-dietary__primary p {
  max-width: 64ch;
}

.cs-dietary__secondary {
  border-left: var(--border-default);
  padding-left: var(--space-5);
}

.cs-dietary__secondary p {
  max-width: 54ch;
}

.cs-dietary__callout {
  display: flex;
  flex-direction: column;
  width: min(100%, 54ch);
  min-width: 0;
  border-left: 2px solid var(--color-signal-red);
  padding-left: var(--space-4);
  gap: var(--space-2);
}

.cs-dietary__callout > * {
  margin: 0;
}

.cs-dietary__callout p:last-child {
  color: var(--color-cold-ash);
}

.cs-cta__panel {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: end;
  min-width: 0;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-7);
  gap: var(--space-6);
}

.cs-cta__copy,
.cs-cta__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-4);
}

.cs-cta__copy > *,
.cs-cta__actions > * {
  margin: 0;
}

.cs-cta__copy h2 {
  margin-bottom: 0;
}

.cs-cta__copy .lead {
  max-width: 60ch;
}

.cs-cta__actions {
  align-items: stretch;
}

.cs-cta__actions p {
  width: min(100%, 42ch);
}

.cs-private {
  border-top: var(--border-default);
}

.cs-private__grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 6fr) minmax(0, 4fr);
  align-items: end;
  min-width: 0;
  gap: var(--space-6);
}

.cs-private__index {
  min-width: 0;
  color: var(--color-signal-red);
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  text-transform: uppercase;
}

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

.cs-private__copy > * {
  margin: 0;
}

.cs-private__copy p:last-child {
  max-width: 56ch;
}

.cs-private__action {
  display: flex;
  justify-content: flex-start;
  min-width: 0;
}

.cs-private__action .button {
  max-width: 100%;
}

@media (max-width: 68.6875rem) {
  .cs-hero__grid,
  .cs-plate__grid,
  .cs-pass__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .cs-hero__media,
  .cs-hero__copy {
    grid-column: 1;
  }

  .cs-hero__media {
    grid-row: 1;
  }

  .cs-hero__copy {
    grid-row: 2;
    width: min(100%, 38.75rem);
    padding: 0;
  }

  .cs-plate__rail,
  .cs-pass__notes {
    padding-top: 0;
  }

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

  .cs-philosophy--two {
    padding-top: 0;
  }

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

  .cs-signal--one,
  .cs-signal--two,
  .cs-signal--three,
  .cs-signal--four {
    grid-column: auto;
    grid-row: auto;
    min-height: 18rem;
  }

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

  .cs-phase--one,
  .cs-phase--two,
  .cs-phase--three {
    grid-column: 1;
  }

  .cs-phase--three::after {
    display: none;
  }

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

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

  .cs-dietary__secondary {
    border-left: 0;
    border-top: var(--border-default);
    padding: var(--space-5) 0 0;
  }
}

@media (max-width: 56.25rem) {
  .cs-cta__panel,
  .cs-private__grid {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .cs-cta__actions {
    width: 100%;
  }

  .cs-private__action {
    width: 100%;
  }

  .cs-private__index {
    order: -1;
  }
}

@media (max-width: 39.9375rem) {
  .chef-selections-page .container--wide {
    width: calc(100% - 2rem);
  }

  .cs-hero {
    padding-top: var(--space-8);
  }

  .cs-hero__copy {
    width: 100%;
  }

  .cs-hero h1 {
    font-size: clamp(2.75rem, 15vw, 5rem);
  }

  .cs-hero__lead {
    max-width: 50ch;
  }

  .cs-hero__note {
    width: 100%;
  }

  .cs-contrast__heading,
  .cs-plate__header,
  .cs-signals__heading,
  .cs-pass__header,
  .cs-build__heading,
  .cs-atmosphere__heading {
    margin-bottom: var(--space-5);
  }

  .cs-contrast__units,
  .cs-plate__grid,
  .cs-pass__grid,
  .cs-build__route,
  .cs-atmosphere__columns {
    gap: var(--space-4);
  }

  .cs-signals__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .cs-signal {
    min-height: 0;
    padding: var(--space-5);
  }

  .cs-signal--four {
    justify-content: flex-start;
  }

  .cs-phase {
    grid-template-columns: 1fr;
    border-left: 0;
    border-top: var(--border-default);
    padding: var(--space-4) 0 0;
  }

  .cs-phase--two {
    padding: var(--space-5);
  }

  .cs-dietary__panel,
  .cs-cta__panel {
    padding: var(--space-5);
  }

  .cs-dietary__panel {
    gap: var(--space-4);
  }

  .cs-atmosphere__closing p {
    font-size: 1.25rem;
  }

  .cs-private__action .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cs-signal::after {
    transition-duration: 1ms;
  }
}


.home-main { overflow: clip; }
.home-main .container--wide { width: min(100% - 40px, 90rem); }
.home-main .eyebrow { margin-block-end: var(--space-3); }
.home-main a:focus-visible { outline: var(--focus-outline); outline-offset: var(--focus-offset); }
.home-hero { position: relative; min-height: min(50rem, 90vh); display: grid; grid-template-columns: minmax(0, 1fr); isolation: isolate; }
.home-hero__media { grid-column: 1; grid-row: 1; width: 100%; height: 100%; max-width: none; min-width: 0; border-inline: 0; border-block-start: 0; }
.home-hero__media::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(5 5 5 / 88%) 0%, rgb(5 5 5 / 70%) 34%, rgb(5 5 5 / 18%) 68%, rgb(5 5 5 / 35%) 100%); content: ""; }
.home-hero__media img { width: 100%; height: 100%; object-position: 70% center; }
.home-hero__shell { grid-column: 1; grid-row: 1; z-index: 1; width: min(100% - 40px, 90rem); min-width: 0; margin-inline: auto; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: end; padding-block: clamp(9rem, 18vh, 14rem) var(--space-8); }
.home-hero__content { grid-column: 1 / span 5; min-width: 0; max-width: 35rem; display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); background: var(--color-near-black); border: var(--border-default); }
.home-hero__content > * { min-width: 0; margin: 0; }
.home-hero__title { font-size: clamp(3.5rem, 7vw, 6.5rem); line-height: .88; }
.home-hero__title span { color: var(--color-signal-red); text-shadow: 2px 0 var(--color-cold-ash); }
.home-hero__deck { max-width: 34rem; color: var(--color-cold-ash); }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); min-width: 0; }
.home-hero__actions > * { min-width: 0; flex: 1 1 12rem; }
.home-hero__annotation { border-inline-start: 2px solid var(--color-signal-red); color: var(--color-muted-ash); font-size: var(--text-meta); font-weight: 600; letter-spacing: .06em; line-height: 1.5; padding-inline-start: var(--space-3); text-transform: uppercase; }
.home-hero__annotation span { display: block; color: var(--color-cold-ash); }
.home-rhythm__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); }
.home-rhythm__heading { grid-column: 1 / span 5; min-width: 0; }
.home-rhythm__heading h2 { max-width: 15ch; }
.home-rhythm__statement { min-width: 0; display: flex; flex-direction: column; gap: var(--space-3); border-inline-start: 1px solid var(--color-graphite); padding-inline-start: var(--space-4); }
.home-rhythm__statement > * { min-width: 0; margin: 0; }
.home-rhythm__statement h3 { font-size: 2rem; }
.home-rhythm__statement p:not(.meta) { max-width: 31rem; }
.home-rhythm__statement a { color: var(--color-cold-ash); font-size: var(--text-utility); font-weight: 600; }
.home-rhythm__statement--one { grid-column: 1 / span 4; }
.home-rhythm__statement--two { grid-column: 5 / span 4; margin-block-start: var(--space-7); }
.home-rhythm__statement--three { grid-column: 9 / span 4; margin-block-start: var(--space-9); }
.home-rhythm__statement--three::before { width: 2rem; height: 1px; background: var(--color-signal-red); content: ""; }
.home-kitchen__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: start; }
.home-kitchen__figure { grid-column: 1 / span 7; min-width: 0; margin: 0; transform: translateY(var(--space-5)); }
.home-kitchen__media { width: 100%; min-width: 0; }
.home-kitchen__figure figcaption { display: flex; gap: var(--space-3); margin: var(--space-2) 0 0; }
.home-kitchen__figure figcaption span { color: var(--color-signal-red); }
.home-kitchen__content { grid-column: 9 / span 4; min-width: 0; display: flex; flex-direction: column; gap: var(--space-5); }
.home-kitchen__content > * { min-width: 0; margin: 0; }
.home-kitchen__content h2 { max-width: 16ch; }
.home-kitchen__lead { max-width: 34rem; color: var(--color-cold-ash); font-size: var(--text-lead); line-height: var(--leading-relaxed); }
.home-kitchen__note { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; border: var(--border-default); background: var(--color-near-black); padding: var(--space-5); }
.home-kitchen__note > * { margin: 0; min-width: 0; }
.home-kitchen__note p:not(.meta) { max-width: 29rem; }
.home-kitchen__note a { font-size: var(--text-utility); font-weight: 600; }
.home-kitchen__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); min-width: 0; }
.home-kitchen__actions > * { flex: 1 1 12rem; min-width: 0; }
.home-disciplines { position: relative; border-block: var(--border-default); }
.home-disciplines__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); }
.home-disciplines__heading { grid-column: 1 / span 5; min-width: 0; }
.home-disciplines__heading h2 { max-width: 15ch; }
.home-disciplines__panels { grid-column: 1 / -1; display: grid; grid-template-columns: 4fr 3fr 5fr; gap: var(--space-4); min-width: 0; border-bottom: var(--border-default); }
.home-discipline { min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); border: var(--border-default); border-top: 2px solid var(--color-graphite); background: var(--color-near-black); padding: var(--space-5); transition: border-color var(--transition-base); }
.home-discipline > * { min-width: 0; margin: 0; }
.home-discipline:hover, .home-discipline:focus-within { border-top-color: var(--color-signal-red); }
.home-discipline__number { color: var(--color-muted-ash); font-family: var(--font-heading); font-size: clamp(3rem, 6vw, 5rem); font-weight: 800; line-height: .8; -webkit-text-stroke: 1px var(--color-cold-ash); color: transparent; }
.home-discipline h3 { font-size: 2rem; }
.home-discipline p { max-width: 28rem; }
.home-discipline--poker .home-discipline__number { color: var(--color-signal-red); -webkit-text-stroke: 0; }
.home-disciplines__action { grid-column: 9 / span 4; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); border-inline-start: 2px solid var(--color-signal-red); padding-inline-start: var(--space-4); }
.home-disciplines__action > * { min-width: 0; margin: 0; }
.home-disciplines__action p { max-width: 24rem; }
.home-sequence__layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); }
.home-sequence__heading { grid-column: 1 / span 4; min-width: 0; }
.home-sequence__heading h2 { max-width: 13ch; }
.home-sequence__beats { grid-column: 3 / -1; min-width: 0; display: flex; flex-direction: column; gap: var(--space-7); }
.home-beat { min-width: 0; display: grid; grid-template-columns: 2fr 5fr 3fr; gap: var(--space-4); align-items: start; }
.home-beat > * { min-width: 0; }
.home-beat__rail { grid-column: 1; display: flex; flex-direction: column; gap: var(--space-2); border-inline-end: 1px solid var(--color-graphite); color: var(--color-muted-ash); }
.home-beat__rail span { color: var(--color-signal-red); font-family: var(--font-heading); font-size: 2.5rem; font-weight: 900; line-height: 1; }
.home-beat__rail small { font-size: var(--text-meta); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.home-beat figure { margin: 0; min-width: 0; }
.home-beat figcaption { margin: var(--space-2) 0 0; }
.home-beat__copy { min-width: 0; display: flex; flex-direction: column; gap: var(--space-3); }
.home-beat__copy > * { min-width: 0; margin: 0; }
.home-beat__copy h3 { font-size: 2rem; }
.home-beat__copy p { max-width: 31rem; }
.home-beat__copy a { font-size: var(--text-utility); font-weight: 600; }
.home-beat--arrival figure { grid-column: 2; }
.home-beat--arrival .home-beat__copy { grid-column: 3; padding-block-start: var(--space-4); }
.home-beat--table .home-beat__copy { grid-column: 3; max-width: 24rem; background: var(--color-near-black); border: var(--border-default); padding: var(--space-5); }
.home-beat--late .home-beat__copy { grid-column: 2; padding-block-start: var(--space-4); }
.home-beat--late figure { grid-column: 3; }
.home-sequence__action { grid-column: 3 / span 3; min-width: 0; }
.home-events__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: center; }
.home-events__narrative { grid-column: 1 / span 7; min-width: 0; display: flex; flex-direction: column; gap: var(--space-5); position: relative; }
.home-events__narrative > * { min-width: 0; margin: 0; }
.home-events__fragment { color: transparent; font-family: var(--font-heading); font-size: clamp(4rem, 10vw, 9rem); font-weight: 900; letter-spacing: .02em; line-height: .7; -webkit-text-stroke: 1px var(--color-signal-red); }
.home-events__narrative h2 { max-width: 16ch; }
.home-events__lead { max-width: 42rem; color: var(--color-cold-ash); font-size: var(--text-lead); line-height: var(--leading-relaxed); }
.home-events__cta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); min-width: 0; }
.home-events__cta > * { min-width: 0; margin: 0; }
.home-events__cta p { max-width: 21rem; }
.home-events__note { grid-column: 9 / span 4; min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); border: var(--border-default); background: var(--color-near-black); padding: var(--space-6); }
.home-events__note > * { min-width: 0; margin: 0; }
.home-events__note p:not(.meta) { max-width: 27rem; }
.home-events__note hr { width: 100%; background: var(--color-graphite); }
.home-gallery__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); }
.home-gallery__heading { grid-column: 1 / span 5; min-width: 0; }
.home-gallery__heading h2 { max-width: 15ch; }
.home-gallery__mosaic { grid-column: 1 / -1; min-width: 0; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-4); align-items: start; }
.home-gallery__tile { min-width: 0; display: block; text-decoration: none; }
.home-gallery__tile figure { min-width: 0; margin: 0; }
.home-gallery__tile .media-frame { width: 100%; transition: border-color var(--transition-base); }
.home-gallery__tile figcaption { min-width: 0; margin: var(--space-2) 0 0; border-top: var(--border-default); padding-top: var(--space-3); color: var(--color-muted-ash); }
.home-gallery__tile figcaption span { display: block; margin-bottom: var(--space-2); color: var(--color-signal-red); font-size: var(--text-meta); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.home-gallery__tile:hover .media-frame, .home-gallery__tile:focus-visible .media-frame { border-color: var(--color-cold-ash); }
.home-gallery__tile--kitchen { grid-column: 1 / span 3; }
.home-gallery__tile--room { grid-column: 4 / span 5; }
.home-gallery__tile--hands { grid-column: 9 / span 4; margin-block-start: var(--space-7); }
.home-gallery__action { grid-column: 10 / span 3; min-width: 0; justify-self: end; }
.home-threshold__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: center; }
.home-threshold__heading { grid-column: 1 / span 12; min-width: 0; }
.home-threshold__heading h2 { max-width: 14ch; }
.home-threshold__address { grid-column: 1 / span 6; min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); border: var(--border-default); border-inline-start: 3px solid var(--color-signal-red); background: var(--color-near-black); font-style: normal; padding: var(--space-6); }
.home-threshold__address > * { min-width: 0; }
.home-threshold__address strong { font-family: var(--font-heading); font-size: clamp(1.5rem, 3vw, 2rem); letter-spacing: .03em; line-height: 1.1; overflow-wrap: anywhere; text-transform: uppercase; }
.home-threshold__route { grid-column: 7 / span 6; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-threshold__route > * { min-width: 0; margin: 0; }
.home-threshold__route h3 { font-size: 2rem; }
.home-threshold__route p { max-width: 32rem; }
.home-chooser__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); padding-bottom: var(--space-10); }
.home-chooser__heading { grid-column: 1 / span 4; min-width: 0; }
.home-chooser__heading h2 { max-width: 12ch; }
.home-chooser__routes { grid-column: 1 / -1; min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.home-route { min-width: 0; min-height: 14rem; display: flex; flex-direction: column; gap: var(--space-3); border-block: var(--border-default); border-inline-start: 1px solid var(--color-graphite); padding: var(--space-5); text-decoration: none; transition: border-color var(--transition-base), background-color var(--transition-base); }
.home-route > * { min-width: 0; margin: 0; }
.home-route:hover, .home-route:focus-visible { border-color: var(--color-signal-red); background: var(--color-near-black); }
.home-route__number { color: var(--color-signal-red); font-size: var(--text-meta); font-weight: 600; letter-spacing: .08em; }
.home-route h3 { font-size: clamp(2rem, 3.2vw, 3rem); }
.home-route h3 span { color: var(--color-signal-red); }
.home-route p { max-width: 27rem; }
.home-chooser__final { grid-column: 1 / span 7; min-width: 0; margin: var(--space-9) 0 0; color: var(--color-cold-ash); font-family: var(--font-heading); font-size: clamp(2.5rem, 6vw, 5.5rem); font-weight: 800; letter-spacing: .03em; line-height: .92; text-transform: uppercase; }
.home-chooser__final span { color: var(--color-signal-red); }
@media (max-width: 61.25rem) {
  .home-rhythm__statement--one { grid-column: 1 / span 6; }
  .home-rhythm__statement--two { grid-column: 7 / span 6; margin-block-start: var(--space-6); }
  .home-rhythm__statement--three { grid-column: 1 / -1; margin-block-start: var(--space-4); max-width: 36rem; }
  .home-kitchen__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-kitchen__figure { grid-column: 1 / -1; transform: none; }
  .home-kitchen__content { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-kitchen__content > :is(.eyebrow, h2, .home-kitchen__lead) { grid-column: 1; }
  .home-kitchen__note { grid-column: 2; grid-row: 2 / span 2; }
  .home-kitchen__actions { grid-column: 1; }
  .home-disciplines__panels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-discipline--poker { grid-column: 1 / -1; max-width: 42rem; }
  .home-disciplines__action { grid-column: 1 / span 6; }
  .home-sequence__beats { grid-column: 1 / -1; }
  .home-beat { grid-template-columns: 2.5rem repeat(2, minmax(0, 1fr)); }
  .home-beat--arrival figure, .home-beat--late figure { grid-column: 2 / -1; }
  .home-beat--arrival .home-beat__copy, .home-beat--late .home-beat__copy { grid-column: 2 / -1; }
  .home-beat--table .home-beat__copy { grid-column: 2 / span 1; max-width: none; }
  .home-sequence__action { grid-column: 1 / span 3; }
  .home-gallery__tile--kitchen { grid-column: 1 / span 6; }
  .home-gallery__tile--room { grid-column: 7 / span 6; }
  .home-gallery__tile--hands { grid-column: 1 / span 6; margin-block-start: 0; }
  .home-gallery__action { grid-column: 1 / span 3; justify-self: start; }
  .home-chooser__routes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-route:nth-child(3) { grid-column: 1 / span 1; }
  .home-chooser__final { grid-column: 1 / span 8; }
}
@media (max-width: 56.25rem) {
  .home-hero { min-height: 0; display: block; padding-top: var(--space-7); }
  .home-hero__media { aspect-ratio: 16 / 10; height: auto; border: var(--border-default); }
  .home-hero__media::after { display: none; }
  .home-hero__shell { width: min(100% - 40px, 90rem); display: block; padding: 0; }
  .home-hero__content { max-width: none; margin-top: var(--space-4); }
  .home-events__grid { grid-template-columns: 1fr; }
  .home-events__narrative, .home-events__note { grid-column: 1; }
}
@media (max-width: 47.5rem) {
  .home-threshold__address, .home-threshold__route { grid-column: 1 / -1; }
}
@media (max-width: 39.9375rem) {
  .home-main .container--wide, .home-hero__shell { width: calc(100% - 32px); }
  .home-hero__content { padding: var(--space-5); }
  .home-hero__title { font-size: clamp(2.75rem, 15vw, 4.7rem); }
  .home-hero__actions { flex-direction: column; }
  .home-hero__actions > * { width: 100%; flex-basis: auto; }
  .home-rhythm__grid, .home-kitchen__grid, .home-disciplines__grid, .home-sequence__layout, .home-events__grid, .home-gallery__grid, .home-threshold__grid, .home-chooser__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .home-rhythm__heading, .home-rhythm__statement, .home-kitchen__figure, .home-kitchen__content, .home-disciplines__heading, .home-disciplines__panels, .home-disciplines__action, .home-sequence__heading, .home-sequence__beats, .home-sequence__action, .home-events__narrative, .home-events__note, .home-gallery__heading, .home-gallery__mosaic, .home-gallery__action, .home-threshold__heading, .home-threshold__address, .home-threshold__route, .home-chooser__heading, .home-chooser__routes, .home-chooser__final { grid-column: 1; }
  .home-rhythm__statement--two, .home-rhythm__statement--three { margin-block-start: 0; }
  .home-rhythm__statement { padding-inline-start: var(--space-3); }
  .home-kitchen__content { display: flex; }
  .home-kitchen__figure { transform: none; }
  .home-kitchen__actions { flex-direction: column; }
  .home-kitchen__actions > * { width: 100%; flex-basis: auto; }
  .home-disciplines__panels { grid-template-columns: 1fr; }
  .home-discipline--poker { grid-column: 1; max-width: none; }
  .home-disciplines__action { align-items: stretch; }
  .home-disciplines__action .button { width: 100%; }
  .home-sequence__beats { gap: var(--space-6); }
  .home-beat { grid-template-columns: 1.5rem minmax(0, 1fr); gap: var(--space-3); }
  .home-beat__rail { grid-column: 1; }
  .home-beat__rail span { font-size: 2rem; }
  .home-beat__rail small { writing-mode: vertical-rl; }
  .home-beat--arrival figure, .home-beat--arrival .home-beat__copy, .home-beat--table .home-beat__copy, .home-beat--late .home-beat__copy, .home-beat--late figure { grid-column: 2; }
  .home-beat--table .home-beat__copy { padding: var(--space-5); }
  .home-sequence__action .button { width: 100%; }
  .home-events__note, .home-threshold__address { padding: var(--space-5); }
  .home-events__cta { flex-direction: column; align-items: stretch; }
  .home-events__cta .button { width: 100%; }
  .home-gallery__mosaic { grid-template-columns: 1fr; gap: var(--space-5); }
  .home-gallery__tile--kitchen, .home-gallery__tile--room, .home-gallery__tile--hands { grid-column: 1; margin: 0; }
  .home-gallery__tile--room { width: calc(100% - 32px); justify-self: center; }
  .home-gallery__action { justify-self: stretch; }
  .home-gallery__action .button { width: 100%; }
  .home-threshold__route .button { width: 100%; }
  .home-chooser__routes { grid-template-columns: 1fr; }
  .home-route:nth-child(3) { grid-column: 1; }
  .home-route { min-height: 0; padding: var(--space-5); }
  .home-chooser__final { margin-top: var(--space-6); font-size: clamp(2rem, 9vw, 3rem); }
}
@media (prefers-reduced-motion: no-preference) {
  .home-hero__title span { animation: homeHeroSignal 160ms ease-out 160ms 1; }
  .home-hero__actions .button:hover span, .home-hero__actions .button:focus-visible span { display: inline-block; transform: translateX(2px); }
}
@keyframes homeHeroSignal { 0% { text-shadow: -2px 0 var(--color-cold-ash); } 100% { text-shadow: 2px 0 var(--color-cold-ash); } }
@media (prefers-reduced-motion: reduce) { .home-kitchen__figure, .home-hero__actions .button:hover span { transform: none; } }


.private-events-page {
  background: var(--color-black);
}

.private-events-page .container--wide {
  max-width: var(--container-max);
}

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

.private-events-page .media-frame::after {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgb(244 244 240 / 0.06) 0.55px, transparent 0.7px);
  background-size: 4px 4px;
  content: "";
  opacity: 0.35;
  pointer-events: none;
}

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

.pe-hero__grid,
.pe-transition__grid,
.pe-brief__grid,
.pe-enquiry__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
}

.pe-hero__media {
  grid-column: 4 / 13;
  grid-row: 1;
  min-width: 0;
  width: 100%;
}

.pe-hero__copy {
  display: flex;
  grid-column: 1 / 7;
  grid-row: 1;
  align-self: end;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-7);
  position: relative;
  z-index: 1;
}

.pe-hero__copy::before,
.pe-form::before {
  position: absolute;
  top: -1px;
  right: -1px;
  width: 18px;
  height: 18px;
  border-bottom: 1px solid var(--color-signal-red);
  border-left: 1px solid var(--color-signal-red);
  background: var(--color-black);
  content: "";
}

.pe-hero__copy h1 {
  margin: 0;
  font-size: clamp(3.75rem, 7.5vw, 7.5rem);
}

.pe-hero__copy h1 span {
  color: var(--color-signal-red);
  display: inline-block;
  position: relative;
}

.pe-hero__lead {
  margin: 0;
  max-width: 56ch;
  color: var(--color-cold-ash);
  font-size: var(--text-lead);
  line-height: var(--leading-relaxed);
}

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

.pe-hero__actions .button {
  align-self: flex-start;
}

.pe-hero__actions .meta {
  margin: 0;
}

.pe-hero__note {
  grid-column: 1 / 4;
  grid-row: 2;
  min-width: 0;
  border-top: var(--border-signal);
  padding-top: var(--space-3);
}

.pe-hero__note p {
  margin-bottom: 0;
  max-width: 34ch;
  font-size: var(--text-utility);
}

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

.pe-program__intro {
  grid-column: 1 / 5;
  min-width: 0;
}

.pe-program__intro p:last-child {
  max-width: 60ch;
}

.pe-program__blocks {
  display: grid;
  grid-column: 5 / 13;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  position: relative;
}

.pe-program__blocks::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 1px;
  background: var(--color-graphite);
  content: "";
}

.pe-format {
  min-width: 0;
  border-top: var(--border-default);
  padding: var(--space-4) 0 0 var(--space-4);
}

.pe-format__number {
  margin-bottom: var(--space-4);
  color: var(--color-signal-red);
  font-family: var(--font-heading);
  font-size: var(--text-heading-sm);
  font-weight: 800;
  line-height: 1;
}

.pe-format h3 {
  font-size: clamp(1.55rem, 2.4vw, 2.2rem);
}

.pe-format p:last-child {
  margin-bottom: 0;
  max-width: 46ch;
}

.pe-transition__text {
  grid-column: 1 / 5;
  grid-row: 1;
  min-width: 0;
  align-self: start;
}

.pe-transition__text .lead {
  max-width: 58ch;
}

.pe-transition__media {
  grid-column: 5 / 13;
  grid-row: 1;
  min-width: 0;
  width: 100%;
}

.pe-transition__media figcaption {
  margin-bottom: 0;
}

.pe-host-brief {
  display: flex;
  grid-column: 2 / 6;
  grid-row: 2;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-5);
}

.pe-host-brief h3,
.pe-host-brief p {
  margin: 0;
}

.pe-host-brief p:last-child {
  max-width: 45ch;
}

.pe-atmospheres__intro {
  margin-left: auto;
  margin-right: auto;
  max-width: 60ch;
  text-align: left;
}

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

.pe-mood {
  min-width: 0;
  border: var(--border-default);
  background: var(--color-near-black);
}

.pe-mood--long { grid-column: 1 / 5; }
.pe-mood--social { grid-column: 5 / 13; }
.pe-mood--celebration { grid-column: 3 / 9; }

.pe-mood__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-5);
}

.pe-mood__copy h3,
.pe-mood__copy p,
.pe-mood__copy a {
  margin: 0;
}

.pe-mood__copy p {
  max-width: 42ch;
}

.pe-mood__copy a {
  align-self: flex-start;
  color: var(--color-cold-ash);
  font-size: var(--text-utility);
  font-weight: 600;
}

.pe-mood--social {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
}

.pe-mood--social > figure,
.pe-mood--social > .pe-mood__copy {
  min-width: 0;
  width: 100%;
}

.pe-mood--social .pe-mood__copy {
  align-self: center;
}

.pe-mood--celebration {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.pe-mood--celebration > figure,
.pe-mood--celebration > .pe-mood__copy {
  min-width: 0;
  width: 100%;
}

.pe-mood--celebration .pe-mood__copy {
  align-self: center;
}

.pe-fragments__intro {
  max-width: 62ch;
}

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

.pe-fragment {
  min-width: 0;
  margin: 0;
}

.pe-fragment--wide { grid-column: 1 / 9; }
.pe-fragment--tall { grid-column: 9 / 13; margin-top: var(--space-7); }
.pe-fragment figcaption {
  margin-bottom: 0;
  max-width: 54ch;
}

.pe-fragment figcaption .meta,
.pe-gallery figcaption .meta {
  display: block;
  margin-bottom: var(--space-2);
}

.pe-process {
  background: var(--color-near-black);
  border-block: var(--border-default);
}

.pe-process__intro {
  max-width: 60ch;
}

.pe-process__rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: var(--space-7) 0 0;
  padding: 0;
  list-style: none;
  min-width: 0;
  border-top: var(--border-signal);
  border-bottom: var(--border-default);
}

.pe-step {
  display: flex;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-5);
}

.pe-step:not(:last-child) {
  border-right: var(--border-default);
}

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

.pe-step__number {
  color: var(--color-cold-ash);
  font-family: var(--font-heading);
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 800;
  line-height: 0.9;
}

.pe-step h3 {
  font-size: 1.6rem;
}

.pe-step h3,
.pe-step p {
  margin: 0;
}

.pe-step div {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
}

.pe-step p {
  max-width: 44ch;
  font-size: var(--text-utility);
}

.pe-brief__intro {
  grid-column: 1 / 5;
  min-width: 0;
}

.pe-brief__intro p:last-child {
  max-width: 60ch;
}

.pe-prompts {
  display: grid;
  grid-column: 5 / 13;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  min-width: 0;
}

.pe-prompt {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-5);
  position: relative;
}

.pe-prompt h3,
.pe-prompt p {
  margin: 0;
}

.pe-prompt p {
  max-width: 38ch;
}

.pe-prompt--date::after {
  position: absolute;
  top: var(--space-4);
  right: var(--space-4);
  width: 18px;
  height: 18px;
  border: 1px solid var(--color-graphite);
  border-top: 4px solid var(--color-graphite);
  content: "";
}

.pe-prompt--food { border-top-color: var(--color-signal-red); }
.pe-prompt--energy { grid-column: 1 / 3; border-left: var(--border-signal); }
.pe-prompt--energy p { max-width: 48ch; }

.pe-gallery__intro {
  max-width: 58ch;
}

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

.pe-gallery__item {
  min-width: 0;
  margin: 0;
}

.pe-gallery__item--wide { grid-column: 1 / 8; }
.pe-gallery__item--square { grid-column: 8 / 11; margin-top: var(--space-6); }
.pe-gallery__item--tall { grid-column: 11 / 13; }
.pe-gallery__item figcaption { margin-bottom: 0; max-width: 40ch; }

.pe-faq {
  background: var(--color-near-black);
  border-block: var(--border-default);
}

.pe-faq__intro {
  max-width: 68ch;
}

.pe-faq__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-6);
  min-width: 0;
}

.pe-faq__item {
  min-width: 0;
  border: var(--border-default);
}

.pe-faq__item h3 {
  margin: 0;
}

.pe-faq__item button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 36px;
  align-items: center;
  width: 100%;
  min-width: 0;
  padding: var(--space-4);
  border: 0;
  color: var(--color-cold-ash);
  font-family: var(--font-heading);
  font-size: clamp(1.35rem, 2.5vw, 1.8rem);
  letter-spacing: 0.04em;
  text-align: left;
}

.pe-faq__icon {
  color: var(--color-signal-red);
  font-family: var(--font-body);
  font-size: 1.5rem;
  text-align: center;
}

.pe-faq__answer {
  border-top: var(--border-default);
  padding: var(--space-4);
}

.pe-faq__item--play .pe-faq__answer {
  border-left: var(--border-signal);
}

.pe-faq__answer p {
  margin: 0;
  max-width: 68ch;
}

.pe-enquiry__intro {
  grid-column: 1 / 5;
  min-width: 0;
}

.pe-enquiry__intro p:last-child {
  max-width: 60ch;
}

.pe-form {
  grid-column: 6 / 13;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  min-width: 0;
  border: var(--border-default);
  background: var(--color-near-black);
  padding: var(--space-6);
  position: relative;
}

.pe-form__status {
  min-height: 0;
  color: var(--color-cold-ash);
  font-weight: 600;
}

.pe-form__status:empty { display: none; }
.pe-form__status--error { border-left: var(--border-signal); padding-left: var(--space-3); }
.pe-form__status--success { border-left: 2px solid var(--color-cold-ash); padding-left: var(--space-3); }

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

.pe-field {
  min-width: 0;
}

.pe-field--full { grid-column: 1 / 3; }

.pe-field label {
  width: 100%;
}

.pe-optional {
  color: var(--color-muted-ash);
  font-size: var(--text-meta);
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.pe-field__hint,
.pe-field__error {
  margin: var(--space-2) 0 0;
  font-size: var(--text-meta);
  line-height: 1.45;
}

.pe-field__hint { color: var(--color-muted-ash); }
.pe-field__error { color: var(--color-cold-ash); font-weight: 600; }

.pe-field input[aria-invalid="true"],
.pe-field textarea[aria-invalid="true"] {
  border-color: var(--color-signal-red);
  box-shadow: 0 0 0 1px var(--color-signal-red);
}

.pe-form__footer {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-4);
  min-width: 0;
  border-top: var(--border-default);
  padding-top: var(--space-5);
}

.pe-form__footer p {
  margin: 0;
  max-width: 60ch;
  font-size: var(--text-utility);
}

.pe-form__footer .button {
  flex: 0 0 auto;
  min-width: 190px;
}

.pe-contact-note {
  display: flex;
  grid-column: 1 / 5;
  grid-row: 2;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
  align-self: start;
  border-top: var(--border-signal);
  padding-top: var(--space-4);
}

.pe-contact-note p,
.pe-contact-note a {
  margin: 0;
  max-width: 45ch;
}

.pe-contact-note a {
  color: var(--color-cold-ash);
  font-weight: 600;
}

@media (max-width: 63.75rem) {
  .pe-program__intro { grid-column: 1 / 13; }
  .pe-program__blocks { grid-column: 1 / 13; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pe-format:nth-child(3) { grid-column: 1 / 3; }
  .pe-atmospheres__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pe-mood--long, .pe-mood--social { grid-column: auto; }
  .pe-mood--celebration { grid-column: 1 / 3; }
  .pe-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pe-gallery__item--wide { grid-column: 1 / 3; }
  .pe-gallery__item--square, .pe-gallery__item--tall { grid-column: auto; margin-top: 0; }
}

@media (max-width: 60rem) {
  .pe-process__rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pe-step:nth-child(2) { border-right: 0; }
  .pe-step:nth-child(-n + 2) { border-bottom: var(--border-default); }
}

@media (max-width: 56.25rem) {
  .pe-hero { padding-top: var(--space-8); }
  .pe-hero__grid, .pe-transition__grid, .pe-brief__grid, .pe-enquiry__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .pe-hero__media, .pe-hero__copy, .pe-hero__note, .pe-transition__text, .pe-transition__media, .pe-host-brief, .pe-brief__intro, .pe-prompts, .pe-enquiry__intro, .pe-form, .pe-contact-note { grid-column: 1; grid-row: auto; }
  .pe-hero__media { aspect-ratio: 16 / 10; }
  .pe-hero__copy { padding: var(--space-5); }
  .pe-hero__note p { max-width: 60ch; }
  .pe-transition__media { order: -1; }
  .pe-host-brief { padding: var(--space-5); }
  .pe-fragments__grid { grid-template-columns: 1fr; }
  .pe-fragment--wide, .pe-fragment--tall { grid-column: 1; margin-top: 0; }
  .pe-prompts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pe-contact-note { grid-row: auto; }
}

@media (max-width: 42.5rem) {
  .pe-hero__copy h1 { font-size: clamp(2.75rem, 15vw, 5rem); }
  .pe-hero__actions .button { width: 100%; }
  .pe-program__blocks, .pe-atmospheres__grid, .pe-prompts, .pe-gallery__grid, .pe-process__rail, .pe-form__fields { grid-template-columns: 1fr; }
  .pe-program__blocks { gap: 0; }
  .pe-program__blocks::before { display: none; }
  .pe-format, .pe-format:nth-child(3) { grid-column: 1; padding: var(--space-5) 0; }
  .pe-mood--long, .pe-mood--social, .pe-mood--celebration { grid-column: 1; }
  .pe-mood--social, .pe-mood--celebration { display: block; }
  .pe-mood__copy { padding: var(--space-5); }
  .pe-mood--social .media-frame { aspect-ratio: 16 / 10; }
  .pe-mood--celebration .media-frame { aspect-ratio: 1 / 1; }
  .pe-fragment--tall { width: 88%; margin-left: auto; }
  .pe-step { padding: var(--space-5); }
  .pe-step:not(:last-child) { border-right: 0; border-bottom: var(--border-default); }
  .pe-step:nth-child(-n + 2) { border-bottom: var(--border-default); }
  .pe-step div { flex: 1 1 auto; }
  .pe-prompt--energy { grid-column: 1; }
  .pe-gallery__item--wide, .pe-gallery__item--square, .pe-gallery__item--tall { grid-column: 1; }
  .pe-gallery__item--square { width: 88%; }
  .pe-gallery__item--tall { width: 78%; margin-left: auto; }
  .pe-field--full { grid-column: 1; }
  .pe-form { padding: var(--space-5); }
  .pe-form__footer { flex-direction: column; align-items: stretch; }
  .pe-form__footer .button { width: 100%; min-width: 0; }
}

@media (prefers-reduced-motion: no-preference) {
  .pe-mood:hover .media-frame { outline: 1px solid var(--color-signal-red); outline-offset: 3px; }
  .pe-hero__copy h1:hover span { transform: translateX(2px); transition: transform 160ms ease; }
}


.thank-you {
  display: grid;
  min-height: min(44rem, calc(100vh - 12rem));
  place-items: center;
  padding-block: var(--space-8);
}

.thank-you__section {
  width: 100%;
}

.thank-you__panel {
  position: relative;
  width: min(100%, 56rem);
  margin-inline: auto;
  border: var(--border-default);
  background: var(--surface-raised);
  box-shadow: var(--shadow-floating);
  padding: clamp(var(--space-6), 6vw, var(--space-8));
  text-align: center;
}

.thank-you__panel::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 4.5rem;
  height: 2px;
  background: var(--color-signal-red);
  content: "";
}

.thank-you__panel > .eyebrow {
  justify-content: center;
}

.thank-you__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  max-width: 42rem;
  margin-inline: auto;
}

.thank-you__content > * {
  margin: 0;
}

.thank-you__index {
  color: var(--color-signal-red);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.2;
}

.thank-you__content h1 {
  font-size: clamp(3rem, 8vw, 6rem);
}

.thank-you__lead {
  color: var(--color-cold-ash);
  font-size: var(--text-lead);
  font-weight: 500;
  line-height: var(--leading-relaxed);
}

.thank-you__copy {
  max-width: 38rem;
  margin-inline: auto;
  color: var(--color-muted-ash);
  text-align: center;
}

.thank-you__actions {
  justify-content: center;
  margin-block-start: var(--space-6);
}

@media (max-width: 39.9375rem) {
  .thank-you {
    min-height: auto;
    padding-block: var(--space-7);
  }

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

  .thank-you__actions {
    margin-block-start: var(--space-5);
  }
}
