

:root {
  --color-aged-paper: #e8e5da;
  --color-paper-wash: #f1eee5;
  --color-forest-black: #1c221e;
  --color-sepia: #483c32;
  --color-muted-cherry: #a63a50;
  --color-inverse-paper: #262b26;
  --color-paper-shadow: rgba(28, 34, 30, 0.16);

  --font-body: "Source Serif 4", Georgia, "Times New Roman", serif;
  --font-heading: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --font-ui: Inter, Arial, sans-serif;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.375rem;
  --text-2xl: clamp(1.75rem, 3vw, 2.25rem);
  --text-3xl: clamp(2.25rem, 4vw, 3.25rem);
  --text-display: clamp(2.75rem, 6vw, 4.5rem);

  --leading-tight: 0.95;
  --leading-heading: 1.08;
  --leading-compact: 1.3;
  --leading-body: 1.6;

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

  --container-max: 75rem;
  --container-padding: 1.5rem;
  --reading-max: 45rem;

  --radius-none: 0;
  --radius-sm: 0.375rem;
  --radius-md: 0.625rem;
  --radius-lg: 0.875rem;
  --radius-xl: 1.125rem;

  --border-rule: 1px solid var(--color-sepia);
  --border-strong: 1px solid var(--color-forest-black);
  --shadow-paper: 0 8px 24px var(--color-paper-shadow);

  --transition-fast: 180ms ease;
  --transition-standard: 220ms ease;
}

@media (min-width: 48rem) {
  :root {
    --container-padding: 2rem;
  }
}

@media (min-width: 75rem) {
  :root {
    --container-padding: 3rem;
  }
}

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

html {
  min-width: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 6rem;
  background: var(--color-aged-paper);
}

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

body.nav-open,
body.modal-open {
  overflow: hidden;
}

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

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

img,
video {
  height: auto;
}

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

svg {
  fill: currentColor;
}

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

button,
select {
  text-transform: none;
}

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

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

input,
select,
textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--color-sepia);
  border-radius: var(--radius-sm);
  background: var(--color-paper-wash);
  padding: 0.75rem 0.875rem;
  line-height: 1.4;
}

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

select {
  cursor: pointer;
}

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

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

input::placeholder,
textarea::placeholder {
  color: color-mix(in srgb, var(--color-sepia) 78%, transparent);
  opacity: 1;
}

label {
  display: inline-block;
  margin-block-end: var(--space-2);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: 1.4;
}

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

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

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

a:hover {
  color: var(--color-muted-cherry);
  text-decoration-color: var(--color-muted-cherry);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--color-muted-cherry);
  outline-offset: 3px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-block: 0 var(--space-4);
  color: var(--color-forest-black);
  font-family: var(--font-heading);
  font-weight: 650;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

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

h2 {
  font-size: var(--text-3xl);
  line-height: var(--leading-heading);
}

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

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

h5,
h6 {
  font-size: var(--text-lg);
  line-height: var(--leading-compact);
}

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

small {
  font-size: var(--text-xs);
  line-height: 1.35;
}

strong,
b {
  font-weight: 700;
}

em,
i {
  font-style: italic;
}

hr {
  height: 0;
  margin-block: var(--space-6);
  border: 0;
  border-top: var(--border-rule);
}

blockquote {
  margin: 0 0 var(--space-5);
  padding: var(--space-4) 0 var(--space-4) var(--space-5);
  border-inline-start: 2px solid var(--color-muted-cherry);
  font-size: var(--text-xl);
  line-height: 1.35;
}

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

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

figcaption {
  margin-block-start: var(--space-2);
  padding-block-start: var(--space-2);
  border-top: var(--border-rule);
  color: var(--color-sepia);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 650;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

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

ul {
  list-style: none !important;
  padding-inline-start: 0;
}

ol {
  list-style: decimal;
}

.content-list > li + li,
.rich-text > ul > li + li,
.rich-text > ol > li + li {
  margin-block-start: var(--space-2);
}

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

dt {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
}

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

table {
  width: 100%;
  margin-block: 0 var(--space-5);
  border-collapse: collapse;
  border-spacing: 0;
}

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

th {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
}

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

code,
kbd {
  padding: 0.1em 0.3em;
  background: var(--color-paper-wash);
}

pre {
  overflow-x: auto;
  margin-block: 0 var(--space-5);
  padding: var(--space-4);
  border: var(--border-rule);
  background: var(--color-paper-wash);
}

::selection {
  color: var(--color-aged-paper);
  background: var(--color-muted-cherry);
}

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

.reading-content {
  max-width: var(--reading-max);
}

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

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

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

.surface-inverse {
  color: var(--color-aged-paper);
  background: var(--color-inverse-paper);
}

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

.surface-inverse a {
  text-decoration-color: currentColor;
}

.surface-inverse a:hover {
  color: var(--color-aged-paper);
  text-decoration-color: var(--color-muted-cherry);
}

.editorial-top-field {
  background-color: var(--color-aged-paper);
  background-image:
    repeating-radial-gradient(
      circle at 50% -18rem,
      transparent 0,
      transparent 1.4rem,
      rgba(72, 60, 50, 0.055) 1.45rem,
      transparent 1.55rem
    );
}

.rule {
  height: 0;
  border: 0;
  border-top: var(--border-rule);
}

.rule-double {
  height: 0.375rem;
  border-top: var(--border-rule);
  border-bottom: var(--border-rule);
}

.eyebrow,
.metadata,
.caption {
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.35;
  text-transform: uppercase;
}

.eyebrow,
.metadata {
  color: var(--color-sepia);
}

.deck {
  font-size: var(--text-lg);
  line-height: 1.55;
}

.archive-caption {
  margin-block-start: var(--space-2);
  padding-block-start: var(--space-2);
  border-top: var(--border-rule);
  color: var(--color-sepia);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 650;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.drop-cap::first-letter {
  float: inline-start;
  margin: 0.04em 0.1em 0 0;
  color: var(--color-forest-black);
  font-family: var(--font-heading);
  font-size: 4.4em;
  font-weight: 650;
  line-height: 0.7;
}

.panel {
  padding: var(--space-5);
  border: var(--border-rule);
  background: var(--color-paper-wash);
}

.card {
  border: var(--border-rule);
  background: var(--color-aged-paper);
}

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

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

.notice {
  padding: var(--space-4);
  border-inline-start: 2px solid var(--color-muted-cherry);
  background: var(--color-paper-wash);
}

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

.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  max-width: 100%;
  border: 1px solid var(--color-forest-black);
  border-radius: var(--radius-md);
  background: var(--color-forest-black);
  color: var(--color-aged-paper);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: 1.2;
  overflow-wrap: anywhere;
  padding: 0.7rem 1rem;
  text-align: center;
  text-decoration: none;
  transition:
    background-color var(--transition-standard),
    border-color var(--transition-standard),
    color var(--transition-standard),
    transform var(--transition-standard);
}

.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
  border-color: var(--color-sepia);
  background: var(--color-sepia);
  color: var(--color-aged-paper);
}

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

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

.button-secondary:hover {
  background: var(--color-paper-wash);
  color: var(--color-forest-black);
}

.button-primary,
.button-booking {
  border-color: var(--color-muted-cherry);
  background: var(--color-muted-cherry);
  color: var(--color-aged-paper);
}

.button-primary:hover,
.button-booking:hover {
  border-color: var(--color-forest-black);
  background: var(--color-forest-black);
  color: var(--color-aged-paper);
}

.button-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

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

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

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

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

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

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

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

.inline-list > * {
  min-width: 0;
}

.site-header {
  position: relative;
  z-index: 40;
  padding-block: var(--space-4);
}

.site-nav {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 4rem;
  gap: var(--space-4);
  padding: 0.75rem clamp(1.25rem, 2vw, 1.75rem);
  border: 1px solid color-mix(in srgb, var(--color-sepia) 72%, transparent);
  border-radius: var(--radius-lg);
  background: var(--color-aged-paper);
  box-shadow: var(--shadow-paper);
}

.brand {
  display: inline-flex;
  flex: 0 1 auto;
  align-items: center;
  min-width: 0;
  gap: var(--space-3);
  color: var(--color-forest-black);
  font-family: var(--font-heading);
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  font-weight: 650;
  line-height: 1;
  text-decoration: none;
}

.brand:hover {
  color: var(--color-forest-black);
}

.brand-mark {
  flex: 0 0 auto;
  width: 2.625rem;
  height: 2.625rem;
  object-fit: contain;
}

.brand-name {
  min-width: 0;
  overflow-wrap: anywhere;
}

.nav-links {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  min-width: 0;
  gap: clamp(var(--space-3), 2vw, var(--space-5));
}

.nav-links a {
  color: var(--color-forest-black);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 650;
  line-height: 1.3;
  text-decoration: none;
  white-space: nowrap;
}

.nav-links a:hover,
.nav-links a[aria-current="page"] {
  color: var(--color-muted-cherry);
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-underline-offset: 0.25em;
}

.nav-action {
  flex: 0 0 auto;
}

.nav-toggle {
  display: none;
  flex-direction: column;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  min-height: 2.75rem;
  gap: 0.25rem;
  padding: 0.5rem;
  border: 1px solid var(--color-forest-black);
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--color-forest-black);
}

.nav-toggle span {
  display: block;
  width: 1.25rem;
  height: 1px;
  background: currentColor;
}

.site-footer {
  padding-block: var(--space-7);
  color: var(--color-aged-paper);
  background: var(--color-inverse-paper);
}

.site-footer :is(h1, h2, h3, h4, h5, h6) {
  color: var(--color-aged-paper);
}

.site-footer a {
  color: inherit;
}

.contact-control {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  min-height: 2.75rem;
  gap: var(--space-2);
  color: var(--color-forest-black);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.contact-control svg {
  flex: 0 0 auto;
  width: 1.125rem;
  height: 1.125rem;
}

.age-gate,
.modal-backdrop {
  position: fixed;
  z-index: 100;
  inset: 0;
  display: grid;
  place-items: center;
  padding: var(--space-5);
  background: rgba(28, 34, 30, 0.74);
}

.age-gate[hidden],
.modal-backdrop[hidden] {
  display: none;
}

.age-gate__sheet,
.modal-sheet {
  width: min(100%, 34rem);
  max-height: min(90vh, 42rem);
  overflow: auto;
  padding: clamp(var(--space-5), 5vw, var(--space-6));
  border: 1px solid var(--color-sepia);
  border-radius: var(--radius-xl);
  background: var(--color-aged-paper);
  box-shadow: var(--shadow-paper);
}

.age-gate__sheet > :last-child,
.modal-sheet > :last-child {
  margin-block-end: 0;
}

.age-gate__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.age-gate__actions > * {
  min-width: 0;
}

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

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

.form-error {
  margin-block-start: var(--space-1);
  color: var(--color-muted-cherry);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 650;
  line-height: 1.4;
}

@media (max-width: 47.99rem) {
  html {
    scroll-padding-top: 5rem;
  }

  .site-header {
    position: sticky;
    top: 0;
    padding-block: var(--space-2);
    background: color-mix(in srgb, var(--color-aged-paper) 94%, transparent);
    backdrop-filter: blur(8px);
  }

  .site-nav {
    min-height: 3.75rem;
    padding: 0.5rem 0.75rem;
    gap: var(--space-3);
  }

  .brand {
    margin-inline-end: auto;
    font-size: 1.3rem;
  }

  .brand-mark {
    width: 2.25rem;
    height: 2.25rem;
  }

  .nav-toggle {
    display: inline-flex;
    position: relative;
    z-index: 102;
  }

  .nav-links {
    position: fixed;
    z-index: 101;
    inset: 5rem var(--space-4) auto;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: var(--space-3);
    border: 1px solid var(--color-sepia);
    border-radius: var(--radius-md);
    background: var(--color-aged-paper);
    box-shadow: var(--shadow-paper);
  }

  .nav-links.is-open,
  .nav-toggle[aria-expanded="true"] + .nav-links {
    display: flex;
  }

  .nav-links a {
    display: block;
    min-height: 2.75rem;
    padding: 0.75rem;
    white-space: normal;
  }

  .nav-action {
    display: none;
  }

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

  .age-gate,
  .modal-backdrop {
    padding-inline: 1.25rem;
  }

  .age-gate__sheet,
  .modal-sheet {
    width: 100%;
    max-height: calc(100vh - 2.5rem);
  }

  .age-gate__actions {
    flex-direction: column;
  }

  .age-gate__actions > * {
    width: 100%;
  }
}

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

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

  .button:active,
  button:active,
  input[type="submit"]:active,
  input[type="reset"]:active,
  input[type="button"]:active {
    transform: none;
  }
}


.site-header {
  position: relative;
  z-index: 40;
  min-height: 6rem;
  padding-block: 1rem;
  background-color: var(--color-aged-paper);
  background-image: repeating-radial-gradient(circle at 50% -17rem, transparent 0, transparent 1.4rem, rgba(72, 60, 50, 0.055) 1.45rem, transparent 1.55rem);
}

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

.site-nav {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 4.25rem;
  gap: 1rem;
  padding: 0.75rem clamp(1.25rem, 2vw, 1.75rem);
  border: 1px solid color-mix(in srgb, var(--color-sepia) 72%, transparent);
  border-radius: var(--radius-lg);
  background: var(--color-aged-paper);
  box-shadow: var(--shadow-paper);
}

.site-nav .brand {
  display: inline-flex;
  flex: 0 1 auto;
  align-items: center;
  min-width: 0;
  gap: 0.75rem;
  color: var(--color-forest-black);
  font-family: var(--font-heading);
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  font-weight: 650;
  line-height: 1;
  text-decoration: none;
}

.site-nav .brand:hover {
  color: var(--color-forest-black);
}

.site-nav .brand-mark {
  flex: 0 0 auto;
  width: 2.625rem;
  height: 2.625rem;
  object-fit: contain;
}

.site-nav .brand-name {
  min-width: 0;
  overflow-wrap: anywhere;
}

.site-nav .nav-links {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  min-width: 0;
  gap: clamp(0.75rem, 1.5vw, 1.5rem);
  margin: 0;
  padding: 0;
  list-style: none !important;
}

.site-nav .nav-links li,
.site-nav .nav-links li + li {
  display: flex;
  align-items: center;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.site-nav .nav-links a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  color: var(--color-forest-black);
  font-family: var(--font-ui);
  font-size: 0.8125rem;
  font-weight: 650;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}

.site-nav .nav-links a:hover,
.site-nav .nav-links a[aria-current="page"] {
  color: var(--color-muted-cherry);
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-underline-offset: 0.25em;
}

.site-nav .nav-action {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 2.75rem;
}

.site-nav .nav-action .button-booking {
  white-space: nowrap;
}

.site-nav .nav-toggle {
  display: none;
  flex-direction: column;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  min-height: 2.75rem;
  gap: 0.25rem;
  padding: 0.5rem;
  border: 1px solid var(--color-forest-black);
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--color-forest-black);
}

.site-nav .nav-toggle:hover,
.site-nav .nav-toggle.is-open {
  border-color: var(--color-muted-cherry);
  background: var(--color-muted-cherry);
  color: var(--color-aged-paper);
}

.site-nav .nav-toggle span {
  display: block;
  width: 1.25rem;
  height: 1px;
  background: currentColor;
  transition: transform var(--transition-fast), opacity var(--transition-fast);
}

.site-nav .nav-toggle.is-open span:nth-child(1) {
  transform: translateY(5px) rotate(45deg);
}

.site-nav .nav-toggle.is-open span:nth-child(2) {
  opacity: 0;
}

.site-nav .nav-toggle.is-open span:nth-child(3) {
  transform: translateY(-5px) rotate(-45deg);
}

@media (max-width: 59.99rem) {
  .site-header {
    position: sticky;
    top: 0;
    min-height: 5rem;
    padding-block: 0.5rem;
    background: color-mix(in srgb, var(--color-aged-paper) 94%, transparent);
    backdrop-filter: blur(8px);
  }

  .site-nav {
    position: relative;
    min-height: 3.75rem;
    padding: 0.5rem 0.75rem;
    gap: 0.75rem;
  }

  .site-nav .brand {
    margin-inline-end: auto;
    font-size: 1.3rem;
  }

  .site-nav .brand-mark {
    width: 2.25rem;
    height: 2.25rem;
  }

  .site-nav .nav-toggle {
    position: relative;
    z-index: 42;
    display: inline-flex;
  }

  .site-nav .nav-links {
    position: fixed;
    z-index: 41;
    top: 5rem;
    right: max(1rem, calc((100vw - var(--container-max)) / 2 + var(--container-padding)));
    left: max(1rem, calc((100vw - var(--container-max)) / 2 + var(--container-padding)));
    display: none;
    max-height: calc(100vh - 6rem);
    overflow-y: auto;
    align-items: stretch;
    gap: 0;
    padding: 0.75rem;
    border: 1px solid var(--color-sepia);
    border-radius: var(--radius-md);
    background: var(--color-aged-paper);
    box-shadow: var(--shadow-paper);
  }

  .site-nav .nav-links.is-open {
    display: flex;
    flex-direction: column;
  }

  .site-nav .nav-links li {
    width: 100%;
  }

  .site-nav .nav-links a {
    width: 100%;
    min-height: 2.75rem;
    padding: 0.75rem;
    white-space: normal;
  }

  .site-nav .nav-action {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-nav .nav-toggle span {
    transition: none;
  }
}


.site-footer {
  position: relative;
  z-index: 1;
  padding-block: clamp(3rem, 7vw, 6rem) 2rem;
  color: var(--color-aged-paper);
  background: var(--color-inverse-paper);
}

.site-footer__grid {
  display: grid;
  gap: 2.5rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid color-mix(in srgb, var(--color-aged-paper) 34%, transparent);
}

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

.site-footer__brand {
  display: grid;
  gap: 1rem;
}

.site-footer__identity {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  gap: 0.75rem;
  color: var(--color-aged-paper);
  font-family: var(--font-heading);
  font-size: 1.75rem;
  font-weight: 650;
  line-height: 1;
  text-decoration: none;
}

.site-footer__identity:hover {
  color: var(--color-aged-paper);
}

.site-footer__mark {
  width: 2.5rem;
  height: 2.5rem;
  object-fit: contain;
}

.site-footer__copy {
  max-width: 34rem;
  margin: 0;
  color: color-mix(in srgb, var(--color-aged-paper) 86%, transparent);
}

.site-footer__heading {
  margin: 0 0 0.875rem;
  color: var(--color-aged-paper);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.35;
  text-transform: uppercase;
}

.site-footer__list {
  display: grid;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none !important;
}

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

.site-footer__list a {
  color: color-mix(in srgb, var(--color-aged-paper) 88%, transparent);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.site-footer__list a:hover {
  color: var(--color-aged-paper);
}

.site-footer__notice {
  margin: 0;
  padding: 1rem;
  border-left: 2px solid var(--color-muted-cherry);
  color: color-mix(in srgb, var(--color-aged-paper) 88%, transparent);
  background: color-mix(in srgb, var(--color-aged-paper) 7%, transparent);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.75rem 1.5rem;
  padding-top: 1.25rem;
  color: color-mix(in srgb, var(--color-aged-paper) 68%, transparent);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  line-height: 1.45;
}

.site-footer__bottom p {
  margin: 0;
}

[data-consent-banner] {
  position: fixed;
  z-index: 90;
  right: 1rem;
  bottom: 1rem;
  width: min(calc(100% - 2rem), 32rem);
  padding: 1.25rem;
  border: 1px solid var(--color-sepia);
  border-radius: var(--radius-md);
  background: var(--color-paper-wash);
  box-shadow: var(--shadow-paper);
}

[data-consent-banner][hidden] {
  display: none !important;
}

.consent-banner__content {
  display: grid;
  gap: 0.875rem;
}

.consent-banner__title {
  margin: 0;
  color: var(--color-forest-black);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  line-height: 1.05;
}

.consent-banner__copy {
  margin: 0;
  color: var(--color-forest-black);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.consent-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.consent-banner__actions button {
  min-width: 7rem;
}

[data-age-modal] {
  position: fixed;
  z-index: 200;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 1.25rem;
  background: rgba(28, 34, 30, 0.76);
}

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

.age-modal__sheet {
  width: min(100%, 34rem);
  max-height: calc(100vh - 2.5rem);
  overflow: auto;
  padding: clamp(1.5rem, 5vw, 2rem);
  border: 1px solid var(--color-sepia);
  border-radius: var(--radius-xl);
  background: var(--color-aged-paper);
  box-shadow: var(--shadow-paper);
}

.age-modal__sheet > * {
  min-width: 0;
}

.age-modal__eyebrow {
  margin: 0 0 0.5rem;
  color: var(--color-muted-cherry);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.35;
  text-transform: uppercase;
}

.age-modal__title {
  margin: 0 0 0.875rem;
  font-size: clamp(2rem, 6vw, 2.75rem);
}

.age-modal__description {
  margin: 0;
  font-size: var(--text-lg);
  line-height: 1.5;
}

.age-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.age-modal__actions button {
  flex: 1 1 11rem;
}

.age-modal__decline {
  background: transparent;
  color: var(--color-forest-black);
}

.age-modal__decline:hover {
  background: var(--color-paper-wash);
  color: var(--color-forest-black);
}

@media (min-width: 48rem) {
  .site-footer__grid {
    grid-template-columns: minmax(0, 1.45fr) repeat(2, minmax(0, 1fr));
  }

  .site-footer__notice {
    grid-column: 1 / -1;
  }
}

@media (max-width: 47.99rem) {
  [data-consent-banner] {
    right: 0.75rem;
    bottom: 0.75rem;
    width: calc(100% - 1.5rem);
  }

  .consent-banner__actions,
  .age-modal__actions {
    flex-direction: column;
  }

  .consent-banner__actions button,
  .age-modal__actions button {
    width: 100%;
  }
}


.cookie-policy-page {
  background: var(--color-aged-paper);
}

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

.cookie-policy-page__intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 1fr) minmax(0, 3fr);
  align-items: end;
  min-width: 0;
}

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

.cookie-policy-page__intro-copy h1 {
  max-width: 8ch;
  font-size: clamp(3.25rem, 6vw, 4.5rem);
}

.cookie-policy-page__title-rule {
  margin-block: var(--space-5);
}

.cookie-policy-page__deck {
  max-width: 40.625rem;
}

.cookie-policy-page__deck p {
  font-size: var(--text-lg);
  line-height: 1.55;
}

.cookie-policy-page__margin-note {
  grid-column: 3 / span 1;
  min-width: 0;
  padding-inline-start: var(--space-4);
  border-inline-start: var(--border-rule);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.cookie-policy-page__margin-note p:last-child {
  margin-block-end: 0;
}

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

.cookie-policy-page__reading-column {
  width: min(100%, 45rem);
  min-width: 0;
}

.cookie-policy-page__reading-column > :last-child {
  margin-block-end: 0;
}

.cookie-policy-page__duration-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
  width: min(100%, 45rem);
  margin-block-start: var(--space-7);
  border-top: var(--border-rule);
}

.cookie-policy-page__visually-grouped-title {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding-block: var(--space-5) var(--space-4);
  font-size: var(--text-2xl);
}

.cookie-policy-page__duration-item {
  min-width: 0;
  padding: var(--space-4) var(--space-5) 0 0;
}

.cookie-policy-page__duration-item + .cookie-policy-page__duration-item {
  padding-inline: var(--space-5) 0;
  border-inline-start: var(--border-rule);
}

.cookie-policy-page__duration-item h4 {
  margin-block-end: var(--space-3);
}

.cookie-policy-page__duration-item p:last-child {
  margin-block-end: 0;
}

.cookie-policy-page__purpose-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(100%, 56.25rem);
  min-width: 0;
  margin-block-start: var(--space-7);
  border-top: var(--border-rule);
}

.cookie-policy-page__purpose-item {
  min-width: 0;
  padding: var(--space-4) var(--space-5) 0 0;
}

.cookie-policy-page__purpose-item + .cookie-policy-page__purpose-item {
  padding-inline: var(--space-5) 0;
  border-inline-start: var(--border-rule);
}

.cookie-policy-page__purpose-item p:last-child {
  margin-block-end: 0;
}

.cookie-policy-page__section--categories {
  border-top: var(--border-rule);
}

.cookie-policy-page__category-intro {
  width: min(100%, 40.625rem);
  min-width: 0;
}

.cookie-policy-page__category-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  min-width: 0;
  margin-block-start: var(--space-7);
  border-top: var(--border-rule);
}

.cookie-policy-page__category-item {
  display: grid;
  grid-template-columns: minmax(3.5rem, 0.7fr) minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-4);
  padding-block: var(--space-5);
  border-bottom: var(--border-rule);
}

.cookie-policy-page__category-item--necessary {
  grid-column: 1 / span 6;
  padding-inline-end: var(--space-6);
}

.cookie-policy-page__category-item--preferences {
  grid-column: 7 / span 3;
  padding-inline: var(--space-5);
  border-inline-start: var(--border-rule);
}

.cookie-policy-page__category-item--statistics {
  grid-column: 10 / span 3;
  padding-inline-start: var(--space-5);
  border-inline-start: var(--border-rule);
}

.cookie-policy-page__category-item--optional {
  grid-column: 1 / span 5;
  margin-block-start: var(--space-5);
  padding-inline-end: var(--space-5);
  background: var(--color-paper-wash);
}

.cookie-policy-page__category-number {
  margin: 0;
  color: color-mix(in srgb, var(--color-sepia) 66%, transparent);
  font-family: var(--font-heading);
  font-size: clamp(2.25rem, 4vw, 3.5rem);
  font-weight: 650;
  line-height: 0.9;
}

.cookie-policy-page__category-item h3 {
  margin-block-end: var(--space-3);
}

.cookie-policy-page__category-item div,
.cookie-policy-page__category-item div > * {
  min-width: 0;
}

.cookie-policy-page__category-item div > :last-child {
  margin-block-end: 0;
}

.cookie-policy-page__overview-shell {
  width: min(100%, 62.5rem);
  min-width: 0;
}

.cookie-policy-page__table-intro {
  width: min(100%, 43.75rem);
  min-width: 0;
}

.cookie-policy-page__table-intro > :last-child {
  margin-block-end: 0;
}

.cookie-policy-page__table-wrap {
  width: 100%;
  min-width: 0;
  margin-block-start: var(--space-6);
  border-top: var(--border-rule);
}

.cookie-policy-page__table {
  table-layout: fixed;
  margin-block: 0;
}

.cookie-policy-page__table th,
.cookie-policy-page__table td {
  overflow-wrap: anywhere;
}

.cookie-policy-page__table thead th:nth-child(1),
.cookie-policy-page__table tbody th {
  width: 25%;
}

.cookie-policy-page__table thead th:nth-child(2) {
  width: 50%;
}

.cookie-policy-page__table thead th:nth-child(3) {
  width: 25%;
}

.cookie-policy-page__table tbody th {
  color: var(--color-forest-black);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  line-height: var(--leading-compact);
}

.cookie-policy-page__editorial-note {
  width: min(100%, 43.75rem);
  min-width: 0;
  margin-block-start: var(--space-6);
  padding-block-start: var(--space-4);
  border-top: 2px solid var(--color-muted-cherry);
}

.cookie-policy-page__editorial-note p:last-child {
  margin-block-end: 0;
}

.cookie-policy-page__controls-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr);
  align-items: start;
  min-width: 0;
}

.cookie-policy-page__choice-copy {
  grid-column: 1 / span 1;
  width: min(100%, 42.5rem);
  min-width: 0;
}

.cookie-policy-page__choice-copy > :last-child {
  margin-block-end: 0;
}

.cookie-policy-page__consent-panel {
  display: flex;
  grid-column: 3 / span 1;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-5);
  border: var(--border-rule);
  background: var(--color-paper-wash);
  box-shadow: var(--shadow-paper);
}

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

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

.cookie-policy-page__consent-trigger {
  width: 100%;
  min-height: 2.75rem;
}

.cookie-policy-page__consent-fallback {
  font-size: var(--text-sm);
  line-height: 1.5;
}

.cookie-policy-page__browser-guide {
  width: min(100%, 50rem);
  min-width: 0;
  margin-block-start: var(--space-7);
  padding: var(--space-5);
  border: var(--border-rule);
  background: var(--color-paper-wash);
}

.cookie-policy-page__browser-guide-heading {
  width: min(100%, 32rem);
  min-width: 0;
}

.cookie-policy-page__browser-guide-heading > :last-child {
  margin-block-end: 0;
}

.cookie-policy-page__browser-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
  margin-block-start: var(--space-5);
  border-top: var(--border-rule);
}

.cookie-policy-page__browser-step {
  min-width: 0;
  padding: var(--space-4) var(--space-4) 0 0;
}

.cookie-policy-page__browser-step + .cookie-policy-page__browser-step {
  padding-inline: var(--space-4) 0;
  border-inline-start: var(--border-rule);
}

.cookie-policy-page__browser-step summary {
  display: flex;
  align-items: center;
  min-height: 2.75rem;
  gap: var(--space-2);
  color: var(--color-forest-black);
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: 1.35;
}

.cookie-policy-page__browser-step summary span {
  color: var(--color-muted-cherry);
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
}

.cookie-policy-page__browser-step p {
  margin-block: var(--space-3) 0;
}

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

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

.cookie-policy-page__related-copy > :last-child {
  margin-block-end: 0;
}

.cookie-policy-page__related-copy a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
}

.cookie-policy-page__closing-note {
  width: min(100%, 35rem);
  min-width: 0;
  margin-block-start: var(--space-7);
}

.cookie-policy-page__closing-note > :last-child {
  margin-block-end: 0;
}

.cookie-policy-page__closing-note .rule-double {
  margin-block-start: var(--space-5);
}

@media (max-width: 61.24rem) {
  .cookie-policy-page__intro-grid {
    grid-template-columns: minmax(0, 6fr) minmax(0, 2fr);
    gap: var(--space-5);
  }

  .cookie-policy-page__margin-note {
    grid-column: 2 / span 1;
  }

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

  .cookie-policy-page__category-item--necessary {
    grid-column: 1 / -1;
    padding-inline-end: 0;
  }

  .cookie-policy-page__category-item--preferences {
    grid-column: 1 / span 4;
    padding-inline-end: var(--space-5);
    border-inline-start: 0;
  }

  .cookie-policy-page__category-item--statistics {
    grid-column: 5 / span 4;
    padding-inline-start: var(--space-5);
    border-inline-start: var(--border-rule);
  }

  .cookie-policy-page__category-item--optional {
    grid-column: 1 / span 4;
  }
}

@media (max-width: 54.99rem) {
  .cookie-policy-page__controls-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .cookie-policy-page__choice-copy,
  .cookie-policy-page__consent-panel {
    grid-column: 1;
  }

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

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

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

  .cookie-policy-page__intro-copy,
  .cookie-policy-page__margin-note {
    grid-column: 1;
    width: 100%;
  }

  .cookie-policy-page__intro-copy h1 {
    max-width: 100%;
    font-size: clamp(2.5rem, 12vw, 2.875rem);
    line-height: 1.02;
  }

  .cookie-policy-page__margin-note {
    padding-block-start: var(--space-4);
    padding-inline-start: var(--space-4);
    border-top: var(--border-rule);
  }

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

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

  .cookie-policy-page__duration-item,
  .cookie-policy-page__duration-item + .cookie-policy-page__duration-item,
  .cookie-policy-page__purpose-item,
  .cookie-policy-page__purpose-item + .cookie-policy-page__purpose-item,
  .cookie-policy-page__browser-step,
  .cookie-policy-page__browser-step + .cookie-policy-page__browser-step {
    width: 100%;
    padding: var(--space-4) 0 0;
    border-inline-start: 0;
  }

  .cookie-policy-page__duration-item + .cookie-policy-page__duration-item,
  .cookie-policy-page__purpose-item + .cookie-policy-page__purpose-item,
  .cookie-policy-page__browser-step + .cookie-policy-page__browser-step {
    margin-block-start: var(--space-4);
    border-top: var(--border-rule);
  }

  .cookie-policy-page__category-grid {
    grid-template-columns: minmax(0, 1fr);
    margin-block-start: var(--space-6);
  }

  .cookie-policy-page__category-item,
  .cookie-policy-page__category-item--necessary,
  .cookie-policy-page__category-item--preferences,
  .cookie-policy-page__category-item--statistics,
  .cookie-policy-page__category-item--optional {
    grid-column: 1;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    margin-block-start: 0;
    padding: var(--space-5) 0;
    border-inline-start: 0;
  }

  .cookie-policy-page__category-item--optional {
    margin-block-start: var(--space-4);
    padding-inline: var(--space-4);
  }

  .cookie-policy-page__category-number {
    font-size: 2.25rem;
  }

  .cookie-policy-page__table-wrap {
    border-top: 0;
  }

  .cookie-policy-page__table,
  .cookie-policy-page__table tbody,
  .cookie-policy-page__table tr,
  .cookie-policy-page__table th,
  .cookie-policy-page__table td {
    display: block;
    width: 100%;
  }

  .cookie-policy-page__table thead {
    display: none;
  }

  .cookie-policy-page__table tbody tr {
    padding-block: var(--space-5);
    border-top: var(--border-rule);
  }

  .cookie-policy-page__table tbody th,
  .cookie-policy-page__table td {
    padding: 0;
    border: 0;
  }

  .cookie-policy-page__table tbody th,
  .cookie-policy-page__table td + td {
    margin-block-start: var(--space-4);
  }

  .cookie-policy-page__table tbody th::before,
  .cookie-policy-page__table td::before {
    display: block;
    margin-block-end: var(--space-1);
    color: var(--color-sepia);
    content: attr(data-label);
    font-family: var(--font-ui);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.35;
    text-transform: uppercase;
  }

  .cookie-policy-page__browser-guide {
    padding: var(--space-4);
  }

  .cookie-policy-page__consent-panel {
    width: 100%;
  }

  .cookie-policy-page__related,
  .cookie-policy-page__related-copy,
  .cookie-policy-page__closing-note {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-policy-page * {
    transition-property: color, background-color, border-color, outline-color;
  }
}


.kapcsolat-page {
  background: var(--color-aged-paper);
}

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

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

.kapcsolat-hero__grid,
.kapcsolat-form-section__grid,
.kapcsolat-trust__grid,
.kapcsolat-closing__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-6);
  row-gap: var(--space-6);
}

.kapcsolat-hero__lead {
  grid-column: 2 / span 7;
  min-width: 0;
  max-width: 43rem;
}

.kapcsolat-hero__lead .deck {
  max-width: 38.75rem;
}

.kapcsolat-hero__action {
  margin-block-start: var(--space-2);
}

.kapcsolat-hero__note {
  grid-column: 10 / span 3;
  align-self: end;
  min-width: 0;
  padding-block-start: var(--space-4);
  border-top: var(--border-rule);
}

.kapcsolat-hero__note p:last-child {
  margin-block-end: 0;
  font-size: var(--text-sm);
  line-height: 1.55;
}

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

.kapcsolat-form-article {
  grid-column: 1 / span 7;
  min-width: 0;
  padding: clamp(var(--space-5), 4vw, var(--space-6));
  border: var(--border-rule);
  background: var(--color-paper-wash);
}

.kapcsolat-form-article__intro {
  max-width: 38.75rem;
}

.kapcsolat-form-note {
  grid-column: 9 / span 4;
  align-self: start;
  min-width: 0;
  padding-block-start: var(--space-4);
  border-top: var(--border-rule);
}

.kapcsolat-form-note .notice {
  margin-block-start: var(--space-5);
}

.kapcsolat-form-note .notice p {
  margin-block-end: 0;
}

.kapcsolat-form-status {
  display: none;
  margin-block: var(--space-5);
  padding: var(--space-4);
  border: var(--border-rule);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 650;
  line-height: 1.45;
}

.kapcsolat-form-status.is-success,
.kapcsolat-form-status.is-error {
  display: block;
}

.kapcsolat-form-status.is-success {
  border-inline-start: 2px solid var(--color-muted-cherry);
  background: var(--color-aged-paper);
}

.kapcsolat-form-status.is-error {
  border-inline-start: 2px solid var(--color-muted-cherry);
}

.kapcsolat-form-status:focus {
  outline: 2px solid var(--color-muted-cherry);
  outline-offset: 3px;
}

.kapcsolat-form__required,
.kapcsolat-form__optional,
.kapcsolat-form__help {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.kapcsolat-form__required {
  margin-block-end: var(--space-5);
  color: var(--color-sepia);
}

.kapcsolat-form__required span,
.kapcsolat-form label > span[aria-hidden="true"] {
  color: var(--color-muted-cherry);
}

.kapcsolat-form__optional {
  color: var(--color-sepia);
  font-weight: 400;
}

.kapcsolat-form__help {
  margin-block: 0;
  color: var(--color-sepia);
}

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

.kapcsolat-form__two-col > * {
  min-width: 0;
}

.kapcsolat-form input,
.kapcsolat-form select,
.kapcsolat-form textarea {
  min-height: 2.75rem;
  background: var(--color-paper-wash);
}

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

.kapcsolat-form__consent {
  display: flex;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-3);
  margin-block: var(--space-5) var(--space-3);
}

.kapcsolat-form__consent > * {
  min-width: 0;
}

.kapcsolat-form__consent input {
  flex: 0 0 auto;
  margin-block-start: 0.2rem;
}

.kapcsolat-form__consent label {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
}

.kapcsolat-form__submit {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  min-width: 0;
  gap: var(--space-4);
  margin-block-start: var(--space-5);
  padding-block-start: var(--space-5);
  border-top: var(--border-rule);
}

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

.kapcsolat-form__submit p {
  flex: 1 1 20rem;
  max-width: 30rem;
  margin: 0;
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.kapcsolat-form__submit button {
  flex: 0 0 auto;
}

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

.kapcsolat-topics__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6) var(--space-6);
  margin-block-start: var(--space-7);
}

.kapcsolat-topic {
  min-width: 0;
  padding-block-start: var(--space-4);
  border-top: var(--border-rule);
}

.kapcsolat-topic--program { grid-column: 1 / span 4; }
.kapcsolat-topic--private { grid-column: 5 / span 4; }
.kapcsolat-topic--formats { grid-column: 10 / span 3; }
.kapcsolat-topic--dining { grid-column: 1 / span 4; }
.kapcsolat-topic--hosts { grid-column: 5 / span 4; }

.kapcsolat-topic h3 {
  font-size: clamp(1.5rem, 2.4vw, 2rem);
}

.kapcsolat-topic p:last-child {
  margin-block-end: 0;
}

.kapcsolat-topics__help {
  width: min(100%, 43rem);
  min-width: 0;
  margin-block-start: var(--space-7);
  padding: var(--space-5);
  border-top: 2px solid var(--color-muted-cherry);
  background: var(--color-aged-paper);
}

.kapcsolat-topics__help p:last-child {
  margin-block-end: 0;
}

.kapcsolat-process__intro {
  width: min(100%, 42.5rem);
  min-width: 0;
}

.kapcsolat-process__steps {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-6);
  row-gap: var(--space-5);
  margin-block-start: var(--space-7);
}

.kapcsolat-step {
  grid-column: span 3;
  min-width: 0;
  padding-block-start: var(--space-4);
  border-top: var(--border-rule);
}

.kapcsolat-step__number {
  margin-block-end: var(--space-3);
  color: var(--color-muted-cherry);
  font-family: var(--font-heading);
  font-size: 3.5rem;
  font-weight: 650;
  line-height: 0.85;
}

.kapcsolat-step h3 {
  font-size: var(--text-xl);
}

.kapcsolat-step p:last-child {
  margin-block-end: 0;
}

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

.kapcsolat-trust__statement {
  grid-column: 1 / span 7;
  min-width: 0;
  max-width: 43.75rem;
}

.kapcsolat-trust__statement .eyebrow,
.kapcsolat-trust__points .metadata {
  color: color-mix(in srgb, var(--color-aged-paper) 74%, var(--color-sepia));
}

.kapcsolat-trust__statement hr {
  border-color: color-mix(in srgb, var(--color-aged-paper) 60%, transparent);
}

.kapcsolat-trust__points {
  grid-column: 9 / span 3;
  align-self: end;
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-5);
}

.kapcsolat-trust__point {
  min-width: 0;
  padding-block-start: var(--space-4);
  border-top: 1px solid color-mix(in srgb, var(--color-aged-paper) 60%, transparent);
}

.kapcsolat-trust__point p:last-child {
  margin-block-end: 0;
  font-size: var(--text-sm);
  line-height: 1.55;
}

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

.kapcsolat-closing__action {
  grid-column: 8 / span 3;
  align-self: end;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-3);
}

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

.kapcsolat-closing__action p {
  margin: 0;
  color: var(--color-sepia);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: 1.45;
}

@media (max-width: 74.99rem) {
  .kapcsolat-hero__grid,
  .kapcsolat-form-section__grid,
  .kapcsolat-trust__grid,
  .kapcsolat-closing__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .kapcsolat-hero__lead { grid-column: 1 / span 6; }
  .kapcsolat-hero__note { grid-column: 7 / span 2; }
  .kapcsolat-form-article { grid-column: 1 / span 5; }
  .kapcsolat-form-note { grid-column: 6 / span 3; }
  .kapcsolat-trust__statement { grid-column: 1 / span 5; }
  .kapcsolat-trust__points { grid-column: 6 / span 3; }
  .kapcsolat-closing__copy { grid-column: 1 / span 5; }
  .kapcsolat-closing__action { grid-column: 6 / span 3; }

  .kapcsolat-topics__grid,
  .kapcsolat-process__steps {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .kapcsolat-topic--program,
  .kapcsolat-topic--private,
  .kapcsolat-topic--formats,
  .kapcsolat-topic--dining,
  .kapcsolat-topic--hosts {
    grid-column: span 4;
  }

  .kapcsolat-step { grid-column: span 4; }
}

@media (max-width: 61.24rem) {
  .kapcsolat-hero__lead { grid-column: 1 / span 6; }
  .kapcsolat-hero__note {
    grid-column: 1 / span 6;
    align-self: start;
  }

  .kapcsolat-form-section__grid {
    row-gap: var(--space-7);
  }

  .kapcsolat-form-article { grid-column: 1 / span 8; }
  .kapcsolat-form-note { grid-column: 1 / span 6; }

  .kapcsolat-closing__action {
    grid-column: 1 / span 5;
    align-self: start;
  }
}

@media (max-width: 56.24rem) {
  .kapcsolat-form__two-col {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .kapcsolat-trust__statement { grid-column: 1 / span 5; }
  .kapcsolat-trust__points { grid-column: 6 / span 3; }

  .kapcsolat-process__steps {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .kapcsolat-step { grid-column: span 4; }
  .kapcsolat-step:last-child { grid-column: 1 / span 4; }
}

@media (max-width: 44.99rem) {
  .kapcsolat-hero,
  .kapcsolat-trust {
    padding-block: var(--space-8);
  }

  .kapcsolat-hero__grid,
  .kapcsolat-form-section__grid,
  .kapcsolat-topics__grid,
  .kapcsolat-process__steps,
  .kapcsolat-trust__grid,
  .kapcsolat-closing__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .kapcsolat-hero__lead,
  .kapcsolat-hero__note,
  .kapcsolat-form-article,
  .kapcsolat-form-note,
  .kapcsolat-topic--program,
  .kapcsolat-topic--private,
  .kapcsolat-topic--formats,
  .kapcsolat-topic--dining,
  .kapcsolat-topic--hosts,
  .kapcsolat-step,
  .kapcsolat-step:last-child,
  .kapcsolat-trust__statement,
  .kapcsolat-trust__points,
  .kapcsolat-closing__copy,
  .kapcsolat-closing__action {
    grid-column: 1;
    width: 100%;
  }

  .kapcsolat-hero__lead,
  .kapcsolat-form-article__intro,
  .kapcsolat-topics__intro,
  .kapcsolat-process__intro,
  .kapcsolat-trust__statement,
  .kapcsolat-closing__copy {
    max-width: 42.5rem;
  }

  .kapcsolat-hero h1 {
    font-size: clamp(2.5rem, 11vw, 2.875rem);
    line-height: 1.02;
  }

  .kapcsolat-form-article {
    padding: var(--space-5);
  }

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

  .kapcsolat-form__submit p,
  .kapcsolat-form__submit button,
  .kapcsolat-closing__action .button {
    width: 100%;
    max-width: none;
  }

  .kapcsolat-topics__grid {
    margin-block-start: var(--space-6);
  }

  .kapcsolat-topics__help {
    width: 100%;
    margin-block-start: var(--space-6);
  }

  .kapcsolat-process__steps {
    margin-block-start: var(--space-6);
  }

  .kapcsolat-step__number {
    font-size: 3rem;
  }

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

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

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


.terms-page {
  overflow-wrap: anywhere;
  background: var(--color-aged-paper);
}

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

.terms-cover {
  padding-block: clamp(4.5rem, 9vw, 7rem) clamp(3rem, 6vw, 5rem);
}

.terms-cover__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 3fr) minmax(0, 1fr);
  align-items: start;
}

.terms-cover__copy {
  grid-column: 1 / span 1;
  min-width: 0;
}

.terms-cover__copy h1 {
  max-width: 8.8em;
  font-size: clamp(2.75rem, 5vw, 4.5rem);
}

.terms-cover__deck {
  max-width: 38.75rem;
  min-width: 0;
  font-size: var(--text-lg);
  line-height: 1.55;
}

.terms-cover__meta {
  grid-column: 3 / span 1;
  min-width: 0;
  padding-block-start: clamp(2rem, 5vw, 4.5rem);
  color: var(--color-forest-black);
}

.terms-cover__meta > p:not(.metadata) {
  margin-block-end: var(--space-4);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: 650;
  line-height: 1.18;
}

.terms-cover__meta-copy {
  color: var(--color-sepia);
  font-family: var(--font-body) !important;
  font-size: var(--text-sm) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

.terms-offline-note {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 42.5rem;
  gap: var(--space-2);
  margin-block-start: var(--space-6);
  padding: var(--space-5);
  border-inline-start: 2px solid var(--color-muted-cherry);
  background: var(--color-paper-wash);
}

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

.terms-offline-note p:last-child {
  font-size: var(--text-base);
  line-height: 1.55;
}

.terms-map {
  padding-block-start: clamp(3rem, 6vw, 5rem);
}

.terms-map__inner {
  width: min(100%, 47.5rem);
  min-width: 0;
}

.terms-map__lists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
  gap: var(--space-6);
  margin-block-start: var(--space-5);
}

.terms-map__list {
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none !important;
  counter-reset: none;
}

.terms-map__list > li {
  min-width: 0;
  border-top: var(--border-rule);
}

.terms-map__list > li:last-child {
  border-bottom: var(--border-rule);
}

.terms-map__list a {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  min-width: 0;
  min-height: 4.5rem;
  gap: var(--space-2);
  padding-block: var(--space-3);
  color: var(--color-forest-black);
  text-decoration-thickness: 1px;
}

.terms-map__list a span {
  grid-column: 1;
  min-width: 0;
  color: var(--color-muted-cherry);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.45;
}

.terms-map__list a strong,
.terms-map__list a small {
  grid-column: 2;
  min-width: 0;
}

.terms-map__list a strong {
  align-self: end;
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  line-height: 1.18;
}

.terms-map__list a small {
  color: var(--color-sepia);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 400;
  line-height: 1.4;
}

.terms-document {
  padding-block-start: clamp(3rem, 8vw, 6rem);
}

.terms-chapter {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 7fr) minmax(0, 3fr);
  min-width: 0;
  padding-block: clamp(3rem, 7vw, 6rem);
  border-top: var(--border-rule);
}

.terms-chapter__number {
  grid-column: 1;
  min-width: 0;
  color: var(--color-muted-cherry);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.35;
}

.terms-chapter__body {
  grid-column: 2;
  min-width: 0;
  max-width: 43.75rem;
}

.terms-chapter__body h2 {
  max-width: 18ch;
}

.terms-chapter__body h3 {
  margin-block-start: var(--space-6);
  font-size: clamp(1.45rem, 2.2vw, 1.75rem);
}

.terms-chapter__subrule {
  max-width: 43.75rem;
  min-width: 0;
  margin-block-start: var(--space-5);
  padding-block-start: var(--space-4);
  border-top: var(--border-rule);
}

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

.terms-chapter--note {
  position: relative;
}

.terms-margin-note {
  grid-column: 3;
  align-self: end;
  min-width: 0;
  margin-inline-start: var(--space-5);
  padding: var(--space-4);
  border: var(--border-rule);
  background: var(--color-paper-wash);
}

.terms-margin-note > :last-child,
.terms-definition > :last-child,
.terms-summary > :last-child,
.terms-further > :last-child {
  margin-block-end: 0;
}

.terms-margin-note p:last-child {
  margin-block-start: var(--space-2);
  font-size: var(--text-sm);
  line-height: 1.5;
}

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

.terms-principles > * {
  min-width: 0;
  margin: 0;
  padding-inline-start: var(--space-4);
  border-inline-start: 1px solid var(--color-sepia);
}

.terms-definition {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  margin-block: var(--space-6);
  padding: var(--space-5);
  border-inline-start: 2px solid var(--color-muted-cherry);
  background: var(--color-paper-wash);
}

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

.terms-definition p:not(.metadata) {
  line-height: 1.55;
}

.terms-chapter blockquote {
  width: min(100%, 22.5rem);
  margin-block: var(--space-5);
}

.terms-process {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin-block: var(--space-6);
  border-top: var(--border-rule);
}

.terms-process__step {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 2fr) minmax(0, 3fr);
  min-width: 0;
  gap: var(--space-3);
  padding-block: var(--space-4);
  border-bottom: var(--border-rule);
}

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

.terms-process__step > span {
  grid-column: 1;
  color: var(--color-muted-cherry);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
}

.terms-process__step h3 {
  grid-column: 2;
  margin: 0;
  font-size: var(--text-lg);
}

.terms-process__step p {
  grid-column: 3;
  font-size: var(--text-sm);
  line-height: 1.48;
}

.terms-summary {
  min-width: 0;
  max-width: 38.75rem;
  margin-block-start: var(--space-5);
  padding: var(--space-5);
  border: var(--border-rule);
}

.terms-summary p {
  margin: 0;
}

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

.terms-closing .terms-chapter:first-child {
  border-top: var(--border-rule);
}

.terms-document-links {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 35rem;
  gap: var(--space-2);
  margin-block-start: var(--space-4);
}

.terms-document-links > * {
  min-width: 0;
  min-height: 2.75rem;
  padding-block: var(--space-2);
}

.terms-further {
  width: min(100%, 35rem);
  min-width: 0;
  margin-inline-start: calc((2 / 12) * 100%);
  padding-block: var(--space-6) var(--space-8);
}

.terms-further__links {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-2);
  margin-block-start: var(--space-3);
}

.terms-further__links > * {
  min-width: 0;
  min-height: 2.75rem;
  padding-block: var(--space-2);
}

.terms-page :is(a, p, h1, h2, h3, small, strong) {
  overflow-wrap: anywhere;
}

@media (max-width: 67.49rem) {
  .terms-cover__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr);
  }

  .terms-cover__meta {
    grid-column: 3;
  }

  .terms-chapter {
    grid-template-columns: minmax(0, 2fr) minmax(0, 7fr) minmax(0, 3fr);
  }

  .terms-chapter--note {
    grid-template-columns: minmax(0, 2fr) minmax(0, 7fr) minmax(0, 3fr);
  }

  .terms-margin-note {
    grid-column: 2;
    margin: var(--space-5) 0 0;
    max-width: 43.75rem;
  }
}

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

  .terms-cover__copy,
  .terms-cover__meta {
    grid-column: 1;
  }

  .terms-cover__meta {
    max-width: 38.75rem;
    padding-block-start: 0;
  }

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

  .terms-chapter__number,
  .terms-chapter__body,
  .terms-margin-note {
    grid-column: 1;
  }

  .terms-chapter__body {
    max-width: 43.75rem;
  }

  .terms-margin-note {
    width: min(100%, 43.75rem);
    margin-inline-start: 0;
  }

  .terms-further {
    margin-inline-start: 0;
  }
}

@media (max-width: 52.49rem) {
  .terms-map__lists {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .terms-map__list + .terms-map__list {
    border-top: 0;
  }

  .terms-map__list + .terms-map__list > li:first-child {
    border-top: 0;
  }

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

  .terms-process__step > span,
  .terms-process__step h3,
  .terms-process__step p {
    grid-column: 1;
  }
}

@media (max-width: 47.99rem) {
  .terms-cover {
    padding-block: var(--space-7) var(--space-6);
  }

  .terms-cover__copy h1 {
    max-width: 10ch;
    font-size: clamp(2.25rem, 11vw, 2.75rem);
  }

  .terms-cover__deck {
    font-size: var(--text-lg);
  }

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

  .terms-map__inner {
    width: 100%;
  }

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

  .terms-document {
    padding-block-start: var(--space-7);
  }

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

  .terms-chapter__body h2 {
    max-width: 100%;
    font-size: clamp(1.75rem, 8vw, 2rem);
  }

  .terms-chapter blockquote {
    width: 100%;
    font-size: var(--text-xl);
  }

  .terms-definition,
  .terms-summary,
  .terms-margin-note {
    padding: var(--space-5);
  }

  .terms-document-links,
  .terms-further {
    width: 100%;
    max-width: 100%;
  }
}


#privacy-document {
  background: var(--color-aged-paper);
}

#privacy-document section,
#privacy-document article,
#privacy-document aside,
#privacy-document div,
#privacy-document li {
  min-width: 0;
}

#privacy-document :is(.privacy-hero__grid, .privacy-toc__grid, .privacy-section__grid, .privacy-rights__grid, .privacy-access__modules, .privacy-purpose-list) > * {
  min-width: 0;
}

.privacy-hero {
  padding-block-start: clamp(var(--space-8), 9vw, var(--space-10));
  padding-block-end: var(--space-8);
}

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

.privacy-hero__copy {
  grid-column: 1 / span 1;
  width: 100%;
  max-width: 43.75rem;
}

.privacy-hero__copy .deck {
  max-width: 43.75rem;
}

.privacy-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3) var(--space-5);
  width: 100%;
  margin-block-start: var(--space-5);
  padding-block: var(--space-3);
  border-top: var(--border-rule);
  border-bottom: var(--border-rule);
  color: var(--color-sepia);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

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

.privacy-publication-note {
  grid-column: 3 / span 1;
  width: 100%;
  max-width: 22.5rem;
  padding: var(--space-5);
  border-top: 2px solid var(--color-muted-cherry);
  background: var(--color-paper-wash);
}

.privacy-publication-note h2 {
  font-size: var(--text-2xl);
}

.privacy-publication-note > :last-child,
.privacy-reader-note > :last-child,
.privacy-data__margin > :last-child,
.privacy-toc__margin > :last-child {
  margin-block-end: 0;
}

.privacy-toc {
  border-top: var(--border-rule);
}

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

.privacy-toc__content {
  grid-column: 1 / span 1;
  width: 100%;
  max-width: 40rem;
}

.privacy-toc__intro {
  max-width: 40rem;
}

.privacy-toc__list {
  width: 100%;
  max-width: 35rem;
  margin: var(--space-5) 0 0;
  padding: 0;
  list-style: none !important;
}

.privacy-toc__list > li {
  width: 100%;
  border-top: var(--border-rule);
}

.privacy-toc__list > li:last-child {
  border-bottom: var(--border-rule);
}

.privacy-toc__list a {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: center;
  min-width: 0;
  min-height: 3rem;
  gap: var(--space-3);
  padding-block: var(--space-3);
  color: var(--color-forest-black);
  font-size: var(--text-base);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.privacy-toc__list a:hover {
  color: var(--color-muted-cherry);
}

.privacy-toc__list span {
  color: var(--color-sepia);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
}

.privacy-toc__margin {
  grid-column: 3 / span 1;
  width: 100%;
  max-width: 17.5rem;
  padding-block-start: var(--space-7);
  color: var(--color-sepia);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.privacy-section {
  scroll-margin-top: 6rem;
}

.privacy-section--wash {
  background: var(--color-paper-wash);
}

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

.privacy-prose {
  grid-column: 1 / span 1;
  width: 100%;
  max-width: 43.75rem;
}

.privacy-prose > h2,
.privacy-data__main > h2,
.privacy-purpose__heading > h2,
.privacy-access__intro > h2,
.privacy-rights__main > h2,
.privacy-closing__copy > h2 {
  margin-block-end: var(--space-5);
}

.privacy-definition {
  width: 100%;
  max-width: 38.75rem;
  margin-block-start: var(--space-6);
  padding: var(--space-5);
  border: var(--border-rule);
}

.privacy-definition h3 {
  font-size: var(--text-xl);
}

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

.privacy-reader-note {
  grid-column: 3 / span 1;
  width: 100%;
  max-width: 17.5rem;
  margin-block-start: var(--space-7);
  padding: var(--space-4);
  border-top: var(--border-rule);
  border-bottom: var(--border-rule);
}

.privacy-reader-note h3 {
  font-size: var(--text-xl);
}

.privacy-data__main {
  grid-column: 1 / span 1;
  width: 100%;
  max-width: 47.5rem;
}

.privacy-data-groups {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: var(--space-5);
}

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

.privacy-data-group {
  padding-block-start: var(--space-5);
  border-top: var(--border-rule);
}

.privacy-data-group h3 {
  margin-block-end: var(--space-3);
  font-size: var(--text-xl);
}

.privacy-data-group--marked {
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-muted-cherry);
}

.privacy-inline-data {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-block-end: 0;
  gap: var(--space-2);
  list-style: none !important;
}

.privacy-inline-data > li {
  width: 100%;
  padding-block-end: var(--space-2);
  border-bottom: 1px solid color-mix(in srgb, var(--color-sepia) 55%, transparent);
}

.privacy-unneeded-data {
  max-width: 38.75rem;
  padding: var(--space-5);
  border-inline-start: 2px solid var(--color-muted-cherry);
  background: var(--color-paper-wash);
}

.privacy-unneeded-data h3 {
  font-size: var(--text-xl);
}

.privacy-unneeded-data > :last-child {
  margin-block-end: 0;
}

.privacy-data__margin {
  grid-column: 3 / span 1;
  width: 100%;
  max-width: 17.5rem;
  padding-block-start: 7.5rem;
  color: var(--color-sepia);
  font-size: var(--text-sm);
}

.privacy-purpose__heading {
  width: 100%;
  max-width: 43.75rem;
}

.privacy-purpose-list {
  display: flex;
  flex-direction: column;
  width: min(100%, 62.5rem);
  margin-block-start: var(--space-6);
  gap: var(--space-5);
}

.privacy-purpose-record {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 5fr) minmax(0, 3fr);
  width: 100%;
  border-top: var(--border-rule);
  border-bottom: var(--border-rule);
}

.privacy-purpose-record > div {
  min-width: 0;
  padding: var(--space-5);
}

.privacy-purpose-record__label {
  width: 100%;
  border-inline-end: var(--border-rule);
}

.privacy-purpose-record__goal {
  width: 100%;
  border-inline-end: var(--border-rule);
}

.privacy-purpose-record__detail {
  width: 100%;
}

.privacy-purpose-record--wash {
  background: var(--color-paper-wash);
}

.privacy-purpose-record--wash .privacy-purpose-record__label {
  border-top: 2px solid var(--color-muted-cherry);
}

.privacy-purpose-record h3 {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.4;
  text-transform: uppercase;
}

.privacy-purpose-record__detail h3:not(:first-child) {
  margin-block-start: var(--space-5);
}

.privacy-purpose-record p:last-child,
.privacy-purpose-record__detail > :last-child {
  margin-block-end: 0;
}

.privacy-technology-note {
  width: 100%;
  max-width: 43.75rem;
  margin-block-start: var(--space-6);
  padding: var(--space-5);
  border: var(--border-rule);
}

.privacy-technology-note h3 {
  font-size: var(--text-xl);
}

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

.privacy-access__intro {
  width: 100%;
  max-width: 42.5rem;
}

.privacy-access__modules {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 2fr) minmax(0, 4fr);
  width: 100%;
  margin-block-start: var(--space-6);
  gap: var(--space-6);
}

.privacy-processor-note {
  grid-column: 1 / span 1;
  width: 100%;
  max-width: 32.5rem;
  padding: var(--space-5);
  background: var(--color-paper-wash);
}

.privacy-transfer-note {
  grid-column: 3 / span 1;
  width: 100%;
  max-width: 22.5rem;
  padding-block-start: var(--space-4);
  border-top: var(--border-rule);
}

.privacy-processor-note h3,
.privacy-transfer-note h3,
.privacy-security-note h3 {
  font-size: var(--text-xl);
}

.privacy-processor-note > :last-child,
.privacy-transfer-note > :last-child {
  margin-block-end: 0;
}

.privacy-security-note {
  width: 100%;
  margin-block-start: var(--space-6);
  padding-block: var(--space-5);
  border-top: 0.375rem double var(--color-sepia);
  border-bottom: var(--border-rule);
}

.privacy-security-note p {
  max-width: 43.75rem;
  margin-block-end: 0;
}

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

.privacy-rights__main {
  grid-column: 1 / span 1;
  width: 100%;
  max-width: 43.75rem;
}

.privacy-rights-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: var(--space-5) 0;
  padding: 0;
  gap: 0;
  list-style: none !important;
}

.privacy-rights-list > li {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  width: 100%;
  gap: var(--space-3);
  padding-block: var(--space-4);
  border-top: var(--border-rule);
}

.privacy-rights-list > li:last-child {
  border-bottom: var(--border-rule);
}

.privacy-rights-list > li > span {
  color: var(--color-sepia);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
}

.privacy-rights-list h3 {
  margin-block-end: var(--space-2);
  font-size: var(--text-xl);
}

.privacy-rights-list p {
  margin-block-end: 0;
}

.privacy-remedy-note {
  max-width: 40rem;
  padding: var(--space-5);
  border: var(--border-rule);
}

.privacy-remedy-note h3 {
  font-size: var(--text-xl);
}

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

.privacy-request-note {
  grid-column: 3 / span 1;
  width: 100%;
  max-width: 18.75rem;
  margin-block-start: 6.5rem;
  padding: var(--space-5);
  background: var(--color-paper-wash);
}

.privacy-request-note h3 {
  font-size: var(--text-xl);
}

.privacy-request-note__placeholder {
  padding-block-start: var(--space-3);
  border-top: var(--border-rule);
  color: var(--color-sepia);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.45;
  text-transform: uppercase;
}

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

.privacy-closing {
  border-top: var(--border-rule);
}

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

.privacy-closing__copy {
  grid-column: 1 / span 1;
  width: 100%;
  max-width: 42.5rem;
}

.privacy-status {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 22.5rem;
  margin-block-start: var(--space-6);
  gap: var(--space-1);
  padding-block: var(--space-3);
  border-top: 0.375rem double var(--color-sepia);
  border-bottom: var(--border-rule);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: 1.4;
}

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

.privacy-status span {
  color: var(--color-sepia);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

@media (max-width: 61.24rem) {
  .privacy-hero__grid,
  .privacy-section__grid,
  .privacy-rights__grid,
  .privacy-closing__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .privacy-hero__copy,
  .privacy-prose,
  .privacy-data__main,
  .privacy-rights__main,
  .privacy-closing__copy {
    grid-column: 1;
  }

  .privacy-publication-note,
  .privacy-reader-note,
  .privacy-data__margin,
  .privacy-request-note {
    grid-column: 1;
    margin-block-start: 0;
    max-width: 35rem;
  }

  .privacy-data__margin {
    display: none;
  }

  .privacy-purpose-list {
    width: 100%;
  }

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

  .privacy-purpose-record > div {
    border-inline-end: 0;
  }

  .privacy-purpose-record__label,
  .privacy-purpose-record__goal {
    border-bottom: var(--border-rule);
  }

  .privacy-purpose-record__label {
    padding-block-end: var(--space-3);
  }

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

  .privacy-processor-note,
  .privacy-transfer-note {
    grid-column: 1;
    max-width: 43.75rem;
  }
}

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

  .privacy-toc__content,
  .privacy-toc__margin {
    grid-column: 1;
  }

  .privacy-toc__margin {
    display: none;
  }
}

@media (max-width: 47.99rem) {
  #privacy-document .section {
    padding-block: clamp(var(--space-7), 12vw, var(--space-8));
  }

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

  .privacy-hero__grid,
  .privacy-section__grid,
  .privacy-rights__grid,
  .privacy-closing__grid {
    gap: var(--space-5);
  }

  .privacy-hero__copy h1 {
    font-size: clamp(2.25rem, 11vw, 2.75rem);
    line-height: 1.08;
  }

  .privacy-hero__copy .deck {
    font-size: var(--text-lg);
  }

  .privacy-hero__meta {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2);
  }

  .privacy-publication-note,
  .privacy-definition,
  .privacy-unneeded-data,
  .privacy-technology-note,
  .privacy-processor-note,
  .privacy-request-note,
  .privacy-remedy-note {
    padding: var(--space-4);
  }

  .privacy-toc__list,
  .privacy-toc__content,
  .privacy-toc__intro {
    max-width: none;
  }

  .privacy-toc__list a {
    min-height: 2.75rem;
  }

  .privacy-reader-note {
    max-width: none;
  }

  .privacy-prose,
  .privacy-data__main,
  .privacy-rights__main,
  .privacy-closing__copy,
  .privacy-purpose__heading,
  .privacy-access__intro {
    max-width: none;
  }

  .privacy-definition,
  .privacy-unneeded-data,
  .privacy-technology-note,
  .privacy-processor-note,
  .privacy-transfer-note,
  .privacy-remedy-note {
    max-width: none;
  }

  .privacy-data-group--marked {
    padding-inline-start: var(--space-3);
  }

  .privacy-purpose-list {
    gap: var(--space-4);
  }

  .privacy-purpose-record > div {
    padding: var(--space-4);
  }

  .privacy-access__modules {
    margin-block-start: var(--space-5);
  }

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

  .privacy-request-note {
    max-width: none;
  }

  .privacy-status {
    max-width: none;
  }
}

@media print {
  #privacy-document {
    background: #fff;
  }

  #privacy-document .privacy-toc,
  #privacy-document .privacy-toc__margin {
    display: none;
  }

  #privacy-document .privacy-section,
  #privacy-document .privacy-closing,
  #privacy-document .privacy-hero {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  #privacy-document h1,
  #privacy-document h2,
  #privacy-document h3 {
    break-after: avoid;
    page-break-after: avoid;
  }

  #privacy-document a {
    color: var(--color-forest-black);
  }
}


.gallery-page {
  background-color: var(--color-aged-paper);
  background-image: repeating-linear-gradient(0deg, rgba(72, 60, 50, 0.018) 0, rgba(72, 60, 50, 0.018) 1px, transparent 1px, transparent 6px);
}

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

.gallery-page .container {
  min-width: 0;
}

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

.gallery-hero__intro,
.gallery-hero__image-row,
.gallery-framework__grid,
.gallery-people__grid,
.gallery-table-stage__grid,
.gallery-room__grid,
.gallery-recommendations,
.gallery-groups__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-6);
}

.gallery-hero__copy {
  grid-column: 1 / span 7;
  min-width: 0;
}

.gallery-hero__copy .eyebrow {
  margin-block-end: var(--space-3);
}

.gallery-hero__copy h1 {
  max-width: 43rem;
  font-size: clamp(3.1rem, 6.1vw, 4.5rem);
}

.gallery-hero__copy .deck {
  max-width: 38.75rem;
  margin-block-end: 0;
}

.gallery-hero__note {
  grid-column: 9 / span 3;
  align-self: end;
  min-width: 0;
  padding-block: var(--space-3);
  border-top: var(--border-rule);
  border-bottom: var(--border-rule);
}

.gallery-hero__note .metadata,
.gallery-facts .metadata,
.gallery-rhythm .metadata,
.gallery-observe .metadata,
.gallery-groups__note .metadata {
  margin-block-end: var(--space-3);
}

.gallery-hero__note p:last-child {
  margin-block-end: 0;
  font-size: var(--text-sm);
  line-height: 1.55;
}

.gallery-hero__image-row {
  margin-block-start: var(--space-8);
}

.gallery-figure {
  min-width: 0;
}

.gallery-figure--hero {
  grid-column: 1 / span 8;
  min-width: 0;
  margin-block-end: 0;
}

.gallery-hero__rule {
  grid-column: 10 / span 1;
  align-self: stretch;
  min-width: 0;
  margin-block: var(--space-7) var(--space-3);
  border-inline-start: var(--border-rule);
}

.gallery-media {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border: var(--border-rule);
  background: var(--color-sepia);
}

.gallery-media img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  filter: grayscale(0.72) sepia(0.18) contrast(1.05);
  transition: transform var(--transition-standard), filter var(--transition-standard);
}

.gallery-figure:hover .gallery-media img {
  transform: scale(1.018);
  filter: grayscale(0.48) sepia(0.12) contrast(1.04);
}

.gallery-media--three-two { aspect-ratio: 3 / 2; }
.gallery-media--four-five { aspect-ratio: 4 / 5; }
.gallery-media--square { aspect-ratio: 1; }
.gallery-media--wide { aspect-ratio: 16 / 9; }

.gallery-figure figcaption {
  display: block;
  min-width: 0;
  margin-block-end: 0;
}

.gallery-figure figcaption span {
  display: block;
  margin-block-end: var(--space-1);
}

.gallery-framework__copy {
  grid-column: 2 / span 7;
  min-width: 0;
  max-width: 43.75rem;
}

.gallery-framework__copy h2,
.gallery-section-heading h2,
.gallery-room__copy h2,
.gallery-details__intro h2,
.gallery-groups__copy h2 {
  font-size: clamp(1.9rem, 3vw, 2.25rem);
}

.gallery-framework__copy p:not(.gallery-framework__bridge) {
  margin-block-end: var(--space-5);
}

.gallery-framework__bridge {
  margin-block-end: 0;
  color: var(--color-sepia);
  font-size: var(--text-lg);
}

.gallery-facts {
  grid-column: 10 / span 3;
  align-self: start;
  min-width: 0;
}

.gallery-facts__item {
  min-width: 0;
  padding-block: var(--space-3);
  border-top: var(--border-rule);
}

.gallery-facts__item:last-child {
  border-bottom: var(--border-rule);
}

.gallery-facts__item span {
  display: block;
  color: var(--color-sepia);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.35;
  text-transform: uppercase;
}

.gallery-facts__item p {
  margin-block: var(--space-2) 0;
  font-size: var(--text-sm);
  line-height: 1.5;
}

.gallery-people__heading {
  grid-column: 1 / span 4;
  min-width: 0;
  margin-block-end: var(--space-6);
}

.gallery-section-heading p:last-child {
  margin-block-end: 0;
  font-size: var(--text-lg);
  line-height: 1.55;
}

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

.gallery-people__supper {
  grid-column: 6 / span 7;
  min-width: 0;
  padding-block-start: var(--space-6);
}

.gallery-people__host-copy,
.gallery-people__supper-copy {
  min-width: 0;
  margin-block-start: var(--space-4);
}

.gallery-people__host-copy h3,
.gallery-people__supper-copy h3 {
  font-size: var(--text-xl);
}

.gallery-people__host-copy p,
.gallery-people__supper-copy p {
  margin-block-end: 0;
}

.gallery-people__supper-copy {
  width: min(100%, 36.875rem);
  margin-inline-start: auto;
}

.gallery-people__quote {
  grid-column: 4 / span 4;
  align-self: end;
  min-width: 0;
  margin-block: var(--space-7) 0;
}

.gallery-table-stage {
  padding-block: clamp(var(--space-8), 9vw, var(--space-10));
}

.gallery-table-stage__copy {
  grid-column: 1 / span 4;
  min-width: 0;
  align-self: start;
}

.gallery-table-stage__copy .eyebrow,
.gallery-table-stage .metadata {
  color: color-mix(in srgb, var(--color-aged-paper) 74%, var(--color-sepia));
}

.gallery-table-stage__copy h2 {
  font-size: clamp(2.15rem, 3.4vw, 3.25rem);
}

.gallery-table-stage__copy p:last-child {
  margin-block-end: 0;
  line-height: 1.65;
}

.gallery-table-stage__figure {
  grid-column: 5 / span 5;
  min-width: 0;
  margin-block-end: 0;
}

.gallery-table-stage .gallery-media {
  border-color: color-mix(in srgb, var(--color-aged-paper) 55%, transparent);
}

.gallery-table-stage figcaption {
  color: var(--color-aged-paper);
  border-top-color: color-mix(in srgb, var(--color-aged-paper) 44%, transparent);
}

.gallery-rhythm {
  grid-column: 10 / span 3;
  align-self: end;
  min-width: 0;
}

.gallery-rhythm p:not(.metadata) {
  margin: 0;
  padding-block: var(--space-3);
  border-top: 1px solid color-mix(in srgb, var(--color-aged-paper) 42%, transparent);
  font-size: var(--text-sm);
  line-height: 1.55;
}

.gallery-rhythm p:last-child {
  border-bottom: 1px solid color-mix(in srgb, var(--color-aged-paper) 42%, transparent);
}

.gallery-room__copy {
  grid-column: 10 / span 3;
  grid-row: 1;
  min-width: 0;
}

.gallery-room__copy p:not(.eyebrow) {
  font-size: var(--text-sm);
  line-height: 1.58;
}

.gallery-room__figure {
  grid-column: 1 / span 8;
  grid-row: 1;
  min-width: 0;
  margin-block-end: 0;
}

.gallery-observe {
  min-width: 0;
  margin-block-start: var(--space-5);
}

.gallery-observe p:not(.metadata) {
  margin: 0;
  padding-block: var(--space-3);
  border-top: var(--border-rule);
  color: var(--color-sepia);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 650;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.gallery-observe p:last-child {
  border-bottom: var(--border-rule);
}

.gallery-details__intro {
  width: 58.333%;
  max-width: 43.75rem;
  min-width: 0;
}

.gallery-details__intro p:last-child {
  margin-block-end: 0;
}

.gallery-recommendations {
  margin-block-start: var(--space-7);
}

.gallery-recommendation {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  padding: var(--space-5);
  border: var(--border-rule);
}

.gallery-recommendation > * {
  min-width: 0;
  margin: 0;
}

.gallery-recommendation--programs {
  grid-column: 1 / span 5;
}

.gallery-recommendation--evening {
  grid-column: 7 / span 4;
  margin-block-start: var(--space-5);
}

.gallery-recommendation h3 {
  font-size: var(--text-2xl);
}

.gallery-recommendation p:not(.metadata) {
  line-height: 1.55;
}

.gallery-recommendation a,
.gallery-groups__note a {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  min-height: 2.75rem;
  gap: var(--space-2);
  margin-block-start: auto;
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
}

.gallery-groups__copy {
  grid-column: 1 / span 6;
  min-width: 0;
  max-width: 38.75rem;
}

.gallery-groups__copy > p:last-of-type {
  margin-block-end: var(--space-5);
}

.gallery-groups__marginalia {
  width: min(100%, 25rem);
  min-width: 0;
  margin-block-end: 0;
  color: var(--color-sepia);
  font-size: var(--text-xl);
}

.gallery-groups__note {
  grid-column: 8 / span 4;
  align-self: start;
  min-width: 0;
  padding: var(--space-4);
  border-top: var(--border-rule);
  background: var(--color-paper-wash);
}

.gallery-groups__note p:not(.metadata) {
  margin-block-end: var(--space-3);
}

.gallery-groups__note a {
  margin-block-start: 0;
}

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

.gallery-closing__panel {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: var(--space-5) var(--space-6);
  padding: clamp(var(--space-5), 5vw, var(--space-7));
  border: var(--border-rule);
  background: var(--color-paper-wash);
}

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

.gallery-closing__copy .deck {
  margin-block-end: 0;
}

.gallery-closing__actions {
  display: flex;
  grid-column: 3 / span 6;
  flex-wrap: wrap;
  min-width: 0;
  gap: var(--space-3);
}

.gallery-closing__actions > * {
  flex: 0 1 auto;
  min-width: 0;
}

@media (max-width: 74.99rem) {
  .gallery-hero__intro,
  .gallery-hero__image-row,
  .gallery-framework__grid,
  .gallery-people__grid,
  .gallery-table-stage__grid,
  .gallery-room__grid,
  .gallery-recommendations,
  .gallery-groups__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: var(--space-5);
  }

  .gallery-hero__copy { grid-column: 1 / span 5; }
  .gallery-hero__note { grid-column: 6 / span 3; }
  .gallery-figure--hero { grid-column: 1 / span 5; }
  .gallery-hero__rule { grid-column: 7 / span 1; }
  .gallery-framework__copy { grid-column: 1 / span 5; }
  .gallery-facts { grid-column: 6 / span 3; }
  .gallery-people__heading { grid-column: 1 / span 4; }
  .gallery-people__host { grid-column: 1 / span 3; }
  .gallery-people__supper { grid-column: 4 / span 5; }
  .gallery-people__quote { grid-column: 2 / span 5; }
  .gallery-table-stage__copy { grid-column: 1 / span 3; }
  .gallery-table-stage__figure { grid-column: 4 / span 5; }
  .gallery-rhythm { grid-column: 1 / span 3; margin-block-start: var(--space-5); }
  .gallery-room__copy { grid-column: 6 / span 3; }
  .gallery-room__figure { grid-column: 1 / span 5; }
  .gallery-details__intro { width: 62.5%; }
  .gallery-recommendation--programs { grid-column: 1 / span 4; }
  .gallery-recommendation--evening { grid-column: 5 / span 4; }
  .gallery-groups__copy { grid-column: 1 / span 5; }
  .gallery-groups__note { grid-column: 6 / span 3; }

  .gallery-closing__panel {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .gallery-closing__copy,
  .gallery-closing__actions {
    grid-column: 2 / span 6;
  }
}

@media (max-width: 64.99rem) {
  .gallery-people__grid {
    row-gap: var(--space-6);
  }

  .gallery-people__heading {
    grid-column: 1 / span 8;
    margin-block-end: 0;
  }

  .gallery-people__host { grid-column: 1 / span 3; }
  .gallery-people__supper { grid-column: 4 / span 5; padding-block-start: 0; }
  .gallery-people__quote { grid-column: 2 / span 6; margin-block: 0; }

  .gallery-room__grid {
    row-gap: var(--space-5);
  }

  .gallery-room__copy {
    grid-column: 1 / span 8;
    grid-row: 1;
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: var(--space-5);
  }

  .gallery-room__copy > :not(.gallery-observe) { grid-column: 1 / span 4; }
  .gallery-room__copy .gallery-observe { grid-column: 6 / span 3; grid-row: 1 / span 3; margin-block-start: 0; }
  .gallery-room__figure { grid-column: 1 / span 8; grid-row: 2; }
}

@media (max-width: 56.24rem) {
  .gallery-hero__intro,
  .gallery-hero__image-row,
  .gallery-framework__grid,
  .gallery-people__grid,
  .gallery-table-stage__grid,
  .gallery-room__grid,
  .gallery-recommendations,
  .gallery-groups__grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-5);
  }

  .gallery-hero { padding-block-start: var(--space-7); }
  .gallery-hero__copy,
  .gallery-hero__note,
  .gallery-figure--hero,
  .gallery-hero__rule,
  .gallery-framework__copy,
  .gallery-facts,
  .gallery-people__heading,
  .gallery-people__host,
  .gallery-people__supper,
  .gallery-people__quote,
  .gallery-table-stage__copy,
  .gallery-table-stage__figure,
  .gallery-rhythm,
  .gallery-room__copy,
  .gallery-room__figure,
  .gallery-recommendation--programs,
  .gallery-recommendation--evening,
  .gallery-groups__copy,
  .gallery-groups__note {
    grid-column: 1;
    grid-row: auto;
  }

  .gallery-hero__copy h1 { max-width: none; font-size: clamp(2.65rem, 11vw, 3.35rem); }
  .gallery-hero__copy .deck { max-width: none; }
  .gallery-hero__note { width: 100%; padding-inline: var(--space-4); }
  .gallery-hero__image-row { margin-block-start: var(--space-6); }
  .gallery-hero__rule { display: none; }

  .gallery-framework__copy { max-width: 42.5rem; }
  .gallery-facts { padding-block: var(--space-3); border-top: var(--border-rule); border-bottom: var(--border-rule); }

  .gallery-people__heading { margin-block-end: 0; }
  .gallery-people__host,
  .gallery-people__supper { padding: 0; }
  .gallery-people__supper-copy { width: 100%; margin-inline-start: 0; }
  .gallery-people__quote { margin-block: 0; }

  .gallery-table-stage__grid { row-gap: var(--space-5); }
  .gallery-rhythm { margin-block-start: 0; }

  .gallery-room__copy {
    display: block;
  }

  .gallery-room__copy .gallery-observe { margin-block-start: var(--space-5); }

  .gallery-details__intro { width: 100%; max-width: 43.75rem; }
  .gallery-recommendation--evening { margin-block-start: 0; }
  .gallery-recommendation { padding: var(--space-5); }

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

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

  .gallery-closing__copy,
  .gallery-closing__actions {
    grid-column: 1;
  }

  .gallery-closing__actions {
    flex-direction: column;
  }

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

@media (max-width: 47.99rem) {
  .gallery-hero,
  .gallery-table-stage {
    padding-block: var(--space-7);
  }

  .gallery-framework__copy h2,
  .gallery-section-heading h2,
  .gallery-room__copy h2,
  .gallery-details__intro h2,
  .gallery-groups__copy h2 {
    font-size: 1.9rem;
  }

  .gallery-table-stage__copy h2 { font-size: clamp(2.1rem, 9vw, 2.45rem); }
  .gallery-people__host-copy h3,
  .gallery-people__supper-copy h3 { font-size: 1.75rem; }
  .gallery-people__quote,
  .gallery-groups__marginalia { font-size: var(--text-xl); }
  .gallery-recommendation h3 { font-size: 1.8rem; }
  .gallery-closing__copy h2 { font-size: clamp(2rem, 8vw, 2.3rem); }

  .gallery-figure figcaption {
    font-size: 0.75rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gallery-media img,
  .gallery-figure:hover .gallery-media img {
    transform: none;
    transition: none;
  }
}


.programok-page {
  background: var(--color-aged-paper);
}

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

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

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

.programok-hero__grid,
.programok-pillars__grid,
.programok-story__grid,
.programok-host__grid,
.programok-safety__grid,
.programok-next__grid {
  display: grid;
  min-width: 0;
}

.programok-hero__grid {
  grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr);
  align-items: start;
}

.programok-hero__copy {
  grid-column: 1 / span 1;
  min-width: 0;
}

.programok-hero__copy h1 {
  max-width: 39rem;
  font-size: clamp(3.25rem, 5.1vw, 4.5rem);
}

.programok-hero__copy > .deck {
  max-width: 36.25rem;
}

.programok-hero__frame {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 32.5rem;
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  border-top: var(--border-rule);
}

.programok-hero__frame > * {
  min-width: 0;
}

.programok-hero__frame p {
  margin: 0;
}

.programok-hero__figure {
  grid-column: 3 / span 1;
  min-width: 0;
  margin: 0;
}

.programok-hero__figure img {
  aspect-ratio: 3 / 2;
  border: var(--border-rule);
}

.programok-pillars__grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 7fr) minmax(0, 1fr) minmax(0, 3fr);
  align-items: start;
}

.programok-pillars__article {
  grid-column: 2 / span 1;
  min-width: 0;
  max-width: 43.75rem;
}

.programok-pillars__prose {
  max-width: 43.75rem;
}

.programok-pillars__note {
  grid-column: 4 / span 1;
  min-width: 0;
  padding-top: var(--space-5);
  border-top: var(--border-rule);
}

.programok-pillars__steps {
  display: grid;
  grid-template-columns: 1fr;
  min-width: 0;
  margin-top: var(--space-5);
}

.programok-step {
  min-width: 0;
  padding-block: var(--space-4);
  border-top: var(--border-rule);
}

.programok-step > :last-child,
.programok-pillars__note > :last-child {
  margin-bottom: 0;
}

.programok-story__grid {
  grid-template-columns: minmax(0, 3fr) minmax(0, 0.5fr) minmax(0, 5fr) minmax(0, 0.5fr) minmax(0, 3fr);
  align-items: start;
}

.programok-story__arrival,
.programok-story__dinner,
.programok-story__tables {
  min-width: 0;
}

.programok-story__arrival {
  grid-column: 1 / span 1;
}

.programok-story__dinner {
  grid-column: 3 / span 1;
  padding-top: 1.75rem;
  max-width: 42.5rem;
}

.programok-story__dinner h2 {
  font-size: clamp(2.25rem, 3.2vw, 3.25rem);
}

.programok-story__tables {
  grid-column: 5 / span 1;
  padding-top: 9rem;
}

.programok-story__tables ol {
  padding: 0;
  list-style: none;
  counter-reset: table-note;
}

.programok-story__tables li {
  display: grid;
  grid-template-columns: 1.8rem minmax(0, 1fr);
  gap: var(--space-2);
  min-width: 0;
  padding-block: var(--space-3);
  border-top: var(--border-rule);
  counter-increment: table-note;
}

.programok-story__tables li::before {
  color: var(--color-muted-cherry);
  content: "0" counter(table-note);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 700;
}

.programok-story__tables strong,
.programok-story__tables span {
  display: block;
}

.programok-story__tables span {
  margin-top: var(--space-1);
}

.programok-host__grid {
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 5fr);
  align-items: start;
}

.programok-host__meta {
  grid-column: 1 / span 1;
  min-width: 0;
  padding-top: var(--space-7);
  padding-inline-end: var(--space-5);
}

.programok-host__meta > p {
  margin-bottom: var(--space-2);
}

.programok-host__meta > p:nth-of-type(even) {
  margin-bottom: var(--space-4);
}

.programok-host__copy {
  grid-column: 1 / span 1;
  min-width: 0;
  max-width: 41.25rem;
}

.programok-host__meta + .programok-host__copy {
  grid-column: 1 / span 1;
  margin-left: 0;
}

.programok-host__grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 4fr) minmax(0, 1fr) minmax(0, 5fr);
}

.programok-host__meta {
  grid-column: 1 / span 1;
}

.programok-host__copy {
  grid-column: 2 / span 1;
}

.programok-host__figure {
  grid-column: 4 / span 1;
  min-width: 0;
  margin: 0;
}

.programok-host__figure img {
  aspect-ratio: 4 / 5;
  border: var(--border-rule);
}

.programok-host__quote {
  max-width: 26rem;
  padding-left: var(--space-4);
  border-left: 2px solid var(--color-muted-cherry);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  line-height: 1.3;
}

.programok-formats__intro {
  max-width: 38.75rem;
}

.programok-formats__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 0.5fr) minmax(0, 3fr) minmax(0, 0.5fr) minmax(0, 4fr);
  align-items: start;
  min-width: 0;
  margin-top: var(--space-6);
}

.programok-format {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-3);
  padding-top: var(--space-5);
  border-top: var(--border-rule);
}

.programok-format > * {
  min-width: 0;
  margin: 0;
}

.programok-format h3 {
  font-size: clamp(1.65rem, 2.3vw, 2.25rem);
}

.programok-format--poker { grid-column: 1 / span 1; }
.programok-format--roulette {
  grid-column: 3 / span 1;
  margin-top: var(--space-5);
  padding: var(--space-5);
  border: var(--border-rule);
  background: var(--color-paper-wash);
}
.programok-format--blackjack { grid-column: 5 / span 1; }

.programok-format__arc {
  width: 4.75rem;
  height: 2.5rem;
  border: 1px solid var(--color-sepia);
  border-bottom: 0;
  border-radius: 4.75rem 4.75rem 0 0;
}

.programok-format__note {
  width: 100%;
  padding-top: var(--space-3);
  border-top: var(--border-rule);
  color: var(--color-sepia);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
}

.programok-safety__grid {
  grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr);
  align-items: start;
}

.programok-safety__copy {
  grid-column: 1 / span 1;
  min-width: 0;
  max-width: 39rem;
}

.programok-safety__lead {
  padding-left: var(--space-4);
  border-left: 2px solid var(--color-muted-cherry);
  font-size: var(--text-lg);
}

.programok-safety__facts {
  grid-column: 3 / span 1;
  min-width: 0;
}

.programok-safety__facts .metadata {
  color: var(--color-aged-paper);
}

.programok-safety__facts div {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-1);
  padding-block: var(--space-4);
  border-top: 1px solid color-mix(in srgb, var(--color-aged-paper) 60%, transparent);
}

.programok-safety__facts strong {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
}

.programok-tabletime__copy {
  max-width: 43.75rem;
}

.programok-tabletime__quote {
  max-width: 30rem;
  margin-top: var(--space-6);
  margin-bottom: var(--space-6);
}

.programok-tabletime__quote p {
  margin: 0;
}

.programok-tabletime__figure {
  min-width: 0;
  margin: var(--space-6) 0 0;
}

.programok-tabletime__figure img {
  aspect-ratio: 16 / 9;
  border: var(--border-rule);
}

.programok-tabletime__figure figcaption {
  max-width: 36.25rem;
}

.programok-next__grid {
  grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr);
  align-items: start;
}

.programok-next__copy {
  grid-column: 1 / span 1;
  min-width: 0;
  max-width: 38.75rem;
}

.programok-next__links {
  display: grid;
  grid-template-columns: 1fr;
  min-width: 0;
  margin-top: var(--space-5);
}

.programok-next__links a {
  min-width: 0;
  padding-block: var(--space-3);
  border-top: var(--border-rule);
  font-family: var(--font-ui);
  font-weight: 700;
}

.programok-next__action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  grid-column: 3 / span 1;
  min-width: 0;
  gap: var(--space-3);
  padding: var(--space-5);
  border: var(--border-rule);
  background: var(--color-aged-paper);
}

.programok-next__action > * {
  min-width: 0;
  margin: 0;
}

.programok-contact__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  max-width: 42.5rem;
  gap: var(--space-4);
  margin-inline: auto;
  padding-block: var(--space-6);
  border-top: var(--border-rule);
  border-bottom: var(--border-rule);
}

.programok-contact__inner > * {
  min-width: 0;
  margin: 0;
}

.programok-contact__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
  gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: var(--border-rule);
}

.programok-contact__links a {
  min-width: 0;
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
}

.programok-editorial {
  padding-block: var(--space-7) var(--space-10);
}

.programok-editorial__inner {
  max-width: 45rem;
  margin-inline: auto;
  padding-top: var(--space-4);
  border-top: 0.375rem double var(--color-sepia);
}

.programok-editorial__inner > :last-child {
  margin-bottom: 0;
}

@media (max-width: 74.99rem) {
  .programok-hero__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 3fr); gap: var(--space-5); }
  .programok-hero__copy { grid-column: 1 / span 1; }
  .programok-hero__figure { grid-column: 2 / span 1; }
  .programok-pillars__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 3fr); gap: var(--space-5); }
  .programok-pillars__article { grid-column: 1 / span 1; }
  .programok-pillars__note { grid-column: 2 / span 1; }
  .programok-story__grid { grid-template-columns: minmax(0, 2fr) minmax(0, 4fr) minmax(0, 2fr); gap: var(--space-4); }
  .programok-story__arrival { grid-column: 1 / span 1; }
  .programok-story__dinner { grid-column: 2 / span 1; }
  .programok-story__tables { grid-column: 3 / span 1; padding-top: 7rem; }
  .programok-host__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr) minmax(0, 4fr); gap: var(--space-4); }
  .programok-host__meta { grid-column: 1 / span 1; padding-top: 0; padding-inline-end: 0; }
  .programok-host__copy { grid-column: 2 / span 1; }
  .programok-host__figure { grid-column: 3 / span 1; }
  .programok-formats__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr) minmax(0, 3fr); gap: var(--space-4); }
  .programok-format--poker { grid-column: 1 / span 1; }
  .programok-format--roulette { grid-column: 2 / span 1; }
  .programok-format--blackjack { grid-column: 3 / span 1; }
  .programok-safety__grid, .programok-next__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 3fr); gap: var(--space-5); }
  .programok-safety__copy, .programok-next__copy { grid-column: 1 / span 1; }
  .programok-safety__facts, .programok-next__action { grid-column: 2 / span 1; }
}

@media (max-width: 65.62rem) {
  .programok-hero__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .programok-hero__copy, .programok-hero__figure { grid-column: 1 / span 1; }
  .programok-hero__figure { max-width: 46rem; }
  .programok-story__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .programok-story__arrival, .programok-story__dinner, .programok-story__tables { grid-column: 1 / span 1; padding-top: 0; }
  .programok-story__dinner { max-width: 43.75rem; }
  .programok-story__tables { padding: var(--space-5); background: var(--color-paper-wash); }
}

@media (max-width: 56.24rem) {
  .programok-pillars__grid, .programok-safety__grid, .programok-next__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .programok-pillars__article, .programok-pillars__note, .programok-safety__copy, .programok-safety__facts, .programok-next__copy, .programok-next__action { grid-column: 1 / span 1; }
  .programok-pillars__note { padding: var(--space-5); background: var(--color-paper-wash); }
  .programok-host__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
  .programok-host__meta { grid-column: 1 / span 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
  .programok-host__meta > p { margin: 0; }
  .programok-host__copy { grid-column: 1 / span 1; }
  .programok-host__figure { grid-column: 2 / span 1; }
  .programok-formats__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .programok-format--poker, .programok-format--roulette, .programok-format--blackjack { grid-column: 1 / span 1; margin-top: 0; }
}

@media (max-width: 47.99rem) {
  .programok-page .section { padding-block: clamp(var(--space-7), 12vw, var(--space-8)); }
  .programok-hero { padding-top: var(--space-7); }
  .programok-hero__copy h1 { font-size: clamp(2.25rem, 11vw, 2.75rem); line-height: 1.08; }
  .programok-hero__figure { max-width: none; }
  .programok-pillars__note, .programok-story__tables, .programok-next__action { padding: var(--space-5); }
  .programok-host__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .programok-host__meta, .programok-host__copy, .programok-host__figure { grid-column: 1 / span 1; }
  .programok-host__meta { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); padding: var(--space-4); border-top: var(--border-rule); border-bottom: var(--border-rule); }
  .programok-host__meta > p:nth-of-type(even) { margin-bottom: var(--space-2); }
  .programok-host__figure { order: 3; }
  .programok-format--roulette { padding: var(--space-5); }
  .programok-tabletime__quote { margin-top: var(--space-5); margin-bottom: var(--space-5); }
  .programok-tabletime__figure { margin-top: var(--space-5); }
  .programok-contact__links { grid-template-columns: minmax(0, 1fr); }
  .programok-contact__inner .button { width: 100%; }
  .programok-editorial { padding-block: var(--space-7) var(--space-8); }
}


.private-groups-page {
  background: var(--color-aged-paper);
}

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

.private-groups-page .section {
  min-width: 0;
}

.pg-hero {
  padding-block: clamp(4.5rem, 9vw, 7rem);
}

.pg-hero__grid,
.pg-why__grid,
.pg-dining__grid,
.pg-host__grid,
.pg-framework__grid,
.pg-contact__grid,
.pg-related__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 2rem;
}

.pg-hero__copy {
  grid-column: 1 / span 7;
  min-width: 0;
  padding-block: clamp(1rem, 3vw, 3rem);
}

.pg-hero__copy > :last-child,
.pg-why__article > :last-child,
.pg-dining__article > :last-child,
.pg-host__article > :last-child,
.pg-framework__article > :last-child,
.pg-contact__article > :last-child,
.pg-contact__cta > :last-child,
.pg-related__intro > :last-child,
.pg-related__item > :last-child,
.pg-table-note > :last-child,
.pg-occasion > :last-child,
.pg-step > :last-child {
  margin-block-end: 0;
}

.pg-hero h1 {
  max-width: 44rem;
  font-size: clamp(2.8rem, 5.2vw, 4.5rem);
}

.pg-hero .deck {
  max-width: 37.5rem;
}

.pg-offline-note {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 32.5rem;
  gap: 0.5rem;
  margin-top: 2rem;
  padding: 1rem;
  border: var(--border-rule);
}

.pg-offline-note p {
  margin: 0;
}

.pg-hero__figure {
  grid-column: 8 / span 5;
  align-self: start;
  min-width: 0;
  margin-top: clamp(1.5rem, 4vw, 2.5rem);
}

.pg-hero__figure img,
.pg-dining__figure img,
.pg-host__figure img {
  width: 100%;
  max-width: 100%;
  object-fit: cover;
  filter: grayscale(1) sepia(0.18) contrast(1.02);
}

.pg-hero__figure img {
  aspect-ratio: 4 / 5;
}

.pg-why__article {
  grid-column: 1 / span 8;
  min-width: 0;
  max-width: 45rem;
}

.pg-why__body {
  min-width: 0;
}

.pg-why__body blockquote {
  max-width: 31rem;
  margin-top: 2rem;
}

.pg-margin-note {
  grid-column: 9 / span 4;
  align-self: start;
  min-width: 0;
  margin-top: 3.5rem;
  padding: 1rem 0 1rem 1rem;
  border-left: var(--border-rule);
}

.pg-margin-note p:last-child {
  margin-block-end: 0;
}

.pg-process__intro {
  width: 58.333%;
  min-width: 0;
  max-width: 38.75rem;
}

.pg-process__steps {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 3rem;
  border-top: var(--border-rule);
}

.pg-step {
  display: grid;
  min-width: 0;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.75rem;
  padding: 1.5rem 1.25rem 0 0;
}

.pg-step + .pg-step {
  padding-left: 1.25rem;
  border-left: var(--border-rule);
}

.pg-step__number {
  min-width: 0;
  color: var(--color-forest-black);
  font-family: var(--font-heading);
  font-size: 2.25rem;
  font-weight: 650;
  line-height: 0.9;
}

.pg-step h3 {
  font-size: 1.55rem;
}

.pg-tables__intro {
  width: 50%;
  min-width: 0;
  max-width: 38.75rem;
}

.pg-tables__intro .deck {
  padding-left: 1rem;
  border-left: 2px solid var(--color-muted-cherry);
}

.pg-tables__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  margin-top: 3rem;
  border-top: var(--border-rule);
}

.pg-table-note {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 0.75rem;
  padding-top: 1.5rem;
}

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

.pg-table-note p,
.pg-table-note h3 {
  margin: 0;
}

.pg-table-note--offset {
  margin-top: 2rem;
}

.pg-table-note--closing {
  padding-bottom: 1.5rem;
  border-bottom: 0.375rem double var(--color-sepia);
}

.pg-text-link {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  width: fit-content;
  max-width: 100%;
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
}

.pg-dining__article {
  grid-column: 1 / span 7;
  min-width: 0;
  max-width: 43.75rem;
}

.pg-dining__body blockquote {
  margin-top: 2rem;
}

.pg-dining__figure {
  grid-column: 8 / span 5;
  align-self: start;
  min-width: 0;
  margin-top: 4rem;
}

.pg-dining__figure img {
  aspect-ratio: 16 / 9;
}

.pg-dining__figure figcaption {
  max-width: 22.5rem;
}

.pg-host__heading {
  grid-column: 1 / -1;
  min-width: 0;
}

.pg-host__heading h2 {
  max-width: 38rem;
}

.pg-host__figure {
  grid-column: 1 / span 7;
  min-width: 0;
}

.pg-host__figure img {
  aspect-ratio: 3 / 2;
}

.pg-host__article {
  grid-column: 8 / span 5;
  display: flex;
  flex-direction: column;
  align-self: center;
  min-width: 0;
  max-width: 35rem;
  gap: 1.5rem;
}

.pg-host__copy,
.pg-host__note {
  min-width: 0;
}

.pg-host__note {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1rem 0;
  border-top: var(--border-rule);
  border-bottom: var(--border-rule);
}

.pg-host__note p {
  margin: 0;
}

.pg-host__note p:not(.metadata) + p:not(.metadata) {
  padding-top: 0.75rem;
  border-top: var(--border-rule);
}

.pg-occasions__intro {
  width: 58.333%;
  min-width: 0;
  max-width: 42.5rem;
}

.pg-occasions__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 2rem;
  margin-top: 3rem;
}

.pg-occasion {
  min-width: 0;
  padding: 1.5rem 0;
  border-top: var(--border-rule);
}

.pg-occasion:nth-child(1),
.pg-occasion:nth-child(2),
.pg-occasion:nth-child(3) {
  grid-column: span 4;
}

.pg-occasion:nth-child(4),
.pg-occasion:nth-child(5) {
  grid-column: span 6;
}

.pg-occasion--wash {
  padding-inline: 1.5rem;
  background: var(--color-paper-wash);
}

.pg-framework {
  padding-block: clamp(4rem, 8vw, 6rem);
}

.pg-framework__marker {
  grid-column: 7 / span 2;
  align-self: start;
  min-width: 0;
  padding-top: 0.5rem;
}

.pg-framework__marker .metadata {
  color: var(--color-aged-paper);
}

.pg-framework__article {
  grid-column: 1 / span 6;
  min-width: 0;
  max-width: 38.75rem;
  grid-row: 1;
}

.pg-framework__article h2 {
  font-size: clamp(2rem, 3vw, 2.25rem);
}

.pg-framework__quote {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: var(--border-rule);
  font-size: 1.375rem;
  line-height: 1.35;
}

.pg-framework__space {
  grid-column: 9 / span 4;
  min-width: 0;
}

.pg-contact__article {
  grid-column: 1 / span 8;
  min-width: 0;
  max-width: 42.5rem;
}

.pg-contact__points {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 1rem;
}

.pg-contact__points p {
  margin: 0;
  padding-top: 1rem;
  border-top: var(--border-rule);
}

.pg-contact__points span {
  display: inline-block;
  min-width: 2.25rem;
  color: var(--color-muted-cherry);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
}

.pg-contact__cta {
  grid-column: 9 / span 4;
  display: flex;
  flex-direction: column;
  align-self: start;
  min-width: 0;
  max-width: 20rem;
  gap: 1rem;
  padding: 2rem;
  border-top: 2px solid var(--color-muted-cherry);
  background: var(--color-paper-wash);
}

.pg-contact__cta > * {
  min-width: 0;
  margin: 0;
}

.pg-contact__cta .button {
  width: 100%;
}

.pg-related {
  padding-top: 0;
}

.pg-related__intro {
  grid-column: 1 / span 6;
  min-width: 0;
  max-width: 35rem;
}

.pg-related__intro .rule-double {
  margin-bottom: 1.5rem;
}

.pg-related__intro h2 {
  font-size: clamp(1.75rem, 2.6vw, 2.25rem);
}

.pg-related__item {
  align-self: end;
  min-width: 0;
  padding-top: 2.5rem;
  border-top: var(--border-rule);
}

.pg-related__item:nth-of-type(2) {
  grid-column: 7 / span 3;
}

.pg-related__item:nth-of-type(3) {
  grid-column: 10 / span 3;
}

.pg-related__item h3 {
  font-size: 1.75rem;
}

@media (max-width: 74.99rem) {
  .pg-hero__grid,
  .pg-why__grid,
  .pg-dining__grid,
  .pg-host__grid,
  .pg-framework__grid,
  .pg-contact__grid,
  .pg-related__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .pg-hero__copy { grid-column: 1 / span 5; }
  .pg-hero__figure { grid-column: 6 / span 3; }
  .pg-why__article { grid-column: 1 / span 5; }
  .pg-margin-note { grid-column: 6 / span 3; }
  .pg-dining__article { grid-column: 1 / span 5; }
  .pg-dining__figure { grid-column: 6 / span 3; }
  .pg-host__heading { grid-column: 1 / -1; }
  .pg-host__figure { grid-column: 1 / span 5; }
  .pg-host__article { grid-column: 6 / span 3; }
  .pg-framework__article { grid-column: 1 / span 6; }
  .pg-framework__marker { grid-column: 7 / span 2; }
  .pg-framework__space { display: none; }
  .pg-contact__article { grid-column: 1 / span 5; }
  .pg-contact__cta { grid-column: 6 / span 3; padding: 1.5rem; }
  .pg-related__intro { grid-column: 1 / span 8; }
  .pg-related__item:nth-of-type(2) { grid-column: 1 / span 4; }
  .pg-related__item:nth-of-type(3) { grid-column: 5 / span 4; }

  .pg-process__intro,
  .pg-tables__intro,
  .pg-occasions__intro { width: 75%; }

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

  .pg-table-note--closing { grid-column: 1 / span 1; }

  .pg-occasions__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .pg-occasion:nth-child(1),
  .pg-occasion:nth-child(2),
  .pg-occasion:nth-child(3),
  .pg-occasion:nth-child(4) { grid-column: span 4; }
  .pg-occasion:nth-child(5) { grid-column: span 8; }
}

@media (max-width: 61.24rem) {
  .pg-hero__grid { gap: 1.5rem; }

  .pg-hero__copy { grid-column: 1 / span 5; }
  .pg-hero__figure { grid-column: 6 / span 3; }
  .pg-hero h1 { font-size: clamp(2.55rem, 6vw, 3.6rem); }

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

  .pg-step:nth-child(3) {
    border-left: 0;
    padding-left: 0;
    border-top: var(--border-rule);
    margin-top: 1.5rem;
    padding-top: 1.5rem;
  }

  .pg-step:nth-child(4) {
    border-top: var(--border-rule);
    margin-top: 1.5rem;
    padding-top: 1.5rem;
  }

  .pg-dining__article { grid-column: 1 / span 8; max-width: 43.75rem; }
  .pg-dining__figure { grid-column: 1 / span 8; margin-top: 0; }

  .pg-host__figure { grid-column: 1 / span 8; }
  .pg-host__article { grid-column: 2 / span 7; max-width: 35rem; margin-top: 1rem; }

  .pg-contact__article { grid-column: 1 / span 8; }
  .pg-contact__cta { grid-column: 1 / span 6; max-width: 25rem; }
}

@media (max-width: 56.24rem) {
  .pg-why__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .pg-why__article,
  .pg-margin-note {
    grid-column: 1;
    width: 100%;
  }

  .pg-margin-note {
    margin-top: 0;
    padding: 1rem;
    border: var(--border-rule);
    background: var(--color-paper-wash);
  }
}

@media (max-width: 47.49rem) {
  .pg-hero { padding-block: 3rem 4.5rem; }

  .pg-hero__grid,
  .pg-dining__grid,
  .pg-host__grid,
  .pg-framework__grid,
  .pg-contact__grid,
  .pg-related__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }

  .pg-hero__copy,
  .pg-hero__figure,
  .pg-dining__article,
  .pg-dining__figure,
  .pg-host__heading,
  .pg-host__figure,
  .pg-host__article,
  .pg-framework__article,
  .pg-framework__marker,
  .pg-contact__article,
  .pg-contact__cta,
  .pg-related__intro,
  .pg-related__item:nth-of-type(2),
  .pg-related__item:nth-of-type(3) {
    grid-column: 1;
    width: 100%;
  }

  .pg-hero__copy { padding-block: 0; }
  .pg-hero h1 { font-size: clamp(2.5rem, 11vw, 2.9rem); }
  .pg-hero__figure { margin-top: 0; }
  .pg-hero__figure img { aspect-ratio: 4 / 5; }

  .pg-process__intro,
  .pg-tables__intro,
  .pg-occasions__intro { width: 100%; max-width: none; }

  .pg-process__steps,
  .pg-tables__grid,
  .pg-occasions__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .pg-step,
  .pg-step + .pg-step,
  .pg-step:nth-child(3),
  .pg-step:nth-child(4) {
    grid-column: 1;
    padding: 1.25rem 0;
    margin-top: 0;
    border-left: 0;
    border-top: 0;
    border-bottom: var(--border-rule);
  }

  .pg-step:first-child { border-top: var(--border-rule); }

  .pg-table-note,
  .pg-table-note--closing,
  .pg-occasion:nth-child(n) {
    grid-column: 1;
    margin-top: 0;
  }

  .pg-table-note + .pg-table-note { border-top: var(--border-rule); }

  .pg-occasion { padding: 1.25rem 0; }
  .pg-occasion--wash { padding-inline: 1rem; }

  .pg-dining__figure,
  .pg-host__figure { margin-top: 0; }

  .pg-host__article { max-width: none; }

  .pg-framework__marker { order: -1; }
  .pg-framework__article { grid-row: auto; }

  .pg-contact__cta { max-width: none; padding: 1.5rem; }

  .pg-related__item { padding-top: 1.5rem; }
  .pg-related__item:nth-of-type(3) { margin-top: -0.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .private-groups-page * {
    transform: none !important;
  }
}


.hosts-page {
  background-color: var(--color-aged-paper);
  background-image: linear-gradient(rgba(72, 60, 50, 0.018) 1px, transparent 1px);
  background-size: 100% 5px;
}

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

.hosts-page img {
  width: 100%;
  max-width: 100%;
  object-fit: cover;
  border: var(--border-rule);
  filter: grayscale(0.62) sepia(0.13) contrast(1.03);
}

.hosts-page__primary-action {
  border-radius: var(--radius-md);
}

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

.hosts-hero__grid,
.hosts-attention__grid,
.hosts-framework__grid,
.hosts-rhythm__grid,
.hosts-table__grid,
.hosts-first__grid,
.hosts-moment__grid,
.hosts-private__grid,
.hosts-closing__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-6);
  min-width: 0;
}

.hosts-hero__copy {
  grid-column: 1 / span 7;
  min-width: 0;
}

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

.hosts-issue {
  color: var(--color-muted-cherry);
}

.hosts-hero h1 {
  max-width: 40rem;
  margin-block-end: var(--space-5);
}

.hosts-hero__rule {
  width: min(100%, 38.75rem);
  margin-block: 0 var(--space-5);
}

.hosts-hero__deck {
  max-width: 35rem;
}

.hosts-hero__deck p {
  font-size: var(--text-lg);
  line-height: 1.55;
}

.hosts-hero__meta {
  margin-block-end: 0;
}

.hosts-hero__figure {
  grid-column: 8 / -1;
  align-self: start;
  min-width: 0;
  margin: 0;
}

.hosts-hero__figure img {
  aspect-ratio: 4 / 5;
}

.hosts-hero__figure .archive-caption {
  width: min(100%, 22.5rem);
}

.hosts-hero__cta {
  grid-column: 1 / span 7;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  max-width: 38.75rem;
  gap: var(--space-3);
  margin-top: var(--space-6);
  padding-top: var(--space-5);
  border-top: var(--border-rule);
}

.hosts-hero__cta > * {
  min-width: 0;
  margin: 0;
}

.hosts-hero__cta .button {
  margin-top: var(--space-1);
}

.hosts-attention__intro {
  grid-column: 1 / span 4;
  min-width: 0;
  max-width: 22.5rem;
}

.hosts-attention__module {
  min-width: 0;
  padding: var(--space-5) 0;
  border-top: var(--border-rule);
}

.hosts-attention__module h3 {
  font-size: 1.375rem;
}

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

.hosts-attention__arrival {
  grid-column: 5 / span 3;
}

.hosts-attention__table {
  grid-column: 8 / span 2;
  align-self: start;
  min-width: 0;
  margin-top: var(--space-6);
  padding: var(--space-5);
  background: var(--color-paper-wash);
  border: var(--border-rule);
}

.hosts-attention__rhythm {
  grid-column: 10 / -1;
}

.hosts-attention__rhythm blockquote {
  margin-block: var(--space-5);
}

.hosts-framework__article {
  grid-column: 1 / span 7;
  min-width: 0;
  max-width: 43.75rem;
}

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

.hosts-framework__quote {
  width: min(100%, 20rem);
  margin-top: var(--space-6);
  margin-left: auto;
}

.hosts-framework__quote-copy {
  width: min(100%, 20rem);
  margin-left: auto;
}

.hosts-framework__note {
  grid-column: 9 / -1;
  align-self: start;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-5);
  border-top: 2px solid var(--color-muted-cherry);
  background: var(--color-paper-wash);
}

.hosts-framework__note > * {
  min-width: 0;
  margin: 0;
}

.hosts-rhythm__intro {
  grid-column: 1 / span 4;
  min-width: 0;
  max-width: 24.375rem;
}

.hosts-rhythm__line {
  grid-column: 5 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
  min-width: 0;
  column-gap: var(--space-4);
  padding-top: var(--space-6);
  border-top: var(--border-rule);
}

.hosts-rhythm__item {
  min-width: 0;
}

.hosts-rhythm__item:nth-child(even) {
  margin-top: var(--space-7);
}

.hosts-rhythm__item--wash {
  padding: var(--space-4);
  background: var(--color-paper-wash);
}

.hosts-rhythm__item--closing {
  padding-bottom: var(--space-4);
  border-bottom: var(--border-rule);
}

.hosts-rhythm__item h3 {
  font-size: 1.375rem;
}

.hosts-table__figure {
  grid-column: 1 / span 7;
  min-width: 0;
  margin: 0;
}

.hosts-table__figure img {
  aspect-ratio: 3 / 2;
}

.hosts-table__figure .archive-caption {
  width: min(100%, 26.25rem);
}

.hosts-table__copy {
  grid-column: 9 / -1;
  min-width: 0;
}

.hosts-table__lead {
  max-width: 35rem;
}

.hosts-table__observations {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-5);
  margin-top: var(--space-5);
}

.hosts-table__observations > article {
  min-width: 0;
}

.hosts-table__observations > article:last-child {
  padding-top: var(--space-5);
  border-top: var(--border-rule);
}

.hosts-table__observations h3 {
  font-size: 1.375rem;
}

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

.hosts-first__notes {
  grid-column: 1 / span 3;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  gap: var(--space-5);
}

.hosts-first__note {
  min-width: 0;
  padding: var(--space-4);
  border-top: var(--border-rule);
  background: var(--color-paper-wash);
}

.hosts-first__note h3 {
  font-size: 1.375rem;
}

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

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

.hosts-moment .eyebrow,
.hosts-moment .metadata,
.hosts-moment .archive-caption {
  color: var(--color-aged-paper);
}

.hosts-moment__intro {
  grid-column: 1 / span 7;
  min-width: 0;
}

.hosts-moment__intro h2 {
  max-width: 38.75rem;
  font-size: clamp(2.25rem, 4vw, 3.25rem);
}

.hosts-moment__intro .deck {
  max-width: 36.25rem;
}

.hosts-moment__figure {
  grid-column: 8 / -1;
  min-width: 0;
  margin: 0;
}

.hosts-moment__figure img {
  aspect-ratio: 16 / 9;
  border-color: var(--color-aged-paper);
}

.hosts-moment__figure .archive-caption {
  border-top-color: rgba(232, 229, 218, 0.62);
}

.hosts-moment__columns {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
  gap: var(--space-6);
  margin-top: var(--space-7);
}

.hosts-moment__columns > article {
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid rgba(232, 229, 218, 0.58);
}

.hosts-moment__columns h3 {
  color: var(--color-aged-paper);
  font-size: 1.375rem;
}

.hosts-moment__columns p {
  color: var(--color-aged-paper);
}

.hosts-private__intro {
  grid-column: 1 / span 7;
  min-width: 0;
  max-width: 42.5rem;
}

.hosts-private__note {
  grid-column: 9 / span 3;
  align-self: start;
  min-width: 0;
  padding-top: var(--space-4);
  border-top: var(--border-rule);
}

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

.hosts-private__details {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin-top: var(--space-6);
  border-top: var(--border-rule);
}

.hosts-private__details > details {
  min-width: 0;
  border-bottom: var(--border-rule);
}

.hosts-private__details summary {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) 1.5rem;
  align-items: center;
  min-width: 0;
  min-height: 2.75rem;
  gap: var(--space-3);
  padding: var(--space-4) 0;
  color: var(--color-forest-black);
  cursor: pointer;
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: 650;
  line-height: 1.2;
  list-style: none;
}

.hosts-private__details summary::-webkit-details-marker {
  display: none;
}

.hosts-private__details summary::after {
  content: "+";
  justify-self: end;
  font-family: var(--font-ui);
  font-size: 1.25rem;
  font-weight: 400;
}

.hosts-private__details details[open] summary::after {
  content: "−";
}

.hosts-private__detail-copy {
  max-width: 42.5rem;
  padding: 0 var(--space-5) var(--space-5) 4.5rem;
}

.hosts-private__detail-copy > :last-child {
  margin-block-end: 0;
}

.hosts-closing {
  padding-bottom: clamp(var(--space-9), 10vw, var(--space-10));
}

.hosts-closing__article {
  grid-column: 1 / span 7;
  min-width: 0;
  max-width: 42.5rem;
}

.hosts-closing__article h2 {
  font-size: clamp(2.25rem, 4vw, 3.25rem);
}

.hosts-closing__article .rule-double {
  margin-block: 0 var(--space-5);
}

.hosts-closing__side {
  grid-column: 9 / -1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-3);
}

.hosts-closing__side > * {
  min-width: 0;
  margin: 0;
}

.hosts-closing__helper {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.hosts-closing__framework {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  width: 100%;
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  border-top: 2px solid var(--color-muted-cherry);
}

.hosts-closing__framework > * {
  min-width: 0;
  margin: 0;
}

.hosts-closing__framework p:last-child {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: 1.5;
}

@media (max-width: 63.75rem) {
  .hosts-hero__grid,
  .hosts-attention__grid,
  .hosts-framework__grid,
  .hosts-rhythm__grid,
  .hosts-table__grid,
  .hosts-first__grid,
  .hosts-moment__grid,
  .hosts-private__grid,
  .hosts-closing__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .hosts-hero__copy {
    grid-column: 1 / span 5;
  }

  .hosts-hero__figure {
    grid-column: 6 / -1;
  }

  .hosts-hero__cta {
    grid-column: 1 / span 5;
  }

  .hosts-attention__intro {
    grid-column: 1 / span 3;
  }

  .hosts-attention__arrival,
  .hosts-attention__table,
  .hosts-attention__rhythm {
    grid-column: 4 / -1;
    width: min(100%, 32rem);
  }

  .hosts-attention__table {
    margin-top: 0;
  }

  .hosts-attention__rhythm {
    justify-self: end;
  }

  .hosts-framework__article {
    grid-column: 1 / span 5;
  }

  .hosts-framework__note {
    grid-column: 6 / -1;
  }

  .hosts-rhythm__intro {
    grid-column: 1 / -1;
    max-width: 24.375rem;
    margin-bottom: var(--space-5);
  }

  .hosts-rhythm__line {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: var(--space-5);
  }

  .hosts-rhythm__item:nth-child(even) {
    margin-top: 0;
  }

  .hosts-table__figure {
    grid-column: 1 / span 5;
  }

  .hosts-table__copy {
    grid-column: 6 / -1;
  }

  .hosts-first__article {
    grid-column: 1 / span 5;
  }

  .hosts-first__notes {
    grid-column: 6 / -1;
  }

  .hosts-moment__intro {
    grid-column: 1 / span 5;
  }

  .hosts-moment__figure {
    grid-column: 6 / -1;
  }

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

  .hosts-moment__columns > article:last-child {
    grid-column: 1 / -1;
    max-width: 50%;
  }

  .hosts-private__intro {
    grid-column: 1 / span 5;
  }

  .hosts-private__note {
    grid-column: 6 / -1;
  }

  .hosts-closing__article {
    grid-column: 1 / span 5;
  }

  .hosts-closing__side {
    grid-column: 6 / -1;
  }
}

@media (max-width: 51.25rem) {
  .hosts-hero__grid,
  .hosts-framework__grid,
  .hosts-table__grid,
  .hosts-moment__grid {
    grid-template-columns: 1fr;
    row-gap: var(--space-5);
  }

  .hosts-hero__copy,
  .hosts-hero__figure,
  .hosts-hero__cta,
  .hosts-framework__article,
  .hosts-framework__note,
  .hosts-table__figure,
  .hosts-table__copy,
  .hosts-moment__intro,
  .hosts-moment__figure {
    grid-column: 1;
    width: 100%;
  }

  .hosts-hero__figure {
    order: 2;
  }

  .hosts-hero__cta {
    order: 3;
    margin-top: 0;
  }

  .hosts-framework__note {
    max-width: 38.75rem;
  }

  .hosts-framework__quote,
  .hosts-framework__quote-copy {
    width: 100%;
    margin-left: 0;
  }

  .hosts-table__copy {
    max-width: 42.5rem;
  }

  .hosts-moment__figure {
    order: 2;
  }

  .hosts-moment__columns {
    grid-column: 1;
  }
}

@media (max-width: 47.99rem) {
  .hosts-hero {
    padding-top: var(--space-7);
  }

  .hosts-hero__grid,
  .hosts-attention__grid,
  .hosts-framework__grid,
  .hosts-rhythm__grid,
  .hosts-table__grid,
  .hosts-first__grid,
  .hosts-moment__grid,
  .hosts-private__grid,
  .hosts-closing__grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-5);
  }

  .hosts-hero h1 {
    font-size: clamp(2.25rem, 11vw, 2.75rem);
  }

  .hosts-hero__deck {
    max-width: 100%;
  }

  .hosts-hero__figure,
  .hosts-hero__cta,
  .hosts-attention__intro,
  .hosts-attention__arrival,
  .hosts-attention__table,
  .hosts-attention__rhythm,
  .hosts-framework__article,
  .hosts-framework__note,
  .hosts-rhythm__intro,
  .hosts-rhythm__line,
  .hosts-table__figure,
  .hosts-table__copy,
  .hosts-first__article,
  .hosts-first__notes,
  .hosts-moment__intro,
  .hosts-moment__figure,
  .hosts-moment__columns,
  .hosts-private__intro,
  .hosts-private__note,
  .hosts-private__details,
  .hosts-closing__article,
  .hosts-closing__side {
    grid-column: 1;
    width: 100%;
    max-width: 100%;
    margin: 0;
  }

  .hosts-hero__cta .button,
  .hosts-closing__side .button {
    width: 100%;
  }

  .hosts-attention__grid {
    row-gap: var(--space-4);
  }

  .hosts-attention__module {
    padding: var(--space-5);
    border: var(--border-rule);
  }

  .hosts-attention__table {
    background: var(--color-paper-wash);
  }

  .hosts-rhythm__line {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-5);
    padding: 0 0 0 var(--space-5);
    border-top: 0;
    border-left: var(--border-rule);
  }

  .hosts-rhythm__item,
  .hosts-rhythm__item:nth-child(even) {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
  }

  .hosts-rhythm__item--wash {
    padding: var(--space-4);
    background: var(--color-paper-wash);
  }

  .hosts-table__grid {
    row-gap: var(--space-4);
  }

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

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

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

  .hosts-moment__columns {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
    margin-top: var(--space-5);
  }

  .hosts-moment__columns > article:last-child {
    grid-column: 1;
    max-width: 100%;
  }

  .hosts-private__details {
    margin-top: var(--space-4);
  }

  .hosts-private__details summary {
    grid-template-columns: 2rem minmax(0, 1fr) 1.25rem;
    font-size: 1.375rem;
  }

  .hosts-private__detail-copy {
    max-width: 100%;
    padding: 0 var(--space-4) var(--space-5);
  }

  .hosts-closing {
    padding-bottom: var(--space-9);
  }
}

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


.kozossegi-page {
  background: var(--color-aged-paper);
}

.kozossegi-page .section {
  min-width: 0;
}

.kozossegi-page .ke-image-frame {
  min-width: 0;
  margin: 0;
}

.kozossegi-page .ke-image-frame img {
  width: 100%;
  max-width: 100%;
  object-fit: cover;
  border: var(--border-rule);
  filter: grayscale(0.72) sepia(0.18) contrast(1.04);
}

.kozossegi-page .ke-image-frame {
  position: relative;
}

.kozossegi-page .ke-image-frame::after {
  position: absolute;
  z-index: 1;
  inset: 0 0 auto;
  height: 100%;
  pointer-events: none;
  content: "";
  opacity: 0.15;
  background-image: radial-gradient(rgba(28, 34, 30, 0.46) 0.55px, transparent 0.7px);
  background-size: 4px 4px;
  mix-blend-mode: multiply;
}

.kozossegi-page .ke-image-frame figcaption {
  position: relative;
  z-index: 2;
}

.kozossegi-page .ke-section-head {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
}

.kozossegi-page .ke-section-head > :is(h2, p) {
  margin: 0;
}

.kozossegi-page .ke-section-head .deck {
  max-width: 43rem;
}

.kozossegi-page .ke-hero {
  padding-block: clamp(var(--space-7), 8vw, var(--space-10));
}

.kozossegi-page .ke-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: var(--space-6);
}

.kozossegi-page .ke-hero__copy,
.kozossegi-page .ke-hero__figure {
  min-width: 0;
}

.kozossegi-page .ke-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.kozossegi-page .ke-hero__copy > * {
  min-width: 0;
  margin: 0;
}

.kozossegi-page .ke-hero__copy h1 {
  max-width: 10.5ch;
}

.kozossegi-page .ke-hero__copy .deck {
  width: min(100%, 35rem);
}

.kozossegi-page .ke-hero__figure img {
  aspect-ratio: 3 / 2;
  min-height: 22rem;
  object-position: center;
}

.kozossegi-page .ke-offline-note {
  width: min(100%, 32rem);
  padding-block: var(--space-3);
  border-top: var(--border-rule);
  border-bottom: var(--border-rule);
}

.kozossegi-page .ke-offline-note p {
  margin: 0;
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: 1.55;
}

.kozossegi-page .ke-rhythm__head {
  width: min(100%, 43rem);
  margin-inline-start: 8.333%;
}

.kozossegi-page .ke-rhythm__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 4fr) minmax(0, 3fr);
  gap: clamp(var(--space-5), 4vw, var(--space-8));
  margin-top: var(--space-7);
}

.kozossegi-page .ke-rhythm__item {
  min-width: 0;
  padding-top: var(--space-3);
  border-top: var(--border-rule);
}

.kozossegi-page .ke-rhythm__item > :last-child {
  margin-bottom: 0;
}

.kozossegi-page .ke-number,
.kozossegi-page .ke-step-mark {
  margin: 0 0 var(--space-2);
  color: var(--color-sepia);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.12em;
}

.kozossegi-page .ke-rhythm__lead {
  font-size: var(--text-lg);
  line-height: 1.5;
}

.kozossegi-page .ke-shared__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
  gap: clamp(var(--space-5), 5vw, var(--space-8));
  align-items: start;
}

.kozossegi-page .ke-shared__figure,
.kozossegi-page .ke-shared__copy {
  min-width: 0;
}

.kozossegi-page .ke-shared__figure img {
  aspect-ratio: 4 / 3;
  min-height: 25rem;
  object-position: center;
}

.kozossegi-page .ke-shared__copy {
  width: min(100%, 24.375rem);
}

.kozossegi-page .ke-shared__copy > :last-child {
  margin-bottom: 0;
}

.kozossegi-page .ke-margin-note {
  margin-top: var(--space-5);
  padding: var(--space-4);
  border: var(--border-rule);
}

.kozossegi-page .ke-margin-note > :last-child,
.kozossegi-page .ke-margin-note .eyebrow {
  margin-bottom: 0;
}

.kozossegi-page .ke-margin-note {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.kozossegi-page .ke-route__head {
  width: min(100%, 45rem);
}

.kozossegi-page .ke-route__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 4fr) minmax(0, 3fr);
  gap: clamp(var(--space-4), 3vw, var(--space-6));
  margin-top: var(--space-6);
  padding-top: var(--space-4);
  border-top: var(--border-rule);
}

.kozossegi-page .ke-route__step {
  min-width: 0;
  padding: var(--space-4);
  border-top: var(--border-strong);
}

.kozossegi-page .ke-route__step--two {
  background: var(--color-paper-wash);
}

.kozossegi-page .ke-route__step--three {
  border-inline-start: 2px solid var(--color-muted-cherry);
}

.kozossegi-page .ke-route__step > :last-child {
  margin-bottom: 0;
}

.kozossegi-page .ke-after__top {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 3fr);
  justify-content: space-between;
  gap: clamp(var(--space-5), 8vw, var(--space-9));
  margin-inline: 8.333%;
}

.kozossegi-page .ke-after__copy,
.kozossegi-page .ke-pullquote {
  min-width: 0;
}

.kozossegi-page .ke-after__copy {
  width: min(100%, 40.625rem);
}

.kozossegi-page .ke-after__copy > :last-child {
  margin-bottom: 0;
}

.kozossegi-page .ke-inline-link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
}

.kozossegi-page .ke-pullquote {
  align-self: end;
  margin: 0;
  padding: var(--space-4) 0 var(--space-4) var(--space-4);
  border-inline-start: 2px solid var(--color-muted-cherry);
  font-size: var(--text-xl);
}

.kozossegi-page .ke-pullquote p,
.kozossegi-page .ke-pullquote footer {
  margin: 0;
}

.kozossegi-page .ke-pullquote footer {
  margin-top: var(--space-3);
  color: var(--color-sepia);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.kozossegi-page .ke-after__figure {
  margin-top: var(--space-7);
}

.kozossegi-page .ke-after__figure img {
  aspect-ratio: 16 / 9;
  min-height: 24rem;
  object-position: center;
}

.kozossegi-page .ke-after__figure figcaption {
  margin-top: 0;
  padding: var(--space-3) var(--space-4);
  border-top: 0;
  color: var(--color-aged-paper);
  background: var(--color-inverse-paper);
}

.kozossegi-page .ke-comfort {
  padding-block: clamp(var(--space-8), 8vw, var(--space-10));
}

.kozossegi-page .ke-comfort__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: clamp(var(--space-5), 6vw, var(--space-9));
}

.kozossegi-page .ke-comfort__intro,
.kozossegi-page .ke-comfort__details {
  min-width: 0;
}

.kozossegi-page .ke-comfort__intro {
  width: min(100%, 28rem);
}

.kozossegi-page .ke-comfort__intro > :last-child {
  margin-bottom: 0;
}

.kozossegi-page .ke-comfort__details {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.kozossegi-page .ke-comfort__details > * {
  min-width: 0;
}

.kozossegi-page .ke-comfort__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4) var(--space-5);
  margin: 0;
}

.kozossegi-page .ke-comfort__list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-3);
  padding-top: var(--space-3);
  border-top: var(--border-rule);
}

.kozossegi-page .ke-comfort__list span {
  color: var(--color-sepia);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 700;
}

.kozossegi-page .ke-comfort__list p {
  min-width: 0;
  margin: 0;
}

.kozossegi-page .ke-comfort__closing {
  width: min(100%, 34rem);
  padding-top: var(--space-4);
  border-top: var(--border-strong);
}

.kozossegi-page .ke-comfort__closing p {
  margin: 0;
}

.kozossegi-page .ke-perspectives__head {
  width: min(100%, 38rem);
}

.kozossegi-page .ke-perspectives__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 4fr);
  justify-content: space-between;
  gap: clamp(var(--space-5), 8vw, var(--space-9));
  margin: var(--space-7) 8.333% 0;
}

.kozossegi-page .ke-perspective {
  min-width: 0;
  padding-block: var(--space-4);
  border-top: var(--border-rule);
  border-bottom: var(--border-rule);
}

.kozossegi-page .ke-perspective--large {
  margin-top: var(--space-7);
}

.kozossegi-page .ke-perspective > :last-child {
  margin-bottom: 0;
}

.kozossegi-page .ke-perspectives__summary {
  width: 83.333%;
  margin: var(--space-6) 8.333% 0;
  padding-block: var(--space-3);
  border-top: var(--border-rule);
  border-bottom: var(--border-rule);
  font-size: var(--text-xl);
  line-height: 1.35;
}

.kozossegi-page .ke-reading__head {
  width: min(100%, 40rem);
}

.kozossegi-page .ke-reading__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 3fr);
  gap: clamp(var(--space-5), 4vw, var(--space-8));
  margin-top: var(--space-7);
}

.kozossegi-page .ke-reading__item {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  padding-top: var(--space-3);
  border-top: var(--border-rule);
}

.kozossegi-page .ke-reading__item > * {
  min-width: 0;
  margin: 0;
}

.kozossegi-page .ke-reading__link {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-height: 2.75rem;
  margin-top: auto;
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
}

.kozossegi-page .ke-private {
  padding-block: clamp(var(--space-8), 8vw, var(--space-10));
}

.kozossegi-page .ke-private__grid {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(13.75rem, 3fr);
  justify-content: space-between;
  align-items: end;
  gap: clamp(var(--space-5), 7vw, var(--space-9));
  margin-inline: 8.333%;
}

.kozossegi-page .ke-private__copy,
.kozossegi-page .ke-private__action {
  min-width: 0;
}

.kozossegi-page .ke-private__copy {
  width: min(100%, 38.75rem);
}

.kozossegi-page .ke-private__copy > :last-child {
  margin-bottom: 0;
}

.kozossegi-page .ke-private__action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.kozossegi-page .ke-private__action > * {
  min-width: 0;
  margin: 0;
}

.kozossegi-page .ke-private__action p {
  width: min(100%, 16rem);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.kozossegi-page .ke-private .button-booking:hover {
  transform: none;
}

.kozossegi-page .ke-close {
  padding-bottom: var(--space-8);
}

.kozossegi-page .ke-close__lead {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  width: min(100%, 45rem);
  margin-inline: auto;
}

.kozossegi-page .ke-close__lead > * {
  min-width: 0;
  margin: 0;
}

.kozossegi-page .ke-close__lead h2 {
  font-size: var(--text-2xl);
}

.kozossegi-page .ke-close__lead p {
  font-size: var(--text-xl);
  line-height: 1.4;
}

.kozossegi-page .ke-close__links {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: var(--space-4);
  width: min(100%, 45rem);
  margin: var(--space-6) auto 0;
}

.kozossegi-page .ke-close__links > * {
  min-width: 0;
  margin: 0;
}

.kozossegi-page .ke-close__links .eyebrow {
  grid-column: 1 / -1;
}

.kozossegi-page .ke-close__links a:last-child {
  text-align: right;
}

@media (max-width: 61.24rem) {
  .kozossegi-page .ke-hero__grid {
    gap: var(--space-5);
  }

  .kozossegi-page .ke-rhythm__grid {
    grid-template-columns: minmax(0, 3fr) minmax(0, 5fr);
  }

  .kozossegi-page .ke-rhythm__item--three {
    grid-column: 1 / span 2;
    width: min(100%, 34rem);
  }

  .kozossegi-page .ke-shared__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 3fr);
    gap: var(--space-5);
  }

  .kozossegi-page .ke-route__grid {
    grid-template-columns: minmax(0, 3fr) minmax(0, 5fr);
  }

  .kozossegi-page .ke-route__step--three {
    grid-column: 1 / span 2;
    width: min(100%, 40rem);
  }

  .kozossegi-page .ke-after__top {
    grid-template-columns: minmax(0, 5fr) minmax(0, 3fr);
    margin-inline: 0;
    gap: var(--space-6);
  }

  .kozossegi-page .ke-comfort__grid {
    grid-template-columns: minmax(0, 3fr) minmax(0, 5fr);
    gap: var(--space-5);
  }

  .kozossegi-page .ke-perspectives__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-inline: 0;
    gap: var(--space-5);
  }

  .kozossegi-page .ke-perspectives__summary {
    width: 100%;
    margin-inline: 0;
  }

  .kozossegi-page .ke-reading__grid {
    grid-template-columns: minmax(0, 3fr) minmax(0, 5fr);
  }

  .kozossegi-page .ke-reading__item--hosts {
    grid-column: 1 / span 2;
    width: min(100%, 40rem);
  }

  .kozossegi-page .ke-private__grid {
    margin-inline: 0;
  }
}

@media (max-width: 51.24rem) {
  .kozossegi-page .ke-hero__grid,
  .kozossegi-page .ke-shared__grid,
  .kozossegi-page .ke-after__top,
  .kozossegi-page .ke-comfort__grid,
  .kozossegi-page .ke-perspectives__grid,
  .kozossegi-page .ke-private__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .kozossegi-page .ke-hero__copy h1 {
    max-width: 12ch;
  }

  .kozossegi-page .ke-hero__figure img,
  .kozossegi-page .ke-shared__figure img {
    min-height: 16.25rem;
  }

  .kozossegi-page .ke-rhythm__head {
    margin-inline-start: 0;
  }

  .kozossegi-page .ke-rhythm__grid,
  .kozossegi-page .ke-route__grid,
  .kozossegi-page .ke-reading__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .kozossegi-page .ke-rhythm__item--three,
  .kozossegi-page .ke-route__step--three,
  .kozossegi-page .ke-reading__item--hosts {
    grid-column: auto;
    width: 100%;
  }

  .kozossegi-page .ke-shared__copy,
  .kozossegi-page .ke-after__copy,
  .kozossegi-page .ke-comfort__intro,
  .kozossegi-page .ke-private__copy {
    width: 100%;
  }

  .kozossegi-page .ke-shared__grid {
    gap: var(--space-5);
  }

  .kozossegi-page .ke-margin-note {
    background: var(--color-paper-wash);
  }

  .kozossegi-page .ke-after__top {
    gap: var(--space-5);
  }

  .kozossegi-page .ke-pullquote {
    padding: var(--space-4);
    border: var(--border-rule);
    border-inline-start: 2px solid var(--color-muted-cherry);
    background: var(--color-paper-wash);
  }

  .kozossegi-page .ke-after__figure {
    margin-top: var(--space-6);
  }

  .kozossegi-page .ke-after__figure img {
    min-height: 14rem;
  }

  .kozossegi-page .ke-comfort__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .kozossegi-page .ke-comfort__list li {
    padding-block: var(--space-3);
  }

  .kozossegi-page .ke-perspective--large {
    margin-top: 0;
  }

  .kozossegi-page .ke-private__grid {
    gap: var(--space-5);
  }

  .kozossegi-page .ke-close__links {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }

  .kozossegi-page .ke-close__links a {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
  }

  .kozossegi-page .ke-close__links a:last-child {
    text-align: left;
  }
}

@media (max-width: 47.99rem) {
  .kozossegi-page .ke-hero {
    padding-block: var(--space-7);
  }

  .kozossegi-page .ke-hero__copy h1 {
    font-size: clamp(2.4rem, 11vw, 2.75rem);
    line-height: 1.02;
  }

  .kozossegi-page .ke-hero__copy .deck,
  .kozossegi-page .ke-section-head .deck {
    width: 100%;
    max-width: 34em;
    font-size: var(--text-lg);
  }

  .kozossegi-page .ke-rhythm__grid {
    margin-top: var(--space-6);
  }

  .kozossegi-page .ke-route__step {
    padding-inline: 0;
  }

  .kozossegi-page .ke-route__step--two {
    padding-inline: var(--space-4);
  }

  .kozossegi-page .ke-reading__item {
    gap: var(--space-2);
  }

  .kozossegi-page .ke-reading__link {
    width: 100%;
  }

  .kozossegi-page .ke-private__action {
    align-items: flex-start;
  }

  .kozossegi-page .ke-close {
    padding-bottom: var(--space-8);
  }
}

@media (prefers-reduced-motion: reduce) {
  .kozossegi-page .ke-image-frame::after {
    opacity: 0.12;
  }
}


.evening-page {
  background: var(--color-aged-paper);
}

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

.evening-page .eyebrow {
  margin-block: 0;
}

.evening-hero {
  padding-block: clamp(3rem, 7vw, 6rem) clamp(4.5rem, 8vw, 7rem);
}

.evening-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(2rem, 1fr) minmax(0, 6fr);
  gap: 0;
  align-items: center;
}

.evening-hero__copy,
.evening-hero__image,
.evening-hero__anchor {
  min-width: 0;
}

.evening-hero__copy {
  grid-column: 1;
  width: 100%;
  max-width: 35rem;
}

.evening-hero__copy h1 {
  margin-block-start: var(--space-3);
  font-size: clamp(3.25rem, 5.1vw, 3.75rem);
}

.evening-hero__copy .deck {
  max-width: 33rem;
  margin-block-end: var(--space-5);
}

.evening-hero__frame {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  gap: var(--space-2);
  padding-block: var(--space-3);
  border-top: var(--border-rule);
  border-bottom: var(--border-rule);
}

.evening-hero__frame p {
  margin: 0;
}

.evening-hero__frame > p:last-child {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.evening-hero__image {
  grid-column: 3;
  width: calc(100% + 2rem);
  max-width: none;
  margin: 0 -2rem 0 0;
}

.evening-hero__image img {
  width: 100%;
  min-height: 27.5rem;
  border: var(--border-rule);
  filter: grayscale(0.62) sepia(0.16) contrast(1.04);
  object-fit: cover;
}

.evening-hero__anchor {
  grid-column: 1;
  width: fit-content;
  min-height: 2.75rem;
  margin-block-start: var(--space-5);
  padding-block: 0.65rem;
  color: var(--color-forest-black);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
}

.evening-hero__anchor span {
  margin-inline-start: var(--space-2);
  color: var(--color-muted-cherry);
}

.evening-stations__heading {
  width: 58.333%;
  min-width: 0;
  max-width: 43rem;
}

.evening-stations__heading h2 {
  margin-block-start: var(--space-3);
}

.evening-stations__list {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  margin-block-start: var(--space-7);
  border-top: var(--border-rule);
}

.station {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 6fr) minmax(0, 3fr);
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
  padding-block: var(--space-6);
  border-bottom: 0.375rem double var(--color-sepia);
}

.station__number,
.station__article,
.station__note {
  min-width: 0;
}

.station__number {
  grid-column: 1;
  color: var(--color-sepia);
  font-family: var(--font-heading);
  font-size: clamp(2.6rem, 4vw, 4rem);
  font-weight: 650;
  line-height: 0.9;
}

.station__article {
  grid-column: 2;
  width: 100%;
  max-width: 42.5rem;
}

.station__article h3 {
  font-size: 1.75rem;
}

.station__lead {
  margin-block-end: var(--space-3);
  padding-block-start: var(--space-3);
  border-top: 2px solid var(--color-muted-cherry);
  font-size: var(--text-lg);
}

.station__note {
  grid-column: 3;
  align-self: start;
  width: 100%;
  padding: var(--space-4);
  border-top: var(--border-rule);
  border-bottom: var(--border-rule);
  color: var(--color-sepia);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.station__note .metadata {
  display: block;
  margin-block-end: var(--space-2);
  color: var(--color-muted-cherry);
}

.supper-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(2rem, 1fr) minmax(0, 5fr);
  gap: 0;
  align-items: start;
}

.supper-section__copy,
.supper-section__image {
  min-width: 0;
}

.supper-section__copy {
  grid-column: 1;
  width: 100%;
  max-width: 42.5rem;
}

.supper-section__copy h2 {
  margin-block-start: var(--space-3);
}

.supper-section__quote {
  width: 100%;
  max-width: 26.25rem;
  margin-block: var(--space-6);
  padding: var(--space-4) var(--space-5);
  border-inline-start: 0;
  background: var(--color-paper-wash);
}

.supper-section__editorial {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  gap: var(--space-2);
  padding-block: var(--space-3);
  border-top: var(--border-rule);
  border-bottom: var(--border-rule);
}

.supper-section__editorial p {
  margin: 0;
}

.supper-section__image {
  grid-column: 3;
  width: 100%;
  margin-block-start: var(--space-7);
}

.supper-section__image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border: var(--border-rule);
  filter: grayscale(0.56) sepia(0.14);
  object-fit: cover;
}

.formats-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 1fr) minmax(0, 3fr);
  gap: 0;
}

.formats-section__intro,
.formats-section__articles,
.formats-section__note {
  min-width: 0;
}

.formats-section__intro {
  grid-column: 1 / 4;
  width: 100%;
  max-width: 44rem;
}

.formats-section__intro h2 {
  margin-block-start: var(--space-3);
}

.formats-section__articles {
  grid-column: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  max-width: 45rem;
  margin-block-start: var(--space-7);
}

.format-card {
  width: 100%;
  min-width: 0;
  padding-block: var(--space-5);
  border-top: 0.375rem double var(--color-sepia);
}

.format-card:last-child {
  border-bottom: var(--border-rule);
}

.format-card h3 {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: var(--space-3);
  font-size: 1.75rem;
}

.format-card__icon {
  display: inline-flex;
  flex: 0 0 3rem;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border: var(--border-rule);
  color: var(--color-sepia);
  font-family: var(--font-heading);
  font-size: 1.75rem;
}

.formats-section__note {
  grid-column: 3;
  width: 100%;
  margin-block-start: var(--space-7);
  padding: var(--space-5);
  border: var(--border-rule);
  background: var(--color-aged-paper);
}

.formats-section__note h3 {
  font-size: 1.65rem;
}

.formats-section__note ul {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin: 0;
}

.formats-section__note li {
  padding-block-end: var(--space-3);
  border-bottom: var(--border-rule);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.formats-section__note li:last-child {
  padding-block-end: 0;
  border-bottom: 0;
}

.pace-section__heading {
  width: 58.333%;
  min-width: 0;
  max-width: 43rem;
}

.pace-section__heading h2 {
  margin-block-start: var(--space-3);
}

.pace-section__notes {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 4fr);
  gap: 0;
  width: 83.333%;
  min-width: 0;
  margin-block-start: var(--space-7);
}

.pace-note {
  min-width: 0;
}

.pace-note--arrival {
  grid-column: 1;
  width: 100%;
  max-width: 35rem;
}

.pace-note--table {
  grid-column: 3;
  width: 100%;
  padding: var(--space-5);
  background: var(--color-paper-wash);
}

.pace-note h3 {
  margin-block-start: var(--space-2);
  font-size: 1.75rem;
}

.pace-section__trust {
  display: flex;
  flex-direction: column;
  width: 83.333%;
  min-width: 0;
  gap: var(--space-2);
  margin-block-start: var(--space-6);
  padding-block: var(--space-4);
  border-top: 2px solid var(--color-muted-cherry);
}

.pace-section__trust p {
  margin: 0;
}

.host-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(2rem, 1fr) minmax(0, 4fr);
  gap: 0;
  align-items: start;
}

.host-section__image,
.host-section__copy {
  min-width: 0;
}

.host-section__image {
  grid-column: 1;
  width: 100%;
}

.host-section__image img {
  width: 100%;
  aspect-ratio: 3 / 2;
  border: var(--border-rule);
  filter: grayscale(0.58) sepia(0.13);
  object-fit: cover;
}

.host-section__field-note {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  gap: var(--space-2);
  margin-block-start: var(--space-5);
  padding-block-start: var(--space-3);
  border-top: var(--border-rule);
}

.host-section__field-note p {
  margin: 0;
}

.host-section__copy {
  grid-column: 3;
  width: 100%;
  max-width: 27rem;
}

.host-section__copy h2 {
  margin-block-start: var(--space-3);
  font-size: clamp(2.25rem, 3vw, 3rem);
}

.host-section__reminder {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  gap: var(--space-2);
  margin-block-start: var(--space-5);
  padding: var(--space-4);
  border-left: 2px solid var(--color-muted-cherry);
  background: var(--color-paper-wash);
}

.host-section__reminder p {
  margin: 0;
}

.rhythm-section__heading {
  width: 58.333%;
  min-width: 0;
  max-width: 42rem;
}

.rhythm-section__heading h2 {
  margin-block-start: var(--space-3);
}

.rhythm-section__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  row-gap: var(--space-6);
  width: 100%;
  min-width: 0;
  margin-block-start: var(--space-7);
}

.rhythm-card {
  min-width: 0;
  padding: var(--space-5);
}

.rhythm-card h3 {
  font-size: 1.75rem;
}

.rhythm-card--observe {
  grid-column: 1 / span 6;
  width: 100%;
  border-top: var(--border-rule);
}

.rhythm-card--talk {
  grid-column: 9 / span 4;
  width: 100%;
  border: var(--border-rule);
}

.rhythm-card--cross {
  grid-column: 2 / span 5;
  width: 100%;
  background: var(--color-aged-paper);
}

.rhythm-card--stay {
  grid-column: 7 / span 6;
  width: 100%;
  border-bottom: 2px solid var(--color-muted-cherry);
}

.closing-band__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(2rem, 1fr) minmax(0, 3fr) minmax(0, 1fr);
  gap: 0;
  align-items: start;
}

.closing-band__copy,
.closing-band__quote {
  min-width: 0;
}

.closing-band__copy {
  grid-column: 1;
  width: 100%;
  max-width: 45rem;
}

.closing-band__copy .eyebrow {
  color: var(--color-aged-paper);
}

.closing-band__copy h2 {
  margin-block-start: var(--space-3);
}

.closing-band__contact {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  margin-block-start: var(--space-3);
  padding-block: 0.7rem;
  border-top: 1px solid var(--color-aged-paper);
  color: var(--color-aged-paper);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
}

.closing-band__contact:hover {
  color: var(--color-aged-paper);
  text-decoration-color: var(--color-muted-cherry);
}

.closing-band__contact span {
  margin-inline-start: var(--space-2);
  color: var(--color-muted-cherry);
}

.closing-band__quote {
  grid-column: 3;
  width: 100%;
  margin: 0;
  padding: var(--space-5) 0 var(--space-5) var(--space-5);
  border-inline-start-color: var(--color-muted-cherry);
  color: var(--color-aged-paper);
  font-size: 1.5rem;
}

.clarity-section__sheet {
  display: flex;
  flex-direction: column;
  width: 66.666%;
  min-width: 0;
  max-width: 51.25rem;
  gap: var(--space-4);
  margin-inline: auto;
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  border: var(--border-rule);
  background: var(--color-paper-wash);
}

.clarity-section__sheet > * {
  min-width: 0;
  margin: 0;
}

.clarity-section__sheet h2 {
  max-width: 45rem;
}

.clarity-section__sheet > p:not(.eyebrow) {
  max-width: 45rem;
}

.clarity-section__rule {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  gap: var(--space-2);
  padding-block: var(--space-4);
  border-top: 2px solid var(--color-muted-cherry);
  border-bottom: var(--border-rule);
}

.clarity-section__rule p {
  margin: 0;
}

.clarity-section__private a {
  font-weight: 700;
}

.next-section {
  padding-block-start: 0;
}

.next-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 2fr) minmax(0, 4fr);
  gap: 0;
  align-items: center;
  width: 100%;
  min-width: 0;
  padding-block-start: var(--space-6);
  border-top: 0.375rem double var(--color-sepia);
}

.next-section__copy,
.next-section__actions {
  min-width: 0;
}

.next-section__copy {
  grid-column: 1;
  width: 100%;
  max-width: 38.75rem;
}

.next-section__copy h2 {
  margin-block-start: var(--space-3);
}

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

.next-section__actions .button {
  width: fit-content;
}

.next-section__secondary {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
}

.next-section__secondary span {
  margin-inline-start: var(--space-2);
  color: var(--color-muted-cherry);
}

@media (max-width: 61.24rem) {
  .evening-hero__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    row-gap: var(--space-5);
  }

  .evening-hero__copy {
    grid-column: 1 / span 8;
    max-width: 42rem;
  }

  .evening-hero__image {
    grid-column: 1 / span 8;
    width: 100%;
    margin: 0;
  }

  .evening-hero__anchor {
    grid-column: 1 / span 8;
    margin-block-start: 0;
  }

  .supper-section__grid,
  .host-section__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    row-gap: var(--space-6);
  }

  .supper-section__copy {
    grid-column: 1 / span 8;
    max-width: 42.5rem;
  }

  .supper-section__image {
    grid-column: 1 / span 8;
    margin-block-start: 0;
  }

  .host-section__image {
    grid-column: 1 / span 8;
  }

  .host-section__copy {
    grid-column: 1 / span 8;
    max-width: 42.5rem;
  }

  .formats-section__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 3fr);
    column-gap: var(--space-5);
  }

  .formats-section__intro {
    grid-column: 1 / span 2;
  }

  .formats-section__articles {
    grid-column: 1;
  }

  .formats-section__note {
    grid-column: 2;
  }

  .station {
    grid-template-columns: minmax(0, 1fr) minmax(0, 5fr) minmax(0, 2fr);
  }

  .pace-section__notes,
  .pace-section__trust {
    width: 100%;
  }

  .rhythm-section__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .rhythm-card--observe {
    grid-column: 1 / span 5;
  }

  .rhythm-card--talk {
    grid-column: 5 / span 4;
  }

  .rhythm-card--cross {
    grid-column: 1 / span 5;
  }

  .rhythm-card--stay {
    grid-column: 3 / span 6;
  }

  .closing-band__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    row-gap: var(--space-5);
  }

  .closing-band__copy,
  .closing-band__quote {
    grid-column: 1 / span 8;
  }

  .closing-band__quote {
    max-width: 42rem;
  }
}

@media (max-width: 56.24rem) {
  .station {
    grid-template-columns: minmax(0, 1fr) minmax(0, 5fr);
  }

  .station__number {
    grid-column: 1;
  }

  .station__article {
    grid-column: 2;
  }

  .station__note {
    grid-column: 2;
  }

  .formats-section__grid {
    grid-template-columns: 1fr;
    row-gap: var(--space-5);
  }

  .formats-section__intro,
  .formats-section__articles,
  .formats-section__note {
    grid-column: 1;
  }

  .formats-section__articles,
  .formats-section__note {
    margin-block-start: 0;
  }

  .pace-section__notes {
    grid-template-columns: 1fr;
    row-gap: var(--space-5);
  }

  .pace-note--arrival,
  .pace-note--table {
    grid-column: 1;
  }

  .next-section__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    row-gap: var(--space-5);
  }

  .next-section__copy,
  .next-section__actions {
    grid-column: 1 / span 8;
  }
}

@media (max-width: 47.99rem) {
  .evening-hero {
    padding-block: var(--space-7);
  }

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

  .evening-hero__copy,
  .evening-hero__image,
  .evening-hero__anchor {
    grid-column: 1;
  }

  .evening-hero__copy h1 {
    font-size: 2.25rem;
  }

  .evening-hero__image img {
    min-height: 15.625rem;
    aspect-ratio: 16 / 10;
  }

  .evening-stations__heading,
  .pace-section__heading,
  .rhythm-section__heading {
    width: 100%;
    max-width: none;
  }

  .evening-stations__list {
    margin-block-start: var(--space-6);
  }

  .station {
    grid-template-columns: 1fr;
    gap: var(--space-3);
    padding-block: var(--space-5);
  }

  .station__number,
  .station__article,
  .station__note {
    grid-column: 1;
  }

  .station__number {
    font-size: 2.25rem;
  }

  .station__note {
    padding: var(--space-3) 0;
  }

  .supper-section__grid,
  .host-section__grid {
    grid-template-columns: 1fr;
    row-gap: var(--space-5);
  }

  .supper-section__copy,
  .supper-section__image,
  .host-section__image,
  .host-section__copy {
    grid-column: 1;
    max-width: none;
  }

  .supper-section__quote {
    max-width: none;
    padding: var(--space-4);
  }

  .formats-section__grid,
  .pace-section__notes,
  .next-section__grid {
    grid-template-columns: 1fr;
  }

  .formats-section__intro,
  .formats-section__articles,
  .formats-section__note,
  .pace-note--arrival,
  .pace-note--table,
  .next-section__copy,
  .next-section__actions {
    grid-column: 1;
  }

  .formats-section__articles {
    max-width: none;
    margin-block-start: var(--space-5);
  }

  .formats-section__note {
    margin-block-start: 0;
    padding: var(--space-4);
  }

  .format-card h3 {
    align-items: flex-start;
    font-size: 1.5rem;
  }

  .format-card__icon {
    flex-basis: 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
  }

  .pace-section__notes {
    width: 100%;
    margin-block-start: var(--space-5);
  }

  .pace-note--table {
    padding: 1.25rem;
  }

  .pace-section__trust {
    width: 100%;
  }

  .host-section__field-note {
    margin-block-start: var(--space-4);
  }

  .rhythm-section__grid {
    grid-template-columns: 1fr;
    row-gap: var(--space-4);
    margin-block-start: var(--space-5);
  }

  .rhythm-card--observe,
  .rhythm-card--talk,
  .rhythm-card--cross,
  .rhythm-card--stay {
    grid-column: 1;
    width: 100%;
  }

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

  .rhythm-card--talk,
  .rhythm-card--stay {
    background: var(--color-paper-wash);
  }

  .closing-band__grid {
    grid-template-columns: 1fr;
  }

  .closing-band__copy,
  .closing-band__quote {
    grid-column: 1;
  }

  .closing-band__quote {
    padding: var(--space-4) 0 var(--space-4) var(--space-4);
    font-size: 1.375rem;
  }

  .clarity-section__sheet {
    width: 100%;
    max-width: none;
    padding: 1.25rem;
  }

  .next-section__actions {
    align-items: stretch;
  }

  .next-section__actions .button {
    width: 100%;
  }

  .next-section__secondary {
    width: 100%;
  }
}

@media (max-width: 26.24rem) {
  .evening-hero__copy h1 {
    font-size: 2rem;
  }
}


.home-page,
.home-page section {
  overflow-x: clip;
}

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

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

.home-page .home-text-link {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
  text-underline-offset: 0.22em;
}

.home-hero {
  padding-block: clamp(3rem, 7vw, 6rem) clamp(4.5rem, 8vw, 7rem);
}

.home-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) minmax(0, 3fr);
  align-items: start;
  gap: 2rem;
}

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

.home-hero__intro {
  grid-column: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-4);
}

.home-hero__issue,
.home-hero__intro h1,
.home-hero__deck {
  margin: 0;
}

.home-hero__rule {
  width: 100%;
  margin: 0;
}

.home-hero__intro h1 {
  max-width: 11ch;
  font-size: clamp(3.25rem, 6.1vw, 4.5rem);
  overflow-wrap: anywhere;
}

.home-hero__deck {
  width: min(100%, 37.5rem);
  font-size: var(--text-lg);
  line-height: 1.55;
}

.home-hero__deck p:last-child {
  margin-block-end: 0;
}

.home-hero__figure {
  grid-column: 2;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.home-hero__figure img {
  aspect-ratio: 4 / 5;
  border: var(--border-rule);
  filter: grayscale(0.8) sepia(0.12) contrast(1.04);
}

.home-hero__note {
  grid-column: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-5);
  border-top: 2px solid var(--color-muted-cherry);
  background: var(--color-paper-wash);
}

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

.home-hero__note h2 {
  font-size: var(--text-2xl);
}

.home-hero__note p:not(.eyebrow) {
  max-width: 19rem;
  overflow-wrap: anywhere;
}

.home-principle__grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 1fr) minmax(0, 3fr);
  align-items: start;
  gap: 2rem;
}

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

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

.home-principle__article h2 {
  font-size: var(--text-2xl);
}

.home-principle__copy {
  max-width: 45rem;
}

.home-principle__aside {
  grid-column: 3;
  padding: var(--space-4) 0;
  border-top: var(--border-rule);
  border-bottom: var(--border-rule);
}

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

.home-no-list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: var(--space-3) 0 0;
}

.home-no-list li {
  min-width: 0;
  padding-block: var(--space-3);
  border-top: var(--border-rule);
  overflow-wrap: anywhere;
}

.home-no-list li:first-child {
  border-top: 0;
}

.home-no-list span {
  margin-inline-end: var(--space-2);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.home-principle blockquote {
  width: min(100%, 37rem);
  margin: var(--space-6) 0 0 var(--space-5);
}

.home-tables__intro {
  width: min(100%, 33rem);
  border-top: 2px solid var(--color-muted-cherry);
  padding-top: var(--space-4);
}

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

.home-tables__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 4fr) minmax(0, 3fr);
  align-items: start;
  gap: 2rem;
  margin-top: var(--space-7);
}

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

.home-table-module {
  min-width: 0;
  overflow-wrap: anywhere;
}

.home-table-module--poker {
  grid-column: 1;
  padding-top: var(--space-4);
  border-top: var(--border-rule);
}

.home-table-module--roulette {
  grid-column: 2;
  margin-top: var(--space-7);
}

.home-table-module--blackjack {
  grid-column: 3;
  padding-top: var(--space-4);
  border-top: var(--border-rule);
}

.home-table-module figure {
  margin: 0 0 var(--space-5);
}

.home-table-module figure img {
  aspect-ratio: 3 / 2;
  border: var(--border-rule);
  filter: grayscale(0.92) sepia(0.16) contrast(1.07);
}

.home-table-module h3 {
  font-size: clamp(1.7rem, 2.5vw, 2.1rem);
}

.home-table-module h3 a {
  text-decoration-thickness: 1px;
}

.home-mood-list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: var(--space-5) 0 0;
  border-top: var(--border-rule);
}

.home-mood-list li {
  padding-block: var(--space-2);
  border-bottom: var(--border-rule);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
}

.home-table-module__closing {
  padding-top: var(--space-3);
  border-top: var(--border-rule);
  font-style: italic;
}

.home-rhythm__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 1fr) minmax(0, 8fr);
  align-items: start;
  gap: 2rem;
}

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

.home-rhythm__intro {
  grid-column: 1;
  width: 100%;
}

.home-rhythm__intro h2 {
  font-size: clamp(2rem, 3vw, 2.25rem);
}

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

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

.home-step {
  min-width: 0;
  border-top: var(--border-rule);
  padding-top: var(--space-3);
}

.home-step summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  min-width: 0;
  gap: var(--space-3);
  cursor: pointer;
  list-style: none;
}

.home-step summary::-webkit-details-marker {
  display: none;
}

.home-step summary span {
  color: color-mix(in srgb, var(--color-sepia) 68%, transparent);
  font-family: var(--font-heading);
  font-size: 2.5rem;
  font-weight: 650;
  line-height: 1;
}

.home-step summary strong {
  min-width: 0;
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.home-step summary em {
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.home-step p {
  margin: var(--space-3) 0 0;
  overflow-wrap: anywhere;
}

.home-supper__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr);
  align-items: start;
  gap: 2rem;
}

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

.home-supper__figure {
  grid-column: 1;
  margin: 0;
}

.home-supper__figure img {
  aspect-ratio: 16 / 9;
  border: var(--border-rule);
  filter: grayscale(0.7) sepia(0.08) contrast(1.03);
}

.home-supper__article {
  grid-column: 3;
  min-width: 0;
}

.home-supper__article h2 {
  font-size: clamp(2rem, 3.2vw, 2.5rem);
}

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

.home-supper__article blockquote {
  margin-block: var(--space-5);
  font-size: var(--text-xl);
}

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

.home-hosts__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 4fr) minmax(0, 2fr);
  align-items: start;
  gap: 2rem;
  margin-top: var(--space-7);
}

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

.home-hosts__article--lead {
  grid-column: 1;
  width: min(100%, 28.75rem);
}

.home-hosts__article--report {
  grid-column: 3;
  width: min(100%, 25rem);
}

.home-hosts__article h3 {
  font-size: var(--text-2xl);
}

.home-hosts__quote {
  width: min(100%, 37.5rem);
  margin: var(--space-7) auto var(--space-4);
  border-block: var(--border-rule);
  border-inline: 0;
  padding: var(--space-5) 0;
  text-align: center;
}

.home-hosts__link {
  display: flex;
  width: max-content;
  max-width: 100%;
  margin-inline: auto;
}

.home-groups__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr);
  align-items: start;
  gap: 2rem;
}

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

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

.home-groups__article h2 {
  font-size: clamp(2rem, 3.2vw, 2.5rem);
}

.home-groups__copy {
  width: min(100%, 42.5rem);
}

.home-prep-list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: min(100%, 42.5rem);
  margin: var(--space-5) 0 0;
  border-top: var(--border-rule);
}

.home-prep-list li {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-3);
  padding-block: var(--space-3);
  border-bottom: var(--border-rule);
  overflow-wrap: anywhere;
}

.home-prep-list span {
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
}

.home-groups__panel {
  grid-column: 3;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-5);
  border: var(--border-rule);
  background: var(--color-aged-paper);
}

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

.home-groups__panel p:not(.eyebrow) {
  max-width: 20rem;
  overflow-wrap: anywhere;
}

.home-groups__panel .button {
  width: 100%;
}

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

.home-paths__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 4fr) minmax(0, 3fr) minmax(0, 2fr);
  align-items: start;
  gap: 2rem;
  margin-top: var(--space-7);
}

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

.home-path {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: var(--border-rule);
}

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

.home-path h3 {
  font-size: var(--text-2xl);
}

.home-path p:not(.eyebrow) {
  overflow-wrap: anywhere;
}

.home-path--evening { grid-column: 1; }
.home-path--tables { grid-column: 2; border-top: 2px solid var(--color-muted-cherry); }
.home-path--supper { grid-column: 3; }
.home-path--hosts { grid-column: 4; margin-top: var(--space-7); }

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

.home-faq__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(100%, 52rem);
  min-width: 0;
  gap: 0 var(--space-6);
  margin-top: var(--space-7);
}

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

.home-faq__item {
  min-width: 0;
  border-bottom: var(--border-rule);
}

.home-faq__item summary {
  display: block;
  min-width: 0;
  padding-block: var(--space-4);
  cursor: pointer;
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: 650;
  line-height: 1.3;
  list-style: none;
  overflow-wrap: anywhere;
}

.home-faq__item summary::-webkit-details-marker {
  display: none;
}

.home-faq__item summary .eyebrow {
  display: block;
  margin-bottom: var(--space-2);
}

.home-faq__item p {
  margin: 0 0 var(--space-4);
  overflow-wrap: anywhere;
}

.home-closing__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr);
  align-items: start;
  gap: 2rem;
}

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

.home-closing__statement {
  grid-column: 1;
  width: min(100%, 40rem);
}

.home-closing__statement .eyebrow {
  color: color-mix(in srgb, var(--color-aged-paper) 72%, var(--color-sepia));
}

.home-closing__statement h2 {
  font-size: clamp(2.25rem, 4vw, 3.25rem);
}

.home-closing__panel {
  grid-column: 3;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-5);
  color: var(--color-forest-black);
  background: var(--color-paper-wash);
  box-shadow: var(--shadow-paper);
}

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

.home-closing__panel h3 {
  color: var(--color-forest-black);
}

.home-closing__panel p:not(.eyebrow) {
  max-width: 21rem;
  overflow-wrap: anywhere;
}

.home-closing__panel .button {
  width: 100%;
}

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

  .home-hero__intro { grid-column: 1; }
  .home-hero__figure { grid-column: 2; }
  .home-hero__note { grid-column: 1 / -1; width: min(100%, 28rem); }

  .home-principle__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 3fr);
  }

  .home-principle__article { grid-column: 1; }
  .home-principle__aside { grid-column: 2; }

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

  .home-table-module--poker { grid-column: 1; }
  .home-table-module--roulette { grid-column: 2; margin-top: var(--space-5); }
  .home-table-module--blackjack { grid-column: 1 / -1; width: min(100%, 50%); }

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

  .home-rhythm__intro,
  .home-rhythm__steps {
    grid-column: 1;
  }

  .home-rhythm__intro { width: min(100%, 34rem); }

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

  .home-supper__figure,
  .home-supper__article {
    grid-column: 1;
  }

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

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

  .home-hosts__article--lead,
  .home-hosts__article--report {
    grid-column: auto;
    width: 100%;
  }

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

  .home-groups__article,
  .home-groups__panel {
    grid-column: 1;
  }

  .home-groups__panel { width: min(100%, 32rem); }

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

  .home-path--tables { grid-column: 2; }
  .home-path--supper { grid-column: 1; }
  .home-path--hosts { grid-column: 2; margin-top: 0; }

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

  .home-closing__statement,
  .home-closing__panel {
    grid-column: 1;
  }

  .home-closing__panel { width: min(100%, 32rem); }
}

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

  .home-hero__intro,
  .home-hero__figure,
  .home-hero__note {
    grid-column: 1;
  }

  .home-hero__intro h1 { max-width: 14ch; }
  .home-hero__note { width: min(100%, 34rem); }

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

  .home-principle__article,
  .home-principle__aside {
    grid-column: 1;
  }

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

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

  .home-faq__grid {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }
}

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

  .home-hosts__article--lead,
  .home-hosts__article--report {
    grid-column: 1;
  }

  .home-hosts__article--report {
    padding-top: var(--space-5);
    border-top: var(--border-rule);
  }
}

@media (max-width: 43.74rem) {
  .home-tables__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .home-table-module--poker,
  .home-table-module--roulette,
  .home-table-module--blackjack {
    grid-column: 1;
    width: 100%;
    margin-top: 0;
  }

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

  .home-path--evening,
  .home-path--tables,
  .home-path--supper,
  .home-path--hosts {
    grid-column: 1;
    margin-top: 0;
  }
}

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

  .home-hero__grid,
  .home-principle__grid,
  .home-rhythm__grid,
  .home-supper__grid,
  .home-groups__grid,
  .home-closing__grid {
    gap: var(--space-5);
  }

  .home-hero__intro h1 {
    max-width: none;
    font-size: clamp(2.5rem, 11vw, 2.75rem);
    line-height: 1.02;
  }

  .home-hero__deck {
    width: min(100%, 38ch);
    font-size: var(--text-base);
  }

  .home-hero__note,
  .home-groups__panel,
  .home-closing__panel {
    width: 100%;
    padding: var(--space-4);
  }

  .home-principle blockquote {
    width: 100%;
    margin-inline: 0;
  }

  .home-principle__aside { width: 100%; }

  .home-no-list li {
    display: flex;
    align-items: center;
    min-height: 2.75rem;
  }

  .home-tables__grid,
  .home-hosts__grid,
  .home-paths__grid {
    margin-top: var(--space-6);
  }

  .home-table-module h3,
  .home-hosts__article h3,
  .home-path h3 {
    font-size: clamp(1.75rem, 8vw, 2rem);
  }

  .home-step summary {
    grid-template-columns: 2.8rem minmax(0, 1fr);
    gap: var(--space-2);
  }

  .home-step summary em {
    grid-column: 2;
  }

  .home-step summary span { font-size: 2.2rem; }
  .home-step summary strong { font-size: 1.45rem; }

  .home-supper__figure {
    width: calc(100% + 1rem);
    margin-left: -0.5rem;
  }

  .home-supper__article { width: 100%; }
  .home-supper__copy,
  .home-groups__copy { width: 100%; }

  .home-hosts__heading {
    width: 100%;
    text-align: left;
  }

  .home-hosts__quote {
    width: 100%;
    margin-top: var(--space-6);
    text-align: left;
  }

  .home-hosts__link {
    width: 100%;
    margin-inline: 0;
  }

  .home-prep-list,
  .home-faq__heading,
  .home-paths__heading,
  .home-tables__intro,
  .home-rhythm__intro,
  .home-closing__statement {
    width: 100%;
  }

  .home-groups__panel .button,
  .home-closing__panel .button {
    min-height: 3rem;
  }

  .home-faq__grid { margin-top: var(--space-6); }
  .home-faq__item summary { min-height: 3rem; font-size: 1.35rem; }
}


.asztalformatumok-page {
  overflow-x: hidden;
  background: var(--color-aged-paper);
}

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

.af-hero {
  padding-block: clamp(3rem, 7vw, 6rem) clamp(4.5rem, 9vw, 7rem);
}

.af-hero__grid,
.af-formats__grid,
.af-expect__grid,
.af-dining__grid,
.af-private__cards,
.af-principles__grid,
.af-contact__grid,
.af-related__grid {
  display: grid;
  min-width: 0;
}

.af-hero__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 2rem;
  align-items: start;
}

.af-hero__copy {
  grid-column: 1 / span 7;
  min-width: 0;
}

.af-hero__copy h1 {
  max-width: 520px;
  font-size: clamp(3.25rem, 5.2vw, 4rem);
}

.af-hero__copy .deck {
  max-width: 590px;
}

.af-offline-note {
  display: flex;
  flex-direction: column;
  max-width: 500px;
  min-width: 0;
  gap: var(--space-2);
  margin-top: var(--space-5);
  padding-top: var(--space-3);
  border-top: 2px solid var(--color-muted-cherry);
}

.af-offline-note p,
.af-hero__figure figcaption,
.af-formats__intro > :last-child,
.af-roulette-story__copy > :last-child,
.af-poker-story > :last-child,
.af-blackjack-story__copy > :last-child,
.af-rhythm-note > :last-child,
.af-comparison__intro > :last-child,
.af-comparison-quote > :last-child,
.af-expect__intro > :last-child,
.af-host-note > :last-child,
.af-dining__intro > :last-child,
.af-dining__rhythms article > :last-child,
.af-dining__roulette > :last-child,
.af-private__intro > :last-child,
.af-private-card > :last-child,
.af-private__cta,
.af-principles__frame > :last-child,
.af-principles__list article > :last-child,
.af-contact__copy > :last-child,
.af-contact__note > :last-child,
.af-related__intro > :last-child,
.af-related__grid article > :last-child {
  margin-bottom: 0;
}

.af-hero__figure {
  grid-column: 9 / span 4;
  min-width: 0;
  margin: 0;
}

.af-hero__figure img {
  min-height: 460px;
  aspect-ratio: 4 / 5;
}

.af-hero__figure figcaption {
  border-bottom: var(--border-rule);
  padding-bottom: var(--space-2);
}

.af-formats__intro {
  width: 100%;
  max-width: 650px;
  margin-bottom: var(--space-7);
}

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

.af-poker-story,
.af-roulette-story,
.af-blackjack-story,
.af-rhythm-note,
.af-roulette-story__copy,
.af-blackjack-story__copy {
  min-width: 0;
}

.af-poker-story {
  grid-column: 1 / span 7;
  max-width: 650px;
  padding-top: var(--space-4);
  border-top: var(--border-rule);
}

.af-story__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  min-width: 0;
  gap: var(--space-4);
}

.af-margin-label {
  margin: 0;
  color: var(--color-sepia);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.af-roulette-story {
  grid-column: 8 / span 5;
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-5);
  padding: var(--space-5);
}

.af-roulette-story__figure {
  min-width: 0;
  margin: 0;
}

.af-roulette-story__figure img {
  aspect-ratio: 3 / 2;
}

.af-roulette-story__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.af-roulette-story__copy :is(h3, p) {
  margin: 0;
}

.af-blackjack-story {
  grid-column: 1 / span 6;
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: var(--space-4);
  padding-top: var(--space-5);
  border-top: var(--border-rule);
}

.af-story-number {
  margin: 0;
  color: var(--color-muted-cherry);
  font-family: var(--font-heading);
  font-size: 2.5rem;
  font-weight: 650;
  line-height: 1;
}

.af-blackjack-story__copy {
  max-width: 540px;
}

.af-rhythm-note {
  grid-column: 8 / span 3;
  padding-block: var(--space-4);
  border-top: var(--border-rule);
  border-bottom: var(--border-rule);
}

.af-rhythm-note h3 {
  font-size: 1.5rem;
}

.af-comparison__intro {
  max-width: 700px;
  margin-bottom: var(--space-6);
}

.af-table-wrap {
  width: 100%;
  min-width: 0;
}

.af-comparison-table {
  table-layout: fixed;
  margin: 0;
  border-top: var(--border-rule);
}

.af-comparison-table th,
.af-comparison-table td {
  padding: 1.5rem;
  font-size: var(--text-base);
}

.af-comparison-table th:not(:last-child),
.af-comparison-table td:not(:last-child) {
  border-right: var(--border-rule);
}

.af-comparison-table th:nth-child(1) { width: 20%; }
.af-comparison-table th:nth-child(2) { width: 22%; }
.af-comparison-table th:nth-child(3) { width: 30%; }
.af-comparison-table th:nth-child(4) { width: 28%; }

.af-comparison-table tbody tr:focus-visible {
  outline: 2px solid var(--color-muted-cherry);
  outline-offset: -2px;
}

.af-comparison-quote {
  max-width: 520px;
  margin-top: var(--space-6);
}

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

.af-expect__content {
  grid-column: 1 / span 8;
  min-width: 0;
}

.af-expect__intro {
  max-width: 680px;
  margin-bottom: var(--space-5);
}

.af-details-list {
  display: flex;
  flex-direction: column;
  max-width: 680px;
  min-width: 0;
  gap: var(--space-3);
}

.af-details-list details {
  min-width: 0;
  border-top: var(--border-rule);
  border-bottom: var(--border-rule);
}

.af-details-list summary {
  position: relative;
  min-height: 2.75rem;
  padding: 1rem 2.5rem 1rem 0;
  color: var(--color-forest-black);
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: var(--text-base);
  font-weight: 700;
  line-height: 1.4;
  list-style: none;
}

.af-details-list summary::-webkit-details-marker { display: none; }

.af-details-list summary::after {
  position: absolute;
  top: 50%;
  right: .25rem;
  width: .6rem;
  height: .6rem;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  content: "";
  transform: translateY(-65%) rotate(45deg);
  transition: transform var(--transition-standard);
}

.af-details-list details[open] summary::after { transform: translateY(-35%) rotate(225deg); }

.af-details__body {
  max-width: 610px;
  overflow: hidden;
  padding: 0 0 var(--space-4);
}

.af-details__body p:last-child { margin-bottom: 0; }

.af-host-note {
  grid-column: 10 / span 3;
  min-width: 0;
  padding: var(--space-5);
  border-radius: var(--radius-sm);
  color: var(--color-aged-paper);
  background: var(--color-inverse-paper);
}

.af-host-note .metadata { color: var(--color-aged-paper); }

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

.af-dining__figure {
  grid-column: 1 / span 7;
  min-width: 0;
  margin: 0;
}

.af-dining__figure img { aspect-ratio: 16 / 9; }

.af-dining__intro {
  grid-column: 9 / span 4;
  max-width: 390px;
  min-width: 0;
  padding-bottom: var(--space-5);
  border-bottom: var(--border-rule);
}

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

.af-dining__rhythms article,
.af-dining__roulette { min-width: 0; }

.af-dining__roulette {
  grid-column: 9 / span 4;
  max-width: 360px;
  padding-left: var(--space-4);
  border-left: 1px solid var(--color-sepia);
}

.af-private__intro {
  max-width: 650px;
  margin-bottom: var(--space-6);
}

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

.af-private-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  padding: var(--space-5);
  border: var(--border-rule);
}

.af-private-card > :is(h3, p) { margin: 0; }
.af-private-card:nth-child(1) { grid-column: 1 / span 4; }
.af-private-card:nth-child(2) { grid-column: 5 / span 3; margin-top: var(--space-5); }
.af-private-card:nth-child(3) { grid-column: 9 / span 4; }
.af-private-card--wash { background: var(--color-paper-wash); }

.af-private__cta {
  max-width: 650px;
  margin-top: var(--space-6);
  padding-top: var(--space-4);
  border-top: var(--border-rule);
}

.af-private__cta a {
  color: var(--color-muted-cherry);
  font-weight: 700;
}

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

.af-principles__quote {
  grid-column: 1 / span 7;
  max-width: 660px;
  margin: 0;
  padding: 0 0 0 var(--space-5);
  border-left: 2px solid var(--color-muted-cherry);
  font-size: clamp(1.75rem, 3vw, 2.25rem);
}

.af-principles__frame {
  grid-column: 9 / span 4;
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-2);
  padding: var(--space-5);
  color: var(--color-forest-black);
  background: var(--color-aged-paper);
}

.af-principles__list {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 3fr 4fr 3fr;
  min-width: 0;
  margin-top: var(--space-2);
}

.af-principles__list article {
  min-width: 0;
  padding: var(--space-4);
  border-top: 1px solid color-mix(in srgb, var(--color-sepia) 76%, transparent);
}

.af-principles__list article:not(:last-child) { border-right: 1px solid color-mix(in srgb, var(--color-sepia) 76%, transparent); }
.af-principles__list .metadata { color: var(--color-aged-paper); }
.af-principles__list h3 { font-size: 1.3rem; color: var(--color-aged-paper); }

.af-contact__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
  padding-bottom: var(--space-6);
  border-bottom: var(--border-rule);
}

.af-contact__copy {
  grid-column: 1 / span 7;
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 590px;
  gap: var(--space-4);
}

.af-contact__copy > :is(p, h2) { margin: 0; }

.af-contact__copy .button { align-self: flex-start; }

.af-contact__note {
  grid-column: 9 / span 4;
  max-width: 360px;
  min-width: 0;
}

.af-contact__note ul {
  margin: 0;
}

.af-contact__note li {
  padding-block: var(--space-3);
  border-top: var(--border-rule);
}

.af-contact__note li:last-child { border-bottom: var(--border-rule); }

.af-related__intro {
  max-width: 620px;
  margin-bottom: var(--space-6);
}

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

.af-related__grid article {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  padding: var(--space-5);
  border: var(--border-rule);
}

.af-related__grid article > :is(h3, p) { margin: 0; }
.af-related__grid article:nth-child(1) { grid-column: 1 / span 4; }
.af-related__grid article:nth-child(2) { grid-column: 5 / span 4; margin-top: var(--space-5); }
.af-related__grid article:nth-child(3) { grid-column: 10 / span 3; }
.af-related__wash { background: var(--color-paper-wash); }
.af-related__grid a { min-height: 2.75rem; display: inline-flex; align-items: center; font-family: var(--font-ui); font-weight: 700; }

@media (max-width: 63.75rem) {
  .af-hero__grid,
  .af-formats__grid,
  .af-expect__grid,
  .af-dining__grid,
  .af-private__cards,
  .af-principles__grid,
  .af-contact__grid,
  .af-related__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }

  .af-hero__copy { grid-column: 1 / span 5; }
  .af-hero__figure { grid-column: 6 / span 3; }
  .af-hero__figure img { min-height: 380px; }
  .af-poker-story { grid-column: 1 / -1; max-width: 650px; }
  .af-roulette-story { grid-column: 1 / span 4; }
  .af-blackjack-story { grid-column: 5 / span 4; }
  .af-rhythm-note { grid-column: 1 / -1; max-width: 520px; border-left: 2px solid var(--color-muted-cherry); padding-left: var(--space-4); }
  .af-expect__content { grid-column: 1 / span 8; }
  .af-host-note { grid-column: 1 / -1; max-width: none; }
  .af-dining__figure { grid-column: 1 / span 8; }
  .af-dining__intro { grid-column: 1 / span 5; max-width: 500px; }
  .af-dining__rhythms { grid-column: 1 / span 5; }
  .af-dining__roulette { grid-column: 6 / span 3; }
  .af-private-card:nth-child(1) { grid-column: 1 / span 4; }
  .af-private-card:nth-child(2) { grid-column: 5 / span 4; margin-top: 0; }
  .af-private-card:nth-child(3) { grid-column: 1 / -1; }
  .af-principles__quote { grid-column: 1 / -1; }
  .af-principles__frame { grid-column: 1 / span 4; }
  .af-principles__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .af-principles__list article:nth-child(3) { grid-column: 1 / -1; }
  .af-contact__copy { grid-column: 1 / span 8; }
  .af-contact__note { grid-column: 1 / span 5; }
  .af-related__grid article:nth-child(1) { grid-column: 1 / span 4; }
  .af-related__grid article:nth-child(2) { grid-column: 5 / span 4; margin-top: 0; }
  .af-related__grid article:nth-child(3) { grid-column: 1 / -1; }
}

@media (max-width: 56.25rem) {
  .af-hero__grid,
  .af-expect__grid,
  .af-dining__grid,
  .af-principles__grid,
  .af-contact__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .af-hero__copy,
  .af-hero__figure,
  .af-expect__content,
  .af-host-note,
  .af-dining__figure,
  .af-dining__intro,
  .af-dining__rhythms,
  .af-dining__roulette,
  .af-principles__quote,
  .af-principles__frame,
  .af-contact__copy,
  .af-contact__note { grid-column: 1 / -1; }
  .af-hero__figure { max-width: 460px; }
  .af-dining__intro { max-width: 540px; }
  .af-dining__roulette { max-width: 540px; }
  .af-comparison-table th,
  .af-comparison-table td { padding: 1rem; }
}

@media (max-width: 47.99rem) {
  .af-hero { padding-top: var(--space-7); }
  .af-hero__grid,
  .af-formats__grid,
  .af-expect__grid,
  .af-dining__grid,
  .af-private__cards,
  .af-principles__grid,
  .af-contact__grid,
  .af-related__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .af-hero__copy,
  .af-hero__figure,
  .af-poker-story,
  .af-roulette-story,
  .af-blackjack-story,
  .af-rhythm-note,
  .af-expect__content,
  .af-host-note,
  .af-dining__figure,
  .af-dining__intro,
  .af-dining__rhythms,
  .af-dining__roulette,
  .af-private-card:nth-child(1),
  .af-private-card:nth-child(2),
  .af-private-card:nth-child(3),
  .af-principles__quote,
  .af-principles__frame,
  .af-contact__copy,
  .af-contact__note,
  .af-related__grid article:nth-child(1),
  .af-related__grid article:nth-child(2),
  .af-related__grid article:nth-child(3) { grid-column: 1; }
  .af-hero__copy h1 { max-width: none; font-size: clamp(2.25rem, 11vw, 2.65rem); line-height: 1.02; }
  .af-hero__copy .deck, .af-offline-note, .af-hero__figure, .af-formats__intro, .af-comparison__intro, .af-comparison-quote, .af-expect__intro, .af-details-list, .af-dining__intro, .af-dining__roulette, .af-private__intro, .af-private__cta, .af-contact__copy, .af-contact__note, .af-related__intro { max-width: none; }
  .af-hero__figure img { min-height: 320px; }
  .af-roulette-story { order: 2; padding: var(--space-5); }
  .af-poker-story { order: 1; }
  .af-blackjack-story { order: 3; grid-template-columns: 2.5rem minmax(0, 1fr); }
  .af-rhythm-note { order: 4; }
  .af-roulette-story__figure { order: -1; }
  .af-comparison-table, .af-comparison-table tbody, .af-comparison-table tr, .af-comparison-table th, .af-comparison-table td { display: block; width: 100%; }
  .af-comparison-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .af-comparison-table tr { padding: var(--space-4) 0; border-top: var(--border-rule); }
  .af-comparison-table tr:last-child { border-bottom: var(--border-rule); }
  .af-comparison-table th, .af-comparison-table td { padding: var(--space-2) 0; border: 0 !important; }
  .af-comparison-table td::before { display: block; margin-bottom: var(--space-1); color: var(--color-sepia); content: attr(data-label); font-family: var(--font-ui); font-size: var(--text-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
  .af-details__body { padding-right: var(--space-4); }
  .af-host-note { padding: var(--space-5); }
  .af-dining__rhythms { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .af-dining__rhythms article { padding-block: var(--space-4); border-top: var(--border-rule); }
  .af-dining__roulette { padding-left: 0; border-left: 0; border-top: var(--border-rule); padding-top: var(--space-4); }
  .af-private-card:nth-child(2), .af-related__grid article:nth-child(2) { margin-top: 0; }
  .af-principles__list { grid-column: 1; grid-template-columns: minmax(0, 1fr); }
  .af-principles__list article:nth-child(3) { grid-column: 1; }
  .af-principles__list article:not(:last-child) { border-right: 0; }
  .af-principles__quote { font-size: 1.75rem; }
  .af-contact__copy .button { width: 100%; justify-content: flex-start; }
  .af-related__grid article { padding: var(--space-5); }
}

@media (prefers-reduced-motion: no-preference) {
  .af-details__body { animation: af-details-reveal 220ms ease both; }
  @keyframes af-details-reveal { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
}


.thank-you-page {
  display: grid;
  min-height: clamp(34rem, 68vh, 46rem);
  place-items: center;
  padding-block: clamp(var(--space-8), 10vw, var(--space-10));
}

.thank-you-page__panel {
  width: min(100%, 48rem);
  padding: clamp(var(--space-5), 5vw, var(--space-7));
  border-top: 2px solid var(--color-muted-cherry);
  border-bottom: var(--border-rule);
  background: var(--color-paper-wash);
  text-align: center;
}

.thank-you-page__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
}

.thank-you-page__content > * {
  margin-block: 0;
}

.thank-you-page__eyebrow {
  color: var(--color-muted-cherry);
}

.thank-you-page__title {
  max-width: 13ch;
  margin-inline: auto;
}

.thank-you-page__copy {
  max-width: 42rem;
  margin-inline: auto;
  font-size: var(--text-lg);
  line-height: 1.55;
  text-align: center;
}

.thank-you-page__next {
  width: min(100%, 40rem);
  margin-inline: auto;
  padding-block: var(--space-4);
  border-top: var(--border-rule);
  border-bottom: var(--border-rule);
  text-align: center;
}

.thank-you-page__next-title {
  margin-block: 0 var(--space-2);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.thank-you-page__next-copy {
  max-width: 38rem;
  margin: 0 auto;
  text-align: center;
}

.thank-you-page__actions {
  justify-content: center;
}

@media (max-width: 47.99rem) {
  .thank-you-page {
    min-height: auto;
    padding-block: var(--space-8);
  }

  .thank-you-page__panel {
    padding: var(--space-5) var(--space-4);
  }

  .thank-you-page__actions {
    width: 100%;
    flex-direction: column;
  }

  .thank-you-page__actions .button {
    width: 100%;
  }
}