

:root {
  --color-paper-ivory: #f4f0e8;
  --color-paper-warm: #eae4d9;
  --color-soft-black: #25231f;
  --color-muted-ink: #625d55;
  --color-warm-grey-line: #cfc8bc;
  --color-terracotta: #b85e43;
  --color-deep-wine: #552a32;
  --color-wine-hover: #6b3740;
  --color-photo-shadow: rgba(37, 35, 31, 0.16);

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

  --text-meta: 0.75rem;
  --text-caption: 0.875rem;
  --text-body-mobile: 1rem;
  --text-body: 1.125rem;
  --text-subheading: 1.5rem;
  --text-section-mobile: 2rem;
  --text-section: 3rem;
  --text-hero: 4.5rem;
  --text-cover: clamp(2.75rem, 10vw, 5.5rem);

  --leading-meta: 1.35;
  --leading-caption: 1.45;
  --leading-body: 1.65;
  --leading-subheading: 1.15;
  --leading-section: 0.98;
  --leading-hero: 0.9;
  --leading-cover: 0.88;

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

  --container-max: 90rem;
  --container-padding: 2rem;
  --container-padding-tablet: 1.25rem;
  --container-padding-mobile: 1rem;

  --surface-page: var(--color-paper-ivory);
  --surface-muted: var(--color-paper-warm);
  --surface-dark: var(--color-deep-wine);
  --text-primary: var(--color-soft-black);
  --text-secondary: var(--color-muted-ink);
  --border-subtle: var(--color-warm-grey-line);

  --radius-none: 0;
  --radius-field: 0.125rem;
  --radius-marker: 0.25rem;

  --shadow-panel: 0 12px 30px rgba(37, 35, 31, 0.08);

  --transition-fast: 180ms ease;
  --transition-base: 320ms ease;
  --transition-image: 900ms ease;

  --image-editorial-ratio: 4 / 5;
  --image-wide-ratio: 16 / 10;
  --image-portrait-ratio: 3 / 4;
}

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

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

body {
  min-width: 0;
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  background: var(--surface-page);
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: var(--text-body-mobile);
  font-weight: 400;
  line-height: var(--leading-body);
  text-rendering: optimizeLegibility;
  overflow-wrap: break-word;
}

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

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

img,
video {
  height: auto;
  object-fit: cover;
}

iframe {
  border: 0;
}

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

a:hover {
  color: var(--color-terracotta);
  text-decoration-color: currentcolor;
  text-underline-offset: 0.3em;
}

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

button,
select {
  text-transform: none;
}

button {
  border: 0;
  border-radius: var(--radius-none);
  cursor: pointer;
}

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

input,
select,
textarea {
  width: 100%;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-field);
  background: var(--surface-muted);
  padding: var(--space-3) var(--space-4);
  line-height: 1.4;
}

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

select {
  cursor: pointer;
}

label {
  display: inline-block;
  margin-block-end: var(--space-2);
  color: var(--text-primary);
  font-size: var(--text-caption);
  font-weight: 500;
  line-height: var(--leading-caption);
}

fieldset {
  margin: 0 0 var(--space-5);
  padding: var(--space-4);
  border: 1px solid var(--border-subtle);
}

legend {
  padding-inline: var(--space-2);
  color: var(--text-primary);
}

::placeholder {
  color: var(--text-secondary);
  opacity: 1;
}

:focus-visible {
  outline: 0;
  box-shadow: inset 0 -2px 0 var(--color-terracotta);
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  border-color: var(--color-terracotta);
  box-shadow:
    inset 0 -2px 0 var(--color-terracotta),
    0 0 0 2px rgba(184, 94, 67, 0.14);
}

::selection {
  background: var(--color-deep-wine);
  color: var(--color-paper-ivory);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 var(--space-4);
  color: var(--text-primary);
  font-family: var(--font-heading);
  font-weight: 600;
  letter-spacing: -0.032em;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

h1 {
  font-size: var(--text-cover);
  line-height: var(--leading-cover);
}

h2 {
  font-size: clamp(var(--text-section-mobile), 5vw, var(--text-section));
  line-height: var(--leading-section);
}

h3 {
  font-size: clamp(1.75rem, 3.4vw, 2.25rem);
  line-height: 1;
}

h4 {
  font-size: var(--text-subheading);
  line-height: var(--leading-subheading);
}

h5,
h6 {
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.3;
  letter-spacing: 0.01em;
}

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

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

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

blockquote {
  margin: 0 0 var(--space-5);
  padding-inline-start: var(--space-5);
  border-inline-start: 1px solid var(--color-terracotta);
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

figure,
table,
details,
pre,
hr {
  margin: 0 0 var(--space-5);
}

figcaption {
  margin-block-start: var(--space-2);
  color: var(--text-secondary);
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

hr {
  border: 0;
  border-top: 1px solid var(--border-subtle);
}

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

strong {
  font-weight: 650;
}

em {
  font-style: italic;
}

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

code,
kbd,
samp {
  font-size: 0.9em;
}

pre {
  overflow-x: auto;
  padding: var(--space-4);
  background: var(--surface-muted);
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

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

th {
  font-weight: 600;
}

summary {
  cursor: pointer;
}

summary::marker {
  color: var(--color-terracotta);
}

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

.container--full {
  width: 100%;
  max-width: none;
}

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

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

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

.surface-paper {
  background: var(--surface-page);
}

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

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

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

.surface-wine :is(a:hover, a:focus-visible) {
  color: var(--color-paper-ivory);
}

.eyebrow,
.meta,
.caption {
  font-family: var(--font-body);
  overflow-wrap: anywhere;
}

.eyebrow {
  margin: 0 0 var(--space-3);
  color: var(--color-terracotta);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

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

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

.rule {
  border: 0;
  border-top: 1px solid var(--border-subtle);
}

.stack {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
}

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

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

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

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

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

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

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

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

.cluster--start {
  justify-content: flex-start;
}

.cluster--center {
  justify-content: center;
}

.cluster--end {
  justify-content: flex-end;
}

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

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

.flow > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, blockquote, figure, table, details, pre, hr) {
  margin-block-start: 0;
}

.flow > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, blockquote, figure, table, details, pre, hr):last-child {
  margin-block-end: 0;
}

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

.card,
.panel {
  min-width: 0;
}

.card {
  border-top: 1px solid var(--border-subtle);
  padding-block: var(--space-5);
}

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

.button {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  border: 1px solid var(--color-deep-wine);
  border-radius: var(--radius-none);
  background: var(--color-deep-wine);
  color: var(--color-paper-ivory);
  padding: var(--space-3) 1.125rem;
  font-size: var(--text-caption);
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition:
    background-color var(--transition-fast),
    border-color var(--transition-fast),
    color var(--transition-fast),
    transform var(--transition-fast);
}

.button:hover {
  background: var(--color-wine-hover);
  border-color: var(--color-wine-hover);
  color: var(--color-paper-ivory);
}

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

.button--secondary {
  background: transparent;
  border-color: var(--color-soft-black);
  color: var(--color-soft-black);
}

.button--secondary:hover {
  background: var(--color-soft-black);
  border-color: var(--color-soft-black);
  color: var(--color-paper-ivory);
}

.button--text {
  border-color: transparent;
  background: transparent;
  color: var(--color-soft-black);
  padding-inline: 0;
  justify-content: flex-start;
}

.button--text:hover {
  background: transparent;
  border-color: transparent;
  color: var(--color-terracotta);
}

.media {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: var(--surface-muted);
}

.media--editorial {
  aspect-ratio: var(--image-editorial-ratio);
}

.media--wide {
  aspect-ratio: var(--image-wide-ratio);
}

.media--portrait {
  aspect-ratio: var(--image-portrait-ratio);
}

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

.media > picture {
  display: block;
}

.media--zoom > img,
.media--zoom > picture > img {
  transition: transform var(--transition-image);
}

.media--zoom:hover > img,
.media--zoom:hover > picture > img {
  transform: scale(1.025);
}

.photo-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to top, var(--color-photo-shadow), transparent 58%);
}

.reveal {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 650ms ease,
    transform 650ms ease;
}

@media (min-width: 48rem) {
  body {
    font-size: var(--text-body);
  }
}

@media (max-width: 64rem) {
  .container {
    padding-inline: var(--container-padding-tablet);
  }

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

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

@media (max-width: 40rem) {
  .container {
    padding-inline: var(--container-padding-mobile);
  }

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

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

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

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

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

  th,
  td {
    padding: var(--space-2);
  }
}

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

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

  .media--zoom:hover > img,
  .media--zoom:hover > picture > img {
    transform: none;
  }
}


.site-header {
  position: relative;
  z-index: 100;
  width: 100%;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--surface-page);
  color: var(--text-primary);
}

.site-header__edition {
  display: flex;
  width: min(100%, var(--container-max));
  margin-inline: auto;
  padding: var(--space-2) var(--container-padding) 0;
  color: var(--text-secondary);
  font-size: var(--text-meta);
  letter-spacing: 0.1em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.site-header__edition span:last-child { margin-left: auto; }

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

.site-header__brand {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  justify-self: center;
  gap: var(--space-2);
  color: var(--text-primary);
  font-family: var(--font-heading);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

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

.site-header__desktop-nav { min-width: 0; }
.site-header__desktop-nav--right { justify-self: end; }

.site-header__desktop-nav ul,
.site-header__mobile-nav ul {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-header__desktop-nav ul { gap: clamp(0.7rem, 1.35vw, 1.5rem); }
.site-header__desktop-nav li,
.site-header__mobile-nav li,
.site-header__desktop-nav li + li,
.site-header__mobile-nav li + li { margin: 0; padding: 0; }

.site-header__desktop-nav a {
  display: inline-block;
  color: var(--text-primary);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.045em;
  line-height: 1.25;
  text-decoration: none;
  white-space: nowrap;
}

.site-header__desktop-nav a[aria-current="page"] {
  color: var(--color-terracotta);
  letter-spacing: 0.065em;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.42em;
}

.site-header__toggle { display: none; }

.site-header__mobile-nav {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 110;
  display: flex;
  width: min(28rem, 100vw);
  height: 100dvh;
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: auto;
  padding: var(--space-7) var(--space-6) var(--space-6);
  background: var(--color-deep-wine);
  box-shadow: var(--shadow-panel);
  color: var(--color-paper-ivory);
  opacity: 0;
  pointer-events: none;
  transform: translateX(100%);
  transition: opacity var(--transition-base), transform var(--transition-base);
}

.site-header__mobile-nav.is-open { opacity: 1; pointer-events: auto; transform: translateX(0); }
.site-header__mobile-nav-head { display: flex; justify-content: space-between; gap: var(--space-4); padding-bottom: var(--space-5); border-bottom: 1px solid rgba(244,240,232,0.38); }
.site-header__mobile-nav-label,
.site-header__mobile-nav-season { font-size: var(--text-meta); font-weight: 600; letter-spacing: 0.1em; line-height: var(--leading-meta); text-transform: uppercase; }
.site-header__mobile-nav-season { color: var(--color-paper-warm); }
.site-header__mobile-nav ul { flex-direction: column; align-items: stretch; gap: 0; margin: var(--space-5) 0 auto; }
.site-header__mobile-nav li { border-bottom: 1px solid rgba(244,240,232,0.28); }
.site-header__mobile-nav a { display: block; padding: var(--space-4) 0; color: var(--color-paper-ivory); font-family: var(--font-heading); font-size: clamp(1.65rem, 6vw, 2.25rem); font-weight: 600; letter-spacing: -0.025em; line-height: 1; text-decoration: none; }
.site-header__mobile-nav-foot { display: grid; gap: var(--space-2); padding-top: var(--space-5); border-top: 1px solid rgba(244,240,232,0.38); }
.site-header__mobile-nav-foot a { padding: 0; font-family: var(--font-body); font-size: var(--text-caption); font-weight: 400; letter-spacing: 0; line-height: var(--leading-caption); }
.site-header__mobile-nav a:hover { color: var(--color-paper-warm); }
.site-header__mobile-nav a:focus-visible { color: var(--color-paper-ivory); box-shadow: inset 0 -2px 0 var(--color-terracotta); }

@media (max-width: 56.25rem) {
  .site-header__edition { padding-inline: var(--container-padding-tablet); }
  .site-header__inner { grid-template-columns: minmax(0, 1fr) auto; min-height: 4.75rem; padding-inline: var(--container-padding-tablet); }
  .site-header__desktop-nav { display: none; }
  .site-header__brand { justify-self: start; font-size: 0.95rem; }
  .site-header__logo { width: 2rem; height: 2rem; flex-basis: 2rem; }
  .site-header__toggle { display: inline-flex; width: 2.75rem; height: 2.75rem; align-items: center; justify-content: center; justify-self: end; border: 1px solid var(--border-subtle); background: transparent; color: var(--text-primary); }
  .site-header__toggle-lines { display: grid; width: 1.2rem; gap: 0.25rem; }
  .site-header__toggle-lines span { display: block; width: 100%; height: 1px; background: currentcolor; transform-origin: center; transition: transform var(--transition-base), opacity var(--transition-base); }
  .site-header__toggle[aria-expanded="true"] { border-color: var(--color-deep-wine); background: var(--color-deep-wine); color: var(--color-paper-ivory); }
  .site-header__toggle[aria-expanded="true"] .site-header__toggle-lines span:first-child { transform: translateY(0.31rem) rotate(45deg); }
  .site-header__toggle[aria-expanded="true"] .site-header__toggle-lines span:nth-child(2) { opacity: 0; }
  .site-header__toggle[aria-expanded="true"] .site-header__toggle-lines span:last-child { transform: translateY(-0.31rem) rotate(-45deg); }
}

@media (max-width: 40rem) {
  .site-header__edition { padding-inline: var(--container-padding-mobile); }
  .site-header__inner { padding-inline: var(--container-padding-mobile); }
  .site-header__mobile-nav { width: min(100vw, 25rem); padding: var(--space-6) var(--space-5); }
}

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


.site-footer {
  border-top: 1px solid var(--border-subtle);
  background: var(--surface-muted);
  color: var(--text-primary);
}

.site-footer__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 2fr);
  gap: var(--space-8);
  padding-block: var(--space-9);
}

.site-footer__intro { display: grid; align-content: start; gap: var(--space-3); }
.site-footer__intro p,
.site-footer__intro address,
.site-footer__intro a { margin: 0; }
.site-footer__intro p { color: var(--text-secondary); font-size: var(--text-caption); line-height: var(--leading-caption); }
.site-footer__intro address { font-size: var(--text-caption); font-style: normal; line-height: var(--leading-caption); }
.site-footer__intro > a:not(.site-footer__brand) { width: fit-content; font-size: var(--text-caption); }
.site-footer__brand { width: fit-content; color: var(--text-primary); font-family: var(--font-heading); font-size: 1.65rem; font-weight: 600; letter-spacing: -0.025em; line-height: 1; text-decoration: none; }

.site-footer__nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.site-footer__nav > div { min-width: 0; }
.site-footer__label { margin: 0 0 var(--space-3); color: var(--color-terracotta); font-size: var(--text-meta); font-weight: 600; letter-spacing: 0.1em; line-height: var(--leading-meta); text-transform: uppercase; }
.site-footer__nav ul { display: grid; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.site-footer__nav li,
.site-footer__nav li + li { margin: 0; padding: 0; }
.site-footer__nav a { font-size: var(--text-caption); line-height: var(--leading-caption); }

.site-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-3); border-top: 1px solid var(--border-subtle); padding-block: var(--space-4); color: var(--text-secondary); font-size: var(--text-meta); line-height: var(--leading-meta); }
.site-footer__bottom p { margin: 0; }

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

.site-consent { position: fixed; right: var(--space-4); bottom: var(--space-4); left: var(--space-4); z-index: 200; background: var(--surface-page); border: 1px solid var(--border-subtle); box-shadow: var(--shadow-panel); }
.site-consent__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); width: min(100%, 62rem); margin-inline: auto; padding: var(--space-4) var(--space-5); }
.site-consent__copy { margin: 0; font-size: var(--text-caption); line-height: var(--leading-caption); }
.site-consent__actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: var(--space-2); }
.site-consent__button,
.site-age-modal__confirm,
.site-age-modal__decline { border: 1px solid var(--color-deep-wine); background: var(--color-deep-wine); color: var(--color-paper-ivory); padding: var(--space-3) var(--space-4); font-size: var(--text-caption); font-weight: 600; line-height: 1.2; }
.site-consent__button:hover,
.site-age-modal__confirm:hover { border-color: var(--color-wine-hover); background: var(--color-wine-hover); }
.site-consent__button--secondary,
.site-age-modal__decline { background: transparent; color: var(--text-primary); }
.site-consent__button--secondary:hover,
.site-age-modal__decline:hover { background: var(--color-paper-warm); }

.site-age-modal { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; overflow-y: auto; padding: var(--space-4); background: rgba(37,35,31,0.68); }
.site-age-modal__panel { width: min(100%, 36rem); padding: clamp(var(--space-5), 5vw, var(--space-8)); background: var(--surface-page); border-top: 3px solid var(--color-terracotta); box-shadow: var(--shadow-panel); }
.site-age-modal__eyebrow { margin: 0 0 var(--space-3); color: var(--color-terracotta); font-size: var(--text-meta); font-weight: 600; letter-spacing: 0.1em; line-height: var(--leading-meta); text-transform: uppercase; }
.site-age-modal__panel h2 { margin-bottom: var(--space-4); }
.site-age-modal__panel > p:not(.site-age-modal__eyebrow) { margin-bottom: var(--space-5); color: var(--text-secondary); font-size: var(--text-caption); line-height: var(--leading-caption); }
.site-age-modal__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }

.site-consent__button:focus-visible,
.site-age-modal__confirm:focus-visible,
.site-age-modal__decline:focus-visible { box-shadow: inset 0 -2px 0 var(--color-terracotta), 0 0 0 2px rgba(184,94,67,0.22); }

@media (max-width: 48rem) {
  .site-footer__inner { grid-template-columns: 1fr; gap: var(--space-7); padding-block: var(--space-8); }
  .site-footer__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-consent__inner { align-items: stretch; flex-direction: column; padding: var(--space-4); }
}

@media (max-width: 30rem) {
  .site-footer__nav { grid-template-columns: 1fr; }
  .site-consent { right: var(--space-3); bottom: var(--space-3); left: var(--space-3); }
  .site-consent__actions,
  .site-age-modal__actions { flex-direction: column; }
  .site-consent__button,
  .site-age-modal__confirm,
  .site-age-modal__decline { width: 100%; }
}


.privacy-page {
  background: var(--surface-page);
  padding-bottom: var(--space-11);
}

.privacy-page a:focus-visible {
  box-shadow: none;
  color: var(--color-terracotta);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.28em;
  transform: translateY(-1px);
}

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

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

.privacy-cover__content {
  grid-column: 2 / span 7;
  min-width: 0;
}

.privacy-cover__content > :last-child {
  margin-bottom: 0;
}

.privacy-cover h1 {
  max-width: 8ch;
  font-size: clamp(3.5rem, 7vw, var(--text-hero));
  line-height: var(--leading-hero);
}

.privacy-cover__lead {
  max-width: 58ch;
  font-size: var(--text-body);
  line-height: var(--leading-body);
}

.privacy-cover__meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
  gap: var(--space-3) var(--space-5);
  width: 100%;
  min-width: 0;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  padding-block: var(--space-3);
  color: var(--text-secondary);
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

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

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

.privacy-section + .privacy-section {
  border-top: 1px solid var(--border-subtle);
}

.privacy-section__heading {
  grid-column: 2 / span 3;
  min-width: 0;
  border-right: 1px solid var(--border-subtle);
  padding-right: var(--space-5);
}

.privacy-section__heading > :last-child,
.privacy-section__body > :last-child,
.privacy-subsection > :last-child,
.privacy-purpose > :last-child,
.privacy-retention__item > :last-child,
.privacy-closing__item > :last-child,
.privacy-complaint > :last-child {
  margin-bottom: 0;
}

.privacy-section__number,
.privacy-right__number,
.privacy-mini-label {
  margin: 0 0 var(--space-3);
  color: var(--color-terracotta);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.privacy-section__heading h2 {
  font-size: clamp(2rem, 3.5vw, 3rem);
}

.privacy-section__body {
  min-width: 0;
}

.privacy-administrator__body {
  grid-column: 5 / span 5;
  max-width: 70ch;
}

.privacy-contact-list {
  margin: 0 0 var(--space-5);
  border-top: 1px solid var(--border-subtle);
}

.privacy-contact-list__row {
  display: grid;
  grid-template-columns: minmax(5.5rem, 0.35fr) minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  border-bottom: 1px solid var(--border-subtle);
  padding-block: var(--space-3);
}

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

.privacy-contact-list dt {
  color: var(--text-secondary);
  font-size: var(--text-caption);
}

.privacy-contact-list dd {
  overflow-wrap: anywhere;
}

.privacy-note {
  max-width: 68ch;
  color: var(--text-secondary);
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

.privacy-data__body {
  grid-column: 5 / span 6;
  max-width: 68ch;
}

.privacy-subsection {
  min-width: 0;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-5);
}

.privacy-subsection + .privacy-subsection {
  margin-top: var(--space-6);
}

.privacy-subsection h3,
.privacy-purpose h3,
.privacy-retention__item h3,
.privacy-closing__item h3,
.privacy-complaint h3,
.privacy-automation-note h3,
.privacy-request-note h3 {
  font-family: var(--font-body);
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: var(--leading-subheading);
}

.privacy-purposes__body {
  grid-column: 5 / span 6;
  max-width: 74ch;
}

.privacy-purpose {
  min-width: 0;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-5);
}

.privacy-purpose + .privacy-purpose {
  margin-top: var(--space-6);
}

.privacy-legal-basis {
  margin-bottom: 0;
  color: var(--text-secondary);
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

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

.privacy-retention__item {
  min-width: 0;
}

.privacy-retention__item--storage {
  grid-column: 1 / span 4;
  max-width: 66ch;
}

.privacy-retention__item--recipients {
  grid-column: 2 / span 5;
  max-width: 72ch;
}

.privacy-aside-note {
  grid-column: 1 / span 4;
  max-width: 56ch;
  margin: 0;
  border-left: 1px solid var(--color-terracotta);
  padding-left: var(--space-4);
  color: var(--text-secondary);
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

.privacy-transfers__body {
  grid-column: 5 / span 6;
  max-width: 70ch;
}

.privacy-subsection--first {
  border-top: 0;
  padding-top: 0;
}

.privacy-automation-note {
  min-width: 0;
  margin-top: var(--space-6);
  border: 1px solid var(--border-subtle);
  background: var(--surface-muted);
  padding: var(--space-5);
}

.privacy-automation-note > :last-child,
.privacy-request-note > :last-child {
  margin-bottom: 0;
}

.privacy-rights__body {
  grid-column: 5 / span 6;
  max-width: 70ch;
}

.privacy-rights__intro {
  max-width: 66ch;
}

.privacy-rights-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--space-5);
  min-width: 0;
  margin-bottom: var(--space-6);
  border-top: 1px solid var(--border-subtle);
}

.privacy-right {
  display: grid;
  grid-template-columns: minmax(2rem, 0.18fr) minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
  border-bottom: 1px solid var(--border-subtle);
  padding-block: var(--space-5);
}

.privacy-right__number {
  min-width: 0;
  margin: 0;
}

.privacy-right__content {
  min-width: 0;
}

.privacy-right h3 {
  margin-bottom: var(--space-2);
  font-size: clamp(1.2rem, 1.7vw, 1.4rem);
}

.privacy-right p:last-child {
  margin-bottom: 0;
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

.privacy-request-note {
  min-width: 0;
  margin-bottom: var(--space-6);
  border-left: 1px solid var(--color-terracotta);
  padding-left: var(--space-5);
}

.privacy-complaint {
  min-width: 0;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-5);
}

.privacy-closing__body {
  grid-column: 5 / span 5;
  max-width: 62ch;
}

.privacy-closing__item {
  min-width: 0;
}

.privacy-closing__item + .privacy-closing__item {
  margin-top: var(--space-6);
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-5);
}

.privacy-closing__imprint {
  margin-top: var(--space-6);
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-3);
  color: var(--text-secondary);
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

@media (max-width: 65.625rem) {
  .privacy-cover__grid,
  .privacy-section__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: var(--space-5);
  }

  .privacy-cover__content,
  .privacy-section__heading,
  .privacy-administrator__body,
  .privacy-data__body,
  .privacy-purposes__body,
  .privacy-transfers__body,
  .privacy-rights__body,
  .privacy-closing__body {
    grid-column: 1 / -1;
    max-width: none;
  }

  .privacy-section__heading {
    border-right: 0;
    padding-right: 0;
    margin-bottom: var(--space-6);
  }

  .privacy-section__heading h2 {
    max-width: 16ch;
  }

  .privacy-retention__body {
    grid-column: 1 / -1;
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

  .privacy-retention__item--storage {
    grid-column: 1 / span 6;
    max-width: 66ch;
  }

  .privacy-retention__item--recipients {
    grid-column: 1 / span 7;
    max-width: 72ch;
  }

  .privacy-aside-note {
    grid-column: 1 / span 6;
  }

  .privacy-cover__lead,
  .privacy-note,
  .privacy-data__body,
  .privacy-purposes__body,
  .privacy-transfers__body,
  .privacy-rights__body,
  .privacy-closing__body {
    max-width: 70ch;
  }
}

@media (max-width: 40rem) {
  .privacy-page {
    padding-bottom: var(--space-9);
  }

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

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

  .privacy-cover h1 {
    font-size: clamp(2.75rem, 11vw, 3.5rem);
  }

  .privacy-cover__lead {
    font-size: var(--text-body-mobile);
  }

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

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

  .privacy-section__heading {
    margin-bottom: var(--space-5);
  }

  .privacy-section__heading h2 {
    max-width: 100%;
    font-size: var(--text-section-mobile);
  }

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

  .privacy-subsection + .privacy-subsection,
  .privacy-purpose + .privacy-purpose,
  .privacy-closing__item + .privacy-closing__item {
    margin-top: var(--space-5);
  }

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

  .privacy-retention__item--storage,
  .privacy-retention__item--recipients,
  .privacy-aside-note {
    grid-column: 1;
    max-width: none;
  }

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

  .privacy-right {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
    padding-block: var(--space-4);
  }

  .privacy-automation-note {
    padding: var(--space-4);
  }

  .privacy-request-note {
    padding-left: var(--space-4);
  }
}

@media (prefers-reduced-motion: reduce) {
  .privacy-page a:focus-visible {
    transform: none;
  }
}


.cookies-page {
  overflow: hidden;
}

.cookies-page__hero,
.cookies-page__section,
.cookies-page__contact-section {
  min-width: 0;
}

.cookies-page__hero {
  padding-block: var(--space-11) var(--space-10);
}

.cookies-page__hero-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
  align-items: start;
}

.cookies-page__hero-grid > * {
  min-width: 0;
}

.cookies-page__hero-copy {
  grid-column: 3 / span 6;
  width: 100%;
  max-width: 45rem;
}

.cookies-page__hero-number {
  margin: 0 0 var(--space-3);
  color: var(--text-secondary);
  font-size: var(--text-meta);
  letter-spacing: 0.1em;
  line-height: var(--leading-meta);
}

.cookies-page__hero-copy h1 {
  margin-bottom: var(--space-5);
  font-size: clamp(3.5rem, 8vw, 5.5rem);
}

.cookies-page__lead {
  max-width: 37rem;
  font-size: clamp(1rem, 1.35vw, 1.125rem);
  line-height: var(--leading-body);
}

.cookies-page__hero-meta {
  grid-column: 10 / span 2;
  width: 100%;
  min-width: 0;
  border-inline-start: 1px solid var(--border-subtle);
  padding-inline-start: var(--space-4);
}

.cookies-page__hero-meta p:last-child {
  margin-bottom: 0;
}

.cookies-page__meta-label,
.cookies-page__contact-label {
  margin: 0 0 var(--space-2);
  color: var(--text-secondary);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.cookies-page__effective-date {
  margin: 0 0 var(--space-3);
  font-size: var(--text-caption);
  font-weight: 650;
  line-height: var(--leading-caption);
}

.cookies-page__section {
  padding-block: var(--space-10);
}

.cookies-page__reading-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
  align-items: start;
}

.cookies-page__reading-grid > * {
  min-width: 0;
}

.cookies-page__section-marker {
  color: var(--color-terracotta);
  font-size: var(--text-meta);
  font-weight: 650;
  letter-spacing: 0.1em;
  line-height: var(--leading-meta);
}

.cookies-page__reading-grid > .cookies-page__section-marker {
  grid-column: 2 / span 1;
  width: 100%;
  padding-top: var(--space-1);
}

.cookies-page__reading-copy {
  grid-column: 3 / span 5;
  width: 100%;
  max-width: 42rem;
}

.cookies-page__reading-copy h2,
.cookies-page__purposes-title h2,
.cookies-page__categories-heading h2,
.cookies-page__management-copy h2,
.cookies-page__effects-heading h2 {
  margin-bottom: var(--space-5);
}

.cookies-page__dropcap::first-letter {
  float: inline-start;
  margin: 0.07em 0.12em 0 0;
  color: var(--color-deep-wine);
  font-family: var(--font-heading);
  font-size: 4.4em;
  font-weight: 600;
  line-height: 0.74;
}

.cookies-page__reading-copy hr,
.cookies-page__retention-copy hr {
  margin-block: var(--space-6);
}

.cookies-page__purposes-head {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
  align-items: start;
  margin-bottom: var(--space-7);
}

.cookies-page__purposes-head > * {
  min-width: 0;
}

.cookies-page__purposes-head > .cookies-page__section-marker {
  grid-column: 2 / span 1;
  width: 100%;
  padding-top: var(--space-1);
}

.cookies-page__purposes-title {
  grid-column: 3 / span 6;
  width: 100%;
  max-width: 43rem;
}

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

.cookies-page__purposes-grid > * {
  min-width: 0;
}

.cookies-page__purpose {
  width: 100%;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
}

.cookies-page__purpose h3,
.cookies-page__category h3,
.cookies-page__retention-copy h3,
.cookies-page__step h3,
.cookies-page__restriction-copy h3,
.cookies-page__updates-panel h3 {
  margin-bottom: var(--space-4);
}

.cookies-page__purpose p:last-child,
.cookies-page__category p:last-child,
.cookies-page__retention-copy p:last-child,
.cookies-page__step p:last-child,
.cookies-page__updates-panel p:last-child {
  margin-bottom: 0;
}

.cookies-page__purpose--essential {
  grid-column: 2 / span 4;
}

.cookies-page__purpose--preferences {
  grid-column: 7 / span 3;
  background: var(--surface-muted);
  padding: var(--space-5);
}

.cookies-page__purpose--measurement {
  grid-column: 6 / span 4;
}

.cookies-page__purpose-note {
  margin-top: var(--space-5);
  color: var(--text-secondary);
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

.cookies-page__categories-shell {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
  row-gap: var(--space-7);
}

.cookies-page__categories-shell > * {
  min-width: 0;
}

.cookies-page__categories-heading {
  grid-column: 2 / span 7;
  display: grid;
  grid-template-columns: 1fr minmax(0, 6fr);
  gap: var(--space-5);
  align-items: start;
  width: 100%;
}

.cookies-page__categories-heading > * {
  min-width: 0;
}

.cookies-page__categories-heading .cookies-page__section-marker {
  padding-top: var(--space-1);
}

.cookies-page__categories-grid {
  grid-column: 2 / span 9;
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  column-gap: var(--space-5);
  align-items: start;
  width: 100%;
}

.cookies-page__categories-grid > * {
  min-width: 0;
}

.cookies-page__category {
  width: 100%;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
}

.cookies-page__category--necessary {
  grid-column: 1 / span 4;
}

.cookies-page__category--optional {
  grid-column: 6 / span 4;
  background: var(--surface-muted);
  padding: var(--space-5);
}

.cookies-page__letter {
  margin: 0 0 var(--space-4);
  color: var(--color-terracotta);
  font-family: var(--font-heading);
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 0.9;
}

.cookies-page__retention-copy {
  grid-column: 2 / span 7;
  width: 100%;
  max-width: 48rem;
}

.cookies-page__configuration-note {
  grid-column: 2 / span 7;
  width: 100%;
  max-width: 48rem;
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

.cookies-page__management-shell {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  row-gap: var(--space-7);
}

.cookies-page__management-shell > * {
  min-width: 0;
}

.cookies-page__management-intro {
  grid-column: 2 / span 6;
  display: grid;
  grid-template-columns: 1fr minmax(0, 5fr);
  gap: var(--space-5);
  align-items: start;
  width: 100%;
}

.cookies-page__management-intro > * {
  min-width: 0;
}

.cookies-page__management-intro .cookies-page__section-marker {
  padding-top: var(--space-1);
}

.cookies-page__management-copy {
  width: 100%;
  max-width: 38rem;
}

.cookies-page__consent-button {
  margin-top: var(--space-1);
}

.cookies-page__consent-unavailable {
  margin-top: var(--space-4);
  color: var(--text-secondary);
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

.cookies-page__steps-grid {
  grid-column: 2 / span 9;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
  width: 100%;
}

.cookies-page__steps-grid > * {
  min-width: 0;
}

.cookies-page__step {
  width: 100%;
  border-inline-start: 1px solid var(--border-subtle);
  padding-inline-start: var(--space-4);
}

.cookies-page__step-number {
  margin: 0 0 var(--space-4);
  color: var(--color-terracotta);
  font-size: var(--text-meta);
  font-weight: 650;
  letter-spacing: 0.1em;
  line-height: var(--leading-meta);
}

.cookies-page__settings-link {
  margin-top: var(--space-2);
}

.cookies-page__effects-shell {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
  row-gap: var(--space-7);
}

.cookies-page__effects-shell > * {
  min-width: 0;
}

.cookies-page__effects-heading {
  grid-column: 2 / span 8;
  display: grid;
  grid-template-columns: 1fr minmax(0, 7fr);
  gap: var(--space-5);
  align-items: start;
  width: 100%;
}

.cookies-page__effects-heading > * {
  min-width: 0;
}

.cookies-page__effects-heading .cookies-page__section-marker {
  padding-top: var(--space-1);
}

.cookies-page__effects-grid {
  grid-column: 2 / span 10;
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
  width: 100%;
}

.cookies-page__effects-grid > * {
  min-width: 0;
}

.cookies-page__restriction-copy {
  grid-column: 1 / span 6;
  width: 100%;
}

.cookies-page__restriction-copy blockquote {
  margin-top: var(--space-6);
  margin-bottom: 0;
}

.cookies-page__updates-panel {
  grid-column: 8 / span 3;
  width: 100%;
  padding: var(--space-5);
}

.cookies-page__orientation-note {
  grid-column: 2 / span 7;
  width: 100%;
  max-width: 48rem;
  margin: 0;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
  color: var(--text-secondary);
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

.cookies-page__contact-section {
  padding-block: var(--space-10) var(--space-11);
}

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

.cookies-page__contact-grid > * {
  min-width: 0;
}

.cookies-page__contact-block {
  grid-column: 3 / span 5;
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  border-top: 1px solid var(--border-subtle);
  background: var(--surface-muted);
  padding: var(--space-6);
}

.cookies-page__contact-block > * {
  min-width: 0;
  margin: 0;
}

.cookies-page__contact-block h2 {
  font-size: clamp(2rem, 3.4vw, 3rem);
}

.cookies-page__email {
  max-width: 100%;
  color: var(--text-primary);
  font-size: var(--text-body);
  font-weight: 650;
  line-height: var(--leading-body);
  overflow-wrap: anywhere;
}

@media (max-width: 65rem) {
  .cookies-page__hero {
    padding-block: var(--space-10) var(--space-9);
  }

  .cookies-page__hero-grid,
  .cookies-page__reading-grid,
  .cookies-page__purposes-head,
  .cookies-page__purposes-grid,
  .cookies-page__categories-shell,
  .cookies-page__management-shell,
  .cookies-page__effects-shell,
  .cookies-page__contact-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: var(--space-5);
  }

  .cookies-page__hero-copy {
    grid-column: 2 / span 6;
  }

  .cookies-page__hero-meta {
    grid-column: 2 / span 6;
    margin-top: var(--space-6);
    border-inline-start: 0;
    border-top: 1px solid var(--border-subtle);
    padding: var(--space-4) 0 0;
  }

  .cookies-page__reading-grid > .cookies-page__section-marker,
  .cookies-page__purposes-head > .cookies-page__section-marker {
    grid-column: 2 / span 1;
  }

  .cookies-page__reading-copy,
  .cookies-page__purposes-title {
    grid-column: 3 / span 6;
  }

  .cookies-page__purpose--essential {
    grid-column: 2 / span 3;
  }

  .cookies-page__purpose--preferences {
    grid-column: 5 / span 3;
  }

  .cookies-page__purpose--measurement {
    grid-column: 2 / span 6;
  }

  .cookies-page__categories-heading {
    grid-column: 2 / span 6;
    grid-template-columns: 1fr minmax(0, 5fr);
  }

  .cookies-page__categories-grid {
    grid-column: 2 / span 6;
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .cookies-page__category--necessary {
    grid-column: 1 / span 3;
  }

  .cookies-page__category--optional {
    grid-column: 4 / span 3;
  }

  .cookies-page__retention-copy,
  .cookies-page__configuration-note {
    grid-column: 2 / span 6;
  }

  .cookies-page__management-intro {
    grid-column: 2 / span 6;
  }

  .cookies-page__steps-grid {
    grid-column: 2 / span 6;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cookies-page__effects-heading {
    grid-column: 2 / span 6;
    grid-template-columns: 1fr minmax(0, 5fr);
  }

  .cookies-page__effects-grid {
    grid-column: 2 / span 6;
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .cookies-page__restriction-copy {
    grid-column: 1 / span 4;
  }

  .cookies-page__updates-panel {
    grid-column: 5 / span 2;
  }

  .cookies-page__orientation-note {
    grid-column: 2 / span 6;
  }

  .cookies-page__contact-block {
    grid-column: 2 / span 6;
  }
}

@media (max-width: 61rem) {
  .cookies-page__steps-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

@media (max-width: 57.5rem) {
  .cookies-page__categories-grid {
    gap: var(--space-5);
  }

  .cookies-page__category--necessary,
  .cookies-page__category--optional {
    grid-column: 1 / span 6;
  }

  .cookies-page__effects-grid {
    grid-template-columns: 1fr;
  }

  .cookies-page__restriction-copy,
  .cookies-page__updates-panel {
    grid-column: 1;
  }

  .cookies-page__updates-panel {
    max-width: 32rem;
  }
}

@media (max-width: 45rem) {
  .cookies-page__section,
  .cookies-page__contact-section {
    padding-block: var(--space-8);
  }

  .cookies-page__hero {
    padding-block: var(--space-9) var(--space-8);
  }

  .cookies-page__hero-grid,
  .cookies-page__reading-grid,
  .cookies-page__purposes-head,
  .cookies-page__purposes-grid,
  .cookies-page__categories-shell,
  .cookies-page__management-shell,
  .cookies-page__effects-shell,
  .cookies-page__contact-grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .cookies-page__hero-copy,
  .cookies-page__hero-meta,
  .cookies-page__reading-grid > .cookies-page__section-marker,
  .cookies-page__reading-copy,
  .cookies-page__purposes-head > .cookies-page__section-marker,
  .cookies-page__purposes-title,
  .cookies-page__categories-heading,
  .cookies-page__categories-grid,
  .cookies-page__retention-copy,
  .cookies-page__configuration-note,
  .cookies-page__management-intro,
  .cookies-page__steps-grid,
  .cookies-page__effects-heading,
  .cookies-page__effects-grid,
  .cookies-page__orientation-note,
  .cookies-page__contact-block {
    grid-column: 1;
    width: 100%;
    max-width: none;
  }

  .cookies-page__hero-copy h1 {
    font-size: clamp(2.75rem, 12vw, 3.625rem);
  }

  .cookies-page__hero-meta {
    margin-top: 0;
  }

  .cookies-page__reading-grid > .cookies-page__section-marker,
  .cookies-page__purposes-head > .cookies-page__section-marker {
    padding-top: 0;
  }

  .cookies-page__purposes-head,
  .cookies-page__categories-heading,
  .cookies-page__management-intro,
  .cookies-page__effects-heading {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .cookies-page__purposes-grid,
  .cookies-page__categories-grid,
  .cookies-page__steps-grid,
  .cookies-page__effects-grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .cookies-page__purpose--essential,
  .cookies-page__purpose--preferences,
  .cookies-page__purpose--measurement,
  .cookies-page__category--necessary,
  .cookies-page__category--optional,
  .cookies-page__restriction-copy,
  .cookies-page__updates-panel,
  .cookies-page__step,
  .cookies-page__step:nth-child(3) {
    grid-column: 1;
    width: 100%;
  }

  .cookies-page__purpose--preferences,
  .cookies-page__category--optional {
    padding: var(--space-5);
  }

  .cookies-page__retention-copy hr {
    margin-block: var(--space-5);
  }

  .cookies-page__updates-panel {
    max-width: none;
    padding: var(--space-5);
  }

  .cookies-page__contact-block {
    padding: var(--space-5);
  }

  .cookies-page__email {
    font-size: var(--text-body-mobile);
  }
}

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


.regulamin-page {
  overflow: hidden;
}

.regulamin-page :is(a:focus-visible, .button:focus-visible) {
  box-shadow: inset 0 -2px 0 var(--color-terracotta);
  transform: translateY(1px);
}

.regulamin-cover__grid,
.regulamin-index__grid,
.regulamin-reading__grid,
.regulamin-usage,
.regulamin-contact__grid,
.regulamin-etiquette__grid,
.regulamin-safety,
.regulamin-closing__grid,
.regulamin-amendments {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.regulamin-cover__grid > *,
.regulamin-index__grid > *,
.regulamin-reading__grid > *,
.regulamin-usage > *,
.regulamin-contact__grid > *,
.regulamin-etiquette__grid > *,
.regulamin-safety > *,
.regulamin-closing__grid > *,
.regulamin-amendments > * {
  min-width: 0;
}

.regulamin-cover {
  padding-block-start: var(--space-11);
}

.regulamin-cover__number {
  grid-column: 12;
  align-self: start;
  color: var(--color-warm-grey-line);
  font-family: var(--font-heading);
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  line-height: 0.9;
  text-align: end;
}

.regulamin-cover__title-block {
  grid-column: 2 / span 7;
}

.regulamin-cover__title-block h1 {
  font-size: clamp(3.5rem, 8vw, 6.25rem);
}

.regulamin-cover__date {
  margin-block: var(--space-5);
  color: var(--text-secondary);
  font-size: var(--text-caption);
  font-weight: 600;
  letter-spacing: 0.04em;
}

.regulamin-cover__lead {
  max-width: 65ch;
  font-size: clamp(1.125rem, 1.5vw, 1.35rem);
}

.regulamin-cover__note {
  grid-column: 9 / span 3;
  align-self: end;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
}

.regulamin-cover__note p:last-child {
  margin-bottom: 0;
  color: var(--text-secondary);
  font-size: var(--text-caption);
}

.regulamin-index__grid {
  align-items: start;
}

.regulamin-toc {
  grid-column: 1 / span 4;
}

.regulamin-toc__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--border-subtle);
}

.regulamin-toc__list li {
  min-width: 0;
  border-bottom: 1px solid var(--border-subtle);
}

.regulamin-toc__list a {
  display: grid;
  min-width: 0;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  gap: var(--space-3);
  padding-block: var(--space-3);
  text-decoration: none;
}

.regulamin-toc__list span:first-child {
  color: var(--color-terracotta);
  font-size: var(--text-meta);
  font-weight: 600;
}

.regulamin-toc__list span:last-child {
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

.regulamin-toc__list a[aria-current="true"] {
  box-shadow: inset 0 -1px 0 var(--color-terracotta);
  color: var(--color-terracotta);
  letter-spacing: 0.015em;
}

.regulamin-definitions {
  grid-column: 6 / span 7;
  background: var(--surface-muted);
  padding: var(--space-7);
}

.regulamin-definitions__heading,
.regulamin-contact__heading,
.regulamin-etiquette__heading {
  display: grid;
  min-width: 0;
  grid-template-columns: 4rem minmax(0, 1fr);
  gap: var(--space-4);
  align-items: start;
}

.regulamin-definitions__heading > *,
.regulamin-contact__heading > *,
.regulamin-etiquette__heading > * {
  min-width: 0;
}

.regulamin-section-number {
  color: var(--color-terracotta);
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 0.9;
}

.regulamin-definitions__list {
  margin: var(--space-6) 0 0;
}

.regulamin-definitions__list > div {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(8rem, 0.7fr) minmax(0, 2fr);
  gap: var(--space-5);
  border-top: 1px solid var(--border-subtle);
  padding-block: var(--space-4);
}

.regulamin-definitions__list > div:last-child {
  padding-bottom: 0;
}

.regulamin-definitions__list dt,
.regulamin-definitions__list dd {
  min-width: 0;
  margin: 0;
}

.regulamin-definitions__list dt {
  font-size: var(--text-caption);
  font-weight: 650;
}

.regulamin-definitions__list dd {
  max-width: 62ch;
  color: var(--text-secondary);
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

.regulamin-reading__grid {
  align-items: start;
}

.regulamin-reading__marker,
.regulamin-usage__marker,
.regulamin-safety__marker,
.regulamin-closing__margin {
  color: var(--color-terracotta);
  font-family: var(--font-heading);
  font-size: 2.5rem;
  line-height: 0.9;
}

.regulamin-reading__marker {
  grid-column: 1;
}

.regulamin-reading__copy {
  grid-column: 2 / span 6;
}

.regulamin-reading__copy p {
  max-width: 70ch;
}

.regulamin-dropcap::first-letter {
  float: left;
  margin: 0.05em 0.12em 0 0;
  color: var(--color-terracotta);
  font-family: var(--font-heading);
  font-size: 4.4em;
  font-weight: 600;
  line-height: 0.7;
}

.regulamin-reading__note {
  grid-column: 10 / span 3;
  background: var(--surface-muted);
  padding: var(--space-5);
}

.regulamin-reading__note p:last-child {
  max-width: 44ch;
  margin-bottom: 0;
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

.regulamin-usage {
  margin-top: var(--space-8);
  align-items: start;
}

.regulamin-usage__marker {
  grid-column: 1;
}

.regulamin-usage__copy {
  grid-column: 2 / span 6;
}

.regulamin-numbered-list {
  margin: var(--space-6) 0 0;
  padding: 0;
  list-style: none;
}

.regulamin-numbered-list > li {
  display: grid;
  min-width: 0;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-4);
  border-top: 1px solid var(--border-subtle);
  padding-block: var(--space-5);
}

.regulamin-numbered-list > li > * {
  min-width: 0;
}

.regulamin-numbered-list > li > span {
  color: var(--color-terracotta);
  font-size: var(--text-meta);
  font-weight: 650;
}

.regulamin-numbered-list h3 {
  margin-bottom: var(--space-2);
  font-size: var(--text-subheading);
}

.regulamin-numbered-list p {
  max-width: 68ch;
  margin-bottom: 0;
}

.regulamin-contact__grid {
  align-items: start;
}

.regulamin-contact__copy {
  grid-column: 2 / span 7;
}

.regulamin-contact__copy > p {
  max-width: 66ch;
}

.regulamin-confirmation {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-6);
  background: var(--surface-muted);
  padding: var(--space-5);
}

.regulamin-confirmation > * {
  min-width: 0;
  margin: 0;
}

.regulamin-confirmation p:last-child {
  max-width: 66ch;
}

.regulamin-contact__details {
  grid-column: 10 / span 3;
  align-self: end;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
}

.regulamin-contact__details > p:not(.eyebrow) {
  margin-bottom: var(--space-2);
  font-size: var(--text-caption);
  font-weight: 600;
}

.regulamin-contact__details .caption {
  margin-bottom: 0;
  font-weight: 400;
}

.regulamin-poker__panel {
  position: relative;
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  overflow: hidden;
  padding: var(--space-8);
}

.regulamin-poker__panel > * {
  min-width: 0;
}

.regulamin-poker__watermark {
  position: absolute;
  inset: auto var(--space-6) var(--space-4) auto;
  color: rgba(244, 240, 232, 0.1);
  font-family: var(--font-heading);
  font-size: clamp(7rem, 16vw, 14rem);
  line-height: 0.7;
  pointer-events: none;
}

.regulamin-poker__intro {
  grid-column: 1 / span 5;
  position: relative;
  z-index: 1;
}

.regulamin-poker__intro .eyebrow {
  color: var(--color-paper-ivory);
}

.regulamin-poker__intro p:last-child {
  max-width: 60ch;
  margin-bottom: 0;
}

.regulamin-poker__rules {
  grid-column: 7 / span 6;
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  position: relative;
  z-index: 1;
}

.regulamin-poker__rules > article {
  min-width: 0;
  border-left: 1px solid rgba(244, 240, 232, 0.36);
  padding-inline: var(--space-4);
}

.regulamin-poker__rules h3 {
  color: var(--color-paper-ivory);
  font-size: var(--text-subheading);
}

.regulamin-poker__rules p {
  max-width: 40ch;
  margin-bottom: 0;
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

.regulamin-poker__note {
  display: grid;
  min-width: 0;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-4);
  width: min(100%, 47rem);
  margin-top: var(--space-5);
  background: var(--surface-muted);
  padding: var(--space-5);
}

.regulamin-poker__note > * {
  min-width: 0;
}

.regulamin-poker__note span {
  color: var(--color-terracotta);
  font-size: var(--text-meta);
  font-weight: 650;
}

.regulamin-poker__note p {
  max-width: 60ch;
  margin-bottom: 0;
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

.regulamin-etiquette__grid {
  align-items: start;
}

.regulamin-etiquette__copy {
  grid-column: 2 / span 7;
}

.regulamin-etiquette__copy > p {
  max-width: 68ch;
}

.regulamin-etiquette__quote {
  grid-column: 10 / span 3;
  align-self: start;
  margin-top: var(--space-8);
  max-width: 12ch;
}

.regulamin-safety {
  margin-top: var(--space-7);
  border-top: 2px solid var(--color-soft-black);
  padding-top: var(--space-5);
}

.regulamin-safety__marker {
  grid-column: 1;
}

.regulamin-safety__copy {
  grid-column: 2 / span 7;
}

.regulamin-safety__copy p {
  max-width: 68ch;
}

.regulamin-belongings {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  width: calc((100% - (11 * var(--space-5))) / 12 * 5 + (4 * var(--space-5)));
  margin-top: var(--space-6);
  margin-left: calc((100% - (11 * var(--space-5))) / 12 + var(--space-5));
  background: var(--surface-muted);
  padding: var(--space-5);
}

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

.regulamin-belongings p:last-child {
  max-width: 56ch;
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

.regulamin-closing__grid {
  align-items: start;
}

.regulamin-closing__margin {
  grid-column: 1 / span 2;
}

.regulamin-closing__copy {
  grid-column: 3 / span 6;
}

.regulamin-closing__copy p {
  max-width: 66ch;
}

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

.regulamin-amendments__date {
  grid-column: 1 / span 2;
  color: var(--color-terracotta);
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 0.9;
}

.regulamin-amendments__date span {
  color: var(--text-secondary);
  font-family: var(--font-body);
  font-size: var(--text-meta);
  font-weight: 600;
  line-height: var(--leading-meta);
}

.regulamin-amendments__copy {
  grid-column: 3 / span 6;
}

.regulamin-amendments__copy p {
  max-width: 66ch;
}

.regulamin-final {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  width: calc((100% - (11 * var(--space-5))) / 12 * 4 + (3 * var(--space-5)));
  margin-top: var(--space-8);
  margin-left: calc((100% - (11 * var(--space-5))) / 12 * 2 + 2 * var(--space-5));
  background: var(--surface-muted);
  padding: var(--space-6);
}

.regulamin-final > * {
  min-width: 0;
  margin: 0;
}

.regulamin-final h2 {
  font-size: clamp(2rem, 3vw, 2.75rem);
}

.regulamin-final p:not(.eyebrow):not(.regulamin-final__date) {
  max-width: 54ch;
}

.regulamin-final__date {
  color: var(--text-secondary);
  font-size: var(--text-meta);
  font-weight: 600;
}

@media (max-width: 65rem) {
  .regulamin-cover__grid,
  .regulamin-index__grid,
  .regulamin-reading__grid,
  .regulamin-usage,
  .regulamin-contact__grid,
  .regulamin-etiquette__grid,
  .regulamin-safety,
  .regulamin-closing__grid,
  .regulamin-amendments {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .regulamin-cover__number {
    grid-column: 8;
  }

  .regulamin-cover__title-block {
    grid-column: 1 / span 5;
  }

  .regulamin-cover__note {
    grid-column: 1 / span 5;
    margin-top: var(--space-5);
  }

  .regulamin-toc {
    grid-column: 1 / span 8;
  }

  .regulamin-definitions {
    grid-column: 1 / span 8;
  }

  .regulamin-reading__marker,
  .regulamin-usage__marker,
  .regulamin-safety__marker,
  .regulamin-closing__margin,
  .regulamin-amendments__date {
    grid-column: 1 / span 8;
  }

  .regulamin-reading__copy,
  .regulamin-usage__copy,
  .regulamin-contact__copy,
  .regulamin-etiquette__copy,
  .regulamin-safety__copy,
  .regulamin-closing__copy,
  .regulamin-amendments__copy {
    grid-column: 1 / span 6;
  }

  .regulamin-reading__note,
  .regulamin-contact__details,
  .regulamin-etiquette__quote {
    grid-column: 1 / span 6;
    margin-top: 0;
  }

  .regulamin-contact__details {
    align-self: start;
  }

  .regulamin-etiquette__quote {
    order: -1;
    max-width: 28ch;
  }

  .regulamin-poker__panel {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    padding: var(--space-7);
  }

  .regulamin-poker__intro,
  .regulamin-poker__rules {
    grid-column: 1 / span 8;
  }

  .regulamin-poker__rules {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .regulamin-poker__rules > article {
    border-left: 0;
    border-top: 1px solid rgba(244, 240, 232, 0.36);
    padding: var(--space-4) 0;
  }

  .regulamin-belongings,
  .regulamin-final {
    width: calc((100% - (7 * var(--space-5))) / 8 * 6 + (5 * var(--space-5)));
    margin-left: 0;
  }

  .regulamin-final {
    margin-top: var(--space-7);
  }
}

@media (max-width: 40rem) {
  .regulamin-cover {
    padding-block-start: var(--space-9);
  }

  .regulamin-cover__grid,
  .regulamin-index__grid,
  .regulamin-reading__grid,
  .regulamin-usage,
  .regulamin-contact__grid,
  .regulamin-etiquette__grid,
  .regulamin-safety,
  .regulamin-closing__grid,
  .regulamin-amendments {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .regulamin-cover__number,
  .regulamin-cover__title-block,
  .regulamin-cover__note,
  .regulamin-toc,
  .regulamin-definitions,
  .regulamin-reading__marker,
  .regulamin-reading__copy,
  .regulamin-reading__note,
  .regulamin-usage__marker,
  .regulamin-usage__copy,
  .regulamin-contact__copy,
  .regulamin-contact__details,
  .regulamin-etiquette__copy,
  .regulamin-etiquette__quote,
  .regulamin-safety__marker,
  .regulamin-safety__copy,
  .regulamin-closing__margin,
  .regulamin-closing__copy,
  .regulamin-amendments__date,
  .regulamin-amendments__copy {
    grid-column: 1;
  }

  .regulamin-cover__number {
    order: -1;
    font-size: 2rem;
    text-align: start;
  }

  .regulamin-cover__title-block h1 {
    font-size: clamp(2.75rem, 15vw, 3.5rem);
  }

  .regulamin-cover__lead {
    font-size: var(--text-body-mobile);
  }

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

  .regulamin-definitions__heading,
  .regulamin-contact__heading,
  .regulamin-etiquette__heading {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

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

  .regulamin-reading__copy p,
  .regulamin-usage__copy p,
  .regulamin-contact__copy > p,
  .regulamin-etiquette__copy > p,
  .regulamin-safety__copy p,
  .regulamin-closing__copy p,
  .regulamin-amendments__copy p {
    max-width: none;
  }

  .regulamin-numbered-list > li {
    grid-template-columns: 2.25rem minmax(0, 1fr);
    gap: var(--space-3);
  }

  .regulamin-poker__panel {
    grid-template-columns: minmax(0, 1fr);
    padding: var(--space-5);
  }

  .regulamin-poker__intro,
  .regulamin-poker__rules {
    grid-column: 1;
  }

  .regulamin-poker__rules h3 {
    font-size: 1.5rem;
  }

  .regulamin-poker__note {
    width: 100%;
    grid-template-columns: 2.5rem minmax(0, 1fr);
  }

  .regulamin-etiquette__quote {
    max-width: none;
    font-size: clamp(1.75rem, 8vw, 2rem);
  }

  .regulamin-belongings,
  .regulamin-final {
    width: 100%;
    margin-left: 0;
    padding: var(--space-5);
  }
}


.kontakt-page {
  overflow: clip;
}

.kontakt-page a:focus-visible,
.kontakt-page button:focus-visible {
  box-shadow: inset 0 -2px 0 var(--color-terracotta);
  transform: translateX(1px);
}

.kontakt-cover__grid,
.kontakt-details__grid,
.kontakt-topics__grid,
.kontakt-prep__grid,
.kontakt-location__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
}

.kontakt-cover__grid > *,
.kontakt-details__grid > *,
.kontakt-topics__grid > *,
.kontakt-prep__grid > *,
.kontakt-location__grid > * {
  min-width: 0;
}

.kontakt-cover {
  padding-block: var(--space-11) var(--space-10);
}

.kontakt-cover__number {
  grid-column: 1 / span 1;
  align-self: start;
  margin: 0;
  color: var(--color-warm-grey-line);
  font-family: var(--font-heading);
  font-size: clamp(3.5rem, 7vw, 6.5rem);
  line-height: 0.8;
}

.kontakt-cover__title-block {
  grid-column: 2 / span 7;
  width: 100%;
}

.kontakt-cover__title-block h1 {
  max-width: 9ch;
  font-size: clamp(3.25rem, 7.5vw, 5.5rem);
}

.kontakt-cover__lead {
  width: min(100%, 31rem);
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-5);
}

.kontakt-cover__jump {
  grid-column: 10 / span 3;
  align-self: end;
  justify-self: start;
  width: max-content;
  max-width: 100%;
  font-size: var(--text-caption);
  font-weight: 600;
}

.kontakt-details__grid {
  align-items: start;
  row-gap: var(--space-6);
}

.kontakt-details__intro {
  grid-column: 1 / span 3;
  width: 100%;
}

.kontakt-details__intro h2 {
  max-width: 10ch;
}

.kontakt-detail {
  min-width: 0;
  border-left: 1px solid var(--border-subtle);
  padding-left: var(--space-5);
}

.kontakt-detail:nth-of-type(1) { grid-column: 4 / span 3; }
.kontakt-detail:nth-of-type(2) { grid-column: 7 / span 3; }
.kontakt-detail:nth-of-type(3) { grid-column: 10 / span 3; }

.kontakt-detail__index {
  margin-bottom: var(--space-4);
  color: var(--text-secondary);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.kontakt-detail h3 {
  font-size: clamp(1.75rem, 2.7vw, 2.35rem);
  overflow-wrap: anywhere;
}

.kontakt-detail h3 a,
.kontakt-detail h3 {
  text-decoration-thickness: 1px;
}

.kontakt-detail p:last-child {
  max-width: 20rem;
  color: var(--text-secondary);
  font-size: var(--text-caption);
}

.kontakt-details__note {
  width: min(100%, 33rem);
  margin: var(--space-7) 0 0 auto;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
  color: var(--text-secondary);
  font-size: var(--text-caption);
}

.kontakt-topics__heading {
  width: min(100%, 29rem);
  margin-bottom: var(--space-7);
}

.kontakt-topics__heading p:last-child {
  max-width: 25rem;
}

.kontakt-topics__grid {
  align-items: start;
  row-gap: var(--space-6);
}

.kontakt-topic {
  width: 100%;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
}

.kontakt-topic--visit { grid-column: 1 / span 3; }
.kontakt-topic--menu { grid-column: 4 / span 2; }
.kontakt-topic--private { grid-column: 6 / span 4; border-top-color: var(--color-terracotta); }
.kontakt-topic--lounge {
  grid-column: 10 / span 3;
  background: var(--surface-dark);
  color: var(--color-paper-ivory);
  border-top: 0;
  padding: var(--space-5);
}

.kontakt-topic h3 {
  font-size: clamp(1.65rem, 2.5vw, 2.2rem);
}

.kontakt-topic__initial {
  color: var(--color-terracotta);
  font-size: 1.45em;
}

.kontakt-topic p {
  max-width: 24rem;
  font-size: var(--text-caption);
}

.kontakt-topic a {
  font-size: var(--text-caption);
  font-weight: 600;
}

.kontakt-topic--lounge h3,
.kontakt-topic--lounge a {
  color: var(--color-paper-ivory);
}

.kontakt-topic--lounge p {
  color: var(--color-paper-ivory);
}

.kontakt-topics__byline {
  margin: var(--space-7) 0 0;
  color: var(--text-secondary);
  font-size: var(--text-meta);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.kontakt-letter__panel {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-7) var(--space-5);
  background: var(--surface-muted);
  padding: var(--space-8);
}

.kontakt-letter__panel > * {
  min-width: 0;
}

.kontakt-letter__intro {
  grid-column: 1 / span 4;
  width: 100%;
}

.kontakt-letter__intro p:not(.eyebrow):not(.kontakt-letter__byline) {
  max-width: 25rem;
}

.kontakt-letter__byline {
  color: var(--text-secondary);
  font-size: var(--text-meta);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.kontakt-form {
  grid-column: 1 / -1;
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6) var(--space-5);
}

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

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

.kontakt-form__row > * {
  min-width: 0;
}

.kontakt-field--name { grid-column: 1 / span 4; }
.kontakt-field--email { grid-column: 5 / span 5; }
.kontakt-field--phone { grid-column: 10 / span 3; }
.kontakt-field--subject { grid-column: 1 / span 4; }
.kontakt-field--text { grid-column: 5 / span 8; }

.kontakt-field label span {
  color: var(--text-secondary);
  font-weight: 400;
}

.kontakt-field input,
.kontakt-field select,
.kontakt-field textarea {
  min-height: 3rem;
  border-width: 0 0 1px;
  border-radius: 0;
  background: var(--color-paper-ivory);
}

.kontakt-field textarea {
  min-height: 10.625rem;
}

.kontakt-field__error {
  min-height: 1.35em;
  margin: var(--space-2) 0 0;
  color: #8c362b;
  font-size: var(--text-meta);
  line-height: var(--leading-meta);
}

.kontakt-field.is-invalid input,
.kontakt-field.is-invalid select,
.kontakt-field.is-invalid textarea {
  border-color: #8c362b;
}

.kontakt-form__footer {
  grid-column: 1 / span 8;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.kontakt-form__footer > * {
  min-width: 0;
}

.kontakt-form__footer p {
  width: min(100%, 42rem);
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--text-caption);
}

.kontakt-form__status {
  grid-column: 1 / span 8;
  min-height: 1.5em;
  color: var(--color-deep-wine);
  font-size: var(--text-caption);
  font-weight: 600;
}

.kontakt-prep__grid {
  align-items: start;
  row-gap: var(--space-6);
}

.kontakt-prep__heading { grid-column: 1 / span 2; }
.kontakt-prep__heading h2 { font-size: clamp(2rem, 3.5vw, 3rem); }
.kontakt-prep__item {
  width: 100%;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
}
.kontakt-prep__item--one { grid-column: 3 / span 2; }
.kontakt-prep__item--two { grid-column: 5 / span 2; margin-top: var(--space-6); }
.kontakt-prep__item--three { grid-column: 7 / span 2; border-top-color: var(--color-deep-wine); }

.kontakt-prep__number {
  margin-bottom: var(--space-3);
  color: var(--color-terracotta);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
}

.kontakt-prep__item h3 {
  font-size: clamp(1.5rem, 2.2vw, 1.95rem);
}

.kontakt-prep__item p:last-child {
  margin-bottom: 0;
  color: var(--text-secondary);
  font-size: var(--text-caption);
}

.kontakt-prep__quote {
  grid-column: 9 / span 4;
  align-self: end;
  width: 100%;
  margin: var(--space-8) 0 0;
}

.kontakt-lounge__panel {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
  background: var(--surface-dark);
  color: var(--color-paper-ivory);
  padding: var(--space-8);
}

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

.kontakt-lounge__content {
  grid-column: 2 / span 6;
  width: 100%;
}

.kontakt-lounge__content .eyebrow { color: var(--color-terracotta); }
.kontakt-lounge__content h2 { color: var(--color-paper-ivory); }
.kontakt-lounge__content p { color: var(--color-paper-ivory); max-width: 35rem; }
.kontakt-lounge__content hr { border-top-color: rgba(244, 240, 232, 0.55); }
.kontakt-lounge__boundary { max-width: 29rem !important; font-size: var(--text-caption); }
.kontakt-lounge__link { color: var(--color-paper-ivory); font-size: var(--text-caption); font-weight: 600; }

.kontakt-location__grid {
  align-items: start;
  row-gap: var(--space-6);
}

.kontakt-location__heading { grid-column: 1 / span 3; }
.kontakt-location__heading h2 { max-width: 10ch; }
.kontakt-location__address {
  grid-column: 4 / span 7;
  width: 100%;
  font-family: var(--font-heading);
  font-size: clamp(2.65rem, 5vw, 4.6rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 0.95;
  overflow-wrap: anywhere;
}

.kontakt-location__note {
  grid-column: 4 / span 3;
  width: 100%;
}

.kontakt-location__note p {
  max-width: 22rem;
  color: var(--text-secondary);
  font-size: var(--text-caption);
}

.kontakt-location__links {
  grid-column: 9 / span 3;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  align-self: end;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
  font-size: var(--text-caption);
  font-weight: 600;
}

.kontakt-location__links > * { min-width: 0; }

.kontakt-closing {
  border-top: 1px solid var(--border-subtle);
}

.kontakt-closing__block {
  display: flex;
  width: calc((100% - 11 * var(--space-5)) / 12 * 5 + 4 * var(--space-5));
  min-width: 0;
  margin-left: calc((100% - 11 * var(--space-5)) / 12 * 3 + 3 * var(--space-5));
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.kontakt-closing__block > * { min-width: 0; margin: 0; }
.kontakt-closing__block h2 { max-width: 11ch; }
.kontakt-closing__block p:not(.eyebrow) { max-width: 30rem; }

@media (max-width: 67.5rem) {
  .kontakt-cover__grid,
  .kontakt-details__grid,
  .kontakt-topics__grid,
  .kontakt-prep__grid,
  .kontakt-location__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: var(--space-5);
  }

  .kontakt-cover__number { grid-column: 1 / span 1; }
  .kontakt-cover__title-block { grid-column: 2 / span 6; }
  .kontakt-cover__jump { grid-column: 2 / span 4; margin-top: var(--space-6); }

  .kontakt-details__intro { grid-column: 1 / span 2; }
  .kontakt-detail:nth-of-type(1) { grid-column: 3 / span 3; }
  .kontakt-detail:nth-of-type(2) { grid-column: 6 / span 3; }
  .kontakt-detail:nth-of-type(3) { grid-column: 3 / span 4; }

  .kontakt-topics__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .kontakt-topic--visit { grid-column: 1 / span 4; }
  .kontakt-topic--menu { grid-column: 5 / span 4; }
  .kontakt-topic--private { grid-column: 1 / span 4; }
  .kontakt-topic--lounge { grid-column: 5 / span 4; }

  .kontakt-letter__panel { grid-template-columns: repeat(8, minmax(0, 1fr)); padding: var(--space-7); }
  .kontakt-letter__intro { grid-column: 1 / span 3; }
  .kontakt-form { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .kontakt-form__row { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .kontakt-field--name { grid-column: 1 / span 4; }
  .kontakt-field--email { grid-column: 5 / span 4; }
  .kontakt-field--phone { grid-column: 1 / span 4; }
  .kontakt-field--subject { grid-column: 1 / span 4; }
  .kontakt-field--text { grid-column: 5 / span 4; }
  .kontakt-form__footer,
  .kontakt-form__status { grid-column: 1 / span 8; }

  .kontakt-prep__heading { grid-column: 1 / span 2; }
  .kontakt-prep__item--one { grid-column: 3 / span 2; }
  .kontakt-prep__item--two { grid-column: 5 / span 2; }
  .kontakt-prep__item--three { grid-column: 7 / span 2; }
  .kontakt-prep__quote { grid-column: 5 / span 4; }

  .kontakt-location__heading { grid-column: 1 / span 8; }
  .kontakt-location__address { grid-column: 1 / span 8; }
  .kontakt-location__note { grid-column: 1 / span 4; }
  .kontakt-location__links { grid-column: 5 / span 4; }

  .kontakt-closing__block {
    width: calc((100% - 7 * var(--space-5)) / 8 * 6 + 5 * var(--space-5));
    margin-left: calc((100% - 7 * var(--space-5)) / 8 + var(--space-5));
  }
}

@media (max-width: 62.5rem) {
  .kontakt-topic--visit,
  .kontakt-topic--menu,
  .kontakt-topic--private,
  .kontakt-topic--lounge { grid-column: span 4; }

  .kontakt-lounge__panel { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .kontakt-lounge__content { grid-column: 1 / span 6; }
}

@media (max-width: 56.25rem) {
  .kontakt-cover { padding-block: var(--space-10) var(--space-9); }
  .kontakt-letter__intro { grid-column: 1 / span 4; }
}

@media (max-width: 45rem) {
  .kontakt-cover__grid,
  .kontakt-details__grid,
  .kontakt-topics__grid,
  .kontakt-prep__grid,
  .kontakt-location__grid,
  .kontakt-letter__panel,
  .kontakt-form,
  .kontakt-form__row,
  .kontakt-lounge__panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .kontakt-cover { padding-block: var(--space-8); }
  .kontakt-cover__number,
  .kontakt-cover__title-block,
  .kontakt-cover__jump,
  .kontakt-details__intro,
  .kontakt-detail:nth-of-type(1),
  .kontakt-detail:nth-of-type(2),
  .kontakt-detail:nth-of-type(3),
  .kontakt-topic--visit,
  .kontakt-topic--menu,
  .kontakt-topic--private,
  .kontakt-topic--lounge,
  .kontakt-letter__intro,
  .kontakt-form,
  .kontakt-form__row,
  .kontakt-field--name,
  .kontakt-field--email,
  .kontakt-field--phone,
  .kontakt-field--subject,
  .kontakt-field--text,
  .kontakt-form__footer,
  .kontakt-form__status,
  .kontakt-prep__heading,
  .kontakt-prep__item--one,
  .kontakt-prep__item--two,
  .kontakt-prep__item--three,
  .kontakt-prep__quote,
  .kontakt-lounge__content,
  .kontakt-location__heading,
  .kontakt-location__address,
  .kontakt-location__note,
  .kontakt-location__links {
    grid-column: 1;
  }

  .kontakt-cover__grid,
  .kontakt-details__grid,
  .kontakt-topics__grid,
  .kontakt-prep__grid,
  .kontakt-location__grid { row-gap: var(--space-5); }

  .kontakt-cover__title-block h1 { max-width: 100%; font-size: clamp(2.75rem, 12vw, 3.875rem); }
  .kontakt-cover__lead { width: min(100%, 24rem); }
  .kontakt-cover__jump { margin-top: 0; }

  .kontakt-details__grid { row-gap: var(--space-6); }
  .kontakt-detail { border-left: 0; border-top: 1px solid var(--border-subtle); padding: var(--space-4) 0 0; }
  .kontakt-detail p:last-child { max-width: 25rem; }
  .kontakt-details__note { width: min(100%, 25rem); margin: var(--space-6) 0 0; }

  .kontakt-topics__heading { margin-bottom: var(--space-6); }
  .kontakt-topic--lounge { padding: var(--space-5); }
  .kontakt-topic p { max-width: 26rem; }

  .kontakt-letter__panel { gap: var(--space-6); padding: var(--space-5); }
  .kontakt-form { gap: var(--space-5); }
  .kontakt-form__row { gap: var(--space-5); }
  .kontakt-field textarea { min-height: 10.625rem; }

  .kontakt-prep__item--two { margin-top: 0; }
  .kontakt-prep__quote { margin-top: var(--space-4); margin-left: var(--space-4); }

  .kontakt-lounge__panel { padding: var(--space-5); }
  .kontakt-lounge__content { width: min(100%, 34rem); }

  .kontakt-location__address { font-size: clamp(2.4rem, 11vw, 2.9rem); }
  .kontakt-location__note p { max-width: 25rem; }
  .kontakt-location__links { align-self: start; }

  .kontakt-closing__block { width: 100%; margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .kontakt-page a:focus-visible,
  .kontakt-page button:focus-visible { transform: none; }
}


.faq-page {
  overflow: hidden;
}

.faq-page section {
  scroll-margin-top: var(--space-8);
}

.faq-cover__grid,
.faq-atmosphere__grid,
.faq-kitchen__grid,
.faq-participation__grid,
.faq-etiquette__grid,
.faq-index__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.faq-cover__copy,
.faq-cover__figure,
.faq-kitchen__figure,
.faq-kitchen__copy,
.faq-section-heading,
.faq-atmosphere__list,
.faq-participation__heading,
.faq-participation__list,
.faq-etiquette__figure,
.faq-etiquette__copy,
.faq-index__heading,
.faq-index__list {
  min-width: 0;
}

.faq-cover__copy {
  grid-column: 1 / span 5;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.faq-cover__copy > :is(h1, p, a) {
  margin: 0;
}

.faq-cover__edition {
  width: 100%;
  display: flex;
  min-width: 0;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-3);
}

.faq-cover__edition .eyebrow {
  margin: 0;
}

.faq-cover__edition > span {
  color: var(--color-warm-grey-line);
  font-family: var(--font-heading);
  font-size: clamp(2.75rem, 5vw, 4.5rem);
  font-weight: 600;
  line-height: .8;
}

.faq-cover h1 {
  font-size: clamp(3.2rem, 5.9vw, 5.5rem);
  max-width: 9.5ch;
}

.faq-cover__lead {
  width: 100%;
  max-width: 32rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-5);
}

.faq-cover__lead p {
  margin: 0;
}

.faq-cover__figure {
  grid-column: 7 / span 6;
  align-self: start;
  margin: 0;
}

.faq-cover__media {
  width: 100%;
}

.faq-cover__figure figcaption,
.faq-kitchen__figure figcaption,
.faq-etiquette__figure figcaption {
  display: flex;
  gap: var(--space-3);
  margin: var(--space-2) 0 0;
}

.faq-cover__figure figcaption span,
.faq-kitchen__figure figcaption span,
.faq-etiquette__figure figcaption span {
  flex: 0 0 auto;
  color: var(--color-terracotta);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: .08em;
}

.faq-text-link {
  display: inline-flex;
  min-height: 2.75rem;
  min-width: 0;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-caption);
  font-weight: 600;
  text-decoration: none;
}

.faq-text-link::after {
  width: 100%;
  content: "";
}

.faq-atmosphere__grid {
  row-gap: var(--space-7);
}

.faq-section-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.faq-section-heading > :is(p, h2) {
  margin: 0;
}

.faq-atmosphere .faq-section-heading {
  grid-column: 2 / span 4;
}

.faq-atmosphere__list {
  grid-column: 2 / span 10;
}

.faq-list {
  width: 100%;
  border-top: 1px solid var(--border-subtle);
}

.faq-item {
  width: 100%;
  margin: 0;
  border-bottom: 1px solid var(--border-subtle);
}

.faq-item summary {
  display: grid;
  min-width: 0;
  grid-template-columns: 3rem minmax(0, 1fr) 2.75rem;
  align-items: center;
  gap: var(--space-3);
  min-height: 4.5rem;
  padding: var(--space-4) 0;
  list-style: none;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item__number {
  min-width: 0;
  color: var(--color-muted-ink);
  font-family: var(--font-body);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: .1em;
}

.faq-item__question {
  min-width: 0;
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1;
}

.faq-item__mark {
  position: relative;
  width: 2.75rem;
  height: 2.75rem;
  justify-self: end;
  border: 1px solid var(--border-subtle);
}

.faq-item__mark::before,
.faq-item__mark::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: .7rem;
  height: 1px;
  background: currentColor;
  content: "";
  transform: translate(-50%, -50%);
  transition: transform var(--transition-base);
}

.faq-item__mark::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.faq-item[open] .faq-item__mark::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.faq-item__answer {
  max-width: 42rem;
  margin-left: calc(3rem + var(--space-3));
  padding: 0 0 var(--space-5);
}

.faq-item__answer > :last-child {
  margin-bottom: 0;
}

.faq-item__answer a:not(.button) {
  font-weight: 600;
}

.faq-kitchen__figure {
  grid-column: 1 / span 4;
  margin: 0;
}

.faq-kitchen__copy {
  grid-column: 6 / span 5;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.faq-kitchen__copy > :is(p, h2, div, a) {
  margin: 0;
}

.faq-kitchen__copy h2 {
  max-width: 10ch;
}

.faq-kitchen__list .faq-item__answer {
  max-width: 34rem;
}

.faq-kitchen__link small {
  color: var(--color-muted-ink);
  font-weight: 500;
}

.faq-private__panel {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  background: var(--surface-muted);
  padding: var(--space-8);
}

.faq-private__panel > blockquote {
  grid-column: 1 / span 3;
  max-width: 8ch;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: clamp(2rem, 3.4vw, 3.25rem);
  line-height: 1.02;
}

.faq-private__content {
  grid-column: 5 / span 7;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.faq-private__content > :is(p, h2, div) {
  margin: 0;
}

.faq-private__content h2 {
  max-width: 13ch;
}

.faq-private__content .faq-item__answer {
  max-width: 40rem;
}

.faq-private__content ul {
  margin-bottom: var(--space-5);
}

.faq-lounge-note__panel {
  padding: var(--space-9) var(--space-8);
}

.faq-lounge-note__content {
  width: 50%;
  min-width: 0;
  margin-left: 16.6667%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.faq-lounge-note__content > :is(p, h2, a) {
  margin: 0;
}

.faq-lounge-note__content .eyebrow {
  color: var(--color-paper-warm);
}

.faq-lounge-note__content h2 {
  max-width: 10ch;
}

.faq-lounge-note__statement {
  max-width: 34rem;
  color: var(--color-paper-ivory);
}

.faq-lounge-note__statement > span {
  float: left;
  margin: .05em .08em 0 0;
  font-family: var(--font-heading);
  font-size: 4.6rem;
  font-weight: 600;
  line-height: .65;
}

.faq-lounge-note__button {
  display: inline-flex;
  min-height: 2.9rem;
  align-items: center;
  border: 1px solid var(--color-paper-ivory);
  background: var(--color-paper-ivory);
  color: var(--color-deep-wine);
  padding: var(--space-3) 1.125rem;
  font-size: var(--text-caption);
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
}

.faq-lounge-note__button:hover {
  background: transparent;
  color: var(--color-paper-ivory);
}

.faq-participation__heading {
  grid-column: 1 / span 4;
}

.faq-participation__heading h2 {
  max-width: 10ch;
}

.faq-participation__list {
  grid-column: 5 / span 8;
}

.faq-participation__list .faq-item__answer {
  max-width: 42rem;
}

.faq-etiquette__copy {
  grid-column: 1 / span 6;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.faq-etiquette__copy > :is(p, h2, div) {
  margin: 0;
}

.faq-etiquette__copy h2 {
  max-width: 11ch;
}

.faq-etiquette__figure {
  grid-column: 8 / span 4;
  margin: 0;
}

.faq-etiquette__media {
  width: 100%;
}

.faq-etiquette__figure figcaption {
  max-width: 15rem;
}

.faq-item__quote {
  color: var(--color-deep-wine);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-style: italic;
  line-height: 1.1;
}

.faq-index__heading {
  grid-column: 1 / span 3;
}

.faq-index__heading h2 {
  max-width: 9ch;
}

.faq-index__list {
  grid-column: 4 / span 8;
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--space-6);
  border-top: 1px solid var(--border-subtle);
}

.faq-index__item {
  display: grid;
  min-width: 0;
  grid-template-columns: 1.5rem minmax(0, 1fr) 1.25rem;
  gap: var(--space-3);
  align-items: start;
  min-height: 7rem;
  border-bottom: 1px solid var(--border-subtle);
  padding: var(--space-4) 0;
  text-decoration: none;
}

.faq-index__item > span:first-child {
  color: var(--color-terracotta);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: .1em;
}

.faq-index__item > span:nth-child(2) {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
}

.faq-index__item strong {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
}

.faq-index__item small {
  color: var(--color-muted-ink);
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

.faq-index__item b {
  font-weight: 400;
}

.faq-contact__panel {
  border-top: 1px solid var(--border-subtle);
  background: var(--surface-muted);
  padding: var(--space-8);
}

.faq-contact__content {
  max-width: 37rem;
  margin-inline: auto;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.faq-contact__content > :is(p, h2, div) {
  margin: 0;
}

.faq-contact__content h2 {
  max-width: 14ch;
}

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

.faq-page :is(a, summary, .button):focus-visible {
  box-shadow: inset 0 -2px 0 var(--color-terracotta);
  outline: 1px solid var(--color-terracotta);
  outline-offset: 3px;
}

.faq-lounge-note :is(a, summary):focus-visible {
  outline-color: var(--color-terracotta);
}

@media (max-width: 56.25rem) {
  .faq-cover__grid,
  .faq-atmosphere__grid,
  .faq-kitchen__grid,
  .faq-participation__grid,
  .faq-etiquette__grid,
  .faq-index__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .faq-cover__copy {
    grid-column: 1 / span 8;
  }

  .faq-cover__figure {
    grid-column: 1 / span 8;
  }

  .faq-cover h1 {
    max-width: 11ch;
  }

  .faq-atmosphere .faq-section-heading,
  .faq-atmosphere__list,
  .faq-participation__heading,
  .faq-participation__list,
  .faq-index__heading,
  .faq-index__list {
    grid-column: 1 / span 8;
  }

  .faq-kitchen__figure {
    grid-column: 1 / span 5;
  }

  .faq-kitchen__copy {
    grid-column: 1 / span 6;
  }

  .faq-private__panel {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    padding: var(--space-7);
  }

  .faq-private__panel > blockquote {
    grid-column: 1 / span 3;
  }

  .faq-private__content {
    grid-column: 1 / span 7;
  }

  .faq-lounge-note__content {
    width: 75%;
    margin-left: 12.5%;
  }

  .faq-etiquette__figure {
    grid-column: 1 / span 5;
    grid-row: 1;
  }

  .faq-etiquette__copy {
    grid-column: 1 / span 7;
    grid-row: 2;
  }
}

@media (max-width: 61.25rem) {
  .faq-kitchen__grid {
    row-gap: var(--space-6);
  }

  .faq-kitchen__figure {
    grid-column: 1 / span 5;
  }

  .faq-kitchen__copy {
    grid-column: 1 / span 6;
  }
}

@media (max-width: 57.5rem) {
  .faq-private__panel > blockquote {
    grid-column: 1 / span 8;
    max-width: 13ch;
  }

  .faq-private__content {
    grid-column: 1 / span 7;
  }

  .faq-lounge-note__content {
    width: 75%;
    margin-left: 12.5%;
  }

  .faq-participation__heading,
  .faq-participation__list {
    grid-column: 1 / span 8;
  }
}

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

@media (max-width: 40rem) {
  .faq-cover__grid,
  .faq-atmosphere__grid,
  .faq-kitchen__grid,
  .faq-participation__grid,
  .faq-etiquette__grid,
  .faq-index__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .faq-cover__copy,
  .faq-cover__figure,
  .faq-atmosphere .faq-section-heading,
  .faq-atmosphere__list,
  .faq-kitchen__figure,
  .faq-kitchen__copy,
  .faq-participation__heading,
  .faq-participation__list,
  .faq-etiquette__figure,
  .faq-etiquette__copy,
  .faq-index__heading,
  .faq-index__list {
    grid-column: 1;
  }

  .faq-cover__copy {
    gap: var(--space-4);
  }

  .faq-cover h1 {
    font-size: clamp(2.75rem, 13vw, 3.6rem);
    max-width: 10ch;
  }

  .faq-cover__lead {
    max-width: none;
  }

  .faq-cover__media {
    aspect-ratio: 3 / 2;
  }

  .faq-cover__media img {
    object-position: 58% 50%;
  }

  .faq-section-heading {
    gap: var(--space-3);
  }

  .faq-item summary {
    grid-template-columns: minmax(0, 1fr) 2.75rem;
    gap: var(--space-2);
    padding: var(--space-3) 0;
  }

  .faq-item__number {
    grid-column: 1;
    grid-row: 1;
  }

  .faq-item__question {
    grid-column: 1;
    grid-row: 2;
    font-size: 1.5rem;
  }

  .faq-item__mark {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  .faq-item__answer {
    max-width: none;
    margin-left: var(--space-2);
    border-left: 1px solid var(--color-terracotta);
    padding-left: var(--space-3);
    padding-bottom: var(--space-5);
  }

  .faq-kitchen__figure {
    grid-row: 1;
  }

  .faq-kitchen__copy {
    grid-row: 2;
  }

  .faq-kitchen__copy h2,
  .faq-private__content h2,
  .faq-lounge-note__content h2,
  .faq-participation__heading h2,
  .faq-etiquette__copy h2,
  .faq-index__heading h2,
  .faq-contact__content h2 {
    max-width: none;
  }

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

  .faq-private__panel > blockquote,
  .faq-private__content {
    grid-column: 1;
  }

  .faq-private__panel > blockquote {
    font-size: 2rem;
  }

  .faq-lounge-note .container {
    padding-inline: 0;
  }

  .faq-lounge-note__panel {
    padding: var(--space-7) var(--container-padding-mobile);
  }

  .faq-lounge-note__content {
    width: 100%;
    margin-left: 0;
  }

  .faq-lounge-note__button {
    width: min(100%, 20rem);
  }

  .faq-etiquette__figure {
    grid-row: 1;
  }

  .faq-etiquette__copy {
    grid-row: 2;
  }

  .faq-etiquette__media img {
    object-position: 50% 45%;
  }

  .faq-index__item {
    min-height: 3.5rem;
  }

  .faq-contact__panel {
    padding: var(--space-5) var(--space-4);
  }

  .faq-contact__content {
    max-width: none;
  }

  .faq-contact__actions .button {
    width: min(100%, 20rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .faq-item__mark::before,
  .faq-item__mark::after {
    transition: none;
  }
}


.menu-page {
  overflow: hidden;
}

.menu-page :is(a, button):focus-visible {
  outline: 0;
  box-shadow: inset 0 -2px 0 var(--color-terracotta);
  transform: translateX(1px);
}

.menu-text-link {
  display: inline-block;
  font-size: var(--text-caption);
  font-weight: 600;
  text-decoration-thickness: 1px;
}

.menu-cover {
  padding-block: var(--space-10) var(--space-11);
}

.menu-cover__grid,
.menu-reading__grid,
.menu-collection__grid,
.menu-chef__grid,
.menu-frames__grid,
.menu-marginalia__grid,
.menu-paper__grid,
.menu-rhythm__grid,
.menu-private__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
}

.menu-cover__number {
  grid-column: 1 / span 1;
  grid-row: 1;
  min-width: 0;
  margin: 0;
  color: var(--color-terracotta);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
}

.menu-cover__copy {
  grid-column: 2 / span 5;
  grid-row: 1;
  min-width: 0;
  align-self: start;
}

.menu-cover__copy h1 {
  max-width: 10ch;
  font-size: clamp(4.5rem, 7.2vw, 5.5rem);
}

.menu-cover__figure {
  grid-column: 6 / -1;
  grid-row: 1 / span 2;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.menu-cover__figure img {
  object-position: center right;
}

.menu-cover__lead {
  grid-column: 2 / span 4;
  grid-row: 2;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  align-self: end;
  margin-top: var(--space-8);
}

.menu-cover__lead p {
  max-width: 44ch;
  margin: 0;
}

.menu-reading__heading {
  grid-column: 2 / span 3;
  min-width: 0;
}

.menu-reading__heading h2 {
  max-width: 8ch;
}

.menu-reading__note {
  min-width: 0;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
}

.menu-reading__note--one { grid-column: 5 / span 2; align-self: end; }
.menu-reading__note--two { grid-column: 7 / span 2; align-self: end; margin-top: var(--space-7); border-left: 1px solid var(--border-subtle); padding-left: var(--space-4); }
.menu-reading__note--three { grid-column: 10 / span 2; align-self: end; }
.menu-reading__note p:not(.menu-note-index) { max-width: 32ch; }
.menu-reading__note h3 { font-size: 1.8rem; }
.menu-note-index { margin: 0 0 var(--space-2); color: var(--color-terracotta); font-size: var(--text-meta); font-weight: 600; letter-spacing: 0.1em; }

.menu-collection__intro { grid-column: 2 / span 4; min-width: 0; }
.menu-collection__intro p:last-child { max-width: 53ch; }
.menu-collection__figure { grid-column: 2 / span 4; width: 100%; min-width: 0; margin: var(--space-6) 0 0; }
.menu-collection__figure img { object-position: center 58%; }
.menu-course { min-width: 0; border-top: 1px solid var(--border-subtle); padding-top: var(--space-4); }
.menu-course--first { grid-column: 6 / span 3; align-self: end; margin-top: var(--space-8); }
.menu-course--middle { grid-column: 7 / span 5; margin-top: var(--space-8); }
.menu-course--final { grid-column: 2 / span 3; margin-top: var(--space-7); }
.menu-course p:not(.menu-course__number):not(.menu-course__meta) { max-width: 37ch; }
.menu-course--middle p:not(.menu-course__number) { max-width: 48ch; }
.menu-course__number,
.menu-course__meta { margin: 0 0 var(--space-2); color: var(--color-terracotta); font-size: var(--text-meta); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.menu-course__meta { color: var(--text-secondary); }
.menu-collection__footnote { grid-column: 2 / span 7; min-width: 0; max-width: 65ch; margin: var(--space-6) 0 0; color: var(--text-secondary); font-size: var(--text-caption); }

.menu-chef__note { grid-column: 3 / span 4; min-width: 0; }
.menu-chef__paragraph { max-width: 47ch; }
.menu-chef__paragraph--initial::first-letter { float: left; margin: 0.03em 0.12em 0 0; font-family: var(--font-heading); font-size: 4.5rem; line-height: 0.78; }
.menu-chef__paragraph + .menu-chef__paragraph { border-top: 1px solid var(--border-subtle); padding-top: var(--space-5); }
.menu-chef__quote { grid-column: 8 / span 4; min-width: 0; max-width: 10ch; align-self: center; margin: var(--space-8) 0 0; }

.menu-frames__intro { grid-column: 2 / span 3; min-width: 0; }
.menu-frames__intro p:last-child { max-width: 39ch; }
.menu-frames__figure { grid-column: 5 / -1; grid-row: 1 / span 2; width: 100%; min-width: 0; margin: 0; }
.menu-frames__figure figcaption { max-width: 60ch; }
.menu-frames__service { grid-column: 2 / span 3; min-width: 0; margin-top: var(--space-8); border-left: 1px solid var(--border-subtle); padding-left: var(--space-4); }
.menu-frames__service p:last-child { max-width: 33ch; }

.menu-marginalia__heading { grid-column: 2 / span 4; min-width: 0; }
.menu-marginalia__heading h2 { max-width: 10ch; }
.menu-marginalia__item { min-width: 0; border-top: 1px solid var(--border-subtle); padding-top: var(--space-4); }
.menu-marginalia__item--one { grid-column: 2 / span 3; margin-top: var(--space-7); }
.menu-marginalia__item--two { grid-column: 6 / span 3; margin-top: var(--space-9); }
.menu-marginalia__item--three { grid-column: 10 / span 3; margin-top: var(--space-7); }
.menu-marginalia__item p:last-child { max-width: 31ch; }
.menu-marginalia__item h3 { font-size: clamp(2rem, 3vw, 3rem); }
.menu-marginalia__number { margin: 0 0 var(--space-2); color: var(--color-terracotta); font-size: var(--text-meta); font-weight: 600; letter-spacing: 0.1em; }

.menu-paper__figure { grid-column: 2 / span 4; width: 100%; min-width: 0; margin: 0; }
.menu-paper__copy { grid-column: 6 / span 4; min-width: 0; }
.menu-paper__lead { max-width: 48ch; }
.menu-paper__lead::first-letter { float: left; margin: 0.03em 0.12em 0 0; font-family: var(--font-heading); font-size: 4.2rem; line-height: 0.78; }
.menu-paper__notes { grid-column: 10 / span 2; display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-5); }
.menu-paper__note { min-width: 0; border-top: 1px solid var(--border-subtle); padding-top: var(--space-4); }
.menu-paper__note p { max-width: 34ch; }
.menu-paper__note h3 { font-size: 1.65rem; }

.menu-rhythm__panel { padding: var(--space-8); }
.menu-rhythm__heading { grid-column: 2 / span 4; min-width: 0; }
.menu-rhythm__heading h2 { max-width: 10ch; }
.menu-rhythm__panel .eyebrow { color: var(--color-paper-warm); }
.menu-rhythm__item { min-width: 0; border-top: 1px solid rgba(244, 240, 232, 0.6); padding-top: var(--space-4); }
.menu-rhythm__item--one { grid-column: 2 / span 3; margin-top: var(--space-7); }
.menu-rhythm__item--two { grid-column: 6 / span 3; margin-top: var(--space-8); }
.menu-rhythm__item--three { grid-column: 10 / span 3; margin-top: var(--space-7); }
.menu-rhythm__item p:last-child { max-width: 31ch; }
.menu-rhythm__number { margin: 0 0 var(--space-2); color: var(--color-paper-warm); font-size: var(--text-meta); font-weight: 600; letter-spacing: 0.1em; }
.menu-rhythm__link { grid-column: 2 / span 3; min-width: 0; margin-top: var(--space-6); color: var(--color-paper-ivory); font-size: var(--text-caption); font-weight: 600; }
.menu-rhythm__link:hover { color: var(--color-paper-ivory); text-decoration-color: var(--color-terracotta); }

.menu-private__main { grid-column: 3 / span 5; min-width: 0; }
.menu-private__main > p:last-of-type { max-width: 50ch; }
.menu-private__aside { grid-column: 9 / span 3; min-width: 0; border-top: 1px solid var(--border-subtle); padding-top: var(--space-4); }
.menu-private__aside p:last-child { max-width: 33ch; }
.menu-private__aside h3 { font-size: 1.8rem; }

.menu-contact { padding-bottom: var(--space-11); }
.menu-contact__panel { display: grid; min-width: 0; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: var(--space-6) var(--space-5); margin-inline: calc(var(--container-padding) * -1); padding: var(--space-7) calc(var(--container-padding) + ((100% - var(--container-max)) / 2)); background: var(--surface-muted); }
.menu-contact__copy { grid-column: 2 / span 5; min-width: 0; }
.menu-contact__copy p:last-child { max-width: 50ch; }
.menu-contact__actions { grid-column: 2 / span 8; display: flex; min-width: 0; flex-wrap: wrap; align-items: stretch; gap: var(--space-3); }
.menu-contact__actions > a { min-width: 13.75rem; }

@media (max-width: 56.25rem) {
  .menu-cover__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); row-gap: var(--space-5); }
  .menu-cover__number { grid-column: 1 / span 1; grid-row: 2; }
  .menu-cover__copy { grid-column: 1 / span 8; grid-row: 2; }
  .menu-cover__figure { grid-column: 1 / span 8; grid-row: 1; }
  .menu-cover__lead { grid-column: 1 / span 6; grid-row: 3; margin-top: 0; }
  .menu-cover__copy h1 { max-width: 12ch; }

  .menu-collection__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); row-gap: var(--space-5); }
  .menu-collection__intro { grid-column: 1 / span 4; }
  .menu-collection__figure { grid-column: 1 / span 5; margin-top: 0; }
  .menu-course--first { grid-column: 6 / span 3; margin-top: 0; }
  .menu-course--middle { grid-column: 4 / span 5; margin-top: var(--space-3); }
  .menu-course--final { grid-column: 1 / span 3; margin-top: var(--space-3); }
  .menu-collection__footnote { grid-column: 1 / span 7; margin-top: var(--space-2); }
}

@media (max-width: 62.5rem) {
  .menu-reading__grid,
  .menu-frames__grid,
  .menu-paper__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); row-gap: var(--space-5); }
  .menu-reading__heading { grid-column: 1 / span 8; }
  .menu-reading__note--one { grid-column: 1 / span 4; }
  .menu-reading__note--two { grid-column: 5 / span 4; margin-top: var(--space-5); }
  .menu-reading__note--three { grid-column: 1 / span 8; margin-top: var(--space-3); }
  .menu-reading__note--three p { max-width: 55ch; }
  .menu-frames__figure { grid-column: 1 / span 8; grid-row: 1; }
  .menu-frames__intro { grid-column: 1 / span 4; grid-row: 2; }
  .menu-frames__service { grid-column: 5 / span 4; grid-row: 2; margin-top: 0; }
  .menu-paper__figure { grid-column: 1 / span 4; }
  .menu-paper__copy { grid-column: 5 / span 4; }
  .menu-paper__notes { grid-column: 1 / span 8; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
  .menu-paper__notes > * { min-width: 0; }
}

@media (max-width: 56.25rem) {
  .menu-chef__grid,
  .menu-marginalia__grid,
  .menu-rhythm__grid,
  .menu-private__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); row-gap: var(--space-5); }
  .menu-chef__note { grid-column: 2 / span 5; }
  .menu-chef__quote { grid-column: 2 / span 6; margin-top: var(--space-3); }
  .menu-marginalia__heading { grid-column: 1 / span 4; }
  .menu-marginalia__item--one { grid-column: 1 / span 4; margin-top: var(--space-3); }
  .menu-marginalia__item--two { grid-column: 5 / span 4; margin-top: var(--space-7); }
  .menu-marginalia__item--three { grid-column: 1 / span 8; margin-top: var(--space-3); }
  .menu-marginalia__item--three p { max-width: 46ch; }
  .menu-rhythm__heading { grid-column: 1 / span 8; }
  .menu-rhythm__item--one { grid-column: 1 / span 4; margin-top: var(--space-3); }
  .menu-rhythm__item--two { grid-column: 5 / span 4; margin-top: var(--space-6); }
  .menu-rhythm__item--three { grid-column: 1 / span 8; margin-top: var(--space-3); }
  .menu-rhythm__item--three p { max-width: 48ch; }
  .menu-rhythm__link { grid-column: 1 / span 4; }
  .menu-private__main { grid-column: 1 / span 5; }
  .menu-private__aside { grid-column: 1 / span 8; }
}

@media (max-width: 45rem) {
  .menu-contact__panel { grid-template-columns: 1fr; margin-inline: 0; padding: var(--space-5); }
  .menu-contact__copy,
  .menu-contact__actions { grid-column: 1; }
  .menu-contact__actions { flex-direction: column; }
  .menu-contact__actions > a { width: 100%; min-width: 0; }
}

@media (max-width: 47.5rem) {
  .menu-cover { padding-block: var(--space-8); }
  .menu-cover__grid,
  .menu-reading__grid,
  .menu-collection__grid,
  .menu-chef__grid,
  .menu-frames__grid,
  .menu-marginalia__grid,
  .menu-paper__grid,
  .menu-rhythm__grid,
  .menu-private__grid { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-5); }
  .menu-cover__number,
  .menu-cover__copy,
  .menu-cover__figure,
  .menu-cover__lead,
  .menu-reading__heading,
  .menu-reading__note--one,
  .menu-reading__note--two,
  .menu-reading__note--three,
  .menu-collection__intro,
  .menu-collection__figure,
  .menu-course--first,
  .menu-course--middle,
  .menu-course--final,
  .menu-collection__footnote,
  .menu-chef__note,
  .menu-chef__quote,
  .menu-frames__intro,
  .menu-frames__figure,
  .menu-frames__service,
  .menu-marginalia__heading,
  .menu-marginalia__item--one,
  .menu-marginalia__item--two,
  .menu-marginalia__item--three,
  .menu-paper__figure,
  .menu-paper__copy,
  .menu-paper__notes,
  .menu-rhythm__heading,
  .menu-rhythm__item--one,
  .menu-rhythm__item--two,
  .menu-rhythm__item--three,
  .menu-rhythm__link,
  .menu-private__main,
  .menu-private__aside { grid-column: 1; grid-row: auto; margin-top: 0; }
  .menu-cover__number { order: 1; }
  .menu-cover__copy { order: 2; }
  .menu-cover__figure { order: 3; }
  .menu-cover__lead { order: 4; }
  .menu-cover__copy h1 { max-width: 11ch; font-size: clamp(2.75rem, 12vw, 3.625rem); }
  .menu-cover__lead { align-self: auto; }
  .menu-cover__lead p { max-width: 42ch; }
  .menu-reading__note--two { border-left: 0; padding-left: 0; }
  .menu-reading__note p:not(.menu-note-index),
  .menu-collection__intro p:last-child,
  .menu-course p:not(.menu-course__number):not(.menu-course__meta),
  .menu-course--middle p:not(.menu-course__number),
  .menu-chef__paragraph,
  .menu-frames__intro p:last-child,
  .menu-frames__service p:last-child,
  .menu-marginalia__item p:last-child,
  .menu-paper__lead,
  .menu-paper__note p,
  .menu-rhythm__item p:last-child,
  .menu-private__main > p:last-of-type,
  .menu-private__aside p:last-child { max-width: none; }
  .menu-course--middle,
  .menu-course--final { border-top: 1px solid var(--border-subtle); }
  .menu-chef__quote { max-width: 14ch; margin-left: var(--space-2); font-size: clamp(1.875rem, 9vw, 2.125rem); }
  .menu-frames__figure { order: 2; }
  .menu-frames__intro { order: 1; }
  .menu-frames__service { order: 3; border-left: 0; border-top: 1px solid var(--border-subtle); padding: var(--space-4) 0 0; }
  .menu-paper__notes { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-5); }
  .menu-rhythm__panel { padding: var(--space-5); }
  .menu-rhythm__item--two { margin-top: 0; }
  .menu-rhythm__item { border-top-color: rgba(244, 240, 232, 0.6); }
  .menu-private__aside { margin-top: var(--space-2); }
}

@media (hover: hover) and (pointer: fine) {
  .menu-page .media--zoom:hover > img { transform: scale(1.025); }
}

@media (prefers-reduced-motion: reduce) {
  .menu-page :is(a, button):focus-visible { transform: none; }
}


.story-page {
  overflow: hidden;
}

.story-page__hero-grid,
.story-page__table-grid,
.story-page__garden-grid,
.story-page__kitchen-grid,
.story-page__lounge-grid,
.story-page__detail-grid,
.story-page__private-grid,
.story-page__principles-grid,
.story-page__journal-grid,
.story-page__next-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
}

.story-page__hero-grid > *,
.story-page__table-grid > *,
.story-page__garden-grid > *,
.story-page__kitchen-grid > *,
.story-page__lounge-grid > *,
.story-page__detail-grid > *,
.story-page__private-grid > *,
.story-page__principles-grid > *,
.story-page__journal-grid > *,
.story-page__next-grid > * {
  min-width: 0;
}

.story-page__hero {
  padding-block-start: var(--space-9);
}

.story-page__hero-grid {
  align-items: end;
}

.story-page__hero-copy {
  z-index: 1;
  grid-column: 1 / span 5;
  align-self: end;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  margin-inline-end: calc(var(--space-6) * -1);
  padding: var(--space-6) var(--space-6) var(--space-6) 0;
  background: var(--surface-page);
}

.story-page__hero-copy .eyebrow,
.story-page__hero-copy h1,
.story-page__hero-copy p {
  margin: 0;
}

.story-page__hero-copy h1 {
  max-width: 13ch;
  font-size: clamp(3.4rem, 6.7vw, 5.5rem);
}

.story-page__hero-lead {
  max-width: 48ch;
  font-size: clamp(1rem, 1.3vw, 1.125rem);
  line-height: var(--leading-body);
}

.story-page__hero-figure {
  grid-column: 5 / -1;
  width: 100%;
  margin: 0;
}

.story-page__hero-media {
  width: 100%;
}

.story-page__hero-media img {
  object-position: 68% center;
}

.story-page__hero-figure figcaption,
.story-page__detail-figure figcaption,
.story-page__journal-figure figcaption {
  display: grid;
  grid-template-columns: minmax(5.5rem, 0.6fr) minmax(0, 1fr);
  gap: var(--space-3);
  width: 100%;
  margin: var(--space-2) 0 0;
  padding-top: var(--space-2);
  border-top: 1px solid var(--border-subtle);
}

.story-page__hero-figure figcaption span:first-child,
.story-page__garden-caption span:first-child,
.story-page__detail-figure figcaption span:first-child,
.story-page__journal-figure figcaption span:first-child {
  color: var(--text-primary);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.08em;
}

.story-page__table-grid {
  row-gap: var(--space-5);
}

.story-page__table-heading {
  grid-column: 2 / span 6;
}

.story-page__table-heading .eyebrow,
.story-page__table-heading h2,
.story-page__garden-heading .eyebrow,
.story-page__garden-heading h2,
.story-page__kitchen-heading .eyebrow,
.story-page__kitchen-heading h2,
.story-page__private-heading .eyebrow,
.story-page__private-heading h2,
.story-page__principles-heading .eyebrow,
.story-page__principles-heading h2,
.story-page__next-intro .eyebrow,
.story-page__next-intro h2,
.story-page__next-intro p {
  margin: 0;
}

.story-page__table-heading,
.story-page__garden-heading,
.story-page__kitchen-heading,
.story-page__private-heading,
.story-page__principles-heading,
.story-page__next-intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.story-page__table-first {
  grid-column: 2 / span 4;
  max-width: 54ch;
}

.story-page__table-second {
  grid-column: 6 / span 3;
  max-width: 44ch;
  padding-inline-start: var(--space-5);
  border-inline-start: 1px solid var(--border-subtle);
}

.story-page__table-first p,
.story-page__table-second p,
.story-page__margin-note p {
  margin: 0;
}

.story-page__dropcap {
  float: left;
  margin: -0.11em var(--space-2) -0.08em 0;
  color: var(--color-terracotta);
  font-family: var(--font-heading);
  font-size: 4.8em;
  font-weight: 600;
  line-height: 0.8;
}

.story-page__margin-note {
  grid-column: 9 / span 2;
  align-self: start;
  padding-inline-start: var(--space-4);
  border-inline-start: 1px solid var(--color-terracotta);
}

.story-page__margin-note p {
  max-width: 21ch;
  font-family: var(--font-heading);
  font-size: var(--text-subheading);
  font-style: italic;
  line-height: 1.12;
}

.story-page__garden-grid {
  align-items: start;
  row-gap: var(--space-5);
}

.story-page__garden-heading {
  grid-column: 1 / span 7;
}

.story-page__garden-figure {
  grid-column: 1 / span 7;
  width: 100%;
  margin: 0;
}

.story-page__garden-media {
  width: 100%;
}

.story-page__garden-media img {
  object-position: 45% center;
}

.story-page__garden-caption {
  grid-column: 8 / span 1;
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.story-page__garden-caption span {
  display: block;
}

.story-page__garden-copy {
  grid-column: 9 / span 3;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  max-width: 48ch;
}

.story-page__garden-copy p {
  margin: 0;
}

.story-page__pull-line {
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-terracotta);
  font-family: var(--font-heading);
  font-size: var(--text-subheading);
  line-height: 1.15;
}

.story-page__kitchen-grid {
  row-gap: var(--space-6);
}

.story-page__kitchen-heading {
  grid-column: 2 / span 4;
}

.story-page__kitchen-notes {
  grid-column: 3 / span 6;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-6);
}

.story-page__kitchen-note {
  display: grid;
  min-width: 0;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-3);
  max-width: 45ch;
}

.story-page__kitchen-note--two {
  align-self: end;
  margin-inline-start: 15%;
}

.story-page__kitchen-note--three {
  align-self: start;
  margin-inline-start: 7%;
}

.story-page__note-number {
  color: var(--color-terracotta);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
}

.story-page__kitchen-note h3,
.story-page__kitchen-note p {
  margin: 0;
}

.story-page__kitchen-note div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
}

.story-page__editorial-link {
  width: fit-content;
  max-width: 100%;
  color: var(--text-primary);
  font-size: var(--text-caption);
  font-weight: 600;
}

.story-page__kitchen-grid > .story-page__editorial-link {
  grid-column: 3 / span 5;
}

.story-page__lounge-panel {
  padding: var(--space-8);
}

.story-page__lounge-grid {
  row-gap: var(--space-6);
}

.story-page__lounge-heading {
  grid-column: 1 / span 5;
}

.story-page__lounge-heading .eyebrow,
.story-page__lounge-heading h2 {
  margin: 0;
}

.story-page__lounge-heading .eyebrow {
  color: var(--color-terracotta);
}

.story-page__lounge-main {
  grid-column: 1 / span 5;
  max-width: 52ch;
}

.story-page__lounge-etiquette {
  grid-column: 7 / span 3;
  align-self: start;
  max-width: 40ch;
  padding-inline-start: var(--space-5);
  border-inline-start: 1px solid rgba(244, 240, 232, 0.45);
}

.story-page__lounge-etiquette h3,
.story-page__lounge-etiquette p,
.story-page__lounge-main p {
  margin: 0;
}

.story-page__lounge-etiquette {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.story-page__lounge-closing {
  grid-column: 10 / span 3;
  align-self: end;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.story-page__lounge-closing blockquote {
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--color-paper-ivory);
  font-size: clamp(2rem, 3vw, 2.5rem);
  font-style: italic;
}

.story-page__lounge-closing blockquote::before {
  color: var(--color-terracotta);
  content: "„";
}

.story-page__lounge-button {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-paper-ivory);
  color: var(--color-deep-wine);
  background: var(--color-paper-ivory);
  padding: var(--space-3) 1.125rem;
  font-size: var(--text-caption);
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}

.story-page__lounge-button:hover {
  background: transparent;
  color: var(--color-paper-ivory);
}

.story-page__lounge-button:focus-visible {
  box-shadow: inset 0 -2px 0 var(--color-terracotta), 0 0 0 2px var(--color-paper-ivory);
}

.story-page__detail-grid {
  align-items: end;
}

.story-page__detail-copy {
  grid-column: 2 / span 4;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  max-width: 38ch;
  padding-bottom: 12%;
}

.story-page__detail-copy p {
  margin: 0;
}

.story-page__detail-figure {
  grid-column: 7 / span 5;
  width: 100%;
  margin: 0;
}

.story-page__detail-media {
  width: 100%;
}

.story-page__detail-media img {
  object-position: center center;
}

.story-page__private-grid {
  row-gap: var(--space-6);
}

.story-page__private-heading {
  grid-column: 2 / span 5;
}

.story-page__private-description {
  grid-column: 2 / span 4;
  display: grid;
  min-width: 0;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: var(--space-4);
  max-width: 48ch;
  padding-inline-start: var(--space-4);
  border-inline-start: 1px solid var(--border-subtle);
}

.story-page__roman-number {
  color: var(--color-terracotta);
  font-family: var(--font-heading);
  font-size: 3rem;
  line-height: 0.85;
}

.story-page__private-description div,
.story-page__private-reflection,
.story-page__private-contact {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.story-page__private-description h3,
.story-page__private-description p,
.story-page__private-reflection h3,
.story-page__private-reflection p,
.story-page__private-contact h3,
.story-page__private-contact p {
  margin: 0;
}

.story-page__private-reflection {
  grid-column: 7 / span 3;
  align-self: start;
  max-width: 34ch;
  padding-top: var(--space-6);
}

.story-page__private-reflection p {
  font-family: var(--font-heading);
  font-size: clamp(1.65rem, 2.4vw, 2.1rem);
  line-height: 1.07;
}

.story-page__private-contact {
  grid-column: 2 / span 3;
  max-width: 44ch;
}

.story-page__private-contact .button {
  width: fit-content;
  max-width: 100%;
}

.story-page__principles-grid {
  row-gap: var(--space-6);
}

.story-page__principles-heading {
  grid-column: 1 / span 6;
}

.story-page__principles-list {
  grid-column: 2 / span 9;
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-inline-start: 1px solid var(--border-subtle);
}

.story-page__principle {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: 0 var(--space-5);
  border-inline-end: 1px solid var(--border-subtle);
}

.story-page__principle > * {
  margin: 0;
}

.story-page__principle > span {
  color: var(--text-primary);
  font-family: var(--font-heading);
  font-size: 3rem;
  line-height: 0.9;
}

.story-page__principle h3 {
  font-size: var(--text-subheading);
}

.story-page__principle p {
  max-width: 34ch;
}

.story-page__principle--place > span {
  color: var(--color-terracotta);
}

.story-page__principles-note {
  grid-column: 2 / span 5;
  max-width: 55ch;
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--text-caption);
}

.story-page__journal-grid {
  align-items: start;
  row-gap: var(--space-5);
}

.story-page__journal-figure {
  grid-column: 1 / span 5;
  width: 100%;
  margin: 0;
}

.story-page__journal-media {
  width: 100%;
}

.story-page__journal-media img {
  object-position: center center;
}

.story-page__journal-copy {
  grid-column: 7 / span 4;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 48ch;
}

.story-page__journal-copy h2,
.story-page__journal-copy p {
  margin: 0;
}

.story-page__journal-meta {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  color: var(--text-secondary);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.story-page__next-panel {
  padding: var(--space-8);
  background: var(--surface-muted);
}

.story-page__next-grid {
  row-gap: var(--space-7);
}

.story-page__next-intro {
  grid-column: 1 / span 5;
  max-width: 52ch;
}

.story-page__next-links {
  grid-column: 1 / -1;
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--border-subtle);
}

.story-page__next-links a {
  display: grid;
  min-width: 0;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: var(--space-3);
  padding: var(--space-5);
  border-inline-end: 1px solid var(--border-subtle);
  color: var(--text-primary);
  text-decoration: none;
}

.story-page__next-links a:first-child {
  border-inline-start: 1px solid var(--border-subtle);
}

.story-page__next-links a > span:first-child {
  color: var(--color-terracotta);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.08em;
}

.story-page__next-links a > span:last-child {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

.story-page__next-links strong {
  font-family: var(--font-heading);
  font-size: var(--text-subheading);
  font-weight: 600;
  line-height: 1;
}

.story-page a:focus-visible {
  transform: translateX(1px);
}

@media (max-width: 56.25rem) {
  .story-page__hero-grid,
  .story-page__table-grid,
  .story-page__garden-grid,
  .story-page__kitchen-grid,
  .story-page__lounge-grid,
  .story-page__detail-grid,
  .story-page__private-grid,
  .story-page__principles-grid,
  .story-page__journal-grid,
  .story-page__next-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: var(--space-5);
  }

  .story-page__hero-grid {
    row-gap: var(--space-5);
  }

  .story-page__hero-copy {
    grid-column: 1 / -1;
    margin: 0;
    padding: 0;
  }

  .story-page__hero-figure {
    grid-column: 1 / -1;
  }

  .story-page__hero-copy h1 {
    max-width: 15ch;
  }

  .story-page__table-heading {
    grid-column: 1 / span 6;
  }

  .story-page__table-first,
  .story-page__table-second {
    grid-column: 1 / span 5;
  }

  .story-page__table-second {
    padding: 0;
    border: 0;
  }

  .story-page__margin-note {
    grid-column: 1 / span 5;
  }

  .story-page__garden-heading,
  .story-page__garden-figure {
    grid-column: 1 / -1;
  }

  .story-page__garden-caption {
    grid-column: 1 / -1;
    writing-mode: horizontal-tb;
    transform: none;
  }

  .story-page__garden-copy {
    grid-column: 1 / span 5;
  }

  .story-page__kitchen-heading,
  .story-page__kitchen-notes,
  .story-page__kitchen-grid > .story-page__editorial-link {
    grid-column: 1 / span 5;
  }

  .story-page__kitchen-note--two,
  .story-page__kitchen-note--three {
    margin-inline-start: 0;
  }

  .story-page__lounge-panel,
  .story-page__next-panel {
    padding: var(--space-6);
  }

  .story-page__lounge-heading,
  .story-page__lounge-main,
  .story-page__lounge-etiquette,
  .story-page__lounge-closing {
    grid-column: 1 / span 5;
  }

  .story-page__lounge-etiquette {
    padding: 0;
    border: 0;
  }

  .story-page__detail-grid {
    row-gap: var(--space-5);
  }

  .story-page__detail-figure {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .story-page__detail-copy {
    grid-column: 1 / span 5;
    grid-row: 2;
    padding: 0;
  }

  .story-page__private-heading,
  .story-page__private-description,
  .story-page__private-reflection,
  .story-page__private-contact {
    grid-column: 1 / span 5;
  }

  .story-page__private-reflection {
    padding: 0 0 0 var(--space-4);
    border-inline-start: 1px solid var(--color-terracotta);
  }

  .story-page__principles-heading,
  .story-page__principles-list,
  .story-page__principles-note {
    grid-column: 1 / -1;
  }

  .story-page__principles-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .story-page__principle {
    padding-block: var(--space-5);
    border-bottom: 1px solid var(--border-subtle);
  }

  .story-page__principle:last-child {
    grid-column: 1 / -1;
  }

  .story-page__journal-figure {
    grid-column: 1 / -1;
  }

  .story-page__journal-copy {
    grid-column: 1 / span 5;
  }

  .story-page__next-intro {
    grid-column: 1 / span 5;
  }

  .story-page__next-links {
    grid-template-columns: 1fr;
  }

  .story-page__next-links a,
  .story-page__next-links a:first-child {
    border-inline-start: 0;
    border-inline-end: 0;
    border-bottom: 1px solid var(--border-subtle);
  }
}

@media (max-width: 40rem) {
  .story-page__hero {
    padding-block-start: var(--space-7);
  }

  .story-page__hero-grid,
  .story-page__table-grid,
  .story-page__garden-grid,
  .story-page__kitchen-grid,
  .story-page__lounge-grid,
  .story-page__detail-grid,
  .story-page__private-grid,
  .story-page__principles-grid,
  .story-page__journal-grid,
  .story-page__next-grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-5);
  }

  .story-page__hero-copy,
  .story-page__hero-figure,
  .story-page__table-heading,
  .story-page__table-first,
  .story-page__table-second,
  .story-page__margin-note,
  .story-page__garden-heading,
  .story-page__garden-figure,
  .story-page__garden-caption,
  .story-page__garden-copy,
  .story-page__kitchen-heading,
  .story-page__kitchen-notes,
  .story-page__kitchen-grid > .story-page__editorial-link,
  .story-page__lounge-heading,
  .story-page__lounge-main,
  .story-page__lounge-etiquette,
  .story-page__lounge-closing,
  .story-page__detail-figure,
  .story-page__detail-copy,
  .story-page__private-heading,
  .story-page__private-description,
  .story-page__private-reflection,
  .story-page__private-contact,
  .story-page__principles-heading,
  .story-page__principles-list,
  .story-page__principles-note,
  .story-page__journal-figure,
  .story-page__journal-copy,
  .story-page__next-intro,
  .story-page__next-links {
    grid-column: 1;
  }

  .story-page__hero-copy h1 {
    max-width: 11ch;
    font-size: clamp(2.75rem, 12vw, 3.5rem);
  }

  .story-page__hero-lead {
    max-width: none;
  }

  .story-page__hero-figure figcaption,
  .story-page__detail-figure figcaption,
  .story-page__journal-figure figcaption {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .story-page__table-heading,
  .story-page__garden-heading,
  .story-page__kitchen-heading,
  .story-page__private-heading,
  .story-page__principles-heading,
  .story-page__next-intro {
    gap: var(--space-2);
  }

  .story-page__table-first,
  .story-page__table-second,
  .story-page__garden-copy,
  .story-page__kitchen-notes,
  .story-page__detail-copy,
  .story-page__private-description,
  .story-page__private-reflection,
  .story-page__private-contact,
  .story-page__journal-copy,
  .story-page__next-intro {
    max-width: none;
  }

  .story-page__margin-note {
    padding-inline-start: var(--space-3);
  }

  .story-page__garden-copy {
    gap: var(--space-4);
  }

  .story-page__kitchen-note {
    max-width: none;
  }

  .story-page__lounge-panel,
  .story-page__next-panel {
    padding: var(--space-6) var(--space-5);
  }

  .story-page__lounge-grid {
    row-gap: var(--space-5);
  }

  .story-page__lounge-heading h2 {
    font-size: clamp(2.25rem, 11vw, 2.75rem);
  }

  .story-page__lounge-closing blockquote {
    font-size: clamp(1.75rem, 9vw, 2rem);
  }

  .story-page__detail-figure {
    grid-row: 1;
  }

  .story-page__detail-copy {
    grid-row: 2;
  }

  .story-page__principles-list {
    grid-template-columns: minmax(0, 1fr);
    border-inline-start: 0;
  }

  .story-page__principle,
  .story-page__principle:last-child {
    grid-column: 1;
    padding: var(--space-5) 0;
    border-inline-end: 0;
  }

  .story-page__next-links a {
    min-height: 3rem;
    padding-inline: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .story-page a:focus-visible {
    transform: none;
  }
}


.home-page {
  overflow: hidden;
}

.home-page :is(a, p, h1, h2, h3, li) {
  overflow-wrap: anywhere;
}

.home-page .home-text-link {
  text-decoration: none;
  background-image: linear-gradient(var(--color-terracotta), var(--color-terracotta));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 1px;
  transition: color var(--transition-fast), background-size var(--transition-base), transform var(--transition-fast);
}

.home-page .home-text-link:hover,
.home-page .home-text-link:focus-visible {
  color: var(--color-terracotta);
  background-size: 100% 1px;
}

.home-page :is(a, button):focus-visible {
  outline: 2px solid var(--color-terracotta);
  outline-offset: 3px;
  box-shadow: none;
  transform: translateY(-1px);
}

.home-hero {
  padding-block: var(--space-6) var(--space-10);
}

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

.home-hero__image {
  grid-column: 1 / -1;
  grid-row: 1;
  width: 100%;
  min-width: 0;
}

.home-hero__copy {
  grid-column: 2 / span 5;
  grid-row: 1;
  align-self: end;
  z-index: 1;
  width: 100%;
  min-width: 0;
  max-width: 31rem;
  margin: 0 0 var(--space-7);
  color: var(--color-paper-ivory);
}

.home-hero__copy .eyebrow {
  color: var(--color-paper-ivory);
}

.home-hero__copy .eyebrow span {
  margin-left: var(--space-3);
  color: #e2ab96;
}

.home-hero__copy h1 {
  color: var(--color-paper-ivory);
  font-size: clamp(3.4rem, 6.6vw, 5.5rem);
}

.home-hero__lead {
  width: min(100%, 25.625rem);
  margin-bottom: 0;
  font-size: clamp(1rem, 1.25vw, 1.125rem);
  line-height: var(--leading-body);
}

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

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

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

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

.home-hero__copy .button--secondary {
  border-color: var(--color-paper-ivory);
  color: var(--color-paper-ivory);
}

.home-hero__copy .button--secondary:hover {
  background: var(--color-paper-ivory);
  color: var(--color-soft-black);
}

.home-hero__caption {
  grid-column: 10 / span 3;
  grid-row: 1;
  align-self: end;
  width: 100%;
  max-width: 16rem;
  margin: 0 var(--space-4) var(--space-5) auto;
  color: var(--color-paper-ivory);
}

.home-rhythms__container,
.home-kitchen__container,
.home-garden__container,
.home-lounge__container,
.home-etiquette__container,
.home-private__container,
.home-journal__container,
.home-paths__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
}

.home-rhythms__heading {
  grid-column: 2 / span 7;
  width: 100%;
  min-width: 0;
}

.home-rhythms__notes {
  grid-column: 2 / span 9;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
}

.home-rhythm {
  position: relative;
  width: 100%;
  min-width: 0;
  padding: 0 var(--space-5);
}

.home-rhythm:first-child {
  padding-left: 0;
}

.home-rhythm + .home-rhythm {
  border-left: 1px solid var(--border-subtle);
}

.home-rhythm__initial {
  display: block;
  margin-bottom: var(--space-3);
  font-family: var(--font-heading);
  font-size: 3.5rem;
  line-height: .7;
  color: var(--color-terracotta);
}

.home-rhythm h3,
.home-kitchen-note h3,
.home-lounge-note h3,
.home-rule-item h3,
.home-journal-entry h3,
.home-path h3 {
  font-size: 1.75rem;
}

.home-rhythm p:not(.meta) {
  width: min(100%, 19.375rem);
}

.home-rhythm__wine-number {
  color: var(--color-deep-wine);
}

.home-rhythms__quote {
  grid-column: 6 / span 6;
  width: min(100%, 37.5rem);
  margin: var(--space-4) 0 0;
}

.home-kitchen__media {
  grid-column: 1 / span 5;
  grid-row: 1 / span 3;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.home-kitchen__intro {
  grid-column: 7 / span 4;
  width: 100%;
  min-width: 0;
  padding-top: var(--space-7);
}

.home-kitchen__intro p:not(.eyebrow) {
  width: min(100%, 23.75rem);
}

.home-kitchen__notes {
  grid-column: 8 / span 4;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
}

.home-kitchen-note {
  width: 100%;
  min-width: 0;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
}

.home-kitchen-note:nth-child(2) {
  padding-top: var(--space-7);
}

.home-kitchen-note p:not(.meta) {
  font-size: var(--text-caption);
}

.home-kitchen__action {
  grid-column: 7 / span 4;
  width: 100%;
  min-width: 0;
}

.home-garden__media {
  grid-column: 2 / span 10;
  grid-row: 1;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.home-garden__panel {
  grid-column: 2 / span 4;
  grid-row: 1;
  align-self: end;
  z-index: 1;
  width: 100%;
  min-width: 0;
  margin: 0 0 calc(var(--space-6) * -1) var(--space-5);
}

.home-garden__panel p:not(.eyebrow) {
  width: min(100%, 26.25rem);
}

.home-garden__moments {
  grid-column: 2 / span 10;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
}

.home-garden-moment {
  width: 100%;
  min-width: 0;
  padding: var(--space-4) var(--space-5) 0;
  border-left: 1px solid var(--border-subtle);
}

.home-garden-moment:first-child {
  padding-left: 0;
  border-left: 0;
}

.home-garden-moment p:not(.meta) {
  width: min(100%, 13.75rem);
  margin-bottom: 0;
  font-size: var(--text-caption);
}

.home-lounge__intro {
  grid-column: 2 / span 6;
  width: 100%;
  min-width: 0;
}

.home-lounge .eyebrow {
  color: #e2ab96;
}

.home-lounge__intro p:not(.eyebrow) {
  width: min(100%, 27.5rem);
}

.home-lounge__notes {
  grid-column: 6 / span 6;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  align-self: end;
  width: 100%;
  min-width: 0;
  border-top: 1px solid rgba(244, 240, 232, .55);
  padding-top: var(--space-5);
}

.home-lounge-note {
  width: 100%;
  min-width: 0;
}

.home-lounge-note > span {
  display: block;
  margin-bottom: var(--space-3);
  color: #e2ab96;
  font-size: var(--text-meta);
  letter-spacing: .1em;
}

.home-lounge-note h3 {
  color: var(--color-paper-ivory);
}

.home-lounge-note p {
  width: min(100%, 16.25rem);
  font-size: var(--text-caption);
}

.home-lounge__link {
  color: var(--color-paper-ivory);
}

.home-etiquette__heading {
  grid-column: 2 / span 6;
  width: 100%;
  min-width: 0;
}

.home-etiquette__rules {
  grid-column: 2 / span 9;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-7) var(--space-9);
  width: 100%;
  min-width: 0;
}

.home-rule-item {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
}

.home-rule-item:nth-child(3) {
  transform: translateX(calc((100% + var(--space-9)) / 10));
}

.home-rule-item > span {
  width: 3rem;
  min-width: 0;
  font-family: var(--font-heading);
  font-size: 2.5rem;
  line-height: .9;
  color: var(--color-terracotta);
}

.home-rule-item > div {
  min-width: 0;
}

.home-rule-item p {
  width: min(100%, 17.5rem);
}

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

.home-private__copy {
  grid-column: 2 / span 4;
  width: 100%;
  min-width: 0;
}

.home-private__copy > p:not(.eyebrow) {
  width: min(100%, 24.375rem);
}

.home-private__media {
  grid-column: 7 / span 5;
  width: 100%;
  min-width: 0;
  margin: 0 0 calc(var(--space-5) * -1);
}

.home-private__list {
  width: min(100%, 22.5rem);
  margin-bottom: var(--space-5);
  padding: 0;
  list-style: none;
  counter-reset: private-list;
}

.home-private__list li {
  position: relative;
  padding: var(--space-3) 0 var(--space-3) var(--space-6);
  border-top: 1px solid var(--border-subtle);
  counter-increment: private-list;
  font-size: var(--text-caption);
}

.home-private__list li::before {
  position: absolute;
  left: 0;
  color: var(--color-terracotta);
  content: "0" counter(private-list);
  font-size: var(--text-meta);
}

.home-journal__intro {
  grid-column: 2 / span 5;
  width: 100%;
  min-width: 0;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-5);
}

.home-journal__intro p:not(.eyebrow) {
  width: min(100%, 26.25rem);
}

.home-journal__entries {
  grid-column: 2 / span 9;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
}

.home-journal-entry {
  width: 100%;
  min-width: 0;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
}

.home-journal-entry:nth-child(2) {
  margin-top: var(--space-7);
}

.home-journal-entry:nth-child(3) {
  margin-top: var(--space-4);
}

.home-journal-entry p:not(.meta) {
  width: min(100%, 16.875rem);
  font-size: var(--text-caption);
}

.home-paths__heading {
  grid-column: 2 / span 5;
  width: 100%;
  min-width: 0;
}

.home-paths__list {
  grid-column: 2 / span 9;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
  border-top: 1px solid var(--border-subtle);
}

.home-path {
  width: 100%;
  min-width: 0;
  padding: var(--space-5);
}

.home-path:first-child {
  padding-left: 0;
}

.home-path + .home-path {
  border-left: 1px solid var(--border-subtle);
}

.home-path > span:first-child {
  display: block;
  margin-bottom: var(--space-5);
  color: var(--color-terracotta);
  font-size: var(--text-meta);
  letter-spacing: .1em;
}

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

.home-path__separator {
  display: inline;
  color: var(--color-muted-ink);
}

.home-contact__panel {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
  background: var(--surface-muted);
  padding: var(--space-8) var(--space-6);
  border-top: 1px solid var(--color-terracotta);
}

.home-contact__copy {
  grid-column: 3 / span 5;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
}

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

.home-contact__copy > p:not(.eyebrow):not(.home-contact__address) {
  width: min(100%, 26.25rem);
}

.home-contact__address {
  width: min(100%, 28.75rem);
}

.home-reveal {
  opacity: 1;
  transform: translateY(0);
}

.js .home-reveal[data-reveal-ready] {
  opacity: 0;
  transform: translateY(12px);
}

.js .home-reveal[data-reveal-ready].is-revealed {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 650ms ease, transform 650ms ease;
}

@media (max-width: 61.1875rem) {
  .home-hero {
    padding-block-end: var(--space-9);
  }

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

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

  .home-hero__copy {
    grid-column: 1 / span 6;
    grid-row: auto;
    max-width: 31rem;
    margin: 0;
    color: var(--text-primary);
  }

  .home-hero__copy .eyebrow,
  .home-hero__copy h1 {
    color: var(--text-primary);
  }

  .home-hero__copy .eyebrow span {
    color: var(--color-terracotta);
  }

  .home-hero__copy .button--secondary {
    border-color: var(--color-soft-black);
    color: var(--color-soft-black);
  }

  .home-hero__copy .button--secondary:hover {
    background: var(--color-soft-black);
    color: var(--color-paper-ivory);
  }

  .home-hero__caption {
    grid-column: 7 / span 2;
    grid-row: auto;
    align-self: end;
    margin: 0;
    color: var(--text-secondary);
  }

  .home-rhythms__container,
  .home-kitchen__container,
  .home-garden__container,
  .home-lounge__container,
  .home-etiquette__container,
  .home-private__container,
  .home-journal__container,
  .home-paths__container {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .home-rhythms__heading,
  .home-etiquette__heading,
  .home-paths__heading {
    grid-column: 1 / span 6;
  }

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

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

  .home-rhythms__quote {
    grid-column: 3 / span 6;
  }

  .home-kitchen__media {
    grid-column: 1 / span 4;
    grid-row: 1 / span 2;
  }

  .home-kitchen__intro {
    grid-column: 5 / span 4;
    padding-top: 0;
  }

  .home-kitchen__notes {
    grid-column: 5 / span 4;
  }

  .home-kitchen__action {
    grid-column: 5 / span 4;
  }

  .home-garden__media,
  .home-garden__moments {
    grid-column: 1 / -1;
  }

  .home-garden__panel {
    grid-column: 1 / span 5;
    grid-row: auto;
    margin: 0;
  }

  .home-lounge__intro {
    grid-column: 1 / span 5;
  }

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

  .home-lounge-note:nth-child(3) {
    grid-column: 1 / -1;
  }

  .home-etiquette__rules {
    grid-column: 1 / -1;
    gap: var(--space-6);
  }

  .home-rule-item:nth-child(3) {
    transform: none;
  }

  .home-private__copy {
    grid-column: 1 / span 4;
  }

  .home-private__media {
    grid-column: 5 / span 4;
    margin-bottom: 0;
  }

  .home-journal__intro {
    grid-column: 1 / span 5;
  }

  .home-journal__entries,
  .home-paths__list {
    grid-column: 1 / -1;
  }

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

  .home-journal-entry:nth-child(3) {
    grid-column: 1 / -1;
    width: calc((100% - var(--space-5)) / 2);
  }

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

  .home-contact__copy {
    grid-column: 1 / span 6;
  }
}

@media (max-width: 53.6875rem) {
  .home-paths__list {
    grid-template-columns: 1fr;
  }

  .home-path {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    column-gap: var(--space-4);
    padding: var(--space-5) 0;
  }

  .home-path + .home-path {
    border-left: 0;
    border-top: 1px solid var(--border-subtle);
  }

  .home-path > span:first-child {
    grid-column: 1;
    grid-row: 1 / span 3;
    margin: 0;
  }

  .home-path h3,
  .home-path p,
  .home-path > a,
  .home-path > .home-path__separator {
    grid-column: 2;
  }
}

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

  .home-hero__container,
  .home-rhythms__container,
  .home-kitchen__container,
  .home-garden__container,
  .home-lounge__container,
  .home-etiquette__container,
  .home-private__container,
  .home-journal__container,
  .home-paths__container {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .home-hero__image,
  .home-hero__copy,
  .home-hero__caption,
  .home-rhythms__heading,
  .home-rhythms__notes,
  .home-rhythms__quote,
  .home-kitchen__media,
  .home-kitchen__intro,
  .home-kitchen__notes,
  .home-kitchen__action,
  .home-garden__media,
  .home-garden__panel,
  .home-garden__moments,
  .home-lounge__intro,
  .home-lounge__notes,
  .home-etiquette__heading,
  .home-etiquette__rules,
  .home-private__copy,
  .home-private__media,
  .home-journal__intro,
  .home-journal__entries,
  .home-paths__heading,
  .home-paths__list {
    grid-column: 1;
  }

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

  .home-hero__image img {
    object-position: 58% center;
  }

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

  .home-hero__caption {
    max-width: 16rem;
  }

  .home-rhythms__notes,
  .home-kitchen__notes,
  .home-garden__moments,
  .home-lounge__notes,
  .home-etiquette__rules,
  .home-journal__entries {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .home-rhythm,
  .home-rhythm:first-child,
  .home-rhythm:nth-child(3),
  .home-garden-moment,
  .home-garden-moment:first-child {
    padding: var(--space-4) 0 0;
    border-left: 0;
    border-top: 1px solid var(--border-subtle);
  }

  .home-rhythm:first-child {
    border-top: 0;
    padding-top: 0;
  }

  .home-rhythm:nth-child(3) {
    margin-top: 0;
  }

  .home-rhythms__quote {
    margin-top: 0;
  }

  .home-kitchen__media {
    grid-row: auto;
    order: 1;
  }

  .home-kitchen__intro {
    order: 2;
  }

  .home-kitchen__notes {
    order: 3;
  }

  .home-kitchen__action {
    order: 4;
  }

  .home-kitchen-note:nth-child(2) {
    padding-top: var(--space-4);
  }

  .home-garden__panel {
    order: 2;
  }

  .home-garden__moments {
    order: 3;
  }

  .home-garden-moment p:not(.meta) {
    width: min(100%, 20rem);
  }

  .home-lounge__notes {
    gap: var(--space-6);
  }

  .home-lounge-note:nth-child(3) {
    grid-column: 1;
  }

  .home-rule-item {
    grid-template-columns: 3rem minmax(0, 1fr);
  }

  .home-private__media {
    order: 1;
  }

  .home-private__copy {
    order: 2;
  }

  .home-journal-entry:nth-child(2),
  .home-journal-entry:nth-child(3) {
    grid-column: 1;
    width: 100%;
    margin-top: 0;
  }

  .home-contact__panel {
    grid-template-columns: 1fr;
    padding: var(--space-6) var(--space-5);
  }

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

@media (max-width: 26.25rem) {
  .home-rule-item {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .home-rule-item > span {
    width: auto;
  }
}

@media (max-width: 23.75rem) {
  .home-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

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

@media (prefers-reduced-motion: reduce) {
  .js .home-reveal[data-reveal-ready] {
    opacity: 1;
    transform: none;
  }
}


.poker-evenings {
  overflow: hidden;
}

.poker-evenings :is(a, button):focus-visible {
  box-shadow: inset 0 -2px 0 var(--color-terracotta);
  transform: translateX(1px);
}

.poker-text-link {
  display: inline-block;
  font-size: var(--text-caption);
  font-weight: 600;
  text-decoration: none;
  background-image: linear-gradient(var(--color-terracotta), var(--color-terracotta));
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  transition: color var(--transition-fast), background-size var(--transition-fast), transform var(--transition-fast);
}

.poker-text-link:hover {
  background-size: 100% 2px;
}

.poker-cover__grid,
.poker-acts__grid,
.poker-room__grid,
.poker-formats__grid,
.poker-notes__grid,
.poker-etiquette__grid,
.poker-kitchen__grid,
.poker-audience__grid,
.poker-questions__grid,
.poker-contact__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.poker-cover {
  padding-top: var(--space-8);
}

.poker-cover__grid {
  position: relative;
  row-gap: var(--space-3);
}

.poker-cover__figure {
  grid-column: 1 / -1;
  grid-row: 1;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.poker-cover__figure img {
  object-position: 68% center;
}

.poker-cover__copy {
  z-index: 1;
  grid-column: 1 / span 4;
  grid-row: 1;
  align-self: end;
  width: 100%;
  min-width: 0;
  margin: 0 0 var(--space-6) var(--space-6);
  border-top: 1px solid var(--border-subtle);
  background: var(--surface-page);
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.poker-cover__copy > * {
  min-width: 0;
  margin: 0;
}

.poker-cover__copy h1 {
  width: 100%;
  font-size: clamp(3.25rem, 6.3vw, 5.5rem);
}

.poker-cover__lead {
  max-width: 44ch;
  font-size: var(--text-caption);
  line-height: var(--leading-body);
}

.poker-cover__caption {
  grid-column: 10 / span 3;
  grid-row: 1;
  align-self: end;
  width: 100%;
  min-width: 0;
  margin: 0 0 var(--space-4);
  color: var(--color-paper-ivory);
}

.poker-cover__caption span,
.poker-room__figure figcaption span {
  display: block;
  margin-bottom: var(--space-1);
  font-size: var(--text-meta);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.poker-acts__intro {
  grid-column: 1 / span 5;
  width: 100%;
  min-width: 0;
}

.poker-acts__intro p:not(.eyebrow) {
  max-width: 42ch;
}

.poker-act {
  width: 100%;
  min-width: 0;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
}

.poker-act p {
  max-width: 40ch;
}

.poker-act--one {
  grid-column: 1 / span 3;
}

.poker-act--two {
  grid-column: 5 / span 3;
  margin-top: var(--space-8);
  border-inline-start: 1px solid var(--border-subtle);
  padding-inline-start: var(--space-4);
}

.poker-act--three {
  grid-column: 9 / span 3;
  margin-top: var(--space-10);
}

.poker-act__number {
  display: block;
  margin-bottom: var(--space-3);
  color: var(--color-terracotta);
  font-family: var(--font-heading);
  font-size: 3.5rem;
  line-height: 0.8;
}

.poker-acts__quote {
  grid-column: 6 / span 2;
  align-self: end;
  width: 100%;
  min-width: 0;
  margin: var(--space-5) 0 0;
  font-size: clamp(1.4rem, 2.3vw, 2rem);
}

.poker-room__figure {
  grid-column: 2 / span 5;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.poker-room__figure figcaption {
  margin-bottom: 0;
}

.poker-room__copy {
  grid-column: 8 / span 4;
  align-self: end;
  width: 100%;
  min-width: 0;
}

.poker-room__body {
  max-width: 52ch;
}

.poker-formats__intro {
  grid-column: 1 / span 4;
  width: 100%;
  min-width: 0;
}

.poker-format {
  width: 100%;
  min-width: 0;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
}

.poker-format p:not(.poker-format__label) {
  max-width: 41ch;
}

.poker-format--one {
  grid-column: 1 / span 3;
  margin-top: var(--space-4);
}

.poker-format--two {
  grid-column: 5 / span 3;
  margin-top: var(--space-8);
}

.poker-format--three {
  grid-column: 10 / span 3;
  margin-top: var(--space-6);
}

.poker-format__label,
.poker-audience__label,
.poker-rule-item__tag {
  margin-bottom: var(--space-3);
  color: var(--color-terracotta);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.poker-formats__note {
  grid-column: 2 / span 10;
  width: 100%;
  min-width: 0;
  margin-top: var(--space-5);
  border-top: 3px double var(--border-subtle);
  background: var(--surface-muted);
  padding: var(--space-4) var(--space-5);
  font-size: var(--text-caption);
  line-height: var(--leading-body);
}

.poker-notes__intro {
  grid-column: 1 / span 4;
  width: 100%;
  min-width: 0;
}

.poker-note {
  width: 100%;
  min-width: 0;
  margin: 0;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
}

.poker-note blockquote {
  margin: 0 0 var(--space-4);
  padding-left: var(--space-4);
  font-size: clamp(1.55rem, 2.7vw, 2.35rem);
}

.poker-note figcaption {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--text-meta);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.poker-note--one {
  grid-column: 1 / span 3;
  margin-top: var(--space-7);
}

.poker-note--two {
  grid-column: 6 / span 3;
  margin-top: var(--space-10);
}

.poker-note--three {
  grid-column: 9 / span 3;
  margin-top: var(--space-6);
}

.poker-etiquette {
  scroll-margin-top: var(--space-6);
}

.poker-etiquette__intro {
  grid-column: 1 / span 4;
  width: 100%;
  min-width: 0;
}

.poker-etiquette__intro > * {
  color: var(--color-paper-ivory);
}

.poker-etiquette__intro .eyebrow {
  color: var(--color-terracotta);
}

.poker-etiquette__intro p:not(.eyebrow) {
  max-width: 35ch;
}

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

.poker-rule-item {
  width: 100%;
  min-width: 0;
  border-top: 1px solid rgba(244, 240, 232, 0.62);
  padding-top: var(--space-4);
}

.poker-rule-item__number {
  display: block;
  margin-bottom: var(--space-3);
  color: var(--color-terracotta);
  font-family: var(--font-heading);
  font-size: 3rem;
  line-height: 0.8;
}

.poker-rule-item h3,
.poker-rule-item p {
  color: var(--color-paper-ivory);
}

.poker-rule-item p:not(.poker-rule-item__tag) {
  max-width: 38ch;
  font-size: var(--text-caption);
}

.poker-rule-item__tag {
  color: var(--color-terracotta) !important;
}

.poker-etiquette__contact {
  grid-column: 1 / span 4;
  width: 100%;
  min-width: 0;
  margin-top: var(--space-3);
  color: var(--color-paper-ivory);
  font-size: var(--text-caption);
  line-height: var(--leading-body);
}

.poker-etiquette__contact a {
  color: var(--color-paper-ivory);
}

.poker-kitchen__copy {
  grid-column: 2 / span 5;
  width: 100%;
  min-width: 0;
}

.poker-kitchen__copy > h2 {
  max-width: 11ch;
}

.poker-kitchen__note {
  max-width: 46ch;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
}

.poker-kitchen__note--two {
  margin-left: var(--space-5);
}

.poker-kitchen__note > span {
  display: block;
  margin-bottom: var(--space-2);
  color: var(--color-terracotta);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
}

.poker-kitchen__cta {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-top: var(--space-6);
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-5);
}

.poker-kitchen__cta > * {
  min-width: 0;
  margin: 0;
}

.poker-kitchen__cta p {
  max-width: 32ch;
  font-size: var(--text-caption);
}

.poker-kitchen__figure {
  grid-column: 9 / span 4;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.poker-kitchen__figure figcaption {
  margin-bottom: 0;
}

.poker-audience__intro {
  grid-column: 1 / span 4;
  width: 100%;
  min-width: 0;
}

.poker-audience__item {
  width: 100%;
  min-width: 0;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
}

.poker-audience__item p:not(.poker-audience__label) {
  max-width: 39ch;
}

.poker-audience__item--one {
  grid-column: 1 / span 3;
  margin-top: var(--space-5);
}

.poker-audience__item--two {
  grid-column: 5 / span 3;
  margin-top: var(--space-7);
}

.poker-audience__item--three {
  grid-column: 9 / span 3;
  margin-top: var(--space-9);
}

.poker-audience__counterpoint {
  grid-column: 8 / span 5;
  width: 100%;
  min-width: 0;
  margin-top: var(--space-4);
  border-top: 1px solid var(--color-terracotta);
  background: var(--surface-muted);
  padding: var(--space-5);
}

.poker-audience__counterpoint p {
  max-width: 58ch;
}

.poker-questions__intro {
  grid-column: 1 / span 4;
  width: 100%;
  min-width: 0;
}

.poker-questions__list {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr;
}

.poker-question {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
  width: 100%;
  min-width: 0;
  border-top: 1px solid var(--border-subtle);
  padding-block: var(--space-5);
}

.poker-question h3 {
  grid-column: 1 / span 3;
  width: 100%;
  min-width: 0;
  margin: 0;
  font-size: var(--text-subheading);
}

.poker-question > div {
  grid-column: 5 / span 5;
  width: 100%;
  min-width: 0;
}

.poker-question > div p {
  max-width: 58ch;
  margin: 0;
  font-size: var(--text-caption);
}

.poker-contact__copy {
  grid-column: 2 / span 6;
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.poker-contact__copy > * {
  min-width: 0;
  margin: 0;
}

.poker-contact__lead {
  max-width: 48ch;
}

.poker-contact__email {
  color: var(--color-deep-wine);
  font-family: var(--font-heading);
  font-size: clamp(2rem, 4vw, 3.25rem);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 0.95;
  overflow-wrap: anywhere;
}

.poker-contact__phone {
  font-size: var(--text-caption);
  font-weight: 600;
}

.poker-contact__actions {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  margin-top: var(--space-2);
}

.poker-contact__actions > * {
  min-width: 0;
}

@media (max-width: 56.25rem) {
  .poker-cover__grid,
  .poker-acts__grid,
  .poker-room__grid,
  .poker-formats__grid,
  .poker-notes__grid,
  .poker-etiquette__grid,
  .poker-kitchen__grid,
  .poker-audience__grid,
  .poker-questions__grid,
  .poker-contact__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .poker-cover__figure {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .poker-cover__copy {
    grid-column: 1 / span 5;
    grid-row: 1;
    margin: 0;
    padding: var(--space-5) 0;
    background: transparent;
  }

  .poker-cover__caption {
    grid-column: 1 / -1;
    grid-row: 3;
    margin: 0;
    color: var(--text-secondary);
  }

  .poker-acts__intro { grid-column: 1 / span 5; }
  .poker-act--one { grid-column: 1 / span 4; }
  .poker-act--two { grid-column: 5 / span 4; margin-top: var(--space-5); }
  .poker-act--three { grid-column: 1 / span 4; margin-top: 0; }
  .poker-acts__quote { grid-column: 5 / span 3; margin-top: 0; }

  .poker-room__figure { grid-column: 1 / span 4; }
  .poker-room__copy { grid-column: 5 / span 4; }

  .poker-formats__intro { grid-column: 1 / span 5; }
  .poker-format--one { grid-column: 1 / span 4; }
  .poker-format--two { grid-column: 5 / span 4; margin-top: var(--space-5); }
  .poker-format--three { grid-column: 1 / span 4; margin-top: 0; }
  .poker-formats__note { grid-column: 1 / -1; }

  .poker-notes__intro { grid-column: 1 / span 4; }
  .poker-note--one { grid-column: 1 / span 4; margin-top: var(--space-4); }
  .poker-note--two { grid-column: 5 / span 4; margin-top: var(--space-8); }
  .poker-note--three { grid-column: 1 / span 4; margin-top: 0; }

  .poker-etiquette__intro { grid-column: 1 / span 4; }
  .poker-etiquette__rules { grid-column: 5 / span 4; grid-template-columns: 1fr; }
  .poker-etiquette__contact { grid-column: 1 / span 4; }

  .poker-kitchen__copy { grid-column: 1 / span 4; }
  .poker-kitchen__figure { grid-column: 5 / span 4; }

  .poker-audience__intro { grid-column: 1 / span 5; }
  .poker-audience__item--one { grid-column: 1 / span 4; }
  .poker-audience__item--two { grid-column: 5 / span 4; margin-top: var(--space-5); }
  .poker-audience__item--three { grid-column: 1 / span 4; margin-top: 0; }
  .poker-audience__counterpoint { grid-column: 1 / -1; }

  .poker-question { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .poker-question h3 { grid-column: 1 / span 3; }
  .poker-question > div { grid-column: 4 / span 5; }

  .poker-contact__copy { grid-column: 1 / span 6; }
}

@media (max-width: 63.75rem) {
  .poker-room__grid,
  .poker-kitchen__grid {
    align-items: start;
  }
}

@media (max-width: 60rem) {
  .poker-formats__grid,
  .poker-audience__grid {
    row-gap: var(--space-6);
  }

  .poker-format--one,
  .poker-format--two,
  .poker-format--three,
  .poker-audience__item--one,
  .poker-audience__item--two,
  .poker-audience__item--three {
    margin-top: 0;
  }
}

@media (max-width: 57.5rem) {
  .poker-etiquette__intro,
  .poker-etiquette__rules,
  .poker-etiquette__contact {
    grid-column: 1 / -1;
  }

  .poker-etiquette__rules {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 56.25rem) {
  .poker-acts__grid,
  .poker-notes__grid,
  .poker-questions__grid {
    row-gap: var(--space-5);
  }

  .poker-acts__intro,
  .poker-notes__intro,
  .poker-questions__intro {
    grid-column: 1 / -1;
  }

  .poker-act--one,
  .poker-act--two,
  .poker-act--three,
  .poker-note--one,
  .poker-note--two,
  .poker-note--three {
    grid-column: span 4;
    margin-top: 0;
  }

  .poker-act--two {
    border-inline-start: 0;
    padding-inline-start: 0;
  }

  .poker-acts__quote {
    grid-column: 5 / span 4;
    margin-top: 0;
  }

  .poker-question h3,
  .poker-question > div {
    grid-column: 1 / -1;
  }

  .poker-question h3 {
    margin-bottom: var(--space-3);
  }
}

@media (max-width: 40rem) {
  .poker-cover__grid,
  .poker-acts__grid,
  .poker-room__grid,
  .poker-formats__grid,
  .poker-notes__grid,
  .poker-etiquette__grid,
  .poker-kitchen__grid,
  .poker-audience__grid,
  .poker-questions__grid,
  .poker-contact__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .poker-cover {
    padding-top: var(--space-7);
  }

  .poker-cover__copy,
  .poker-cover__figure,
  .poker-cover__caption,
  .poker-acts__intro,
  .poker-act--one,
  .poker-act--two,
  .poker-act--three,
  .poker-acts__quote,
  .poker-room__figure,
  .poker-room__copy,
  .poker-formats__intro,
  .poker-format--one,
  .poker-format--two,
  .poker-format--three,
  .poker-formats__note,
  .poker-notes__intro,
  .poker-note--one,
  .poker-note--two,
  .poker-note--three,
  .poker-etiquette__intro,
  .poker-etiquette__rules,
  .poker-etiquette__contact,
  .poker-kitchen__copy,
  .poker-kitchen__figure,
  .poker-audience__intro,
  .poker-audience__item--one,
  .poker-audience__item--two,
  .poker-audience__item--three,
  .poker-audience__counterpoint,
  .poker-questions__intro,
  .poker-questions__list,
  .poker-contact__copy {
    grid-column: 1;
  }

  .poker-cover__copy {
    padding: 0;
    gap: var(--space-3);
  }

  .poker-cover__copy h1 {
    font-size: clamp(2.75rem, 10vw, 3.75rem);
  }

  .poker-cover__lead {
    max-width: 36ch;
  }

  .poker-cover__figure {
    grid-row: auto;
  }

  .poker-cover__caption {
    grid-row: auto;
  }

  .poker-acts__quote {
    margin-left: var(--space-2);
  }

  .poker-act,
  .poker-format,
  .poker-note,
  .poker-audience__item {
    margin-top: 0;
  }

  .poker-act--two {
    border-inline-start: 0;
    padding-inline-start: 0;
  }

  .poker-room__figure { order: 1; }
  .poker-room__copy { order: 2; }
  .poker-kitchen__figure { order: 1; }
  .poker-kitchen__copy { order: 2; }

  .poker-room__body,
  .poker-kitchen__note,
  .poker-audience__item p:not(.poker-audience__label),
  .poker-format p:not(.poker-format__label) {
    max-width: none;
  }

  .poker-formats__note,
  .poker-audience__counterpoint {
    padding: var(--space-4);
  }

  .poker-note blockquote {
    padding-right: var(--space-3);
  }

  .poker-etiquette__rules {
    gap: var(--space-6);
  }

  .poker-rule-item p:not(.poker-rule-item__tag) {
    max-width: none;
  }

  .poker-kitchen__note--two {
    margin-left: 0;
  }

  .poker-question {
    grid-template-columns: minmax(0, 1fr);
    padding-block: var(--space-4);
  }

  .poker-question h3,
  .poker-question > div {
    grid-column: 1;
  }

  .poker-contact__actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .poker-contact__actions .button {
    min-height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .poker-evenings :is(a, button):focus-visible {
    transform: none;
  }
}


.pkdv-page {
  overflow: clip;
}

.pkdv-page a:not(.button) {
  text-decoration: none;
  background-image: linear-gradient(var(--color-terracotta), var(--color-terracotta));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 1px;
  transition: color var(--transition-fast), background-size var(--transition-base), transform var(--transition-fast);
}

.pkdv-page a:not(.button):hover,
.pkdv-page a:not(.button):focus-visible {
  color: var(--color-terracotta);
  background-size: 100% 1px;
}

.pkdv-page a:focus-visible {
  transform: translateY(-1px);
}

.pkdv-cover__grid,
.pkdv-garden__grid,
.pkdv-journal__grid,
.pkdv-evening__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.pkdv-cover__copy {
  grid-column: 1 / span 4;
  min-width: 0;
  align-self: end;
  padding-block-end: var(--space-4);
}

.pkdv-cover__copy h1 {
  max-width: 15ch;
  font-size: clamp(3.4rem, 6.1vw, 5.5rem);
}

.pkdv-cover__lead {
  max-width: 43ch;
}

.pkdv-cover__action {
  gap: var(--space-4);
  align-items: flex-start;
}

.pkdv-cover__action .button {
  flex: 0 0 auto;
}

.pkdv-cover__action .meta {
  flex: 1 1 12rem;
  max-width: 27ch;
  margin: 0;
}

.pkdv-cover__divider {
  grid-column: 5;
  min-width: 0;
  align-self: stretch;
  border-inline-start: 1px solid var(--border-subtle);
}

.pkdv-cover__figure {
  grid-column: 6 / -1;
  min-width: 0;
  margin: 0;
}

.pkdv-cover__media {
  width: 100%;
}

.pkdv-cover__media img {
  object-position: 58% 50%;
}

.pkdv-cover__figure figcaption span,
.pkdv-garden__figure figcaption span,
.pkdv-journal__figure figcaption span,
.pkdv-evening__figure figcaption span {
  color: var(--color-terracotta);
  font-weight: 600;
}

.pkdv-cover__figure figcaption {
  max-width: 36ch;
  margin-inline-start: auto;
  text-align: right;
}

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

.pkdv-arrangement__header {
  grid-column: 1 / span 4;
  min-width: 0;
}

.pkdv-arrangement__header h2 {
  max-width: 10ch;
}

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

.pkdv-observation {
  min-width: 0;
}

.pkdv-observation + .pkdv-observation {
  border-inline-start: 1px solid var(--border-subtle);
  padding-inline-start: var(--space-5);
}

.pkdv-observation__number,
.pkdv-tip__number,
.pkdv-entry__time,
.pkdv-segment__label {
  margin: 0 0 var(--space-3);
  color: var(--color-terracotta);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: var(--leading-meta);
}

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

.pkdv-observation p:not(.pkdv-observation__number) {
  max-width: 37ch;
}

.pkdv-observation blockquote {
  max-width: 13ch;
  margin-block-start: var(--space-5);
  font-size: clamp(1.4rem, 2.1vw, 1.85rem);
}

.pkdv-arrangement__note {
  grid-column: 5 / span 7;
  min-width: 0;
  background: var(--surface-muted);
  padding: var(--space-5);
}

.pkdv-arrangement__note p:last-child {
  max-width: 58ch;
  margin-bottom: 0;
}

.pkdv-garden__image-wrap {
  grid-column: 1 / span 7;
  min-width: 0;
}

.pkdv-garden__figure,
.pkdv-journal__figure,
.pkdv-evening__figure {
  margin: 0;
}

.pkdv-garden__media img {
  object-position: 45% 50%;
}

.pkdv-garden__copy {
  grid-column: 9 / -1;
  min-width: 0;
  padding-block-start: var(--space-8);
}

.pkdv-garden__copy h2 {
  max-width: 10ch;
}

.pkdv-garden__copy > p {
  max-width: 46ch;
}

.pkdv-garden__note {
  max-width: 29ch;
  margin-inline-start: var(--space-2);
  padding-block-start: var(--space-5);
  border-top: 1px solid var(--border-subtle);
  font-family: var(--font-heading);
  font-size: 1.45rem;
  line-height: 1.15;
}

.pkdv-garden__note .meta {
  margin-bottom: 0;
  font-family: var(--font-body);
  font-size: var(--text-meta);
}

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

.pkdv-listening__quote {
  grid-column: 2 / span 7;
  min-width: 0;
}

.pkdv-listening__quote blockquote {
  max-width: 21ch;
  margin-bottom: 0;
  font-size: clamp(2.25rem, 4.2vw, 3.5rem);
}

.pkdv-listening__segments {
  grid-column: 7 / span 5;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.pkdv-segment {
  display: grid;
  grid-template-columns: minmax(2rem, 1fr) minmax(0, 5fr);
  gap: var(--space-4);
  min-width: 0;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
}

.pkdv-segment__label {
  min-width: 0;
}

.pkdv-segment > div {
  min-width: 0;
}

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

.pkdv-segment p {
  max-width: 48ch;
}

.pkdv-journal__image-wrap {
  grid-column: 1 / span 5;
  min-width: 0;
}

.pkdv-journal__media {
  width: 100%;
}

.pkdv-journal__media img {
  object-position: 50% 48%;
}

.pkdv-journal__copy {
  grid-column: 8 / span 4;
  min-width: 0;
  padding-block-start: var(--space-8);
}

.pkdv-journal__copy h2 {
  max-width: 9ch;
}

.pkdv-journal__intro {
  max-width: 35ch;
}

.pkdv-entry {
  min-width: 0;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
}

.pkdv-entry + .pkdv-entry {
  margin-top: var(--space-5);
}

.pkdv-entry h3 {
  font-size: clamp(1.65rem, 2.5vw, 2rem);
}

.pkdv-entry p:not(.pkdv-entry__time):not(.meta) {
  max-width: 43ch;
}

.pkdv-lounge__panel {
  padding: var(--space-8);
}

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

.pkdv-lounge__intro {
  grid-column: 1 / span 5;
  min-width: 0;
}

.pkdv-lounge__intro .eyebrow {
  color: var(--color-paper-ivory);
}

.pkdv-lounge__intro h2 {
  max-width: 12ch;
}

.pkdv-lounge__intro p:last-child {
  max-width: 47ch;
  margin-bottom: 0;
}

.pkdv-lounge__rule {
  grid-column: 6;
  min-width: 0;
  align-self: stretch;
  border-inline-start: 1px solid rgba(244, 240, 232, 0.45);
}

.pkdv-lounge__rules {
  grid-column: 8 / span 4;
  min-width: 0;
}

.pkdv-lounge__rules h3 {
  color: var(--color-paper-ivory);
}

.pkdv-lounge__rules p {
  max-width: 43ch;
}

.pkdv-lounge__button {
  border-color: var(--color-paper-ivory);
  color: var(--color-paper-ivory);
}

.pkdv-lounge__button:hover {
  background: var(--color-paper-ivory);
  border-color: var(--color-paper-ivory);
  color: var(--color-deep-wine);
}

.pkdv-lounge__quote {
  grid-column: 1 / span 6;
  min-width: 0;
  margin: var(--space-6) 0 0;
  font-family: var(--font-heading);
  font-size: clamp(1.65rem, 2.8vw, 2.25rem);
  line-height: 1.08;
}

.pkdv-evening__media-area {
  grid-column: 1 / span 9;
  min-width: 0;
}

.pkdv-evening__media img {
  object-position: 42% 50%;
}

.pkdv-evening__title {
  max-width: 42rem;
  padding-top: var(--space-5);
}

.pkdv-evening__title h2 {
  max-width: 14ch;
}

.pkdv-evening__comment {
  grid-column: 9 / -1;
  min-width: 0;
  align-self: end;
  margin-block-end: 5.25rem;
  background: var(--surface-muted);
  box-shadow: var(--shadow-panel);
  padding: var(--space-5);
}

.pkdv-evening__comment p {
  max-width: 42ch;
  margin-bottom: 0;
}

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

.pkdv-guidance__header {
  grid-column: 1 / span 3;
  min-width: 0;
}

.pkdv-guidance__header h2 {
  max-width: 11ch;
}

.pkdv-guidance__tips {
  grid-column: 5 / -1;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--space-6);
  row-gap: var(--space-5);
}

.pkdv-tip {
  min-width: 0;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
}

.pkdv-tip:nth-child(even) {
  border-inline-start: 1px solid var(--border-subtle);
  padding-inline-start: var(--space-6);
}

.pkdv-tip h3 {
  font-size: clamp(1.55rem, 2.2vw, 1.9rem);
}

.pkdv-tip p:not(.pkdv-tip__number) {
  max-width: 40ch;
}

.pkdv-guidance__closing {
  grid-column: 8 / -1;
  min-width: 0;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-4);
}

.pkdv-guidance__closing p {
  max-width: 54ch;
  margin-bottom: 0;
}

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

.pkdv-contact__intro {
  grid-column: 3 / span 4;
  min-width: 0;
}

.pkdv-contact__intro h2 {
  max-width: 10ch;
}

.pkdv-contact__intro p {
  max-width: 46ch;
}

.pkdv-contact__details {
  grid-column: 7 / span 3;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.pkdv-contact__row {
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-3);
}

.pkdv-contact__row > * {
  min-width: 0;
  overflow-wrap: anywhere;
}

.pkdv-contact__row span {
  color: var(--text-secondary);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
}

.pkdv-contact__row address {
  font-style: normal;
}

.pkdv-contact__details .meta {
  margin: 0;
}

.pkdv-closing {
  padding-bottom: var(--space-10);
}

.pkdv-closing__content {
  width: calc((100% - (11 * var(--space-5))) / 12 * 5 + (4 * var(--space-5)));
  min-width: 0;
  margin-inline-start: calc((100% - (11 * var(--space-5))) / 12 * 2 + (2 * var(--space-5)));
}

.pkdv-closing__content blockquote {
  max-width: 28ch;
  margin-bottom: var(--space-4);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
}

.pkdv-closing__content .meta {
  margin-bottom: 0;
}

@media (max-width: 65rem) {
  .pkdv-arrangement__header {
    grid-column: 1 / span 3;
  }

  .pkdv-arrangement__observations {
    grid-column: 5 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pkdv-observation:nth-child(3) {
    grid-column: 1 / span 2;
    border-inline-start: 0;
    border-top: 1px solid var(--border-subtle);
    padding-inline-start: 0;
    padding-top: var(--space-5);
  }

  .pkdv-arrangement__note {
    grid-column: 4 / -1;
  }

  .pkdv-evening__media-area {
    grid-column: 1 / -1;
  }

  .pkdv-evening__comment {
    grid-column: 7 / -1;
    margin-block: 0;
    margin-top: calc(var(--space-7) * -1);
    z-index: 1;
  }
}

@media (max-width: 63.75rem) {
  .pkdv-cover__grid,
  .pkdv-garden__grid,
  .pkdv-journal__grid,
  .pkdv-evening__grid,
  .pkdv-arrangement__grid,
  .pkdv-listening__grid,
  .pkdv-guidance__grid,
  .pkdv-contact__grid,
  .pkdv-lounge__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .pkdv-cover__copy {
    grid-column: 1 / span 3;
  }

  .pkdv-cover__divider {
    display: none;
  }

  .pkdv-cover__figure {
    grid-column: 4 / -1;
  }

  .pkdv-arrangement__header {
    grid-column: 1 / span 3;
  }

  .pkdv-arrangement__observations {
    grid-column: 4 / -1;
  }

  .pkdv-arrangement__note {
    grid-column: 3 / span 6;
  }

  .pkdv-garden__image-wrap {
    grid-column: 1 / span 5;
  }

  .pkdv-garden__copy {
    grid-column: 6 / -1;
    padding-block-start: var(--space-6);
  }

  .pkdv-listening__quote {
    grid-column: 2 / span 6;
  }

  .pkdv-listening__segments {
    grid-column: 3 / span 6;
  }

  .pkdv-journal__image-wrap {
    grid-column: 1 / span 4;
  }

  .pkdv-journal__copy {
    grid-column: 5 / -1;
    padding-block-start: var(--space-5);
  }

  .pkdv-lounge__intro {
    grid-column: 1 / span 4;
  }

  .pkdv-lounge__rule {
    grid-column: 5;
  }

  .pkdv-lounge__rules {
    grid-column: 6 / -1;
  }

  .pkdv-lounge__quote {
    grid-column: 1 / span 5;
  }

  .pkdv-guidance__header {
    grid-column: 1 / -1;
  }

  .pkdv-guidance__tips {
    grid-column: 1 / -1;
  }

  .pkdv-guidance__closing {
    grid-column: 4 / -1;
  }

  .pkdv-contact__intro {
    grid-column: 2 / span 3;
  }

  .pkdv-contact__details {
    grid-column: 5 / span 3;
  }

  .pkdv-closing__content {
    width: calc((100% - (7 * var(--space-5))) / 8 * 5 + (4 * var(--space-5)));
    margin-inline-start: calc((100% - (7 * var(--space-5))) / 8 * 1 + var(--space-5));
  }
}

@media (max-width: 57.5rem) {
  .pkdv-listening__quote,
  .pkdv-listening__segments {
    grid-column: 2 / span 6;
  }

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

  .pkdv-lounge__intro {
    grid-column: 1 / -1;
  }

  .pkdv-lounge__rule {
    display: none;
  }

  .pkdv-lounge__rules {
    grid-column: 1 / span 4;
    border-top: 1px solid rgba(244, 240, 232, 0.45);
    padding-top: var(--space-5);
  }

  .pkdv-lounge__quote {
    grid-column: 1 / -1;
  }
}

@media (max-width: 42.5rem) {
  .pkdv-cover__grid,
  .pkdv-garden__grid,
  .pkdv-journal__grid,
  .pkdv-evening__grid,
  .pkdv-arrangement__grid,
  .pkdv-listening__grid,
  .pkdv-guidance__grid,
  .pkdv-contact__grid,
  .pkdv-lounge__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .pkdv-cover__copy,
  .pkdv-cover__figure,
  .pkdv-arrangement__header,
  .pkdv-arrangement__observations,
  .pkdv-arrangement__note,
  .pkdv-garden__image-wrap,
  .pkdv-garden__copy,
  .pkdv-listening__quote,
  .pkdv-listening__segments,
  .pkdv-journal__image-wrap,
  .pkdv-journal__copy,
  .pkdv-lounge__intro,
  .pkdv-lounge__rules,
  .pkdv-lounge__quote,
  .pkdv-evening__media-area,
  .pkdv-evening__comment,
  .pkdv-guidance__header,
  .pkdv-guidance__tips,
  .pkdv-guidance__closing,
  .pkdv-contact__intro,
  .pkdv-contact__details {
    grid-column: 1;
    width: 100%;
    min-width: 0;
  }

  .pkdv-cover__copy {
    padding-block-end: 0;
    padding-inline-end: var(--space-2);
  }

  .pkdv-cover__copy h1 {
    max-width: 12ch;
    font-size: clamp(2.75rem, 12vw, 3.625rem);
  }

  .pkdv-cover__lead {
    max-width: none;
    font-size: 1rem;
  }

  .pkdv-cover__action {
    flex-direction: column;
    gap: var(--space-3);
  }

  .pkdv-cover__action .meta {
    max-width: 34ch;
  }

  .pkdv-cover__figure {
    order: 2;
  }

  .pkdv-cover__media img {
    object-position: 50% 52%;
  }

  .pkdv-cover__figure figcaption {
    max-width: none;
    margin-inline-start: 0;
    text-align: left;
  }

  .pkdv-arrangement__header h2,
  .pkdv-garden__copy h2,
  .pkdv-journal__copy h2,
  .pkdv-guidance__header h2,
  .pkdv-contact__intro h2 {
    max-width: 12ch;
  }

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

  .pkdv-observation,
  .pkdv-observation + .pkdv-observation,
  .pkdv-observation:nth-child(3) {
    grid-column: 1;
    border-inline-start: 0;
    border-top: 1px solid var(--border-subtle);
    padding: var(--space-4) 0 0;
    margin-top: var(--space-5);
  }

  .pkdv-observation:first-child {
    margin-top: 0;
  }

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

  .pkdv-garden__copy,
  .pkdv-journal__copy {
    padding-block-start: 0;
  }

  .pkdv-garden__media img {
    object-position: 45% 50%;
  }

  .pkdv-garden__note {
    max-width: none;
    margin-inline-start: var(--space-2);
  }

  .pkdv-listening__quote blockquote {
    font-size: clamp(2.25rem, 10vw, 2.65rem);
  }

  .pkdv-listening__segments {
    gap: var(--space-5);
  }

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

  .pkdv-segment__label {
    margin: 0;
  }

  .pkdv-journal__image-wrap {
    display: contents;
  }

  .pkdv-journal__image-wrap > .eyebrow {
    order: 0;
  }

  .pkdv-journal__figure {
    order: 1;
  }

  .pkdv-journal__copy {
    order: 2;
  }

  .pkdv-journal__media {
    aspect-ratio: 4 / 5;
  }

  .pkdv-lounge__panel {
    padding: var(--space-6) var(--space-5);
  }

  .pkdv-lounge__rules {
    border-top: 1px solid rgba(244, 240, 232, 0.45);
    padding-top: var(--space-5);
  }

  .pkdv-lounge__intro h2 {
    max-width: 12ch;
    font-size: clamp(2.125rem, 10vw, 2.5rem);
  }

  .pkdv-lounge__quote {
    margin-top: var(--space-2);
  }

  .pkdv-evening__comment {
    margin-top: 0;
    box-shadow: none;
  }

  .pkdv-evening__media img {
    object-position: 42% 56%;
  }

  .pkdv-guidance__tips {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0;
  }

  .pkdv-tip,
  .pkdv-tip:nth-child(even) {
    border-inline-start: 0;
    border-top: 1px solid var(--border-subtle);
    padding: var(--space-4) 0 0;
    margin-top: var(--space-5);
  }

  .pkdv-tip:first-child {
    margin-top: 0;
  }

  .pkdv-guidance__closing {
    margin-top: var(--space-2);
  }

  .pkdv-contact__details {
    gap: var(--space-4);
  }

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

  .pkdv-closing {
    padding-bottom: var(--space-8);
  }

  .pkdv-closing__content {
    width: 100%;
    margin-inline-start: 0;
  }

  .pkdv-closing__content blockquote {
    max-width: 24ch;
    font-size: clamp(1.75rem, 8vw, 2rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pkdv-page a:not(.button) {
    transition: none;
  }
}


.thank-you {
  display: flex;
  align-items: center;
  min-height: clamp(34rem, 66vh, 48rem);
}

.thank-you__section {
  width: 100%;
}

.thank-you__panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  padding-block: clamp(var(--space-8), 9vw, var(--space-11));
  text-align: center;
}

.thank-you__panel > .eyebrow {
  margin-block-end: var(--space-4);
}

.thank-you__panel > h1 {
  max-width: 11ch;
  margin-block-end: var(--space-5);
}

.thank-you__copy {
  max-width: 42rem;
  margin-inline: auto;
  color: var(--text-secondary);
  text-align: center;
}

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

.thank-you__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  margin-block-start: var(--space-6);
}

@media (max-width: 40rem) {
  .thank-you {
    align-items: flex-start;
    min-height: 0;
  }

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

  .thank-you__actions {
    width: 100%;
    flex-direction: column;
  }

  .thank-you__actions .button {
    width: 100%;
  }
}
