

:root {
  --color-dusk-950: #160B2E;
  --color-dusk-900: #241044;
  --color-plum-800: #35165C;
  --color-paper-100: #FFF4D6;
  --color-paper-200: #F0D9C3;
  --color-pink-500: #FF3FA4;
  --color-cyan-400: #48E0E8;
  --color-yellow-300: #FFD166;
  --color-chrome-100: #D9E2F2;
  --color-ink-950: #160B2E;
  --color-white-100: #FFFFFF;
  --color-focus-cyan: #48E0E8;
  --color-overlay-950: rgba(9, 4, 20, 0.86);

  --color-page: var(--color-dusk-950);
  --color-surface: var(--color-paper-100);
  --color-surface-muted: var(--color-paper-200);
  --color-surface-dark: var(--color-dusk-900);
  --color-surface-raised: var(--color-plum-800);
  --color-text: var(--color-white-100);
  --color-text-dark: var(--color-ink-950);
  --color-border: rgba(217, 226, 242, 0.5);
  --color-border-subtle: rgba(255, 244, 214, 0.18);
  --color-link: var(--color-cyan-400);

  --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-heading: "Space Grotesk", "Arial Black", Impact, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;

  --text-utility: 0.6875rem;
  --text-label: 0.8125rem;
  --text-body: 1rem;
  --text-lead: 1.25rem;
  --text-section: clamp(1.75rem, 3vw, 2.5rem);
  --text-subdisplay: clamp(2rem, 4vw, 4rem);
  --text-display: clamp(2.625rem, 8vw, 6.5rem);

  --leading-utility: 1.2;
  --leading-label: 1.35;
  --leading-body: 1.55;
  --leading-heading: 1;
  --leading-display: 0.88;

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

  --container-max: 75rem;
  --container-padding: 1.75rem;
  --content-readable: 42.5rem;
  --content-display: 51.25rem;

  --header-height: 4.5rem;
  --section-space: 7rem;

  --radius-none: 0;
  --radius-sm: 0.125rem;
  --radius-lg: 0.375rem;

  --border-width: 1px;
  --border-keyline: 2px;

  --shadow-offset: 4px 4px 0 var(--color-dusk-950);
  --shadow-paper: inset 0 1px 0 rgba(255, 255, 255, 0.46), 3px 3px 0 rgba(22, 11, 46, 0.24);
  --shadow-glow-cyan: 0 0 18px rgba(72, 224, 232, 0.24);
  --shadow-glow-pink: 0 0 18px rgba(255, 63, 164, 0.22);

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

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

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

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

body.is-scroll-locked {
  overflow: hidden;
}

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

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

img,
video {
  height: auto;
}

iframe {
  display: block;
  max-width: 100%;
  border: 0;
}

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

button,
select {
  text-transform: none;
}

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

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

input,
select,
textarea {
  width: 100%;
  border: 1px solid currentColor;
  border-radius: var(--radius-sm);
  background: transparent;
}

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

::placeholder {
  color: currentColor;
  opacity: 0.62;
}

a {
  color: inherit;
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

a:hover {
  color: var(--color-cyan-400);
}

button,
a,
input,
select,
textarea,
summary {
  -webkit-tap-highlight-color: transparent;
}

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

[hidden] {
  display: none !important;
}

[aria-hidden="true"] {
  pointer-events: none;
}

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

ul {
  list-style: none !important;
}

ol {
  padding-inline-start: 1.5em;
}

ul,
ol {
  margin-block: 0 1.5rem;
  padding-inline-start: 1.5em;
}

ul:not([class]),
ol:not([class]) {
  list-style-position: outside;
}

ul:not([class]) {
  list-style: square !important;
}

ul:not([class]) li::marker {
  color: var(--color-pink-500);
}

ol:not([class]) li::marker {
  color: var(--color-cyan-400);
  font-weight: 700;
}

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

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

h2 {
  font-size: var(--text-subdisplay);
  line-height: 0.96;
}

h3 {
  font-size: var(--text-section);
  line-height: 1.05;
}

h4 {
  font-size: var(--text-lead);
  line-height: 1.2;
}

h5,
h6 {
  font-size: var(--text-body);
  line-height: 1.25;
}

p {
  margin: 0 0 var(--space-4);
  font-size: inherit;
  line-height: var(--leading-body);
  overflow-wrap: break-word;
}

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-pink-500);
  font-family: var(--font-heading);
  font-size: var(--text-lead);
  line-height: var(--leading-label);
}

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

figcaption {
  margin-top: var(--space-2);
  color: currentColor;
  font-size: var(--text-label);
  line-height: var(--leading-label);
}

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

dt {
  font-family: var(--font-heading);
  font-weight: 700;
}

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

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

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

th {
  font-family: var(--font-heading);
  font-weight: 700;
}

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

strong,
b {
  font-weight: 700;
}

code,
kbd,
samp,
pre {
  font-family: var(--font-mono);
}

code,
kbd {
  padding: 0.08em 0.28em;
  border: 1px solid currentColor;
  border-radius: var(--radius-sm);
  font-size: 0.92em;
}

pre {
  margin: 0 0 var(--space-5);
  padding: var(--space-4);
  overflow: auto;
  border: 1px solid var(--color-border);
  background: var(--color-dusk-900);
}

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

section > :last-child,
article > :last-child,
aside > :last-child,
fieldset > :last-child,
blockquote > :last-child,
figure > :last-child,
.card > :last-child,
.panel > :last-child,
.stack > :last-child,
.cluster > :last-child {
  margin-block-end: 0;
}

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

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

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

.surface-paper-muted {
  background: var(--color-surface-muted);
  color: var(--color-text-dark);
}

.surface-dark {
  background: var(--color-surface-dark);
  color: var(--color-white-100);
}

.surface-raised {
  background: var(--color-surface-raised);
  color: var(--color-white-100);
}

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

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

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

.card--paper,
.panel--paper {
  border-color: rgba(22, 11, 46, 0.35);
  background: var(--color-paper-100);
  color: var(--color-ink-950);
  box-shadow: var(--shadow-paper);
}

.card--keyline,
.panel--keyline {
  border: var(--border-keyline) solid var(--color-pink-500);
}

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

.rule--chrome {
  background: var(--color-chrome-100);
}

.rule--pink {
  height: 2px;
  background: var(--color-pink-500);
}

.eyebrow,
.label,
.badge {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: var(--leading-utility);
  text-transform: uppercase;
}

.eyebrow,
.label {
  color: var(--color-cyan-400);
}

.badge {
  padding: var(--space-2) var(--space-3);
  border: 1px solid currentColor;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--color-yellow-300);
}

.badge--pink {
  color: var(--color-pink-500);
}

.badge--cyan {
  color: var(--color-cyan-400);
}

.badge--paper {
  background: var(--color-paper-100);
  color: var(--color-ink-950);
}

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

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

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

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

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

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

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

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  max-width: 100%;
  padding: 0.7rem 1rem;
  border: 1px solid var(--color-cyan-400);
  border-radius: var(--radius-sm);
  background: transparent;
  color: inherit;
  font-family: var(--font-heading);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
  overflow-wrap: anywhere;
}

.button:hover {
  color: var(--color-ink-950);
  background: var(--color-cyan-400);
  box-shadow: var(--shadow-glow-cyan);
  transform: translateY(-2px);
}

.button--primary {
  border: 2px solid var(--color-pink-500);
  background: var(--color-pink-500);
  color: var(--color-ink-950);
}

.button--primary:hover {
  border-color: var(--color-pink-500);
  background: var(--color-pink-500);
  color: var(--color-ink-950);
  box-shadow: var(--shadow-glow-cyan);
}

.button--paper {
  border-color: var(--color-chrome-100);
  color: var(--color-paper-100);
}

.button--paper:hover {
  background: var(--color-paper-100);
  color: var(--color-ink-950);
}

.button--dark {
  border-color: var(--color-ink-950);
  color: var(--color-ink-950);
}

.button--dark:hover {
  background: var(--color-ink-950);
  color: var(--color-paper-100);
}

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

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

.form-label {
  color: inherit;
  font-family: var(--font-heading);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: var(--leading-label);
}

.input,
.select,
.textarea {
  min-height: 2.75rem;
  padding: 0.65rem 0.75rem;
  border-color: currentColor;
  border-radius: var(--radius-sm);
  background: transparent;
}

.textarea {
  min-height: 8rem;
}

.input:focus,
.select:focus,
.textarea:focus {
  outline: 2px solid var(--color-focus-cyan);
  outline-offset: 3px;
}

.nav-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  gap: var(--space-1);
  flex-direction: column;
  border: 1px solid var(--color-cyan-400);
  border-radius: var(--radius-sm);
  background: var(--color-dusk-950);
  color: var(--color-white-100);
  position: relative;
  z-index: 100;
}

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

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

.skip-link {
  position: fixed;
  top: var(--space-3);
  left: var(--space-3);
  z-index: 200;
  padding: var(--space-3) var(--space-4);
  background: var(--color-paper-100);
  color: var(--color-ink-950);
  font-weight: 700;
  transform: translateY(-180%);
  transition: transform var(--transition-fast);
}

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

.frame {
  position: relative;
  min-width: 0;
  padding: var(--space-1);
  border: 1px solid var(--color-chrome-100);
  border-radius: var(--radius-sm);
  background: var(--color-dusk-900);
  box-shadow: var(--shadow-offset);
}

.frame::before {
  position: absolute;
  inset: var(--space-1);
  z-index: 1;
  border: 2px solid var(--color-cyan-400);
  content: "";
  pointer-events: none;
}

.frame--pink::before {
  border-color: var(--color-pink-500);
}

.frame > img,
.frame > picture,
.frame > video {
  width: 100%;
  position: relative;
}

@media (max-width: 56.25rem) {
  :root {
    --container-padding: 1.25rem;
    --section-space: 5rem;
  }

  h1 {
    font-size: clamp(2.625rem, 9vw, 4.75rem);
  }

  h2 {
    font-size: clamp(2rem, 6vw, 3.25rem);
  }
}

@media (max-width: 42.5rem) {
  :root {
    --container-padding: 1rem;
    --header-height: 3.75rem;
    --section-space: 3.5rem;
  }

  h1 {
    font-size: clamp(2.625rem, 12vw, 4rem);
    line-height: 0.92;
  }

  h2 {
    font-size: clamp(1.75rem, 9vw, 2.75rem);
  }

  h3 {
    font-size: clamp(1.5rem, 7vw, 2rem);
  }

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

  .actions {
    align-items: stretch;
  }

  .actions .button {
    flex: 1 1 100%;
  }
}

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

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

  .button:hover {
    transform: none;
  }
}


.site-header {
  position: relative;
  z-index: 100;
  min-height: var(--header-height);
  border-bottom: 1px solid rgba(72, 224, 232, 0.45);
  background: rgba(22, 11, 46, 0.97);
  color: var(--color-white-100);
}

.site-header::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--color-pink-500), transparent);
  content: "";
}

.site-header__inner {
  display: grid;
  min-height: var(--header-height);
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: var(--space-4);
}

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

.site-header__brand img {
  width: 2.625rem;
  height: 2.625rem;
  flex: 0 0 auto;
  object-fit: contain;
}

.site-header__brand:hover { color: var(--color-paper-100); }

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

.site-nav--left { grid-column: 1; justify-self: start; }
.site-nav--right { grid-column: 3; justify-self: end; }

.site-nav__list {
  display: flex;
  align-items: center;
  gap: clamp(0.55rem, 1.5vw, 1.25rem);
  margin: 0;
  padding: 0;
  list-style: none !important;
}

.site-nav__list li,
.site-nav__list li + li {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

.site-nav__link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  border-bottom: 2px solid transparent;
  color: var(--color-chrome-100);
  font-family: var(--font-heading);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-nav__link:hover { color: var(--color-white-100); }
.site-nav__link[aria-current="page"] { border-bottom-color: var(--color-yellow-300); color: var(--color-white-100); }

.nav-toggle {
  display: none;
}

@media (max-width: 56.25rem) {
  .site-header__inner {
    position: relative;
    grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem;
    gap: var(--space-2);
  }

  .site-header__brand {
    grid-column: 2;
    font-size: 1.125rem;
  }

  .site-header__brand img {
    width: 2.125rem;
    height: 2.125rem;
  }

  .nav-toggle {
    display: inline-flex;
    grid-column: 3;
    justify-self: end;
    transition: background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
  }

  .nav-toggle:hover {
    background: var(--color-cyan-400);
    color: var(--color-ink-950);
    transform: translateY(-2px);
  }

  .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .nav-toggle > span { transition: transform var(--transition-fast), opacity var(--transition-fast); }

  .site-nav--left {
    position: fixed;
    z-index: 90;
    inset: var(--header-height) 0 0;
    display: none;
    overflow-y: auto;
    padding: var(--space-6) var(--container-padding) var(--space-8);
    background: var(--color-dusk-950);
  }

  .site-nav--left.site-nav--open { display: block; }
  .site-nav--right { display: none; }

  .site-nav__list {
    display: grid;
    gap: 0;
    width: min(100%, 36rem);
    margin-inline: auto;
    border-top: 1px solid rgba(72, 224, 232, 0.45);
  }

  .site-nav__list li { border-bottom: 1px solid rgba(217, 226, 242, 0.28); }

  .site-nav__link {
    width: 100%;
    min-height: 3.5rem;
    border-bottom: 0;
    font-size: clamp(1rem, 4vw, 1.35rem);
  }

  .site-nav__link[aria-current="page"] { color: var(--color-yellow-300); }
}

@media (max-width: 42.5rem) {
  .site-header__brand { font-size: 1.125rem; }
}

@media (prefers-reduced-motion: reduce) {
  .nav-toggle:hover { transform: none; }
}


.site-footer {
  position: relative;
  overflow: clip;
  border-top: 1px solid var(--color-cyan-400);
  background: var(--color-dusk-950);
  color: var(--color-paper-100);
}

.site-footer::before {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(72, 224, 232, 0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(72, 224, 232, 0.06) 1px, transparent 1px);
  background-size: 24px 24px;
  content: "";
  opacity: 0.5;
  pointer-events: none;
}

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

.site-footer__brand,
.site-footer__nav-group {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
}

.site-footer__brand-mark {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  width: fit-content;
  color: var(--color-white-100);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.04em;
  text-decoration: none;
}

.site-footer__brand-mark img {
  width: 4.5rem;
  height: 4.5rem;
  object-fit: contain;
}

.site-footer__brand p {
  max-width: 34rem;
  margin: 0;
  color: var(--color-chrome-100);
}

.site-footer__notice {
  margin: 0;
  padding: var(--space-3);
  border-left: 2px solid var(--color-yellow-300);
  background: rgba(255, 209, 102, 0.08);
  color: var(--color-yellow-300);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.site-footer__navigation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
}

.site-footer__nav-title {
  margin: 0;
  color: var(--color-cyan-400);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: var(--leading-utility);
  text-transform: uppercase;
}

.site-footer__links {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none !important;
}

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

.site-footer__links a {
  display: inline-flex;
  min-height: 2rem;
  align-items: center;
  color: var(--color-paper-100);
  font-size: var(--text-label);
}

.site-footer__links a:hover { color: var(--color-cyan-400); }

.site-footer__bottom {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-3);
  padding-block: var(--space-4);
  border-top: 1px solid rgba(217, 226, 242, 0.35);
  color: var(--color-chrome-100);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  line-height: var(--leading-label);
}

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

[data-consent-banner] {
  position: fixed;
  right: var(--space-4);
  bottom: var(--space-4);
  left: var(--space-4);
  z-index: 150;
  display: flex;
  max-width: 54rem;
  align-items: center;
  gap: var(--space-4);
  margin-inline: auto;
  padding: var(--space-4);
  border: 1px solid var(--color-cyan-400);
  border-radius: var(--radius-lg);
  background: var(--color-dusk-900);
  box-shadow: 0 0 18px rgba(72, 224, 232, 0.24);
}

.consent-banner__copy {
  min-width: 0;
  flex: 1 1 20rem;
}

.consent-banner__title,
.consent-banner__copy p { margin: 0; }

.consent-banner__title {
  color: var(--color-paper-100);
  font-family: var(--font-heading);
  font-size: var(--text-label);
  letter-spacing: 0.02em;
}

.consent-banner__copy p {
  margin-top: var(--space-1);
  color: var(--color-chrome-100);
  font-size: var(--text-utility);
  line-height: var(--leading-label);
}

.consent-banner__actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: var(--space-2);
}

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

[data-age-modal] {
  position: fixed;
  z-index: 300;
  inset: 0;
  display: grid;
  overflow: auto;
  place-items: center;
  padding: 1.25rem;
  background: var(--color-overlay-950);
}

.age-modal__dialog {
  width: min(100%, 32rem);
  padding: var(--space-6);
  border: 1px solid var(--color-cyan-400);
  border-radius: var(--radius-lg);
  background: var(--color-dusk-900);
  box-shadow: 0 0 18px rgba(255, 63, 164, 0.22);
}

.age-modal__eyebrow { color: var(--color-yellow-300); }

.age-modal__title {
  margin: var(--space-3) 0;
  color: var(--color-paper-100);
  font-size: clamp(2rem, 7vw, 3rem);
  line-height: 0.95;
}

.age-modal__copy {
  margin: 0;
  color: var(--color-chrome-100);
}

.age-modal__notice {
  margin: var(--space-4) 0 0;
  padding: var(--space-3);
  border-left: 2px solid var(--color-pink-500);
  background: rgba(255, 63, 164, 0.09);
  color: var(--color-paper-100);
  font-size: var(--text-label);
}

.age-modal__actions {
  display: flex;
  gap: var(--space-3);
  margin-top: var(--space-5);
}

.age-modal__actions .button { flex: 1 1 0; }

@media (max-width: 56.25rem) {
  .site-footer__inner { grid-template-columns: 1fr; gap: var(--space-6); }
}

@media (max-width: 42.5rem) {
  .site-footer__inner { padding-block: var(--space-7) var(--space-5); }
  .site-footer__navigation { grid-template-columns: 1fr; }
  [data-consent-banner] { align-items: stretch; flex-direction: column; }
  .consent-banner__actions .button { flex: 1 1 0; }
  .age-modal__dialog { padding: var(--space-5); }
  .age-modal__actions { flex-direction: column; }
}


#cookie-policy-main {
  overflow-x: clip;
}

#cookie-policy-main img {
  object-fit: cover;
}

#cookie-policy-main section[id],
#cookie-policy-main div[id] {
  scroll-margin-top: calc(var(--header-height) + var(--space-5));
}

.cookie-hero {
  position: relative;
  overflow: hidden;
  padding: var(--space-9) 0 var(--space-8);
  background: var(--color-dusk-950);
}

.cookie-hero::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 0 68%, rgba(53, 22, 92, 0.55) 100%);
  content: "";
  pointer-events: none;
}

.cookie-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 8fr) minmax(0, 3fr);
  gap: var(--space-5);
  align-items: start;
}

.cookie-hero__rail,
.cookie-hero__content,
.cookie-hero__gridfield {
  min-width: 0;
}

.cookie-hero__rail {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding-top: var(--space-2);
  color: var(--color-cyan-400);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: var(--leading-utility);
}

.cookie-hero__rail i {
  display: block;
  width: 1px;
  height: 8rem;
  background: var(--color-cyan-400);
}

.cookie-hero__content {
  width: min(100%, 51.25rem);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

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

.cookie-hero__content h1 {
  width: 100%;
  border-bottom: 2px solid var(--color-pink-500);
  padding-bottom: var(--space-4);
}

.cookie-hero__lead {
  max-width: 38.75rem;
  font-size: var(--text-lead);
  line-height: var(--leading-label);
}

.cookie-hero__meta {
  display: grid;
  width: min(100%, 42.5rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-chrome-100);
  color: var(--color-chrome-100);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  letter-spacing: 0.06em;
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.cookie-hero__meta span {
  min-width: 0;
}

.cookie-hero__gridfield {
  min-height: 14rem;
  opacity: 0.3;
  background-image: linear-gradient(rgba(72, 224, 232, 0.34) 1px, transparent 1px), linear-gradient(90deg, rgba(72, 224, 232, 0.34) 1px, transparent 1px);
  background-size: 20px 20px;
}

.cookie-map {
  padding: var(--space-7) 0;
  background: var(--color-paper-200);
  color: var(--color-ink-950);
}

.cookie-map__content {
  width: min(100%, 42.5rem);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
}

.cookie-map__content h2,
.cookie-map__content p {
  margin: 0;
}

.cookie-map__content .eyebrow {
  color: var(--color-plum-800);
}

.cookie-map__intro {
  max-width: 38.75rem;
}

.cookie-map__nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--space-5);
  width: 100%;
  border-top: 1px solid var(--color-cyan-400);
}

.cookie-map__nav a {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  align-items: center;
  min-width: 0;
  min-height: 2.75rem;
  gap: var(--space-2);
  border-bottom: 1px solid rgba(22, 11, 46, 0.24);
  color: var(--color-ink-950);
  font-size: var(--text-label);
  text-decoration: none;
}

.cookie-map__nav a:hover {
  color: var(--color-plum-800);
}

.cookie-map__nav span {
  color: var(--color-cyan-400);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 700;
}

.cookie-map__nav b {
  min-width: 0;
}

.cookie-section {
  padding: var(--section-space) 0;
}

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

.cookie-basics__content,
.cookie-purposes__content,
.cookie-browser__content,
.cookie-closing__content {
  width: min(100%, 42.5rem);
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.cookie-basics__content h2,
.cookie-basics__content h3,
.cookie-basics__content p,
.cookie-purposes__content h2,
.cookie-browser__content h2,
.cookie-browser__content h3,
.cookie-browser__content p,
.cookie-closing__content h2,
.cookie-closing__content h3,
.cookie-closing__content p {
  margin: 0;
}

.cookie-basics__content h2,
.cookie-purposes__content h2,
.cookie-browser__content h2,
.cookie-closing__content h2 {
  width: 100%;
}

.cookie-basics__content > p,
.cookie-browser__content > p,
.cookie-closing__content > p {
  max-width: 42.5rem;
}

.cookie-basics__marker,
.cookie-purposes__field {
  min-width: 0;
  color: rgba(53, 22, 92, 0.18);
  font-family: var(--font-heading);
  font-size: clamp(5rem, 12vw, 10rem);
  font-weight: 700;
  letter-spacing: -0.08em;
  line-height: 0.8;
  text-align: center;
}

.cookie-definition {
  width: 100%;
  padding: var(--space-3) var(--space-4);
  border-left: 2px solid var(--color-pink-500);
  background: var(--color-paper-200);
  color: var(--color-ink-950);
  font-family: var(--font-mono);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.cookie-basics__similar {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding-left: var(--space-5);
  border-left: 1px solid var(--color-cyan-400);
}

.cookie-basics__similar h3,
.cookie-basics__similar p {
  margin: 0;
}

.cookie-basics__notice {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5);
  border-top: 2px solid var(--color-pink-500);
  background: var(--color-paper-200);
  color: var(--color-ink-950);
  box-shadow: var(--shadow-paper);
}

.cookie-basics__notice h3,
.cookie-basics__notice p {
  margin: 0;
}

.cookie-basics__notice .badge {
  color: var(--color-ink-950);
  border-color: var(--color-yellow-300);
  background: var(--color-yellow-300);
}

.cookie-purposes {
  position: relative;
  overflow: hidden;
}

.cookie-purposes::after,
.cookie-browser::after {
  position: absolute;
  inset: 0;
  opacity: 0.05;
  background-image: repeating-linear-gradient(0deg, transparent 0 4px, var(--color-cyan-400) 5px 6px);
  content: "";
  pointer-events: none;
}

.cookie-purposes__grid,
.cookie-browser .container {
  position: relative;
  z-index: 1;
}

.cookie-purposes__field {
  color: rgba(72, 224, 232, 0.12);
}

.cookie-purpose {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: 0 0 var(--space-6);
  border-bottom: 1px solid rgba(217, 226, 242, 0.38);
}

.cookie-purpose h3,
.cookie-purpose p {
  margin: 0;
}

.cookie-purpose__number {
  color: var(--color-cyan-400);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: var(--leading-utility);
  text-transform: uppercase;
}

.cookie-purpose span:not(.badge) {
  border-bottom: 1px solid var(--color-chrome-100);
}

.cookie-purpose--highlight {
  padding: var(--space-5);
  border-top: 2px solid var(--color-pink-500);
  border-bottom: 0;
  background: var(--color-plum-800);
}

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

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

.cookie-categories__content {
  width: min(100%, 46.25rem);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
}

.cookie-categories__content h2,
.cookie-categories__content p {
  margin: 0;
}

.cookie-categories__intro {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--space-4);
}

.cookie-categories__intro > div {
  flex: 1 1 25rem;
  min-width: 0;
  max-width: 38.75rem;
}

.cookie-categories__intro > .button {
  flex: 0 1 auto;
  min-width: 0;
}

.cookie-category-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
}

.cookie-category {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr) 8.25rem;
  gap: var(--space-4);
  align-items: start;
  width: 100%;
  padding: var(--space-5);
  border: 1px solid var(--color-chrome-100);
  border-left: 3px solid var(--color-cyan-400);
  background: var(--color-paper-100);
  box-shadow: var(--shadow-paper);
}

.cookie-category__number,
.cookie-category__copy,
.cookie-category__status {
  min-width: 0;
}

.cookie-category__number {
  color: var(--color-plum-800);
  font-family: var(--font-mono);
  font-size: var(--text-lead);
  font-weight: 700;
  line-height: 1;
}

.cookie-category__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.cookie-category__copy h3,
.cookie-category__copy p {
  margin: 0;
}

.cookie-category__status {
  justify-self: stretch;
  padding: var(--space-2);
  border: 1px solid currentColor;
  color: var(--color-plum-800);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-label);
  text-align: center;
  text-transform: uppercase;
}

.cookie-category--statistical {
  border-top: 2px solid var(--color-pink-500);
}

.cookie-category--statistical .cookie-category__status {
  color: var(--color-pink-500);
}

.cookie-settings-feedback {
  width: 100%;
  padding: var(--space-3) var(--space-4);
  border-left: 2px solid var(--color-yellow-300);
  background: var(--color-paper-200);
}

.cookie-browser {
  position: relative;
  overflow: hidden;
  background: var(--color-dusk-950);
  color: var(--color-white-100);
}

.cookie-browser__content {
  position: relative;
  z-index: 1;
}

.cookie-browser__label {
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-cyan-400);
  color: var(--color-cyan-400);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: var(--leading-utility);
  text-transform: uppercase;
}

.cookie-browser__steps {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cookie-browser__steps li {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-4);
  align-items: start;
  min-width: 0;
  min-height: 2.75rem;
  padding: var(--space-4) 0;
  border-top: 1px solid var(--color-chrome-100);
}

.cookie-browser__steps li:last-child {
  border-bottom: 1px solid var(--color-chrome-100);
}

.cookie-browser__steps span,
.cookie-browser__steps div {
  min-width: 0;
}

.cookie-browser__steps span {
  color: var(--color-cyan-400);
  font-family: var(--font-mono);
  font-size: var(--text-label);
  font-weight: 700;
}

.cookie-browser__steps div {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.cookie-browser__steps h4,
.cookie-browser__steps p {
  margin: 0;
}

.cookie-browser__notice {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5);
  border-left: 2px solid var(--color-yellow-300);
  background: var(--color-plum-800);
}

.cookie-browser__notice p {
  margin: 0;
}

.cookie-browser__notice .badge {
  color: var(--color-ink-950);
  border-color: var(--color-yellow-300);
  background: var(--color-yellow-300);
}

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

.cookie-closing__content a:not(.button) {
  color: var(--color-plum-800);
  font-weight: 700;
}

.cookie-closing__link {
  align-self: flex-start;
}

.cookie-closing__update {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-top: var(--space-5);
  padding-top: var(--space-5);
  border-top: 2px solid var(--color-pink-500);
}

.cookie-closing__update h3,
.cookie-closing__update p {
  margin: 0;
}

@media (max-width: 56.25rem) {
  .cookie-hero {
    padding: var(--space-8) 0 var(--space-7);
  }

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

  .cookie-hero__rail {
    flex-direction: row;
    align-items: center;
    padding: 0;
  }

  .cookie-hero__rail i {
    width: 4rem;
    height: 1px;
  }

  .cookie-hero__gridfield,
  .cookie-basics__marker,
  .cookie-purposes__field {
    display: none;
  }

  .cookie-basics__grid,
  .cookie-purposes__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .cookie-basics__content,
  .cookie-purposes__content,
  .cookie-browser__content,
  .cookie-closing__content {
    width: min(100%, 42.5rem);
  }
}

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

  .cookie-category__status {
    grid-column: 2;
    justify-self: start;
    grid-row: 1;
  }

  .cookie-category__copy {
    grid-column: 1 / -1;
  }
}

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

@media (max-width: 42.5rem) {
  .cookie-hero {
    padding: var(--space-7) 0;
  }

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

  .cookie-hero__content h1 {
    font-size: clamp(2.625rem, 12vw, 3.625rem);
  }

  .cookie-hero__lead {
    font-size: 1.125rem;
  }

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

  .cookie-map {
    padding: var(--space-7) 0;
  }

  .cookie-section {
    padding: var(--space-7) 0;
  }

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

  .cookie-category__status,
  .cookie-category__copy {
    grid-column: auto;
    grid-row: auto;
  }

  .cookie-category__status {
    justify-self: start;
    order: -1;
  }

  .cookie-category__number {
    font-size: var(--text-label);
  }

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

@media (max-width: 32.5rem) {
  .cookie-browser__steps li {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .cookie-categories__intro > .button,
  .cookie-closing__link {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-hero::after,
  .cookie-purposes::after,
  .cookie-browser::after {
    opacity: 0.025;
  }
}


.privacy-page {
  overflow-x: hidden;
  background: var(--color-dusk-950);
}

.privacy-page section {
  position: relative;
  isolation: isolate;
}

.privacy-page h2 {
  max-width: 100%;
}

.privacy-page h3 {
  margin-bottom: var(--space-3);
}

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

.privacy-opening {
  padding-top: calc(var(--section-space) + var(--space-4));
  background: linear-gradient(135deg, var(--color-dusk-950) 0%, var(--color-dusk-900) 100%);
}

.privacy-opening::before,
.privacy-data::before,
.privacy-remedy::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: linear-gradient(rgba(72, 224, 232, 0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(72, 224, 232, 0.06) 1px, transparent 1px);
  background-size: 28px 28px;
  content: "";
  opacity: 0.45;
  pointer-events: none;
}

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

.privacy-opening__copy,
.privacy-document-plate,
.privacy-context__index,
.privacy-context__copy,
.privacy-context__rule,
.privacy-data__copy,
.privacy-data__aside,
.privacy-basis__number,
.privacy-basis__copy,
.privacy-basis__timeline,
.privacy-transfer__copy,
.privacy-rights__intro,
.privacy-rights__stack,
.privacy-remedy__copy,
.privacy-remedy__aside,
.privacy-status__copy {
  min-width: 0;
}

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

.privacy-opening__title-line {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  width: 100%;
  margin-bottom: var(--space-5);
  color: var(--color-chrome-100);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: 0.1em;
}

.privacy-opening__title-line .rule {
  flex: 1 1 auto;
  min-width: 2rem;
}

.privacy-opening h1 {
  margin-bottom: var(--space-5);
  color: var(--color-paper-100);
  text-shadow: 3px 3px 0 rgba(255, 63, 164, 0.32);
}

.privacy-opening__lead {
  max-width: 43.75rem;
  margin-bottom: 0;
  font-size: var(--text-lead);
  line-height: 1.5;
}

.privacy-document-plate {
  grid-column: 3;
  width: 100%;
  max-width: 22rem;
  padding: var(--space-5);
  border: 1px solid var(--color-chrome-100);
  background: var(--color-dusk-900);
  box-shadow: var(--shadow-offset);
}

.privacy-document-plate .label {
  margin-bottom: var(--space-4);
  color: var(--color-cyan-400);
}

.privacy-document-plate dl,
.privacy-document-plate dl > div {
  margin: 0;
}

.privacy-document-plate dl {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}

.privacy-document-plate dl > div {
  width: 100%;
  min-width: 0;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border-subtle);
}

.privacy-document-plate dt {
  color: var(--color-chrome-100);
  font-size: var(--text-utility);
  letter-spacing: 0.06em;
}

.privacy-document-plate dd {
  margin: var(--space-1) 0 0;
}

.privacy-document-plate mark {
  padding: 0.12em 0.24em;
  background: var(--color-yellow-300);
  color: var(--color-ink-950);
  font-family: var(--font-mono);
  font-size: var(--text-label);
  font-weight: 700;
}

.privacy-document-plate p {
  margin-bottom: 0;
  color: var(--color-paper-200);
  font-size: var(--text-label);
}

.privacy-context {
  background-color: var(--color-paper-100);
}

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

.privacy-context__index {
  grid-column: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  color: var(--color-plum-800);
}

.privacy-context__index span {
  font-family: var(--font-heading);
  font-size: clamp(4rem, 8vw, 7rem);
  font-weight: 700;
  letter-spacing: -0.08em;
  line-height: 0.8;
}

.privacy-context__index i {
  width: 1px;
  min-height: 12rem;
  background: var(--color-cyan-400);
}

.privacy-context__copy {
  grid-column: 2;
  width: 100%;
  max-width: 43.75rem;
}

.privacy-context__statement {
  max-width: 38.75rem;
  margin-bottom: var(--space-5);
  font-size: var(--text-lead);
  line-height: 1.48;
}

.privacy-context__statement .badge {
  margin-right: var(--space-2);
  vertical-align: 0.1em;
}

.privacy-numbered-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  margin: var(--space-5) 0;
  padding: 0;
  counter-reset: privacy-items;
}

.privacy-numbered-list li {
  position: relative;
  width: 100%;
  min-width: 0;
  padding-top: var(--space-3);
  padding-left: 3rem;
  border-top: 1px solid var(--color-cyan-400);
  counter-increment: privacy-items;
}

.privacy-numbered-list li::before {
  position: absolute;
  top: var(--space-3);
  left: 0;
  color: var(--color-pink-500);
  content: "0" counter(privacy-items);
  font-family: var(--font-mono);
  font-size: var(--text-label);
  font-weight: 700;
}

.privacy-age-note {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  width: 100%;
  padding-top: var(--space-4);
  border-top: 2px solid var(--color-pink-500);
}

.privacy-age-note .badge {
  flex: 0 0 auto;
  color: var(--color-ink-950);
  border-color: var(--color-ink-950);
  background: var(--color-yellow-300);
}

.privacy-age-note p {
  min-width: 0;
  margin-bottom: 0;
}

.privacy-context__rule {
  grid-column: 3;
  width: 1px;
  min-height: 100%;
  margin-left: auto;
  background: var(--color-cyan-400);
}

.privacy-data {
  background: var(--color-dusk-900);
}

.privacy-data__grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  align-items: stretch;
  gap: var(--space-6);
}

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

.privacy-definition-stack {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.privacy-definition {
  width: 100%;
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--color-chrome-100);
  background: rgba(53, 22, 92, 0.55);
  box-shadow: var(--shadow-offset);
}

.privacy-definition h3 {
  max-width: 40rem;
}

.privacy-definition dl,
.privacy-definition dl > div {
  margin: 0;
}

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

.privacy-definition dl > div {
  display: grid;
  grid-template-columns: minmax(7.5rem, 0.28fr) minmax(0, 1fr);
  gap: var(--space-4);
  width: 100%;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border-subtle);
}

.privacy-definition dt {
  color: var(--color-cyan-400);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.privacy-definition dd {
  margin: 0;
}

.privacy-definition--necessary {
  border-color: var(--color-yellow-300);
}

.privacy-definition--necessary .badge,
.privacy-definition--check .badge {
  margin-bottom: var(--space-3);
}

.privacy-definition--check {
  border-color: var(--color-chrome-100);
}

.privacy-definition p {
  max-width: 40rem;
  margin-bottom: 0;
}

.privacy-data__aside {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: var(--space-4);
  width: 100%;
  padding-left: var(--space-5);
  border-left: 1px solid rgba(72, 224, 232, 0.4);
}

.privacy-data__aside span,
.privacy-remedy__aside span {
  color: rgba(217, 226, 242, 0.5);
  font-family: var(--font-heading);
  font-size: clamp(4rem, 9vw, 8rem);
  font-weight: 700;
  line-height: 0.8;
}

.privacy-data__aside div,
.privacy-remedy__aside div {
  width: 100%;
  min-height: 11rem;
  border: 1px solid rgba(72, 224, 232, 0.2);
  background-image: linear-gradient(rgba(72, 224, 232, 0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(72, 224, 232, 0.1) 1px, transparent 1px);
  background-size: 16px 16px;
}

.privacy-data__aside small,
.privacy-remedy__aside small {
  color: var(--color-cyan-400);
  font-family: var(--font-mono);
  letter-spacing: 0.1em;
}

.privacy-basis {
  background: var(--color-paper-200);
}

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

.privacy-basis__number {
  grid-column: 1;
  width: 100%;
  color: rgba(53, 22, 92, 0.4);
  font-family: var(--font-heading);
  font-size: clamp(4rem, 8vw, 7rem);
  font-weight: 700;
  letter-spacing: -0.08em;
  line-height: 0.8;
}

.privacy-basis__copy {
  grid-column: 2;
  width: 100%;
  max-width: 45rem;
}

.privacy-basis__item {
  width: 100%;
  min-width: 0;
  margin-top: var(--space-6);
  padding-left: var(--space-4);
  border-left: 2px solid var(--color-cyan-400);
}

.privacy-basis__item--legal {
  border-left-color: var(--color-pink-500);
}

.privacy-basis__item--retention {
  border-left-color: var(--color-yellow-300);
}

.privacy-basis__item p {
  max-width: 40.625rem;
  margin-bottom: 0;
}

.privacy-basis__timeline {
  grid-column: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  width: 100%;
  padding-top: var(--space-8);
}

.privacy-basis__timeline span {
  color: var(--color-plum-800);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: 0.1em;
}

.privacy-basis__timeline i {
  width: 1px;
  height: 3rem;
  margin-left: var(--space-2);
  background: var(--color-cyan-400);
}

.privacy-transfer {
  background: var(--color-dusk-950);
}

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

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

.privacy-money-plate {
  width: min(100%, 38.75rem);
  min-width: 0;
  margin: var(--space-5) 0 var(--space-6);
  padding: var(--space-5);
  border: 2px solid var(--color-pink-500);
  background: var(--color-plum-800);
  box-shadow: var(--shadow-offset);
}

.privacy-money-plate .label {
  margin-bottom: var(--space-3);
  color: var(--color-pink-500);
}

.privacy-money-plate p {
  margin-bottom: 0;
  font-size: var(--text-lead);
  line-height: 1.48;
}

.privacy-recipient-plate {
  width: 100%;
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-cyan-400);
}

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

.privacy-recipient-plate__definitions > dl {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.privacy-recipient-plate__definitions > dl > div {
  min-width: 0;
}

.privacy-recipient-plate dt {
  margin-bottom: var(--space-2);
  color: var(--color-cyan-400);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.privacy-recipient-plate dd {
  margin: 0;
}

.privacy-automation-note {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  margin-top: var(--space-6);
  padding: var(--space-4);
  border: 1px solid var(--color-cyan-400);
}

.privacy-automation-note .badge {
  flex: 0 0 auto;
}

.privacy-automation-note div {
  min-width: 0;
}

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

.privacy-rights {
  background: var(--color-paper-100);
}

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

.privacy-rights__intro {
  width: 100%;
  max-width: 47.5rem;
  margin-inline: auto;
}

.privacy-rights__intro p {
  max-width: 42.5rem;
  margin-bottom: 0;
}

.privacy-rights__stack {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
  max-width: 52.5rem;
  margin-inline: auto;
}

.privacy-right-plate,
.privacy-request-plate {
  display: grid;
  grid-template-columns: minmax(2.5rem, 0.12fr) minmax(0, 1fr);
  gap: var(--space-4);
  width: calc(100% - 5rem);
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid rgba(22, 11, 46, 0.4);
  background: var(--color-paper-100);
  box-shadow: var(--shadow-paper);
}

.privacy-right-plate--offset,
.privacy-request-plate {
  align-self: flex-end;
}

.privacy-right-plate__letter {
  width: 100%;
  color: var(--color-pink-500);
  font-family: var(--font-heading);
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1;
}

.privacy-right-plate > div {
  min-width: 0;
}

.privacy-right-plate .badge {
  margin-bottom: var(--space-3);
  color: var(--color-ink-950);
  border-color: var(--color-ink-950);
  background: var(--color-yellow-300);
}

.privacy-right-plate p,
.privacy-request-plate p {
  max-width: 40rem;
  margin-bottom: 0;
}

.privacy-request-plate {
  display: block;
  border-color: var(--color-plum-800);
  background: var(--color-plum-800);
  color: var(--color-white-100);
  box-shadow: var(--shadow-offset);
}

.privacy-request-plate h3 {
  color: var(--color-paper-100);
}

.privacy-request-plate strong {
  color: var(--color-yellow-300);
}

.privacy-remedy {
  background: var(--color-dusk-900);
}

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

.privacy-remedy__copy {
  grid-column: 1;
  width: 100%;
  max-width: 45rem;
}

.privacy-remedy__item {
  width: 100%;
  min-width: 0;
  margin-top: var(--space-5);
}

.privacy-remedy__item p {
  max-width: 42.5rem;
  margin-bottom: 0;
}

.privacy-remedy__item--court {
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-chrome-100);
}

.privacy-checklist {
  width: 100%;
  min-width: 0;
  margin-top: var(--space-6);
  padding: var(--space-5);
  background: var(--color-yellow-300);
  color: var(--color-ink-950);
  box-shadow: var(--shadow-offset);
}

.privacy-checklist .label {
  margin-bottom: var(--space-3);
  color: var(--color-ink-950);
}

.privacy-checklist ul {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin: var(--space-4) 0 0;
  padding: 0;
}

.privacy-checklist li {
  position: relative;
  width: 100%;
  min-width: 0;
  padding-left: 1.25rem;
}

.privacy-checklist li::before {
  position: absolute;
  top: 0.42em;
  left: 0;
  width: 0.55rem;
  height: 0.55rem;
  border: 1px solid var(--color-ink-950);
  background: var(--color-pink-500);
  content: "";
}

.privacy-remedy__aside {
  grid-column: 3;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
  padding-left: var(--space-5);
  border-left: 1px solid rgba(72, 224, 232, 0.4);
}

.privacy-status {
  background: var(--color-paper-200);
}

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

.privacy-status__copy {
  grid-column: 4 / span 7;
  width: 100%;
  max-width: 42.5rem;
}

.privacy-status__update {
  width: 100%;
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-cyan-400);
}

.privacy-status__update p {
  margin-bottom: 0;
}

.privacy-status__plate {
  width: min(100%, 32.5rem);
  min-width: 0;
  margin-top: var(--space-6);
  padding: var(--space-5);
  background: var(--color-plum-800);
  color: var(--color-white-100);
  box-shadow: var(--shadow-offset);
}

.privacy-status__plate .badge {
  margin-bottom: var(--space-3);
}

.privacy-status__plate h3 {
  color: var(--color-paper-100);
}

.privacy-status__plate p {
  margin-bottom: 0;
}

.privacy-page [id] {
  scroll-margin-top: calc(var(--header-height) + var(--space-5));
}

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

  .privacy-opening__copy,
  .privacy-document-plate {
    grid-column: 1;
  }

  .privacy-document-plate {
    max-width: 32.5rem;
  }

  .privacy-context__grid,
  .privacy-basis__grid,
  .privacy-remedy__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .privacy-context__index,
  .privacy-context__rule,
  .privacy-basis__number,
  .privacy-basis__timeline,
  .privacy-data__aside,
  .privacy-remedy__aside {
    display: none;
  }

  .privacy-context__copy,
  .privacy-basis__copy,
  .privacy-remedy__copy {
    grid-column: 1;
  }

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

  .privacy-data__copy {
    grid-column: 1;
    max-width: none;
  }

  .privacy-transfer__copy {
    grid-column: 1 / -1;
    max-width: 47.5rem;
  }

  .privacy-status__copy {
    grid-column: 2 / span 10;
  }
}

@media (max-width: 52.5rem) {
  .privacy-recipient-plate__definitions {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .privacy-right-plate,
  .privacy-request-plate {
    width: 100%;
  }

  .privacy-right-plate--offset,
  .privacy-request-plate {
    align-self: stretch;
  }
}

@media (max-width: 42.5rem) {
  .privacy-opening {
    padding-top: calc(var(--section-space) + var(--space-2));
  }

  .privacy-opening h1 {
    font-size: clamp(2.625rem, 12vw, 3.875rem);
  }

  .privacy-opening__title-line {
    margin-bottom: var(--space-4);
  }

  .privacy-opening__title-line span:last-child {
    font-size: 0.58rem;
  }

  .privacy-opening__lead,
  .privacy-context__statement,
  .privacy-money-plate p {
    font-size: 1.125rem;
  }

  .privacy-document-plate,
  .privacy-definition,
  .privacy-money-plate,
  .privacy-checklist,
  .privacy-status__plate {
    padding: var(--space-4);
  }

  .privacy-context__copy,
  .privacy-basis__copy,
  .privacy-remedy__copy,
  .privacy-status__copy {
    max-width: none;
  }

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

  .privacy-age-note,
  .privacy-automation-note {
    flex-direction: column;
    gap: var(--space-3);
  }

  .privacy-automation-note .badge {
    align-self: flex-start;
  }

  .privacy-basis__item {
    padding-left: var(--space-3);
  }

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

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

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

  .privacy-right-plate__letter {
    font-size: 1.5rem;
  }

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

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

  .privacy-status__copy {
    grid-column: 1;
  }

  .privacy-status__plate {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .privacy-opening h1 {
    text-shadow: none;
  }
}


.community-dining-page { overflow: clip; }
.community-dining-page a { overflow-wrap: anywhere; }
.community-dining-page section { position: relative; }
.community-dining-page .eyebrow, .community-dining-page .label { margin-bottom: var(--space-3); }
.cd-hero { padding: calc(var(--space-8) + var(--space-4)) 0 var(--section-space); background: radial-gradient(circle at 80% 20%, rgba(255,63,164,.18), transparent 30%), linear-gradient(125deg, var(--color-dusk-950), var(--color-plum-800)); }
.cd-hero::after, .cd-principles::before { position:absolute; inset:0; content:""; pointer-events:none; opacity:.07; background-image: linear-gradient(var(--color-cyan-400) 1px, transparent 1px), linear-gradient(90deg, var(--color-cyan-400) 1px, transparent 1px); background-size:24px 24px; }
.cd-hero__grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,6fr) minmax(0,4fr); gap:20px; align-items:start; position:relative; z-index:1; }
.cd-hero__rail, .cd-hero__copy, .cd-hero__collage { min-width:0; width:100%; }
.cd-hero__rail { display:flex; flex-direction:column; gap:var(--space-4); padding-top:var(--space-4); }
.cd-rail__statuses, .cd-rail__actions { display:flex; flex-direction:column; gap:var(--space-3); min-width:0; }
.cd-rail__notice { max-width:260px; margin:0; color:var(--color-paper-100); font-size:var(--text-label); }
.cd-hero__copy { padding-top:var(--space-5); }
.cd-label--pink { color:var(--color-pink-500); }
.cd-hero h1 { max-width:760px; margin-bottom:var(--space-5); text-shadow:4px 4px 0 rgba(72,224,232,.28); }
.cd-hero__lead { max-width:540px; margin:0; color:var(--color-paper-100); font-size:var(--text-lead); }
.cd-hero__collage { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3); padding-top:var(--space-2); align-items:start; }
.cd-photo-card { min-width:0; width:100%; margin:0; }
.cd-photo-card--table { grid-column:2; transform:rotate(1.5deg); }
.cd-photo-card--dishes { grid-column:1 / span 2; width:76%; transform:rotate(-1.5deg); }
.cd-photo-card--host { grid-column:2; width:84%; transform:translateY(-18px) rotate(.8deg); }
.cd-photo-frame { position:relative; width:100%; padding:4px; border:1px solid var(--color-chrome-100); background:var(--color-dusk-900); box-shadow:4px 4px 0 var(--color-dusk-950), 0 0 18px rgba(72,224,232,.18); }
.cd-photo-frame::before { position:absolute; z-index:1; inset:4px; border:2px solid var(--color-cyan-400); content:""; pointer-events:none; }
.cd-photo-frame--pink::before { border-color:var(--color-pink-500); }
.cd-photo-frame img { width:100%; height:100%; object-fit:cover; }
.cd-photo-card--table img { aspect-ratio:4 / 5; }
.cd-photo-card--dishes img { aspect-ratio:3 / 2; }
.cd-photo-card--host img { aspect-ratio:1; }
.cd-photo-card figcaption { margin-top:var(--space-2); color:var(--color-paper-100); font-family:var(--font-mono); font-size:var(--text-utility); letter-spacing:.08em; text-transform:uppercase; }
.cd-photo-card:hover .cd-photo-frame { box-shadow:8px 4px 0 rgba(255,63,164,.7), -4px 0 0 rgba(72,224,232,.65), 0 0 18px rgba(72,224,232,.18); }
.cd-rhythm__grid { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:20px; }
.cd-rhythm__copy { min-width:0; width:100%; max-width:680px; }
.cd-rhythm__intro { max-width:520px; }
.cd-rhythm__step { display:grid; grid-template-columns:72px minmax(0,1fr); gap:var(--space-4); width:100%; max-width:640px; padding:var(--space-5) 0; border-top:1px solid var(--color-cyan-400); }
.cd-rhythm__step--offset { margin-left:var(--space-6); }
.cd-step__number { color:var(--color-plum-800); font-family:var(--font-heading); font-size:2.5rem; font-weight:700; line-height:1; }
.cd-rhythm__step h3 { margin-bottom:var(--space-3); font-size:clamp(1.65rem,3vw,2.2rem); }
.cd-rhythm__step p { margin-bottom:0; }
.cd-step__highlight { margin-bottom:var(--space-3)!important; font-family:var(--font-heading); font-size:var(--text-lead); font-weight:700; }
.cd-text-link { display:inline-flex; min-height:44px; align-items:center; gap:var(--space-2); color:inherit; font-family:var(--font-heading); font-size:var(--text-label); font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.cd-text-link:hover { color:var(--color-pink-500); }
.cd-rhythm__marker { min-width:0; display:flex; flex-direction:column; justify-content:center; align-items:flex-end; gap:var(--space-4); padding-right:var(--space-5); color:var(--color-plum-800); border-right:1px solid var(--color-cyan-400); text-align:right; }
.cd-rhythm__marker span { font-family:var(--font-mono); font-size:var(--text-label); letter-spacing:.12em; }
.cd-rhythm__marker strong { font-family:var(--font-heading); font-size:clamp(2.5rem,6vw,4.5rem); line-height:.85; }
.cd-principles { background:var(--color-dusk-900); }
.cd-principles > .container { position:relative; z-index:1; }
.cd-principles__intro { width:100%; max-width:600px; margin-bottom:var(--space-7); }
.cd-principles__grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px 20px; }
.cd-principle { min-width:0; width:100%; padding:var(--space-5); box-shadow:4px 4px 0 var(--color-dusk-950); }
.cd-principle p { max-width:520px; margin:0; }
.cd-principle__index { display:block; margin-bottom:var(--space-3); font-family:var(--font-mono); font-size:var(--text-label); font-weight:700; letter-spacing:.12em; }
.cd-principle--one { grid-column:1 / span 5; background:var(--color-plum-800); }
.cd-principle--two { grid-column:7 / span 5; margin-top:var(--space-5); background:var(--color-paper-200); color:var(--color-ink-950); }
.cd-principle--three { grid-column:2 / span 8; background:var(--color-dusk-950); border:1px solid var(--color-cyan-400); }
.cd-principle--four { grid-column:6 / span 6; margin-top:var(--space-5); border:2px solid var(--color-pink-500); background:var(--color-plum-800); }
.cd-arrival__intro { width:100%; max-width:580px; margin-bottom:var(--space-7); }
.cd-arrival__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px 20px; }
.cd-arrival__item { min-width:0; width:100%; padding:var(--space-4); border-top:1px solid rgba(22,11,46,.5); }
.cd-arrival__item h3 { font-size:clamp(1.4rem,2.5vw,1.85rem); }
.cd-arrival__item p { max-width:360px; }
.cd-arrival__item--lower { margin-top:var(--space-5); }
.cd-arrival__item--line { margin-top:var(--space-3); border-top:2px solid var(--color-cyan-400); }
.cd-arrival__age { margin-bottom:var(--space-3); color:var(--color-ink-950); background:var(--color-yellow-300); border-color:var(--color-ink-950); }
.cd-sharing__grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,1fr) minmax(0,6fr); gap:20px; align-items:center; }
.cd-sharing__copy { grid-column:1; min-width:0; width:100%; max-width:540px; }
.cd-sharing__lead { font-size:var(--text-lead); }
.cd-sharing__copy blockquote { max-width:400px; }
.cd-host-transition { display:flex; flex-direction:column; gap:var(--space-3); min-width:0; margin-top:var(--space-5); }
.cd-host-transition p { margin:0; max-width:500px; }
.cd-sharing__figure { grid-column:3; min-width:0; width:100%; margin:0; }
.cd-sharing__figure img { aspect-ratio:3 / 2; }
.cd-sharing__figure figcaption { max-width:360px; color:var(--color-paper-200); }
.cd-formats { background:var(--color-dusk-950); }
.cd-formats__intro { width:100%; max-width:620px; margin:0 auto var(--space-7); text-align:center; }
.cd-formats__intro p { margin-bottom:0; }
.cd-formats__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 20px; }
.cd-format-card { min-width:0; width:100%; padding:var(--space-5); border:1px solid var(--color-chrome-100); background:var(--color-plum-800); box-shadow:4px 4px 0 var(--color-dusk-900); }
.cd-format-card--offset { margin-top:var(--space-5); }
.cd-format-card--cyan { border-bottom:2px solid var(--color-cyan-400); }
.cd-format-card__letter { display:block; margin-bottom:var(--space-4); color:var(--color-pink-500); font-family:var(--font-heading); font-size:4rem; font-weight:700; line-height:.8; text-shadow:3px 3px 0 var(--color-cyan-400); }
.cd-format-card p { max-width:300px; margin-bottom:0; }
.cd-format-summary { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:var(--space-5); width:100%; margin-top:var(--space-7); padding:var(--space-5); border-top:1px solid var(--color-cyan-400); border-bottom:2px solid var(--color-pink-500); background:var(--color-dusk-900); }
.cd-format-summary > div, .cd-format-summary > a { min-width:0; }
.cd-format-summary p { max-width:680px; margin:0; }
.cd-hosts__grid { display:grid; grid-template-columns:minmax(0,6fr) minmax(0,1fr) minmax(0,5fr); gap:20px; align-items:start; }
.cd-hosts__copy { grid-column:1; min-width:0; width:100%; max-width:600px; }
.cd-hosts__minis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-3); margin:var(--space-6) 0; }
.cd-hosts__minis > div { min-width:0; width:100%; padding-right:var(--space-3); border-right:1px solid var(--color-cyan-400); }
.cd-hosts__minis > div:last-child { border-right:0; }
.cd-hosts__minis span { color:var(--color-pink-500); font-family:var(--font-mono); font-weight:700; }
.cd-hosts__minis h3 { margin:var(--space-2) 0; font-size:var(--text-lead); }
.cd-hosts__minis p { margin:0; font-size:var(--text-label); }
.cd-hosts__closing { padding-top:var(--space-4); border-top:1px solid var(--color-chrome-100); font-family:var(--font-heading); font-size:var(--text-lead); font-weight:700; }
.cd-hosts__figure { grid-column:3; min-width:0; width:100%; margin:0; }
.cd-hosts__figure img { aspect-ratio:1; }
.cd-hosts__figure figcaption { max-width:360px; }
.cd-next { padding-block:var(--section-space); background:var(--color-dusk-900); border-top:1px solid var(--color-cyan-400); border-bottom:2px solid var(--color-pink-500); }
.cd-next__panel { display:flex; flex-direction:column; align-items:center; gap:var(--space-4); width:100%; max-width:680px; margin-inline:auto; text-align:center; }
.cd-next__panel h2, .cd-next__panel p { margin:0; }
.cd-next__actions { display:flex; min-width:0; justify-content:center; gap:var(--space-5); width:100%; margin-top:var(--space-3); }
.cd-next__actions > div { display:flex; flex:0 1 220px; min-width:180px; flex-direction:column; align-items:center; gap:var(--space-2); }
.cd-next__actions .button { width:100%; }
.cd-next__actions small { max-width:220px; color:var(--color-paper-200); }
.cd-clarity__grid { display:grid; grid-template-columns:minmax(0,8fr) minmax(0,1fr) minmax(0,3fr); gap:20px; align-items:center; }
.cd-clarity__copy { grid-column:1; min-width:0; width:100%; max-width:680px; }
.cd-clarity__money { margin-bottom:0; padding-left:var(--space-5); border-left:2px solid var(--color-pink-500); font-weight:600; }
.cd-clarity__badge { grid-column:3; min-width:0; width:100%; max-width:240px; padding:var(--space-5); background:var(--color-yellow-300); color:var(--color-ink-950); text-align:center; }
.cd-clarity__badge strong { display:block; font-family:var(--font-heading); font-size:4rem; line-height:.85; }
.cd-clarity__badge span { display:block; margin-top:var(--space-3); font-family:var(--font-mono); font-size:var(--text-utility); font-weight:700; letter-spacing:.1em; }
@media (max-width: 56.25rem) {
.cd-hero__grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
.cd-hero__rail { grid-column:span 2; }
.cd-hero__copy { grid-column:span 4; }
.cd-hero__collage { grid-column:3 / span 4; }
.cd-principles__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cd-principle--one, .cd-principle--two, .cd-principle--three, .cd-principle--four { grid-column:auto; margin-top:0; }
.cd-arrival__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cd-arrival__item--lower, .cd-arrival__item--line { margin-top:0; }
.cd-formats__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cd-format-card--offset { margin-top:0; }
.cd-formats__grid .cd-format-card:last-child { grid-column:1 / span 2; }
}
@media (max-width: 51.25rem) {
.cd-sharing__grid, .cd-hosts__grid { grid-template-columns:1fr; gap:var(--space-6); }
.cd-sharing__copy, .cd-sharing__figure, .cd-hosts__copy, .cd-hosts__figure { grid-column:1; }
.cd-sharing__figure, .cd-hosts__figure { max-width:680px; }
.cd-hosts__figure { order:2; max-width:560px; }
.cd-hosts__copy { order:1; }
.cd-clarity__grid { grid-template-columns:1fr; gap:var(--space-5); }
.cd-clarity__badge { grid-column:1; order:1; }
.cd-clarity__copy { grid-column:1; order:2; }
}
@media (max-width: 47.5rem) {
.cd-hero { padding-top:var(--space-7); }
.cd-hero__grid { grid-template-columns:1fr; gap:var(--space-6); }
.cd-hero__rail, .cd-hero__copy, .cd-hero__collage { grid-column:1; }
.cd-hero__rail { padding-top:0; }
.cd-rail__statuses { flex-direction:row; flex-wrap:wrap; }
.cd-rail__actions { flex-direction:row; flex-wrap:wrap; }
.cd-rail__actions .button { flex:1 1 220px; }
.cd-hero__copy { padding-top:0; }
.cd-hero h1 { font-size:clamp(2.625rem,12vw,4rem); }
.cd-hero__collage { max-width:620px; }
.cd-rhythm__grid { grid-template-columns:1fr; }
.cd-rhythm__marker { order:-1; align-items:flex-start; padding:0 0 var(--space-3); border-right:0; border-bottom:1px solid var(--color-cyan-400); text-align:left; }
.cd-rhythm__marker strong { font-size:2rem; }
.cd-rhythm__step--offset { margin-left:0; }
.cd-next__actions { flex-direction:column; align-items:center; }
.cd-next__actions > div { flex:0 1 auto; width:min(100%,420px); }
}
@media (max-width: 42.5rem) {
.cd-hero__collage { grid-template-columns:1fr; }
.cd-photo-card--table { grid-column:1; width:82%; margin-left:auto; transform:rotate(1deg); }
.cd-photo-card--dishes { grid-column:1; width:92%; transform:rotate(-1deg); }
.cd-photo-card--host { grid-column:1; width:72%; margin-left:auto; transform:rotate(.8deg); }
.cd-rhythm__step { grid-template-columns:48px minmax(0,1fr); gap:var(--space-3); }
.cd-step__number { font-size:2rem; }
.cd-principles__grid, .cd-arrival__grid, .cd-formats__grid { grid-template-columns:1fr; }
.cd-principle--one, .cd-principle--two, .cd-principle--three, .cd-principle--four, .cd-formats__grid .cd-format-card:last-child { grid-column:1; }
.cd-arrival__item { max-width:520px; }
.cd-format-card { max-width:520px; }
.cd-format-summary { flex-direction:column; align-items:flex-start; }
.cd-format-summary .button { width:100%; }
.cd-hosts__minis { grid-template-columns:1fr; gap:var(--space-4); }
.cd-hosts__minis > div { padding:0 0 var(--space-3); border-right:0; border-bottom:1px solid var(--color-cyan-400); }
.cd-hosts__minis > div:last-child { border-bottom:0; }
.cd-clarity__badge { max-width:220px; }
}
@media (prefers-reduced-motion: reduce) {
.cd-photo-card, .cd-photo-card:hover .cd-photo-frame { transform:none; box-shadow:4px 4px 0 var(--color-dusk-950); }
}


.terms-page {
  background: var(--color-dusk-950);
  color: var(--color-white-100);
}

.terms-page a {
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
  overflow-wrap: anywhere;
}

.terms-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: 7rem;
  background: linear-gradient(118deg, var(--color-dusk-950) 0%, var(--color-dusk-900) 72%, var(--color-plum-800) 100%);
}

.terms-hero::before,
.terms-hero::after {
  position: absolute;
  pointer-events: none;
  content: "";
}

.terms-hero::before {
  inset: 0 auto 0 max(1rem, calc((100% - 75rem) / 2));
  width: 1px;
  background: var(--color-cyan-400);
  opacity: 0.65;
}

.terms-hero::after {
  top: 2rem;
  right: 3%;
  width: min(30rem, 42vw);
  height: 17rem;
  opacity: 0.08;
  background-image: linear-gradient(var(--color-cyan-400) 1px, transparent 1px), linear-gradient(90deg, var(--color-cyan-400) 1px, transparent 1px);
  background-size: 24px 24px;
}

.terms-hero__container {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(13.75rem, 3fr);
  column-gap: 8.333%;
  align-items: end;
}

.terms-hero__content,
.terms-version,
.terms-index-note,
.terms-toc,
.terms-document__content,
.terms-reader,
.terms-chapter__split > *,
.terms-format-grid > *,
.terms-timeline > *,
.terms-principles > * {
  min-width: 0;
}

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

.terms-hero h1 {
  max-width: 51.25rem;
  margin-top: var(--space-3);
  margin-bottom: var(--space-5);
}

.terms-hero__lead {
  max-width: 38.75rem;
  margin-bottom: var(--space-6);
  font-size: var(--text-lead);
  line-height: 1.35;
}

.terms-alert {
  display: flex;
  width: min(100%, 35rem);
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-5);
  border-inline-start: 2px solid var(--color-pink-500);
  background: rgba(255, 244, 214, 0.08);
  box-shadow: 4px 4px 0 rgba(9, 4, 20, 0.38);
}

.terms-alert p,
.terms-version dl,
.terms-index-note p,
.terms-toc h2,
.terms-reader > :last-child,
.terms-chapter > :last-child,
.terms-chapter__split > :last-child,
.terms-format-grid > article > :last-child,
.terms-timeline > div > :last-child,
.terms-principles > div > :last-child,
.terms-space-rules > div > :last-child,
.terms-finalisation > :last-child,
.terms-closing-note > :last-child {
  margin-bottom: 0;
}

.terms-alert__label,
.terms-finalisation__label {
  align-self: flex-start;
  padding: 0.35rem 0.5rem;
  background: var(--color-yellow-300);
  color: var(--color-ink-950);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.2;
}

.terms-version {
  grid-column: 2;
  width: 100%;
  padding: var(--space-5);
  border: 1px solid var(--color-chrome-100);
  background: rgba(22, 11, 46, 0.78);
  box-shadow: var(--shadow-offset);
}

.terms-version .label {
  display: block;
  margin-bottom: var(--space-4);
}

.terms-version dl {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.terms-version dl > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-1);
}

.terms-version dt {
  color: var(--color-cyan-400);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.terms-version dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.terms-index-section {
  padding-block: 5rem;
}

.terms-index-section__grid {
  display: grid;
  grid-template-columns: minmax(13.75rem, 3fr) minmax(0, 8fr);
  column-gap: 8.333%;
  align-items: start;
}

.terms-index-note {
  grid-column: 1;
  width: 100%;
  max-width: 38.75rem;
}

.terms-index-note .eyebrow {
  margin-bottom: var(--space-3);
  color: var(--color-plum-800);
}

.terms-toc {
  grid-column: 2;
  width: 100%;
}

.terms-toc h2 {
  margin-bottom: var(--space-5);
  color: var(--color-ink-950);
  font-size: var(--text-section);
}

.terms-toc__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--space-6);
  margin: 0;
  padding: 0;
  list-style: none !important;
}

.terms-toc__list li {
  min-width: 0;
  border-top: 1px solid rgba(22, 11, 46, 0.28);
}

.terms-toc__list a {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  min-height: 3.1rem;
  align-items: center;
  gap: var(--space-2);
  padding-block: var(--space-2);
  color: var(--color-ink-950);
  font-weight: 700;
  text-decoration: none;
}

.terms-toc__list a::before {
  width: 0.5rem;
  height: 0.5rem;
  background: var(--color-cyan-400);
  content: "";
}

.terms-toc__list span {
  grid-column: 1;
  grid-row: 1;
  color: var(--color-plum-800);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 800;
}

.terms-toc__list a:not(.is-active) span {
  transform: translateX(0.75rem);
}

.terms-toc__list a.is-active {
  border-bottom: 2px solid var(--color-yellow-300);
  color: var(--color-plum-800);
}

.terms-document {
  background: var(--color-paper-100);
  color: var(--color-ink-950);
}

.terms-document__layout {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 8fr);
  column-gap: 8.333%;
  align-items: stretch;
  padding-inline: 0;
}

.terms-document__rail {
  grid-column: 1;
  width: 100%;
  padding-inline-start: var(--container-padding);
  background: var(--color-paper-200);
}

.terms-document__rail span {
  position: sticky;
  top: calc(var(--header-height) + var(--space-6));
  display: block;
  width: max-content;
  margin-inline-start: auto;
  padding: var(--space-7) var(--space-4);
  color: var(--color-plum-800);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 800;
  letter-spacing: 0.16em;
  writing-mode: vertical-rl;
}

.terms-document__content {
  grid-column: 2;
  width: 100%;
  padding-inline-end: var(--container-padding);
}

.terms-chapter {
  position: relative;
  padding-block: 7rem;
  scroll-margin-top: calc(var(--header-height) + var(--space-4));
}

.terms-chapter--paper {
  background: var(--color-paper-100);
  color: var(--color-ink-950);
}

.terms-chapter--paper-muted {
  background: var(--color-paper-200);
  color: var(--color-ink-950);
}

.terms-chapter--dark {
  margin-inline: calc(var(--container-padding) * -1) 0;
  padding-inline: var(--container-padding);
  background: var(--color-dusk-900);
  color: var(--color-white-100);
}

.terms-chapter--dark::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--color-cyan-400);
  content: "";
}

.terms-chapter__number {
  display: block;
  margin-bottom: var(--space-3);
  color: var(--color-plum-800);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 800;
  letter-spacing: 0.13em;
}

.terms-chapter--dark .terms-chapter__number {
  color: var(--color-cyan-400);
}

.terms-chapter h2 {
  max-width: 42.5rem;
  margin-bottom: var(--space-6);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
}

.terms-chapter h3 {
  max-width: 42.5rem;
  margin-top: var(--space-7);
  margin-bottom: var(--space-4);
  font-size: 1.25rem;
  letter-spacing: -0.025em;
}

.terms-reader {
  width: 100%;
  max-width: 42.5rem;
}

.terms-reader p,
.terms-reader li,
.terms-note,
.terms-highlight,
.terms-money-note,
.terms-editorial-warning,
.terms-closing-note {
  overflow-wrap: anywhere;
}

.terms-definitions {
  display: grid;
  grid-template-columns: minmax(8.75rem, 28fr) minmax(0, 72fr);
  gap: 0;
  margin-bottom: var(--space-5);
  border-top: 1px solid rgba(22, 11, 46, 0.34);
}

.terms-definitions > div {
  display: contents;
}

.terms-definitions dt,
.terms-definitions dd {
  min-width: 0;
  margin: 0;
  padding-block: var(--space-3);
  border-bottom: 1px solid rgba(22, 11, 46, 0.22);
}

.terms-definitions dt {
  padding-inline-end: var(--space-4);
  color: var(--color-plum-800);
  font-size: var(--text-label);
}

.terms-note {
  width: 100%;
  max-width: 42.5rem;
  margin-top: var(--space-6);
  padding: var(--space-4) var(--space-5);
  border: 1px solid var(--color-chrome-100);
  background: rgba(217, 226, 242, 0.2);
  box-shadow: 4px 4px 0 rgba(22, 11, 46, 0.16);
}

.terms-chapter__split {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(13.75rem, 3fr);
  column-gap: 8.333%;
  align-items: start;
}

.terms-chapter__split > .terms-reader {
  grid-column: 1;
  width: 100%;
}

.terms-age-panel {
  grid-column: 2;
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 2px solid var(--color-yellow-300);
  background: var(--color-yellow-300);
  color: var(--color-ink-950);
  box-shadow: var(--shadow-offset);
}

.terms-age-panel span {
  font-family: var(--font-heading);
  font-size: 4rem;
  font-weight: 800;
  letter-spacing: -0.08em;
  line-height: 0.85;
}

.terms-age-panel p,
.terms-age-panel small {
  margin: 0;
}

.terms-inline-label {
  display: inline-block;
  margin-inline-end: var(--space-2);
  padding: 0.18rem 0.35rem;
  background: var(--color-yellow-300);
  color: var(--color-ink-950);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  letter-spacing: 0.08em;
  line-height: 1.2;
  vertical-align: 0.1em;
}

.terms-numbered-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-bottom: var(--space-5);
  padding: 0;
  list-style: none !important;
  counter-reset: terms-item;
}

.terms-numbered-list li {
  position: relative;
  min-width: 0;
  padding-inline-start: 2.75rem;
  counter-increment: terms-item;
}

.terms-numbered-list li::before {
  position: absolute;
  top: 0.25rem;
  left: 0;
  width: 1.75rem;
  height: 1.75rem;
  display: grid;
  place-items: center;
  background: var(--color-cyan-400);
  color: var(--color-ink-950);
  content: counter(terms-item, decimal-leading-zero);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 800;
}

.terms-chapter--dark .terms-numbered-list li::before {
  background: var(--color-yellow-300);
}

.terms-highlight {
  max-width: 40rem;
  margin-top: var(--space-5);
  padding: var(--space-4) var(--space-5);
  border-inline-start: 2px solid var(--color-pink-500);
  background: rgba(255, 63, 164, 0.12);
}

.terms-format-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
  max-width: 51.25rem;
  margin-top: var(--space-6);
  margin-bottom: var(--space-6);
}

.terms-format-grid article {
  width: 100%;
  min-width: 0;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-cyan-400);
}

.terms-format-grid span {
  color: var(--color-plum-800);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 800;
  letter-spacing: 0.1em;
}

.terms-format-grid h3 {
  margin-top: var(--space-3);
  margin-bottom: var(--space-3);
}

.terms-money-note {
  display: flex;
  width: 100%;
  max-width: 42.5rem;
  flex-direction: column;
  gap: var(--space-3);
  margin-bottom: var(--space-7);
  padding: var(--space-5);
  border-inline-start: 2px solid var(--color-pink-500);
  background: var(--color-dusk-900);
  color: var(--color-paper-100);
  box-shadow: 4px 4px 0 rgba(22, 11, 46, 0.35);
}

.terms-money-note .label {
  color: var(--color-pink-500);
}

.terms-money-note p {
  margin: 0;
}

.terms-side-label {
  position: absolute;
  top: 7rem;
  right: 0;
  color: rgba(53, 22, 92, 0.58);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 800;
  letter-spacing: 0.14em;
  writing-mode: vertical-rl;
}

.terms-space-rules {
  display: flex;
  width: 100%;
  max-width: 35rem;
  flex-direction: column;
  margin-top: var(--space-4);
  border-top: 1px solid var(--color-cyan-400);
}

.terms-space-rules > div {
  width: 100%;
  min-width: 0;
  padding-block: var(--space-4);
  border-bottom: 1px solid var(--color-cyan-400);
}

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

.terms-timeline {
  display: grid;
  grid-template-columns: repeat(3, minmax(13.75rem, 1fr));
  gap: var(--space-5);
  width: 100%;
  max-width: 51.25rem;
  margin-top: var(--space-7);
  margin-bottom: var(--space-7);
}

.terms-timeline > div {
  position: relative;
  width: 100%;
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 2px solid var(--color-cyan-400);
}

.terms-timeline span {
  color: var(--color-yellow-300);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 800;
  letter-spacing: 0.1em;
}

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

.terms-note--dark {
  border-color: var(--color-chrome-100);
  background: rgba(255, 244, 214, 0.08);
  color: var(--color-white-100);
}

.terms-principles-title {
  margin-top: var(--space-7);
}

.terms-principles {
  display: grid;
  grid-template-columns: repeat(2, minmax(17rem, 1fr));
  gap: var(--space-5);
  width: 100%;
  max-width: 51.25rem;
}

.terms-principles > div {
  width: 100%;
  min-width: 0;
  padding: var(--space-4) 0;
  border-top: 1px solid var(--color-cyan-400);
}

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

.terms-editorial-warning {
  display: flex;
  width: 100%;
  max-width: 42.5rem;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-7);
  padding: var(--space-4) var(--space-5);
  border: 2px solid var(--color-yellow-300);
  background: rgba(255, 209, 102, 0.22);
  box-shadow: 4px 4px 0 rgba(22, 11, 46, 0.18);
}

.terms-editorial-warning .label {
  color: var(--color-ink-950);
}

.terms-editorial-warning p {
  margin: 0;
}

.terms-chapter--closing {
  padding-bottom: 7rem;
}

.terms-chapter--closing a {
  color: var(--color-cyan-400);
  font-weight: 700;
}

.terms-finalisation {
  display: flex;
  width: 100%;
  max-width: 47.5rem;
  flex-direction: column;
  gap: var(--space-4);
  margin-top: var(--space-7);
  padding: var(--space-5);
  border: 2px solid var(--color-yellow-300);
  background: rgba(255, 209, 102, 0.1);
}

.terms-finalisation ol {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin: 0;
  padding-inline-start: 1.5rem;
}

.terms-finalisation li {
  min-width: 0;
  overflow-wrap: anywhere;
}

.terms-finalisation li::marker {
  color: var(--color-yellow-300);
  font-family: var(--font-mono);
  font-weight: 800;
}

.terms-closing-note {
  width: 100%;
  max-width: 42.5rem;
  margin-top: var(--space-7);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-chrome-100);
}

@media (min-width: 56.25rem) and (min-height: 43.75rem) {
  .terms-toc {
    position: sticky;
    top: calc(var(--header-height) + var(--space-5));
  }
}

@media (max-width: 56.25rem) {
  .terms-hero,
  .terms-chapter {
    padding-block: 5rem;
  }

  .terms-hero__container,
  .terms-index-section__grid,
  .terms-document__layout,
  .terms-chapter__split {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-6);
  }

  .terms-hero__content,
  .terms-version,
  .terms-index-note,
  .terms-toc,
  .terms-document__rail,
  .terms-document__content,
  .terms-chapter__split > .terms-reader,
  .terms-age-panel {
    grid-column: 1;
  }

  .terms-version {
    max-width: 24rem;
  }

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

  .terms-document__layout {
    padding-inline: var(--container-padding);
  }

  .terms-document__rail {
    display: none;
  }

  .terms-document__content {
    padding-inline-end: 0;
  }

  .terms-chapter--dark {
    margin-inline: calc(var(--container-padding) * -1);
    padding-inline: var(--container-padding);
  }

  .terms-format-grid {
    grid-template-columns: minmax(0, 1fr);
    max-width: 42.5rem;
  }

  .terms-side-label {
    display: none;
  }

  .terms-timeline {
    grid-template-columns: minmax(0, 1fr);
    max-width: 42.5rem;
  }

  .terms-timeline > div {
    padding-top: var(--space-4);
    padding-inline-start: var(--space-5);
    border-top: 0;
    border-inline-start: 2px solid var(--color-cyan-400);
  }
}

@media (max-width: 47.5rem) {
  .terms-hero {
    padding-block: 3.5rem;
  }

  .terms-hero__container {
    row-gap: var(--space-5);
  }

  .terms-hero h1 {
    font-size: clamp(2.625rem, 12vw, 3.625rem);
  }

  .terms-hero__lead {
    font-size: 1.125rem;
  }

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

  .terms-index-section {
    padding-block: 3.5rem;
  }

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

  .terms-chapter {
    padding-block: 3.5rem;
  }

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

  .terms-definitions dt {
    padding-bottom: var(--space-2);
    border-bottom: 0;
  }

  .terms-definitions dd {
    padding-top: 0;
  }

  .terms-age-panel {
    order: -1;
  }

  .terms-chapter__split {
    row-gap: var(--space-5);
  }

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

  .terms-money-note,
  .terms-editorial-warning,
  .terms-finalisation {
    padding: var(--space-4);
  }
}

@media (prefers-reduced-motion: reduce) {
  .terms-toc__list a:not(.is-active) span {
    transform: none;
  }
}


.kapcsolat-page { overflow-x: clip; }

.kapcsolat-page section { position: relative; }

.kapcsolat-page .container { width: min(100%, calc(75rem + 3.5rem)); }

.kapcsolat-hero { overflow: hidden; background: linear-gradient(118deg, var(--color-dusk-950) 0%, var(--color-dusk-950) 62%, var(--color-plum-800) 100%); }

.kapcsolat-hero::before { position: absolute; inset: 0; opacity: .07; background-image: linear-gradient(var(--color-cyan-400) 1px, transparent 1px), linear-gradient(90deg, var(--color-cyan-400) 1px, transparent 1px); background-size: 28px 28px; content: ""; pointer-events: none; }

.kapcsolat-hero::after { position: absolute; top: 42%; right: 0; left: 0; height: 1px; background: var(--color-cyan-400); content: ""; opacity: .55; pointer-events: none; }

.kapcsolat-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 6fr) minmax(0, 3fr) minmax(0, 1fr); align-items: start; gap: var(--space-5); min-width: 0; }

.kapcsolat-status { display: flex; grid-column: 1; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-4); padding-top: var(--space-6); }

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

.kapcsolat-status p { max-width: 15.625rem; margin: 0; color: var(--color-paper-100); font-size: var(--text-label); line-height: var(--leading-label); }

.kapcsolat-hero__copy { display: flex; grid-column: 2; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-5); padding-top: var(--space-8); }

.kapcsolat-pixel-label { display: inline-flex; align-items: center; width: fit-content; min-width: 0; padding: var(--space-2) var(--space-3); border: 1px solid var(--color-pink-500); background: var(--color-pink-500); color: var(--color-ink-950); font-family: var(--font-mono); font-size: var(--text-utility); font-weight: 700; letter-spacing: .12em; line-height: var(--leading-utility); text-transform: uppercase; }

.kapcsolat-hero h1 { max-width: 51.25rem; margin: 0; color: var(--color-paper-100); font-size: clamp(3.25rem, 7vw, 6.5rem); text-shadow: 4px 4px 0 var(--color-pink-500); }

.kapcsolat-hero__lead { max-width: 35rem; margin: 0; color: var(--color-chrome-100); font-size: var(--text-lead); }

.kapcsolat-topic-preview { display: flex; grid-column: 3; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-4); margin-top: var(--space-7); padding: var(--space-5); border: 1px solid rgba(22, 11, 46, .45); background: var(--color-paper-200); color: var(--color-ink-950); box-shadow: var(--shadow-paper); }

.kapcsolat-topic-preview .eyebrow { color: var(--color-plum-800); }
.kapcsolat-topic-preview h2 { margin: 0; font-size: var(--text-section); }
.kapcsolat-topic-preview ul { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); margin: 0; padding: 0; }
.kapcsolat-topic-preview li { padding-bottom: var(--space-3); border-bottom: 1px solid var(--color-cyan-400); font-size: var(--text-label); line-height: var(--leading-label); }
.kapcsolat-topic-preview li:last-child { padding-bottom: 0; border-bottom: 0; }

.kapcsolat-channel__layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.kapcsolat-channel__intro { display: flex; grid-column: 1 / span 6; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kapcsolat-channel__intro h2, .kapcsolat-channel__intro p { margin: 0; }
.kapcsolat-channel__intro p { max-width: 38.75rem; }

.kapcsolat-channel__form-route { display: grid; grid-column: 1 / span 8; grid-template-columns: minmax(4.5rem, .8fr) minmax(0, 5fr); min-width: 0; gap: var(--space-5); padding: var(--space-6); border: 1px solid rgba(22, 11, 46, .35); background: var(--color-paper-100); box-shadow: var(--shadow-paper); }
.kapcsolat-route-number { min-width: 0; color: var(--color-plum-800); font-family: var(--font-heading); font-size: clamp(3rem, 7vw, 5.5rem); font-weight: 700; letter-spacing: -.06em; line-height: .8; }
.kapcsolat-channel__route-copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kapcsolat-channel__route-copy h3, .kapcsolat-channel__route-copy p { margin: 0; }
.kapcsolat-channel__route-copy p { max-width: 36rem; }

.kapcsolat-channel__texture { display: flex; grid-column: 9 / span 4; min-width: 0; min-height: 13rem; align-items: flex-end; justify-content: flex-end; padding: var(--space-4); border: 1px solid var(--color-cyan-400); background-image: linear-gradient(135deg, transparent 49%, rgba(72, 224, 232, .18) 50%, transparent 51%), linear-gradient(var(--color-plum-800), var(--color-dusk-900)); color: var(--color-cyan-400); font-family: var(--font-mono); font-size: var(--text-utility); letter-spacing: .12em; }

.kapcsolat-channel__tips { display: flex; grid-column: 1 / -1; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding-top: var(--space-5); border-top: 1px solid var(--color-cyan-400); }
.kapcsolat-channel__tips h3, .kapcsolat-channel__tips p { margin: 0; }
.kapcsolat-channel__tips ul { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); max-width: 45rem; margin: 0; padding: 0; }
.kapcsolat-channel__tips li::before { margin-right: var(--space-2); color: var(--color-pink-500); content: "■"; }
.kapcsolat-channel__tips p { max-width: 45rem; font-size: var(--text-label); }

.kapcsolat-form-section { background: var(--color-dusk-900); }
.kapcsolat-form-section::before { position: absolute; inset: 0; background: repeating-linear-gradient(0deg, transparent 0 5px, rgba(217, 226, 242, .035) 6px); content: ""; pointer-events: none; }
.kapcsolat-form-section__layout { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.kapcsolat-form-section__intro { display: flex; grid-column: 1 / span 7; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kapcsolat-form-section__intro h2, .kapcsolat-form-section__intro p { margin: 0; }
.kapcsolat-form-section__intro p { max-width: 38.75rem; color: var(--color-chrome-100); }

.kapcsolat-form { display: flex; grid-column: 1 / span 8; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-5); padding: var(--space-6); border: 1px solid var(--color-chrome-100); background: var(--color-paper-100); color: var(--color-ink-950); box-shadow: var(--shadow-paper); }
.kapcsolat-form__summary { display: none; padding: var(--space-3); border: 2px solid var(--color-pink-500); background: var(--color-paper-200); color: var(--color-ink-950); font-weight: 700; }
.kapcsolat-form__summary.is-visible { display: block; }
.kapcsolat-form__required-note { margin: 0; font-size: var(--text-label); }
.kapcsolat-form__required-note span, .form-label span { color: #9b004d; font-weight: 800; }
.kapcsolat-form__identity { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; gap: var(--space-4); }
.kapcsolat-form__identity > *, .kapcsolat-form > *, .kapcsolat-form__topic-options > * { min-width: 0; }
.kapcsolat-form .form-field { gap: var(--space-2); }
.kapcsolat-form .input, .kapcsolat-form .textarea { min-height: 3rem; border-color: var(--color-plum-800); background: rgba(255, 255, 255, .28); }
.kapcsolat-form .textarea { min-height: 10rem; }
.kapcsolat-field-error { min-height: 1.35em; margin: 0; color: #9b004d; font-size: var(--text-label); font-weight: 700; line-height: var(--leading-label); }
.kapcsolat-form__topics { display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-3); margin: 0; padding: 0; border: 0; }
.kapcsolat-form__topics legend { padding: 0; }
.kapcsolat-form__topic-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; gap: var(--space-3); }
.kapcsolat-topic-option { display: flex; min-width: 0; min-height: 2.75rem; align-items: center; gap: var(--space-3); padding: var(--space-3); border: 1px solid var(--color-plum-800); background: rgba(255, 255, 255, .18); font-size: var(--text-label); font-weight: 700; line-height: var(--leading-label); cursor: pointer; }
.kapcsolat-topic-option input { width: 1.1rem; min-width: 1.1rem; height: 1.1rem; accent-color: var(--color-pink-500); }
.kapcsolat-topic-option:has(input:checked) { border: 2px solid var(--color-pink-500); background: var(--color-paper-200); }
.kapcsolat-form__topic-help { margin: 0; min-height: 1.55em; color: var(--color-plum-800); font-size: var(--text-label); }
.kapcsolat-form__send { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding-top: var(--space-5); border-top: 1px solid var(--color-cyan-400); }
.kapcsolat-form__send p { max-width: 36.875rem; margin: 0; font-size: var(--text-label); }
.kapcsolat-form__endpoint-note { color: var(--color-plum-800); }

.kapcsolat-form-guide { display: flex; grid-column: 9 / span 4; min-width: 0; align-self: start; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border: 1px solid var(--color-chrome-100); background: var(--color-plum-800); }
.kapcsolat-form-guide h3, .kapcsolat-form-guide p { margin: 0; }
.kapcsolat-form-guide ol { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); margin: 0; padding: 0; }
.kapcsolat-form-guide li { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); min-width: 0; gap: var(--space-3); }
.kapcsolat-form-guide li strong { color: var(--color-cyan-400); font-family: var(--font-mono); }
.kapcsolat-form-guide p { color: var(--color-chrome-100); font-size: var(--text-label); }

.kapcsolat-topics__intro { display: flex; min-width: 0; flex-direction: column; align-items: center; gap: var(--space-4); width: min(100%, 40.625rem); margin-inline: auto; text-align: center; }
.kapcsolat-topics__intro h2, .kapcsolat-topics__intro p { margin: 0; }
.kapcsolat-topic-posters { display: grid; grid-template-columns: 4fr 3fr 3fr 2fr; align-items: end; min-width: 0; gap: var(--space-5); margin-top: var(--space-7); }
.kapcsolat-topic-poster { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border: 1px solid rgba(22, 11, 46, .55); background: var(--color-paper-100); box-shadow: var(--shadow-paper); }
.kapcsolat-topic-poster--a { min-height: 22rem; }
.kapcsolat-topic-poster--b { min-height: 25rem; border-top: 2px solid var(--color-cyan-400); }
.kapcsolat-topic-poster--c { min-height: 20rem; border-left: 2px solid var(--color-pink-500); }
.kapcsolat-topic-poster--d { min-height: 18rem; margin-bottom: var(--space-6); border-bottom: 2px solid var(--color-yellow-300); }
.kapcsolat-topic-poster > span { color: var(--color-plum-800); font-family: var(--font-mono); font-weight: 700; letter-spacing: .12em; }
.kapcsolat-topic-poster h3, .kapcsolat-topic-poster p { margin: 0; }
.kapcsolat-topic-poster h3 { font-size: clamp(1.4rem, 2.2vw, 1.8rem); }
.kapcsolat-topic-poster p { max-width: 26.25rem; font-size: var(--text-label); }
.kapcsolat-topic-jump { min-width: 100%; min-height: 2.75rem; margin-top: auto; padding: var(--space-2); border: 1px solid var(--color-plum-800); background: transparent; color: var(--color-ink-950); font-family: var(--font-mono); font-size: var(--text-utility); font-weight: 700; letter-spacing: .06em; line-height: var(--leading-label); text-align: left; }
.kapcsolat-topic-jump:hover { background: var(--color-pink-500); }

.kapcsolat-process { background: var(--color-dusk-950); }
.kapcsolat-process__layout { display: grid; grid-template-columns: 5fr 7fr; min-width: 0; gap: var(--space-6); }
.kapcsolat-process__intro { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kapcsolat-process__intro h2, .kapcsolat-process__intro p { margin: 0; }
.kapcsolat-process__intro p { max-width: 29.375rem; color: var(--color-chrome-100); }
.kapcsolat-process__steps { display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); margin: 0; padding: 0 0 0 var(--space-5); border-left: 1px solid var(--color-cyan-400); }
.kapcsolat-process__steps li { display: grid; grid-template-columns: 4.25rem minmax(0, 1fr); min-width: 0; gap: var(--space-4); }
.kapcsolat-process__steps li:nth-child(2), .kapcsolat-process__steps li:nth-child(3) { margin-left: var(--space-6); }
.kapcsolat-process__steps > li > span { color: var(--color-pink-500); font-family: var(--font-heading); font-size: 3rem; font-weight: 700; letter-spacing: -.06em; line-height: .85; }
.kapcsolat-process__steps li > div { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding-bottom: var(--space-5); border-bottom: 1px solid rgba(72, 224, 232, .5); }
.kapcsolat-process__steps h3, .kapcsolat-process__steps p { margin: 0; }
.kapcsolat-process__steps p { max-width: 32.5rem; color: var(--color-chrome-100); }

.kapcsolat-boundaries__layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); min-width: 0; gap: var(--space-5); }
.kapcsolat-boundaries__intro { display: flex; grid-column: 1 / span 6; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kapcsolat-boundaries__intro h2, .kapcsolat-boundaries__intro p { margin: 0; }
.kapcsolat-boundaries__intro p { max-width: 37.5rem; }
.kapcsolat-boundaries__positive { display: flex; grid-column: 1 / span 7; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); border: 1px solid rgba(22, 11, 46, .35); background: var(--color-paper-100); box-shadow: var(--shadow-paper); }
.kapcsolat-boundaries__positive h3, .kapcsolat-boundaries__positive p { margin: 0; }
.kapcsolat-boundaries__positive p { max-width: 37.5rem; }
.kapcsolat-boundaries__exclusions { display: flex; grid-column: 8 / span 5; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); background: var(--color-dusk-900); color: var(--color-white-100); }
.kapcsolat-boundaries__exclusions h3, .kapcsolat-boundaries__exclusions p { margin: 0; }
.kapcsolat-boundaries__exclusions ul { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); margin: 0; padding: 0; }
.kapcsolat-boundaries__exclusions li::before { margin-right: var(--space-2); color: var(--color-yellow-300); content: "—"; }
.kapcsolat-boundaries__exclusions p { max-width: 24.375rem; color: var(--color-chrome-100); font-size: var(--text-label); }
.kapcsolat-boundaries__age { grid-column: 1 / -1; min-width: 0; padding: var(--space-4) var(--space-5); background: var(--color-yellow-300); color: var(--color-ink-950); font-weight: 700; }

.kapcsolat-writing { overflow: hidden; background: var(--color-dusk-950); }
.kapcsolat-writing::before { position: absolute; inset: 0; opacity: .05; background: repeating-linear-gradient(0deg, transparent 0 6px, var(--color-cyan-400) 7px); content: ""; pointer-events: none; }
.kapcsolat-writing .container { position: relative; z-index: 1; }
.kapcsolat-writing__intro { display: flex; min-width: 0; flex-direction: column; align-items: center; gap: var(--space-4); width: min(100%, 42.5rem); margin-inline: auto; text-align: center; }
.kapcsolat-writing__intro h2, .kapcsolat-writing__intro p { margin: 0; }
.kapcsolat-writing__intro p { color: var(--color-chrome-100); }
.kapcsolat-writing__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; min-width: 0; gap: var(--space-5); margin-top: var(--space-7); }
.kapcsolat-writing__cards article { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-height: 18rem; padding: var(--space-5); border: 1px solid var(--color-chrome-100); background: var(--color-plum-800); }
.kapcsolat-writing__cards article:nth-child(2) { margin-top: var(--space-6); }
.kapcsolat-writing__cards article:nth-child(3) { border: 2px solid var(--color-pink-500); box-shadow: 4px 4px 0 var(--color-cyan-400); }
.kapcsolat-writing__cards span { color: var(--color-cyan-400); font-family: var(--font-mono); font-size: var(--text-utility); font-weight: 700; letter-spacing: .1em; }
.kapcsolat-writing__cards h3, .kapcsolat-writing__cards p { margin: 0; }
.kapcsolat-writing__cards p { max-width: 19.375rem; color: var(--color-chrome-100); }
.kapcsolat-writing__action { display: flex; min-width: 0; justify-content: center; margin-top: var(--space-7); }

.kapcsolat-final { background: var(--color-plum-800); }
.kapcsolat-final__inner { display: flex; min-width: 0; flex-direction: column; align-items: center; gap: var(--space-5); width: min(100%, 45rem); margin-inline: auto; text-align: center; }
.kapcsolat-final__inner h2, .kapcsolat-final__inner p { margin: 0; }
.kapcsolat-final__inner h2 { max-width: 42.5rem; font-size: clamp(2.5rem, 5vw, 4rem); }
.kapcsolat-final__inner > p { max-width: 38.75rem; color: var(--color-chrome-100); }
.kapcsolat-final__inner > .button { box-shadow: var(--shadow-glow-cyan); }
.kapcsolat-final__status { display: flex; min-width: 0; flex-wrap: wrap; justify-content: center; gap: var(--space-3); }

@media (max-width: 61.25rem) {
  .kapcsolat-hero__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .kapcsolat-status { grid-column: 1 / span 2; }
  .kapcsolat-hero__copy { grid-column: 3 / span 4; }
  .kapcsolat-topic-preview { grid-column: 3 / span 4; margin-top: 0; }
  .kapcsolat-channel__form-route { grid-column: 1 / span 8; }
  .kapcsolat-channel__texture { grid-column: 9 / span 4; }
}

@media (max-width: 58.75rem) {
  .kapcsolat-form-section__intro { grid-column: 1 / -1; }
  .kapcsolat-form { grid-column: 1 / -1; }
  .kapcsolat-form-guide { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
  .kapcsolat-form-guide .eyebrow, .kapcsolat-form-guide h3, .kapcsolat-form-guide .badge, .kapcsolat-form-guide p { grid-column: 1; }
  .kapcsolat-form-guide ol { grid-column: 2; grid-row: 1 / span 4; }
}

@media (max-width: 56.25rem) {
  .kapcsolat-channel__layout, .kapcsolat-boundaries__layout { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .kapcsolat-channel__intro, .kapcsolat-boundaries__intro { grid-column: 1 / -1; }
  .kapcsolat-channel__form-route { grid-column: 1 / -1; }
  .kapcsolat-channel__texture { display: none; }
  .kapcsolat-channel__tips { grid-column: 1 / -1; }
  .kapcsolat-topic-posters { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
  .kapcsolat-topic-poster--a, .kapcsolat-topic-poster--b, .kapcsolat-topic-poster--c, .kapcsolat-topic-poster--d { min-height: 0; margin-bottom: 0; }
  .kapcsolat-process__layout { grid-template-columns: minmax(0, 1fr); }
  .kapcsolat-process__steps { max-width: none; }
  .kapcsolat-boundaries__positive { grid-column: 1 / -1; }
  .kapcsolat-boundaries__exclusions { grid-column: 1 / -1; }
  .kapcsolat-boundaries__age { grid-column: 1 / -1; }
  .kapcsolat-writing__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kapcsolat-writing__cards article:nth-child(3) { grid-column: 1 / -1; max-width: none; }
}

@media (max-width: 47.5rem) {
  .kapcsolat-hero__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .kapcsolat-status { grid-column: 1; padding-top: 0; }
  .kapcsolat-status__labels { flex-flow: row wrap; align-items: center; }
  .kapcsolat-status p { max-width: none; }
  .kapcsolat-hero__copy { grid-column: 1; padding-top: 0; }
  .kapcsolat-hero h1 { font-size: clamp(2.625rem, 12vw, 4rem); }
  .kapcsolat-topic-preview { grid-column: 1; width: 100%; margin-top: 0; }
}

@media (max-width: 51.25rem) {
  .kapcsolat-process__steps li:nth-child(2), .kapcsolat-process__steps li:nth-child(3) { margin-left: 0; }
}

@media (max-width: 42.5rem) {
  .kapcsolat-channel__form-route { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); padding: var(--space-4); }
  .kapcsolat-route-number { font-size: 3.5rem; }
  .kapcsolat-channel__route-copy .button { width: 100%; }
  .kapcsolat-form { padding: var(--space-4); }
  .kapcsolat-form__identity, .kapcsolat-form__topic-options { grid-template-columns: minmax(0, 1fr); }
  .kapcsolat-form .button { width: 100%; }
  .kapcsolat-form-guide { display: flex; grid-template-columns: none; }
  .kapcsolat-form-guide ol { grid-column: auto; grid-row: auto; }
  .kapcsolat-topics__intro, .kapcsolat-writing__intro { width: 100%; align-items: flex-start; margin-inline: 0; text-align: left; }
  .kapcsolat-topic-posters, .kapcsolat-writing__cards { grid-template-columns: minmax(0, 1fr); }
  .kapcsolat-topic-poster--a, .kapcsolat-topic-poster--b, .kapcsolat-topic-poster--c, .kapcsolat-topic-poster--d, .kapcsolat-writing__cards article:nth-child(3) { grid-column: 1; }
  .kapcsolat-writing__cards article:nth-child(2) { margin-top: 0; }
  .kapcsolat-process__steps { padding-left: var(--space-4); }
  .kapcsolat-process__steps li { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  .kapcsolat-process__steps > li > span { font-size: 2.5rem; }
  .kapcsolat-final__inner { width: 100%; }
  .kapcsolat-final__inner > .button { width: min(100%, 22.5rem); }
  .kapcsolat-final__status { flex-direction: column; align-items: center; }
}

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


.galeria-page{overflow:hidden}.galeria-page section{position:relative}.galeria-hero{min-height:620px;padding-block:72px;background:linear-gradient(135deg,#160b2e 0%,#241044 66%,#35165c 100%)}.galeria-hero::after,.galeria-dinner::after,.galeria-next::after{position:absolute;inset:0;pointer-events:none;content:"";opacity:.07;background-image:linear-gradient(rgba(72,224,232,.8) 1px,transparent 1px),linear-gradient(90deg,rgba(72,224,232,.8) 1px,transparent 1px);background-size:28px 28px}.galeria-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(180px,2fr) minmax(0,5fr) minmax(0,5fr);gap:20px;align-items:center;min-height:476px}.galeria-hero__rail,.galeria-hero__copy,.galeria-hero__collage{min-width:0}.galeria-hero__rail{display:flex;flex-direction:column;align-items:stretch;gap:16px}.galeria-hero__statuses{display:flex;flex-direction:column;gap:8px}.galeria-status{display:block;padding:8px;border:1px solid currentColor;font:700 11px/1.25 var(--font-mono);letter-spacing:.1em}.galeria-status--age{color:var(--color-yellow-300)}.galeria-status--offline{color:var(--color-cyan-400)}.galeria-hero__rail-copy{margin:0;color:var(--color-paper-100);font-size:13px;line-height:1.4}.galeria-hero__actions{display:flex;flex-direction:column;gap:12px}.galeria-hero__actions .button{width:100%;min-width:0}.galeria-hero__copy{padding-left:24px}.galeria-hero__copy h1{margin-top:12px;margin-bottom:24px;max-width:820px;text-transform:uppercase;text-shadow:3px 3px 0 rgba(255,63,164,.36)}.galeria-hero__copy h1 span{color:var(--color-cyan-400)}.galeria-hero__lead{max-width:540px;margin:0;color:var(--color-chrome-100);font-size:20px;line-height:1.45}.galeria-hero__collage{position:relative;width:100%;min-height:445px}.galeria-image-card{position:absolute;margin:0}.galeria-image-card--host{top:10px;right:5%;width:min(100%,390px);transform:rotate(1.5deg)}.galeria-image-card--roulette{bottom:18px;left:2%;width:min(56%,230px);transform:rotate(-2deg);z-index:2}.galeria-image-card__trigger,.galeria-feature-image__trigger,.galeria-table__trigger,.galeria-dinner__trigger,.galeria-community__trigger{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left}.galeria-image-card img{width:100%;height:315px;object-fit:cover}.galeria-image-card--roulette img{height:195px}.galeria-image-card__caption{display:block;padding:8px 10px;border:1px solid var(--color-chrome-100);background:var(--color-dusk-900);color:var(--color-paper-100);font:700 11px/1.2 var(--font-mono);letter-spacing:.08em}.galeria-image-card__trigger:hover .frame,.galeria-feature-image__trigger:hover .frame,.galeria-table__trigger:hover .frame,.galeria-dinner__trigger:hover .frame,.galeria-community__trigger:hover .frame{box-shadow:4px 4px 0 var(--color-pink-500),var(--shadow-glow-cyan)}.galeria-story{padding-block:112px}.galeria-story__intro{display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:min(100%,460px)}.galeria-story__intro h2,.galeria-story__intro p{margin:0}.galeria-story__line{height:1px;margin-block:48px;background:var(--color-cyan-400)}.galeria-story__steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.galeria-story__step{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:16px;border-top:2px solid var(--color-ink-950)}.galeria-story__number{font:700 11px/1.2 var(--font-mono);letter-spacing:.1em;color:var(--color-plum-800)}.galeria-story__step h3,.galeria-story__step p{margin:0}.galeria-story__step p{max-width:260px;font-size:15px}.galeria-host{padding-block:112px}.galeria-host__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,2fr) minmax(0,5fr);align-items:center}.galeria-host__copy{grid-column:1;display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:16px;width:min(100%,520px)}.galeria-host__copy h2,.galeria-host__copy p{margin:0}.galeria-host__copy .button{margin-top:8px}.galeria-feature-image{grid-column:3;min-width:0;width:min(100%,470px);justify-self:end;margin:0}.galeria-feature-image img{width:100%;height:585px;object-fit:cover}.galeria-feature-image__caption{display:block;margin-top:8px;padding:12px;border:1px solid var(--color-chrome-100);background:var(--color-dusk-900);color:var(--color-paper-100);font-size:13px;line-height:1.4}.galeria-feature-image__caption b{display:block;margin-bottom:4px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em}.galeria-table{padding-block:112px}.galeria-table__grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,4fr) minmax(0,6fr);gap:24px;align-items:end}.galeria-table__meta{align-self:start;display:flex;min-width:0;flex-direction:column;gap:4px;color:var(--color-plum-800);font-family:var(--font-mono);letter-spacing:.1em}.galeria-table__meta strong{font-family:var(--font-heading);font-size:64px;line-height:.8}.galeria-table__image{min-width:0;margin:0}.galeria-table__image img{width:100%;aspect-ratio:1;height:auto;object-fit:cover}.galeria-table__image p{max-width:390px;margin:12px 0 0;font-size:14px}.galeria-table__image .eyebrow{display:block;margin-bottom:6px;color:var(--color-plum-800)}.galeria-table__copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:16px;width:min(100%,620px);padding-bottom:16px}.galeria-table__copy h2,.galeria-table__copy p{margin:0}.galeria-table__lead{max-width:580px;font-size:20px;line-height:1.45}.galeria-table__notice{display:flex;flex-direction:column;gap:8px;max-width:510px;padding:16px;background:var(--color-yellow-300);color:var(--color-ink-950);box-shadow:var(--shadow-paper)}.galeria-table__notice strong{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em}.galeria-table__notice p{font-size:15px;line-height:1.45}.galeria-dinner{padding-block:112px;background:var(--color-dusk-900)}.galeria-dinner .container{position:relative;z-index:1}.galeria-dinner__intro{display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:min(100%,640px)}.galeria-dinner__intro h2,.galeria-dinner__intro p{margin:0}.galeria-dinner__intro p{font-size:20px;line-height:1.45}.galeria-dinner__layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,4fr);gap:48px;align-items:start;margin-top:48px}.galeria-dinner__image,.galeria-dinner__notes{min-width:0}.galeria-dinner__image img{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover}.galeria-dinner__caption{margin:12px 0 0;color:var(--color-chrome-100);font-size:13px}.galeria-dinner__notes{display:flex;flex-direction:column;align-items:flex-start;gap:24px;max-width:370px}.galeria-note{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-top:16px;border-top:1px solid var(--color-cyan-400)}.galeria-note h3,.galeria-note p{margin:0}.galeria-note h3{font-size:28px}.galeria-note p{font-size:15px}.galeria-community{padding-block:112px}.galeria-community__intro{display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:min(100%,580px)}.galeria-community__intro h2,.galeria-community__intro p{margin:0}.galeria-community__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start;margin-top:48px}.galeria-community__photo{grid-column:span 7;min-width:0;margin:0}.galeria-community__photo img{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover}.galeria-community__photo p{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,3fr);gap:16px;margin:12px 0 0;font-size:14px}.galeria-community__photo .eyebrow{color:var(--color-plum-800)}.galeria-poster{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:24px;background:var(--color-paper-100);box-shadow:var(--shadow-paper)}.galeria-poster h3,.galeria-poster p{margin:0}.galeria-poster--pink{grid-column:8 / span 5;border:2px solid var(--color-pink-500)}.galeria-poster--pink p{max-width:420px}.galeria-poster--links{grid-column:8 / span 3;border:1px solid var(--color-cyan-400)}.galeria-poster--links a{display:flex;min-width:0;min-height:44px;flex-direction:column;justify-content:center;gap:2px;color:var(--color-ink-950)}.galeria-poster--links a:hover{color:var(--color-plum-800)}.galeria-poster--links a span{font-size:13px;line-height:1.3}.galeria-poster--notice{grid-column:11 / span 2;background:var(--color-yellow-300)}.galeria-poster--notice p{font-size:14px;line-height:1.4}.galeria-next{padding-block:112px;background:linear-gradient(135deg,#160b2e,#35165c);color:var(--color-white-100)}.galeria-next__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,4fr);gap:min(8vw,96px);align-items:center}.galeria-next__copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:16px;width:min(100%,620px)}.galeria-next__copy h2,.galeria-next__copy p{margin:0}.galeria-next__copy h2{font-size:clamp(2rem,4vw,2.5rem)}.galeria-next__meta{padding-top:16px;border-top:1px solid var(--color-cyan-400);color:var(--color-yellow-300);font:700 11px/1.45 var(--font-mono);letter-spacing:.08em}.galeria-next__actions{display:flex;min-width:0;flex-direction:column;gap:12px;width:100%;max-width:340px}.galeria-next__action{display:flex;min-width:0;min-height:64px;flex-direction:column;justify-content:center;gap:3px;padding:10px 14px;border:1px solid var(--color-cyan-400);color:var(--color-white-100);text-decoration:none}.galeria-next__action:first-child{border:2px solid var(--color-pink-500);background:var(--color-pink-500);color:var(--color-ink-950)}.galeria-next__action:hover{color:var(--color-ink-950);background:var(--color-cyan-400);box-shadow:var(--shadow-glow-cyan);transform:translateY(-2px)}.galeria-next__action span{font-size:13px;line-height:1.3}.galeria-afterword{padding-block:72px}.galeria-afterword__copy{display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:min(100%,680px);margin-inline:auto}.galeria-afterword__copy h2,.galeria-afterword__copy p{margin:0}.galeria-afterword__meta{width:100%;padding-top:16px;border-top:1px solid var(--color-cyan-400);font:700 13px/1.4 var(--font-mono);letter-spacing:.06em}.galeria-lightbox{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:20px}.galeria-lightbox__backdrop{position:absolute;inset:0;background:var(--color-overlay-950)}.galeria-lightbox__dialog{position:relative;z-index:1;display:flex;max-width:min(900px,100%);max-height:calc(100vh - 40px);min-width:0;flex-direction:column;gap:16px;padding:16px;border:1px solid var(--color-chrome-100);border-radius:6px;background:var(--color-dusk-900);box-shadow:var(--shadow-glow-cyan)}.galeria-lightbox__topbar{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:16px}.galeria-lightbox__topbar p{margin:0;font:700 12px/1.2 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.galeria-lightbox__close{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border:1px solid var(--color-cyan-400);background:transparent;color:var(--color-white-100);font-size:28px;line-height:1}.galeria-lightbox__dialog img{width:100%;max-height:calc(100vh - 230px);object-fit:contain}.galeria-lightbox__caption{max-width:680px;margin:0;color:var(--color-paper-100);font-size:14px}.galeria-lightbox__controls{display:flex;min-width:0;flex-wrap:wrap;gap:12px}.galeria-lightbox__controls .button{flex:1 1 160px}@media(max-width:900px){.galeria-story__steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}.galeria-host__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}.galeria-host__copy{grid-column:1}.galeria-feature-image{grid-column:2}.galeria-table__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.galeria-table__meta{grid-column:1 / -1;flex-direction:row;align-items:baseline}.galeria-table__meta strong{font-size:36px}.galeria-table__image{grid-column:1}.galeria-table__copy{grid-column:2}.galeria-dinner__layout{grid-template-columns:minmax(0,1fr);gap:32px}.galeria-dinner__notes{max-width:540px}.galeria-community__photo{grid-column:span 12}.galeria-poster--pink{grid-column:span 12}.galeria-poster--links{grid-column:span 7}.galeria-poster--notice{grid-column:span 5}.galeria-next__grid{grid-template-columns:minmax(0,1fr);gap:32px}.galeria-next__actions{max-width:100%}}@media(max-width:820px){.galeria-host__grid{grid-template-columns:minmax(0,1fr)}.galeria-host__copy,.galeria-feature-image{grid-column:1}.galeria-feature-image{justify-self:start;width:min(100%,520px)}.galeria-feature-image img{height:auto;aspect-ratio:4/5}.galeria-next__action{min-height:68px}}@media(max-width:760px){.galeria-hero{min-height:0;padding-block:56px}.galeria-hero__grid{grid-template-columns:minmax(0,1fr);gap:32px;min-height:0}.galeria-hero__rail{order:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.galeria-hero__statuses{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap}.galeria-hero__rail-copy{grid-column:1 / -1}.galeria-hero__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1 / -1}.galeria-hero__copy{order:2;padding-left:0}.galeria-hero__copy h1{font-size:clamp(42px,12vw,64px)}.galeria-hero__lead{max-width:560px;font-size:18px}.galeria-hero__collage{order:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-height:0}.galeria-image-card,.galeria-image-card--host,.galeria-image-card--roulette{position:static;width:100%;transform:none}.galeria-image-card--host{transform:rotate(1deg)}.galeria-image-card--roulette{transform:rotate(-1deg)}.galeria-image-card img,.galeria-image-card--roulette img{height:auto;aspect-ratio:4/5}.galeria-image-card--roulette img{aspect-ratio:1}.galeria-table__grid{grid-template-columns:minmax(0,1fr);gap:24px}.galeria-table__meta,.galeria-table__copy,.galeria-table__image{grid-column:1}.galeria-table__copy{order:2}.galeria-table__image{order:3;width:min(100%,500px)}.galeria-table__lead{font-size:18px}.galeria-community__grid{grid-template-columns:minmax(0,1fr)}.galeria-community__photo,.galeria-poster--pink,.galeria-poster--links,.galeria-poster--notice{grid-column:1}.galeria-community__photo p{grid-template-columns:minmax(0,1fr);gap:8px}.galeria-poster--links{width:100%}}@media(max-width:680px){.galeria-story{padding-block:56px}.galeria-story__steps{grid-template-columns:minmax(0,1fr);gap:0}.galeria-story__step{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:16px;padding-block:20px;border-top:0;border-left:1px solid var(--color-cyan-400)}.galeria-story__number{grid-column:1;grid-row:1 / span 2;font-size:10px;writing-mode:vertical-rl}.galeria-story__step h3,.galeria-story__step p{grid-column:2}.galeria-story__step p{max-width:520px}.galeria-dinner,.galeria-host,.galeria-table,.galeria-community,.galeria-next{padding-block:56px}.galeria-dinner__intro p{font-size:18px}.galeria-dinner__layout{margin-top:32px}.galeria-community__grid{margin-top:32px}.galeria-afterword{padding-block:56px}}@media(max-width:480px){.galeria-hero__rail{display:flex}.galeria-hero__actions,.galeria-hero__collage{grid-template-columns:minmax(0,1fr)}.galeria-image-card--host,.galeria-image-card--roulette{transform:none}.galeria-image-card img,.galeria-image-card--roulette img{aspect-ratio:4/5}.galeria-hero__actions .button{min-height:48px}.galeria-table__notice{padding:14px}.galeria-lightbox{padding:12px}.galeria-lightbox__dialog{max-height:calc(100vh - 24px);padding:12px}.galeria-lightbox__dialog img{max-height:calc(100vh - 240px)}}@media(prefers-reduced-motion:reduce){.galeria-next__action:hover{transform:none}.galeria-image-card--host,.galeria-image-card--roulette{transform:none}}


.home-page {
  overflow: clip;
  background: var(--color-dusk-950);
}

.home-page a:focus-visible {
  outline: 2px solid var(--color-focus-cyan);
  outline-offset: 3px;
}

.home-page section {
  position: relative;
}

.home-hero {
  min-height: 690px;
  padding-block: calc(var(--space-8) + var(--space-6)) var(--section-space);
  background: radial-gradient(circle at 78% 30%, rgba(255, 63, 164, .17), transparent 31%), linear-gradient(118deg, var(--color-dusk-950) 0%, var(--color-dusk-900) 100%);
}

.home-hero::before,
.home-gallery::before,
.home-next::before {
  position: absolute;
  inset: 0;
  opacity: .07;
  background-image: linear-gradient(var(--color-cyan-400) 1px, transparent 1px), linear-gradient(90deg, var(--color-cyan-400) 1px, transparent 1px);
  background-size: 24px 24px;
  content: "";
  pointer-events: none;
}

.home-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 6fr) minmax(0, 4fr);
  gap: 20px;
  align-items: start;
}

.home-hero__rail,
.home-hero__copy,
.home-hero__media,
.home-how__intro,
.home-how__items,
.home-formats__intro,
.home-format-plates,
.home-rhythm__intro,
.home-rhythm__steps,
.home-hosts__content,
.home-hosts__portrait,
.home-meal__image,
.home-meal__content,
.home-next__intro,
.home-next__links {
  min-width: 0;
}

.home-hero__rail {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: var(--space-6);
  padding-top: var(--space-7);
}

.home-hero__rail-top,
.home-hero__rail-actions {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.home-hero__rail p,
.home-hero__rail small {
  max-width: 28ch;
  margin: 0;
  color: var(--color-paper-100);
  font-size: var(--text-label);
  line-height: var(--leading-label);
}

.home-hero__rail .button {
  width: 100%;
}

.home-hero__copy {
  padding-top: var(--space-6);
}

.home-hero__copy h1 {
  max-width: 820px;
  margin-top: var(--space-3);
  margin-bottom: var(--space-5);
  font-size: clamp(3.4rem, 6.6vw, 6.5rem);
  text-shadow: 3px 3px 0 rgba(255, 63, 164, .46);
}

.home-hero__lead {
  max-width: 580px;
  margin-bottom: var(--space-6);
  color: var(--color-paper-100);
  font-size: var(--text-lead);
}

.home-hero__signal {
  display: flex;
  width: min(100%, 360px);
  min-width: 0;
  gap: 8px;
  align-items: center;
}

.home-hero__signal::before {
  width: 40px;
  height: 2px;
  background: var(--color-pink-500);
  content: "";
}

.home-hero__signal span {
  display: block;
  width: 8px;
  height: 8px;
  background: var(--color-cyan-400);
}

.home-hero__signal span:nth-child(2) { background: var(--color-yellow-300); }
.home-hero__signal span:nth-child(3) { background: var(--color-pink-500); }

.home-hero__media {
  position: relative;
  width: 100%;
  min-height: 500px;
  padding-top: var(--space-4);
}

.home-frame {
  position: relative;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 4px;
  border: 1px solid var(--color-chrome-100);
  background: var(--color-dusk-900);
  box-shadow: 4px 4px 0 var(--color-dusk-950);
}

.home-frame::after {
  position: absolute;
  inset: 8px;
  z-index: 1;
  border: 2px solid var(--color-cyan-400);
  content: "";
  pointer-events: none;
}

.home-frame--pink::after,
.home-frame--host::after { border-color: var(--color-pink-500); }

.home-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-frame figcaption {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 8px 6px 3px;
  color: var(--color-chrome-100);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: .09em;
  line-height: 1.2;
}

.home-frame:hover {
  box-shadow: 4px 4px 0 var(--color-pink-500), var(--shadow-glow-cyan);
  transform: translate(-2px, -2px);
}

.home-frame--table {
  position: absolute;
  top: 22px;
  left: 0;
  width: 82%;
  aspect-ratio: 4 / 5;
  transform: rotate(-2deg);
}

.home-frame--host {
  position: absolute;
  right: 0;
  bottom: 18px;
  width: 58%;
  aspect-ratio: 1;
  transform: rotate(2deg);
}

.home-hero__pixel-card {
  position: absolute;
  top: 0;
  right: 4%;
  display: flex;
  width: 38%;
  min-width: 0;
  aspect-ratio: 1 / .72;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--space-3);
  border: 1px solid var(--color-yellow-300);
  background: var(--color-plum-800);
  color: var(--color-yellow-300);
  font-family: var(--font-mono);
}

.home-hero__pixel-card span { font-size: var(--text-utility); font-weight: 700; letter-spacing: .1em; }
.home-hero__pixel-card b { align-self: end; font-size: 2rem; line-height: 1; }

.home-how { overflow: hidden; }
.home-how__grid,
.home-formats__grid,
.home-rhythm__grid,
.home-hosts__grid,
.home-meal__grid,
.home-next__grid {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 20px;
}

.home-how__intro { grid-column: span 3; }
.home-how__intro p { max-width: 520px; }
.home-how__items { display: flex; grid-column: span 9; min-width: 0; flex-direction: column; gap: var(--space-5); }

.home-numbered {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: var(--space-4);
  padding-top: var(--space-4);
  border-top: 1px solid rgba(22, 11, 46, .4);
}
.home-numbered--one { width: 75%; }
.home-numbered--two { width: 88%; margin-left: auto; border-top-color: var(--color-cyan-400); }
.home-numbered--three { width: 100%; border-top-color: var(--color-yellow-300); }
.home-numbered__number { color: var(--color-pink-500); font-family: var(--font-mono); font-size: 1.5rem; font-weight: 700; }
.home-numbered h3 { margin-bottom: var(--space-3); }
.home-numbered p { max-width: 640px; }
.home-how__closing { max-width: 640px; margin: 0; padding-top: var(--space-3); border-top: 2px solid var(--color-pink-500); font-weight: 700; }

.home-formats { background: linear-gradient(135deg, var(--color-dusk-950), var(--color-plum-800)); }
.home-formats__intro { grid-column: span 4; }
.home-formats__intro p { max-width: 540px; color: var(--color-paper-100); }
.home-format-plates { display: flex; grid-column: span 8; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.home-format-plate { display: flex; width: 100%; min-width: 0; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--color-chrome-100); background: rgba(36, 16, 68, .8); box-shadow: 4px 4px 0 rgba(22, 11, 46, .9); transition: transform var(--transition-fast), box-shadow var(--transition-fast); }
.home-format-plate:hover { box-shadow: 4px 4px 0 var(--color-pink-500), var(--shadow-glow-cyan); transform: translateY(-2px); }
.home-format-plate--poker { width: 87.5%; border-color: var(--color-cyan-400); }
.home-format-plate--roulette { width: 62.5%; align-self: flex-end; border-color: var(--color-cyan-400); }
.home-format-plate--blackjack { width: 75%; border-color: var(--color-pink-500); }
.home-format-plate h3 { margin: 0; }
.home-format-plate p { max-width: 520px; margin: 0; color: var(--color-paper-100); }
.home-format-plate__meta { display: flex; width: 100%; min-width: 0; flex-wrap: wrap; gap: var(--space-3); color: var(--color-yellow-300); font-family: var(--font-mono); font-size: var(--text-utility); font-weight: 700; letter-spacing: .1em; }
.home-format-plate__meta span:first-child { color: var(--color-pink-500); }
.home-formats__action { display: flex; width: 100%; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-4); padding-top: var(--space-3); }
.home-formats__action p { max-width: 320px; margin: 0; color: var(--color-chrome-100); font-size: var(--text-label); }

.home-rhythm__intro { grid-column: span 4; }
.home-rhythm__intro p { max-width: 560px; }
.home-rhythm__steps { position: relative; display: grid; grid-column: span 8; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.home-rhythm__steps::before { position: absolute; top: 15%; right: 10%; left: 10%; height: 1px; background: var(--color-cyan-400); content: ""; opacity: .7; }
.home-rhythm-step { position: relative; z-index: 1; display: grid; min-width: 0; grid-template-columns: 36px minmax(0, 1fr); gap: var(--space-3); padding: var(--space-4); background: var(--color-paper-200); }
.home-rhythm-step__number { display: grid; width: 30px; height: 30px; place-items: center; background: var(--color-dusk-950); color: var(--color-cyan-400); font-family: var(--font-mono); font-weight: 700; }
.home-rhythm-step:nth-child(3) .home-rhythm-step__number { color: var(--color-yellow-300); }
.home-rhythm-step:nth-child(4) .home-rhythm-step__number { color: var(--color-pink-500); }
.home-rhythm-step h3 { margin-bottom: var(--space-2); font-size: 1.25rem; }
.home-rhythm-step p { margin: 0; max-width: 480px; font-size: .94rem; }

.home-hosts { background: var(--color-dusk-900); }
.home-hosts__grid { align-items: start; }
.home-hosts__content { display: flex; grid-column: 1 / span 7; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-hosts__content h2,
.home-hosts__content p { margin: 0; }
.home-hosts__content > p:not(.home-hosts__lead) { max-width: 620px; }
.home-hosts__lead { max-width: 620px; color: var(--color-paper-100); font-size: var(--text-lead); line-height: var(--leading-label); }
.home-host-values { display: grid; width: 100%; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin-top: var(--space-2); }
.home-host-values article { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); padding: var(--space-3); border-top: 1px solid var(--color-cyan-400); }
.home-host-values span { width: 10px; height: 10px; background: var(--color-pink-500); }
.home-host-values article:nth-child(2) span { background: var(--color-cyan-400); }
.home-host-values article:nth-child(3) span { background: var(--color-yellow-300); }
.home-host-values h3,
.home-host-values p { margin: 0; }
.home-host-values h3 { font-size: 1.15rem; }
.home-host-values p { font-size: .9rem; }
.home-hosts__portrait { grid-column: 9 / span 4; width: 100%; aspect-ratio: 1; margin-top: var(--space-7); }
.home-hosts__portrait img { aspect-ratio: 1; }

.home-meal__grid { align-items: center; }
.home-meal__image { grid-column: span 5; aspect-ratio: 3 / 2; }
.home-meal__image img { aspect-ratio: 3 / 2; }
.home-meal__content { display: flex; grid-column: 7 / span 6; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-meal__content h2,
.home-meal__content p { margin: 0; }
.home-meal__content h2 { max-width: 600px; }
.home-meal__lead { max-width: 560px; font-size: var(--text-lead); line-height: var(--leading-label); }
.home-meal__content > p:not(.home-meal__lead) { max-width: 620px; }
.home-meal__notes { display: flex; width: 100%; min-width: 0; flex-direction: column; gap: var(--space-3); }
.home-meal__notes p { max-width: 620px; padding-left: var(--space-4); border-left: 8px solid var(--color-cyan-400); }

.home-gallery { background: linear-gradient(125deg, var(--color-dusk-950), var(--color-plum-800)); }
.home-gallery > .container { position: relative; z-index: 1; }
.home-gallery__intro { width: 41.666%; min-width: 0; }
.home-gallery__intro p { max-width: 540px; color: var(--color-paper-100); }
.home-gallery__windows { display: grid; width: 100%; min-width: 0; grid-template-columns: 4fr 3fr 5fr; gap: 20px; margin-top: var(--space-6); }
.home-pixel-window { position: relative; display: flex; min-width: 0; min-height: 250px; flex-direction: column; justify-content: flex-end; padding: var(--space-4); overflow: hidden; border: 1px solid var(--color-chrome-100); color: var(--color-white-100); text-decoration: none; box-shadow: 4px 4px 0 var(--color-dusk-950); }
.home-pixel-window::before { position: absolute; inset: 0; opacity: .68; content: ""; transition: transform var(--transition-fast); }
.home-pixel-window:hover::before { transform: translate(4px, -4px); }
.home-pixel-window--light::before { background: linear-gradient(140deg, var(--color-cyan-400) 0 9%, transparent 9% 25%, var(--color-pink-500) 25% 34%, transparent 34% 60%, var(--color-yellow-300) 60% 68%, transparent 68%), linear-gradient(45deg, var(--color-dusk-900), var(--color-plum-800)); }
.home-pixel-window--table::before { background: repeating-linear-gradient(0deg, transparent 0 18px, rgba(72,224,232,.75) 18px 20px), linear-gradient(135deg, var(--color-pink-500), var(--color-dusk-900)); }
.home-pixel-window--group::before { background: radial-gradient(circle at 22% 32%, var(--color-yellow-300) 0 4%, transparent 5%), radial-gradient(circle at 61% 55%, var(--color-pink-500) 0 8%, transparent 9%), linear-gradient(145deg, var(--color-dusk-900), var(--color-cyan-400)); }
.home-pixel-window > * { position: relative; z-index: 1; }
.home-pixel-window__tag { align-self: flex-start; margin-bottom: auto; padding: 4px 6px; background: var(--color-dusk-950); color: var(--color-cyan-400); font-family: var(--font-mono); font-size: var(--text-utility); font-weight: 700; letter-spacing: .1em; }
.home-pixel-window div { padding: var(--space-3); background: rgba(22,11,46,.88); }
.home-pixel-window h3,
.home-pixel-window p { margin: 0; }
.home-pixel-window h3 { margin-bottom: var(--space-2); font-size: 1.35rem; }
.home-pixel-window p { font-size: .9rem; line-height: 1.4; }
.home-gallery__action { display: flex; width: 100%; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-4); margin-top: var(--space-5); }
.home-gallery__action p { max-width: 480px; margin: 0; color: var(--color-chrome-100); }

.home-participation__intro { width: min(100%, 700px); min-width: 0; margin-inline: auto; text-align: center; }
.home-participation__intro .eyebrow { justify-content: center; }
.home-participation__intro p { max-width: 620px; margin-inline: auto; }
.home-participation__cards { display: grid; width: 100%; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: var(--space-6); }
.home-participation__cards article { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5); border: 1px solid rgba(22,11,46,.38); background: var(--color-paper-100); box-shadow: var(--shadow-paper); }
.home-participation__cards h3,
.home-participation__cards p { margin: 0; }
.home-participation__cards p { max-width: 320px; }
.home-participation__actions { display: flex; width: 100%; min-width: 0; flex-wrap: wrap; justify-content: center; gap: var(--space-3); margin-top: var(--space-6); }

.home-next { padding-bottom: var(--space-9); background: var(--color-dusk-900); }
.home-next__grid { position: relative; z-index: 1; align-items: start; }
.home-next__intro { grid-column: span 6; }
.home-next__intro p { max-width: 560px; color: var(--color-paper-100); }
.home-next__links { display: flex; grid-column: span 6; min-width: 0; flex-direction: column; gap: var(--space-3); }
.home-next__links a { display: grid; width: 100%; min-width: 0; min-height: 88px; grid-template-columns: 42px minmax(0, 1fr) 24px; gap: var(--space-3); align-items: center; padding: var(--space-4); border-top: 1px solid var(--color-chrome-100); color: var(--color-white-100); text-decoration: none; transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast); }
.home-next__links a:last-child { border-bottom: 1px solid var(--color-chrome-100); }
.home-next__links a:hover { border-color: var(--color-cyan-400); box-shadow: var(--shadow-glow-cyan); transform: translateY(-2px); }
.home-next__links span { color: var(--color-pink-500); font-family: var(--font-mono); font-weight: 700; }
.home-next__links h3,
.home-next__links p { margin: 0; }
.home-next__links h3 { margin-bottom: var(--space-1); font-size: 1.1rem; letter-spacing: .02em; }
.home-next__links p { max-width: 420px; color: var(--color-chrome-100); font-size: .9rem; line-height: 1.4; }
.home-next__links b { color: var(--color-cyan-400); font-size: 1.4rem; }

@media (max-width: 61.25rem) {
  .home-hero { min-height: auto; }
  .home-hero__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .home-hero__rail { grid-column: span 2; }
  .home-hero__copy { grid-column: span 4; }
  .home-hero__media { grid-column: 3 / span 4; min-height: 420px; }
  .home-how__grid, .home-formats__grid, .home-rhythm__grid, .home-hosts__grid, .home-meal__grid, .home-next__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .home-how__intro, .home-formats__intro, .home-rhythm__intro { grid-column: span 6; }
  .home-how__items, .home-format-plates, .home-rhythm__steps { grid-column: span 6; }
  .home-numbered--one, .home-numbered--two, .home-numbered--three { width: 100%; margin-left: 0; }
  .home-format-plates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .home-format-plate--poker, .home-format-plate--roulette, .home-format-plate--blackjack { width: 100%; align-self: auto; }
  .home-format-plate--poker { grid-column: span 2; }
  .home-format-plate--roulette, .home-format-plate--blackjack { grid-column: span 1; }
  .home-formats__action { grid-column: span 2; }
  .home-hosts__content { grid-column: span 6; }
  .home-hosts__portrait { grid-column: 1 / span 4; margin-top: var(--space-3); }
  .home-meal__image { grid-column: span 3; }
  .home-meal__content { grid-column: span 3; }
  .home-gallery__intro { width: 66.666%; }
  .home-next__intro, .home-next__links { grid-column: span 6; }
}

@media (max-width: 53.75rem) {
  .home-host-values { grid-template-columns: 1fr; }
  .home-hosts__portrait { grid-column: 1 / span 6; max-width: 560px; }
  .home-participation__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-participation__cards article:last-child { grid-column: 1 / span 2; }
}

@media (max-width: 47.5rem) {
  .home-hero { padding-top: var(--space-7); }
  .home-hero__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .home-hero__rail { grid-column: 1; flex-direction: row; align-items: stretch; padding-top: 0; }
  .home-hero__rail-top, .home-hero__rail-actions { flex: 1 1 0; }
  .home-hero__rail p, .home-hero__rail small { max-width: none; }
  .home-hero__copy { grid-column: 1; padding-top: 0; }
  .home-hero__media { grid-column: 1; min-height: 390px; }
  .home-hero__copy h1 { font-size: clamp(2.625rem, 11vw, 4.25rem); }
  .home-format-plates { grid-template-columns: 1fr; }
  .home-format-plate--poker, .home-format-plate--roulette, .home-format-plate--blackjack, .home-formats__action { grid-column: 1; }
  .home-rhythm__steps { grid-template-columns: 1fr; }
  .home-rhythm__steps::before { top: 20px; bottom: 20px; left: 15px; width: 1px; height: auto; }
  .home-meal__grid { grid-template-columns: 1fr; }
  .home-meal__content { grid-column: 1; order: 1; }
  .home-meal__image { grid-column: 1; order: 2; }
  .home-gallery__intro { width: 100%; }
  .home-gallery__windows { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-pixel-window--group { grid-column: span 2; }
}

@media (max-width: 42.5rem) {
  .home-hero__rail { flex-direction: column; }
  .home-hero__rail-actions .button { width: 100%; }
  .home-hero__media { min-height: 320px; }
  .home-frame--table { width: 78%; }
  .home-frame--host { width: 55%; bottom: 0; }
  .home-hero__pixel-card { width: 34%; }
  .home-how__grid, .home-formats__grid, .home-rhythm__grid, .home-hosts__grid, .home-next__grid { grid-template-columns: 1fr; }
  .home-how__intro, .home-how__items, .home-formats__intro, .home-format-plates, .home-rhythm__intro, .home-rhythm__steps, .home-hosts__content, .home-hosts__portrait, .home-next__intro, .home-next__links { grid-column: 1; }
  .home-numbered { grid-template-columns: 42px minmax(0, 1fr); }
  .home-numbered__number { font-size: 1.2rem; }
  .home-format-plate { padding: var(--space-4); }
  .home-rhythm-step { padding: var(--space-3); }
  .home-hosts__portrait { width: 100%; }
  .home-gallery__windows { grid-template-columns: 1fr; }
  .home-pixel-window--group { grid-column: 1; }
  .home-pixel-window { min-height: 180px; }
  .home-participation__cards { grid-template-columns: 1fr; }
  .home-participation__cards article:last-child { grid-column: 1; }
  .home-participation__actions { flex-direction: column; align-items: stretch; }
  .home-participation__actions .button { width: 100%; }
  .home-next__links a { grid-template-columns: 34px minmax(0, 1fr) 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-frame:hover,
  .home-format-plate:hover,
  .home-next__links a:hover { transform: none; }
  .home-pixel-window:hover::before { transform: none; }
}


.programok-page {
  overflow-x: clip;
  background: var(--color-dusk-950);
}

.programok-page section {
  overflow-x: clip;
}

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

.programok-hero {
  position: relative;
  min-height: 40rem;
  padding: calc(var(--space-8) + var(--space-3)) 0 var(--space-8);
  background: radial-gradient(circle at 80% 24%, rgba(255, 63, 164, 0.19), transparent 25%), linear-gradient(125deg, var(--color-dusk-950) 48%, var(--color-plum-800));
}

.programok-hero::before {
  position: absolute;
  inset: 0;
  opacity: 0.16;
  background-image: linear-gradient(rgba(72, 224, 232, 0.28) 1px, transparent 1px), linear-gradient(90deg, rgba(72, 224, 232, 0.2) 1px, transparent 1px);
  background-size: 24px 24px;
  content: "";
  pointer-events: none;
}

.programok-hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(10rem, 2fr) minmax(0, 6fr) minmax(16rem, 4fr);
  gap: var(--space-5);
  min-height: 31rem;
}

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

.programok-status {
  align-self: start;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4);
  border-inline-start: 2px solid var(--color-pink-500);
  border-block: 1px solid rgba(72, 224, 232, 0.55);
  background: rgba(22, 11, 46, 0.72);
}

.programok-status__label {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-yellow-300);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.programok-status__label span { color: var(--color-cyan-400); }
.programok-status p { margin: 0; font-size: var(--text-label); line-height: 1.45; }

.programok-hero__copy {
  align-self: start;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  padding-top: var(--space-4);
}

.programok-hero__copy h1 {
  max-width: 10.8ch;
  margin: 0;
  font-size: clamp(3.2rem, 6vw, 6.5rem);
  text-wrap: balance;
}

.programok-hero__lead {
  max-width: 58ch;
  margin: 0;
  font-size: var(--text-lead);
}

.programok-hero__actions { width: 100%; }
.programok-hero__actions > * { min-width: 0; }

.programok-hero__media {
  position: relative;
  min-height: 29rem;
  min-width: 0;
}

.programok-image {
  position: absolute;
  min-width: 0;
  margin: 0;
  transition: transform var(--transition-standard), filter var(--transition-standard);
}

.programok-image:hover { filter: drop-shadow(4px 0 0 rgba(255, 63, 164, 0.72)) drop-shadow(-4px 0 0 rgba(72, 224, 232, 0.65)); }
.programok-image img { width: 100%; object-fit: cover; }
.programok-image figcaption { position: relative; z-index: 2; padding: var(--space-2); margin: 0; background: var(--color-dusk-900); color: var(--color-paper-100); font-family: var(--font-mono); font-size: var(--text-utility); }
.programok-image--hero-main { top: 0; right: 0; width: 76%; transform: rotate(2deg); }
.programok-image--hero-main img { aspect-ratio: 4 / 5; }
.programok-image--hero-host { top: 37%; left: 0; width: 59%; transform: rotate(-2deg); }
.programok-image--hero-host img { aspect-ratio: 3 / 2; }
.programok-image--hero-table { right: 5%; bottom: 0; width: 44%; transform: rotate(1.5deg); }
.programok-image--hero-table img { aspect-ratio: 1 / 1; }

.programok-formats { position: relative; }
.programok-formats__intro { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) minmax(0, 5fr); gap: var(--space-5); align-items: end; margin-bottom: var(--space-7); }
.programok-formats__intro > * { min-width: 0; }
.programok-formats__intro h2 { max-width: 12ch; }
.programok-formats__intro p { max-width: 52ch; }
.programok-formats__note { grid-column: 3; margin: 0; padding-inline-start: var(--space-4); border-inline-start: 2px solid var(--color-cyan-400); font-family: var(--font-heading); font-size: var(--text-lead); line-height: 1.25; }

.programok-format { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: var(--space-4); min-width: 0; margin-bottom: var(--space-6); padding: var(--space-6); border: 1px solid rgba(22, 11, 46, 0.34); box-shadow: var(--shadow-paper); }
.programok-format > * { min-width: 0; }
.programok-format__number { color: var(--color-pink-500); font-family: var(--font-heading); font-size: clamp(3rem, 5vw, 5rem); font-weight: 700; line-height: 0.8; }
.programok-format__body { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.programok-format__body h3, .programok-format__body p { margin: 0; }
.programok-format__body > p { max-width: 62ch; }
.programok-format--poker { width: min(100%, calc((100% / 12 * 7) + (var(--space-5) * 6))); background: var(--color-paper-200); }
.programok-format--roulette { width: min(100%, calc((100% / 12 * 8) + (var(--space-5) * 7))); margin-inline-start: auto; border-top: 2px solid var(--color-cyan-400); background: var(--color-paper-100); }
.programok-format--blackjack { width: 100%; border-color: var(--color-plum-800); background: var(--color-plum-800); color: var(--color-white-100); }
.programok-format--blackjack .programok-format__number { color: var(--color-pink-500); }
.programok-format__tags { display: flex; flex-wrap: wrap; gap: var(--space-3); width: 100%; margin: 0; padding: 0; }
.programok-format__tags li { min-width: 0; padding-inline-start: var(--space-3); border-inline-start: 3px solid var(--color-pink-500); font-family: var(--font-mono); font-size: var(--text-label); }
.programok-format__mini { display: grid; grid-template-columns: minmax(8rem, auto) minmax(0, 1fr); gap: var(--space-4); width: 100%; padding-top: var(--space-3); border-top: 1px solid var(--color-cyan-400); }
.programok-format__mini > * { min-width: 0; }
.programok-format__mini span { font-family: var(--font-heading); font-weight: 700; }
.programok-format__mini ul { display: flex; flex-wrap: wrap; gap: var(--space-3); margin: 0; padding: 0; }
.programok-format__mini li::before { margin-inline-end: var(--space-2); color: var(--color-pink-500); content: "■"; }
.programok-format__split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); width: 100%; }
.programok-format__split p { padding-top: var(--space-3); border-top: 1px solid rgba(255, 244, 214, 0.42); }

.programok-reveal { opacity: 0; transform: translateY(1rem); transition: opacity 500ms ease, transform 500ms ease; }
.programok-reveal.is-visible { opacity: 1; transform: translateY(0); }

.programok-journey { position: relative; }
.programok-journey__intro { width: min(100%, 56ch); margin-inline: auto; text-align: left; }
.programok-journey__intro h2 { max-width: 12ch; }
.programok-journey__intro p { max-width: 50ch; }
.programok-journey__steps { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.programok-journey__steps > * { min-width: 0; }
.programok-journey__line { position: absolute; left: 0; right: 0; height: 1px; margin-top: 16rem; background: repeating-linear-gradient(90deg, var(--color-cyan-400) 0 7px, transparent 7px 13px); opacity: 0.7; }
.programok-step { position: relative; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5) var(--space-4); border: 1px solid rgba(217, 226, 242, 0.5); background: rgba(53, 22, 92, 0.68); }
.programok-step--offset { margin-top: 1.75rem; }
.programok-step > * { margin: 0; }
.programok-step__number { color: var(--color-yellow-300); font-family: var(--font-heading); font-size: 3.2rem; font-weight: 700; line-height: 0.85; }
.programok-step .label { color: var(--color-cyan-400); }
.programok-step h3 { font-size: 1.45rem; }
.programok-step p { max-width: 31ch; }
.programok-step small { color: var(--color-chrome-100); }
.programok-step blockquote { margin: 0; padding: var(--space-3); border-inline-start: 2px solid var(--color-pink-500); font-size: var(--text-body); }
.programok-step a { color: var(--color-cyan-400); font-family: var(--font-heading); font-weight: 700; }
.programok-step__micro { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.programok-step__micro span { padding: var(--space-1) var(--space-2); border: 1px solid var(--color-cyan-400); color: var(--color-cyan-400); font-family: var(--font-mono); font-size: var(--text-utility); text-transform: uppercase; }

.programok-hosts__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); align-items: center; }
.programok-hosts__grid > * { min-width: 0; }
.programok-hosts__copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.programok-hosts__copy > * { margin: 0; }
.programok-hosts__copy h2 { max-width: 12ch; }
.programok-hosts__copy > p:first-of-type { max-width: 56ch; }
.programok-hosts__roles { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.programok-hosts__roles span { padding: var(--space-2) var(--space-3); border: 1px solid var(--color-plum-800); font-family: var(--font-mono); font-size: var(--text-utility); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.programok-hosts__copy blockquote { max-width: 44ch; padding: var(--space-4) 0 var(--space-4) var(--space-5); font-size: var(--text-lead); }
.programok-hosts__clarification { max-width: 53ch; color: var(--color-plum-800); font-family: var(--font-mono); font-size: var(--text-label); font-weight: 700; }
.programok-hosts__more { max-width: 40ch; }
.programok-hosts__image { width: 100%; max-width: 34rem; justify-self: end; margin: 0; }
.programok-hosts__image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }

.programok-tabletime { background: radial-gradient(circle at 76% 14%, rgba(255, 209, 102, 0.19), transparent 24%), var(--color-dusk-950); }
.programok-tabletime__top { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr); gap: var(--space-5); align-items: center; }
.programok-tabletime__top > * { min-width: 0; }
.programok-tabletime__lead { grid-column: 1; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.programok-tabletime__lead > * { margin: 0; }
.programok-tabletime__lead h2 { max-width: 12ch; }
.programok-tabletime__lead p { max-width: 52ch; }
.programok-tabletime__signal { padding: var(--space-2) var(--space-3); background: var(--color-yellow-300); color: var(--color-ink-950); font-family: var(--font-mono); font-size: var(--text-utility); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.programok-tabletime__image { grid-column: 3; width: 100%; margin: 0; }
.programok-tabletime__image img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.programok-tabletime__moments { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.programok-tabletime__moments > * { min-width: 0; }
.programok-tabletime__moments article { padding-top: var(--space-4); border-top: 1px solid var(--color-cyan-400); }
.programok-tabletime__moments h3 { font-size: var(--text-lead); }
.programok-tabletime__moments p { max-width: 29ch; }
.programok-tabletime__cta { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-4); margin-top: var(--space-6); padding-top: var(--space-5); border-top: 1px solid rgba(217, 226, 242, 0.42); }
.programok-tabletime__cta > * { min-width: 0; }
.programok-tabletime__cta p { width: min(100%, 35rem); margin: 0; }

.programok-deeper__intro { width: min(100%, 50ch); }
.programok-deeper__intro h2 { max-width: 14ch; }
.programok-deeper__plates { display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-7); margin-top: var(--space-7); }
.programok-plate { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); border: 1px solid var(--color-ink-950); box-shadow: var(--shadow-paper); }
.programok-plate > * { margin: 0; }
.programok-plate__number { color: var(--color-pink-500); font-family: var(--font-mono); font-size: var(--text-label); font-weight: 700; letter-spacing: 0.12em; }
.programok-plate h3 { max-width: 14ch; }
.programok-plate p { max-width: 55ch; }
.programok-plate a { min-height: 2.75rem; display: inline-flex; align-items: center; color: inherit; font-family: var(--font-heading); font-weight: 700; }
.programok-plate--themes { width: min(100%, calc((100% / 12 * 6) + (var(--space-5) * 5))); background: var(--color-paper-200); }
.programok-plate--formats { width: min(100%, calc((100% / 12 * 5) + (var(--space-5) * 4))); margin-inline: auto; border: 2px solid var(--color-cyan-400); }
.programok-plate--gallery { width: min(100%, calc((100% / 12 * 7) + (var(--space-5) * 6))); align-self: flex-end; background: var(--color-plum-800); color: var(--color-white-100); }
.programok-plate--gallery a { color: var(--color-cyan-400); }

.programok-faq__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); align-items: start; }
.programok-faq__grid > * { min-width: 0; }
.programok-faq__intro { width: min(100%, 48ch); }
.programok-faq__intro h2 { max-width: 12ch; }
.programok-faq__list { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.programok-faq__item { min-width: 0; border: 1px solid rgba(72, 224, 232, 0.62); background: rgba(53, 22, 92, 0.54); }
.programok-faq__item summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-3); align-items: center; min-width: 0; min-height: 2.75rem; padding: var(--space-4); cursor: pointer; font-family: var(--font-heading); font-weight: 700; list-style: none; }
.programok-faq__item summary::-webkit-details-marker { display: none; }
.programok-faq__state { display: inline-flex; align-items: center; justify-content: flex-end; gap: var(--space-2); color: var(--color-cyan-400); font-family: var(--font-mono); font-size: var(--text-utility); letter-spacing: 0.06em; text-transform: uppercase; white-space: nowrap; }
.programok-faq__state em { color: var(--color-yellow-300); font-style: normal; }
.programok-faq__state b { font-size: 1.25rem; line-height: 1; }
.programok-faq__item[open] .programok-faq__state b { transform: rotate(45deg); }
.programok-faq__item[open] .programok-faq__state::after { content: "Nyitva"; }
.programok-faq__answer { padding: 0 var(--space-4) var(--space-4); }
.programok-faq__answer p { max-width: 52ch; margin: 0; }
.programok-faq__answer a { color: var(--color-cyan-400); font-weight: 700; }

.programok-next__panel { display: flex; width: min(100%, 47.5rem); min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-5); margin-inline: auto; padding: var(--space-7); border-inline-start: 2px solid var(--color-pink-500); background: var(--color-paper-100); color: var(--color-ink-950); box-shadow: var(--shadow-paper); }
.programok-next__panel > * { margin: 0; }
.programok-next__panel .eyebrow { color: var(--color-plum-800); }
.programok-next__panel h2 { align-self: center; max-width: 13ch; text-align: center; }
.programok-next__lead { max-width: 48ch; }
.programok-next__actions { display: flex; width: 100%; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-4); }
.programok-next__actions > * { min-width: 0; }
.programok-next__actions > a { flex: 0 1 auto; }
.programok-next__actions > div { display: flex; min-width: 15rem; flex: 1 1 16rem; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.programok-next__actions p { max-width: 32ch; margin: 0; }
.programok-next__notice { max-width: 55ch; padding-top: var(--space-4); border-top: 1px solid rgba(22, 11, 46, 0.42); font-family: var(--font-mono); font-size: var(--text-label); line-height: 1.45; }

@media (max-width: 62rem) {
  .programok-hero__grid { grid-template-columns: minmax(10rem, 2fr) minmax(0, 6fr) minmax(14rem, 4fr); gap: var(--space-4); }
  .programok-hero__media { min-height: 25rem; }
  .programok-hosts__grid { gap: var(--space-6); }
}

@media (max-width: 60rem) {
  .programok-hosts__grid { grid-template-columns: minmax(0, 1fr); }
  .programok-hosts__image { justify-self: start; max-width: 42.5rem; }
  .programok-hosts__copy { order: 1; }
  .programok-hosts__image { order: 2; }
}

@media (max-width: 56.25rem) {
  .programok-hero__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .programok-status { grid-column: 1 / 3; }
  .programok-hero__copy { grid-column: 3 / 7; }
  .programok-hero__media { grid-column: 1 / 7; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); min-height: 0; margin-top: var(--space-4); }
  .programok-image { position: relative; inset: auto; width: 100%; transform: none; }
  .programok-image--hero-main { grid-column: 1 / 2; }
  .programok-image--hero-host { grid-column: 2 / 4; margin-top: var(--space-6); }
  .programok-image--hero-table { grid-column: 1 / 2; margin-top: calc(var(--space-6) * -1); }
  .programok-formats__intro { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .programok-formats__intro > div { grid-column: 1 / 5; }
  .programok-formats__note { grid-column: 5 / 7; }
  .programok-format--poker, .programok-format--roulette, .programok-format--blackjack { width: 100%; margin-inline: 0; }
  .programok-journey__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .programok-journey__line { display: none; }
  .programok-faq__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
}

@media (max-width: 51.25rem) {
  .programok-deeper__plates { gap: var(--space-6); }
  .programok-plate--themes, .programok-plate--formats, .programok-plate--gallery { width: 100%; align-self: auto; margin-inline: 0; }
}

@media (max-width: 47.5rem) {
  .programok-hero { min-height: 0; padding-top: var(--space-7); }
  .programok-hero__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .programok-status { grid-column: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: var(--space-3); }
  .programok-status__label { min-width: 0; }
  .programok-status p { grid-column: 1 / -1; }
  .programok-hero__copy { grid-column: 1; padding-top: 0; }
  .programok-hero__copy h1 { max-width: 11ch; font-size: clamp(2.625rem, 12vw, 4rem); }
  .programok-hero__lead { max-width: 36ch; }
  .programok-hero__actions { flex-direction: column; align-items: stretch; }
  .programok-hero__actions .button { width: 100%; }
  .programok-hero__media { grid-column: 1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .programok-image--hero-main { grid-column: 1 / 2; }
  .programok-image--hero-table { grid-column: 2 / 3; margin-top: var(--space-5); }
  .programok-image--hero-host { grid-column: 1 / -1; margin-top: 0; }
  .programok-formats__intro { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .programok-formats__intro > div, .programok-formats__note { grid-column: 1; }
  .programok-formats__note { max-width: 38ch; }
  .programok-format { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); padding: var(--space-5); }
  .programok-format__number { font-size: 3.25rem; }
  .programok-format__mini, .programok-format__split { grid-template-columns: minmax(0, 1fr); }
  .programok-journey__intro { width: 100%; margin-inline: 0; }
  .programok-journey__steps { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); margin-top: var(--space-6); padding-inline-start: var(--space-4); border-inline-start: 1px solid var(--color-cyan-400); }
  .programok-step, .programok-step--offset { margin-top: 0; }
  .programok-step p { max-width: 36ch; }
  .programok-tabletime__top { grid-template-columns: minmax(0, 1fr); }
  .programok-tabletime__lead, .programok-tabletime__image { grid-column: 1; }
  .programok-tabletime__image { max-width: 35rem; }
  .programok-tabletime__moments { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .programok-tabletime__moments article:last-child { grid-column: 1 / -1; }
  .programok-next__panel { width: 100%; padding: var(--space-5); }
  .programok-next__panel h2 { align-self: flex-start; text-align: left; }
}

@media (max-width: 35rem) {
  .programok-status { grid-template-columns: minmax(0, 1fr); }
  .programok-status p { grid-column: 1; }
  .programok-hero__media { grid-template-columns: minmax(0, 1fr); }
  .programok-image--hero-main, .programok-image--hero-table, .programok-image--hero-host { grid-column: 1; margin-top: 0; }
  .programok-image--hero-main { max-width: 21rem; }
  .programok-image--hero-table { max-width: 17rem; justify-self: end; }
  .programok-format { padding: var(--space-4); }
  .programok-tabletime__moments { grid-template-columns: minmax(0, 1fr); }
  .programok-tabletime__moments article:last-child { grid-column: 1; }
  .programok-tabletime__cta { align-items: stretch; }
  .programok-tabletime__cta .button { width: 100%; justify-content: flex-start; }
  .programok-faq__item summary { grid-template-columns: minmax(0, 1fr) 1.5rem; padding: var(--space-3); }
  .programok-faq__state { font-size: 0; }
  .programok-faq__state em { display: none; }
  .programok-faq__state b { font-size: 1.3rem; }
  .programok-faq__item[open] .programok-faq__state::after { display: none; }
  .programok-faq__answer { padding: 0 var(--space-3) var(--space-3); }
  .programok-next__actions { flex-direction: column; align-items: stretch; }
  .programok-next__actions > a, .programok-next__actions > div { width: 100%; min-width: 0; }
  .programok-next__actions .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .programok-reveal { opacity: 1; transform: none; }
  .programok-image { transition: none; }
  .programok-image:hover { filter: none; }
}


.faq-page { background: var(--color-dusk-950); }
.faq-page section { position: relative; overflow: clip; }
.faq-page section::before { position: absolute; inset: 0; pointer-events: none; content: ""; opacity: .06; background-image: repeating-linear-gradient(0deg, transparent 0 3px, rgba(72,224,232,.5) 4px); }
.faq-hero { padding: calc(var(--space-8) + var(--space-4)) 0 var(--space-9); background: linear-gradient(130deg, var(--color-dusk-950), var(--color-plum-800)); }
.faq-hero__grid { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(0, 6.2fr) minmax(0, 3.6fr); gap: var(--space-5); align-items: start; }
.faq-hero__rail, .faq-hero__copy, .faq-hero__images { min-width: 0; }
.faq-hero__rail { display: flex; flex-direction: column; gap: var(--space-4); padding-top: var(--space-4); border-inline-start: 1px solid var(--color-cyan-400); padding-inline-start: var(--space-4); }
.faq-hero__badges { display: flex; flex-direction: column; gap: var(--space-2); align-items: flex-start; }
.faq-hero__rail p { max-width: 17rem; margin: 0; color: var(--color-paper-100); font-size: var(--text-label); }
.faq-hero__actions { display: flex; flex-direction: column; gap: var(--space-3); width: 100%; }
.faq-hero__actions > * { width: 100%; min-width: 0; }
.faq-hero__copy { padding-top: var(--space-5); }
.faq-hero__eyebrow { margin-bottom: var(--space-4); color: var(--color-pink-500); }
.faq-hero h1 { margin-bottom: var(--space-5); font-size: clamp(3rem, 6.7vw, 6.5rem); max-width: 51.25rem; text-shadow: 3px 3px 0 var(--color-pink-500); }
.faq-hero__lead { max-width: 35rem; margin: 0; color: var(--color-paper-100); font-size: var(--text-lead); }
.faq-hero__images { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); padding-top: var(--space-7); align-items: start; }
.faq-hero__image { width: 100%; min-width: 0; margin: 0; transition: transform var(--transition-standard), box-shadow var(--transition-standard); }
.faq-hero__image img { width: 100%; object-fit: cover; }
.faq-hero__image--tall { grid-column: 2; grid-row: span 2; transform: rotate(1.2deg); }
.faq-hero__image--tall img { aspect-ratio: 4 / 5; }
.faq-hero__image--wide { grid-column: 1; transform: rotate(-1.2deg); }
.faq-hero__image--wide img { aspect-ratio: 3 / 2; }
.faq-hero__image--square { grid-column: 1; transform: translateX(var(--space-3)) rotate(.8deg); }
.faq-hero__image--square img { aspect-ratio: 1; }
.faq-hero__image figcaption, .faq-prep__image figcaption, .faq-gallery__image figcaption { position: relative; z-index: 2; margin: var(--space-2) var(--space-1) 0; color: var(--color-paper-100); font-family: var(--font-mono); font-size: var(--text-utility); letter-spacing: .08em; }
.faq-hero__image:hover, .faq-prep__image:hover, .faq-gallery__image:hover { box-shadow: 4px 4px 0 var(--color-pink-500), -4px 0 0 var(--color-cyan-400); }
.faq-quick { padding-block: var(--space-8); color: var(--color-ink-950); }
.faq-quick__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-7) var(--space-5); }
.faq-quick__intro, .faq-quick__links, .faq-quick__note { min-width: 0; }
.faq-quick__intro p { max-width: 30rem; }
.faq-quick__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); align-content: start; }
.faq-quick__links a { display: flex; min-width: 0; min-height: 3.25rem; gap: var(--space-2); align-items: center; padding: var(--space-3); border-top: 1px solid var(--color-cyan-400); border-bottom: 1px solid rgba(22,11,46,.28); color: var(--color-ink-950); font-family: var(--font-heading); font-weight: 700; text-decoration: none; }
.faq-quick__links a b { color: var(--color-pink-500); font-family: var(--font-mono); font-size: var(--text-utility); }
.faq-quick__links a:hover { color: var(--color-ink-950); transform: translateY(-2px); box-shadow: var(--shadow-glow-cyan); }
.faq-quick__note { grid-column: 2; max-width: 38.75rem; padding: var(--space-4); border-inline-start: 2px solid var(--color-cyan-400); background: rgba(255,255,255,.22); }
.faq-section { padding-block: var(--section-space); }
.faq-section--dark, .faq-section--closing { background: var(--color-dusk-950); color: var(--color-white-100); }
.faq-section--paper { background: var(--color-paper-100); color: var(--color-ink-950); }
.faq-section--muted { background: var(--color-paper-200); color: var(--color-ink-950); }
.faq-section--plum { background: var(--color-plum-800); color: var(--color-white-100); }
.faq-section__split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-7); align-items: start; }
.faq-section__intro, .faq-accordion { min-width: 0; }
.faq-section__intro h2 { margin-top: var(--space-3); }
.faq-section__lead { max-width: 32.5rem; margin-bottom: 0; font-size: var(--text-lead); }
.faq-accordion { display: flex; flex-direction: column; gap: var(--space-3); }
.faq-item { min-width: 0; border-top: 1px solid currentColor; border-bottom: 1px solid rgba(217,226,242,.45); background: transparent; }
.faq-section--paper .faq-item, .faq-section--muted .faq-item { border-bottom-color: rgba(22,11,46,.28); }
.faq-item[open] { border-inline-start: 2px solid var(--color-pink-500); background: rgba(36,16,68,.42); }
.faq-section--paper .faq-item[open], .faq-section--muted .faq-item[open] { background: rgba(255,255,255,.42); }
.faq-item summary { display: flex; min-width: 0; min-height: 2.75rem; gap: var(--space-3); align-items: center; justify-content: space-between; padding: var(--space-4); cursor: pointer; font-family: var(--font-heading); font-size: var(--text-lead); font-weight: 700; line-height: 1.2; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary span { min-width: 0; }
.faq-item summary em { flex: 0 0 auto; color: var(--color-cyan-400); font-family: var(--font-mono); font-size: var(--text-utility); font-style: normal; letter-spacing: .1em; text-transform: uppercase; }
.faq-item__answer { display: flex; flex-direction: column; gap: var(--space-4); max-width: 42.5rem; padding: 0 var(--space-4) var(--space-5); }
.faq-item__answer p { margin: 0; }
.faq-item__answer a, .faq-text-link, .faq-related a { color: inherit; text-decoration-color: var(--color-pink-500); text-decoration-thickness: 2px; }
.faq-item--offset { margin-inline-start: var(--space-5); }
.faq-format-tags { display: flex; flex-direction: column; gap: var(--space-2); }
.faq-format-tags span { width: max-content; max-width: 100%; padding: var(--space-2) var(--space-3); border: 1px solid var(--color-cyan-400); color: inherit; font-family: var(--font-mono); font-size: var(--text-utility); letter-spacing: .09em; overflow-wrap: anywhere; }
.faq-item__pullquote { padding: var(--space-3); border-inline-start: 2px solid var(--color-pink-500); font-family: var(--font-heading); font-size: var(--text-lead); font-weight: 700; }
.faq-prep__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-7); align-items: start; }
.faq-prep__image, .faq-prep__content { min-width: 0; }
.faq-prep__image { width: 100%; margin: var(--space-6) 0 0; }
.faq-prep__image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.faq-prep__content { display: flex; flex-direction: column; gap: var(--space-5); }
.faq-prep__content h2, .faq-prep__content .faq-section__lead { margin: 0; }
.faq-money-note { max-width: 40rem; padding: var(--space-4); border: 2px solid var(--color-pink-500); }
.faq-money-note strong { display: block; margin-bottom: var(--space-2); color: var(--color-pink-500); font-family: var(--font-heading); letter-spacing: .06em; }
.faq-money-note p { margin: 0; }
.faq-related { display: flex; flex-wrap: wrap; gap: var(--space-3); padding-top: var(--space-3); border-top: 1px solid var(--color-chrome-100); }
.faq-related a { display: inline-flex; min-height: 2.75rem; align-items: center; }
.faq-host__intro { position: relative; }
.faq-host__number { display: block; margin-bottom: calc(var(--space-6) * -1); color: rgba(255,244,214,.14); font-family: var(--font-heading); font-size: clamp(4rem, 10vw, 8rem); font-weight: 700; line-height: 1; }
.faq-text-link { display: inline-flex; min-height: 2.75rem; align-items: center; width: fit-content; max-width: 100%; padding-top: var(--space-3); border-top: 1px solid var(--color-chrome-100); font-weight: 700; }
.faq-gallery__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-7); align-items: start; }
.faq-gallery__visual { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
.faq-gallery__visual h2, .faq-gallery__visual p { margin: 0; }
.faq-gallery__visual .faq-section__lead { max-width: 33.75rem; }
.faq-gallery__image { width: min(100%, 26.25rem); min-width: 0; margin: var(--space-4) 0 0 auto; }
.faq-gallery__image img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.faq-gallery__image figcaption { color: var(--color-ink-950); }
.faq-section--closing { border-top: 1px solid var(--color-cyan-400); }
.faq-closing { display: flex; flex-direction: column; gap: var(--space-5); width: min(100%, 52.5rem); margin-inline: auto; }
.faq-closing h2, .faq-closing__lead { text-align: center; margin: 0; }
.faq-closing__lead { width: min(100%, 35rem); margin-inline: auto; font-size: var(--text-lead); }
.faq-closing .faq-item__answer { max-width: 40rem; }
.faq-closing__status { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.faq-closing__status span { min-width: 0; padding: var(--space-3); border: 1px solid var(--color-cyan-400); font-size: var(--text-label); }
.faq-closing__status b { display: block; color: var(--color-yellow-300); font-family: var(--font-mono); font-size: var(--text-utility); letter-spacing: .08em; }
.faq-final { padding: var(--space-7) var(--space-4); color: var(--color-ink-950); }
.faq-final__plate { display: flex; flex-direction: column; gap: var(--space-4); width: min(100%, 47.5rem); margin-inline: auto; padding: var(--space-6); border: 1px solid var(--color-chrome-100); box-shadow: var(--shadow-paper); }
.faq-final__plate .eyebrow { align-self: center; color: var(--color-ink-950); }
.faq-final__plate h2, .faq-final__plate p { margin: 0; }
.faq-final__plate p { max-width: 37.5rem; }
.faq-final__plate .button { align-self: flex-start; }
@media (max-width: 63.75rem) { .faq-hero__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 4fr); } .faq-hero__images { padding-top: var(--space-8); } .faq-section__split, .faq-prep__grid { gap: var(--space-5); } }
@media (max-width: 56.25rem) { .faq-hero__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 4fr); } .faq-quick__grid { grid-template-columns: 1fr; } .faq-quick__links { grid-template-columns: repeat(2, minmax(0, 1fr)); } .faq-quick__note { grid-column: 1; } .faq-section__split, .faq-prep__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .faq-gallery__grid { gap: var(--space-5); } }
@media (max-width: 47.5rem) { .faq-hero { padding-block: var(--space-6); } .faq-hero__grid { grid-template-columns: 1fr; gap: var(--space-5); } .faq-hero__rail { order: 1; padding: var(--space-4); border: 1px solid var(--color-cyan-400); } .faq-hero__badges { flex-direction: row; flex-wrap: wrap; } .faq-hero__rail p { max-width: 100%; } .faq-hero__copy { order: 2; padding-top: 0; } .faq-hero h1 { font-size: clamp(2.625rem, 12vw, 4rem); } .faq-hero__lead { max-width: 36rem; } .faq-hero__images { order: 3; padding-top: 0; } .faq-section__split, .faq-prep__grid, .faq-gallery__grid { grid-template-columns: 1fr; gap: var(--space-5); } .faq-prep__image { order: 2; margin-top: 0; } .faq-prep__content { order: 1; } .faq-gallery__image { margin-inline: 0; } .faq-item--offset { margin-inline-start: 0; } .faq-closing__status { grid-template-columns: 1fr; } }
@media (max-width: 42.5rem) { .faq-hero__actions { gap: var(--space-3); } .faq-hero__images { grid-template-columns: repeat(2, minmax(0, 1fr)); } .faq-hero__image--tall { grid-column: 1; grid-row: auto; } .faq-hero__image--wide { grid-column: 2; } .faq-hero__image--square { grid-column: 1 / span 2; width: 68%; justify-self: end; transform: rotate(.8deg); } .faq-quick__links { grid-template-columns: 1fr; } .faq-quick__links a { min-height: 3.25rem; } .faq-section__lead { font-size: 1.125rem; } .faq-item summary { padding: var(--space-3); font-size: 1.0625rem; } .faq-item__answer { padding: 0 var(--space-3) var(--space-4); } .faq-final { padding: var(--space-7) var(--space-4); } .faq-final__plate { padding: var(--space-5); } .faq-final__plate .button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .faq-hero__image, .faq-prep__image, .faq-gallery__image, .faq-quick__links a { transition: none; } .faq-hero__image:hover, .faq-prep__image:hover, .faq-gallery__image:hover, .faq-quick__links a:hover { transform: none; box-shadow: none; } }


.hosts-page {
  overflow: hidden;
  background: var(--color-dusk-950);
}

.hosts-page section {
  position: relative;
  overflow: clip;
}

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

.hosts-hero {
  min-height: 47rem;
  padding-top: calc(var(--section-space) + var(--space-4));
  background: radial-gradient(circle at 72% 24%, rgba(53, 22, 92, 0.9), transparent 32%), var(--color-dusk-950);
}

.hosts-hero::before,
.hosts-method::before {
  position: absolute;
  inset: 0;
  opacity: 0.07;
  background-image: linear-gradient(rgba(72, 224, 232, 0.7) 1px, transparent 1px), linear-gradient(90deg, rgba(72, 224, 232, 0.7) 1px, transparent 1px);
  background-size: 24px 24px;
  content: "";
  pointer-events: none;
}

.hosts-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(11.875rem, 18%) minmax(0, 1fr) minmax(18rem, 30%);
  align-items: start;
  gap: var(--space-5);
}

.hosts-hero__rail,
.hosts-hero__copy,
.hosts-hero__images,
.hosts-functions__intro,
.hosts-functions__list,
.hosts-table-guidance__copy,
.hosts-table-guidance__image,
.hosts-community__copy,
.hosts-community__side,
.hosts-principles__intro,
.hosts-principles__cards,
.hosts-pathways__intro,
.hosts-pathways__content {
  min-width: 0;
}

.hosts-hero__rail {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  width: 100%;
  padding: var(--space-4);
  border: 1px solid rgba(72, 224, 232, 0.75);
  background: rgba(36, 16, 68, 0.82);
  box-shadow: 4px 4px 0 rgba(255, 63, 164, 0.45);
}

.hosts-hero__rail-top,
.hosts-hero__rail-actions {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
}

.hosts-hero__rail p {
  margin: 0;
  color: var(--color-paper-100);
  font-size: var(--text-label);
  line-height: var(--leading-label);
}

.hosts-hero__badge {
  display: block;
  width: 100%;
  padding: var(--space-3);
  color: var(--color-ink-950);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-transform: uppercase;
}

.hosts-hero__badge--age { background: var(--color-yellow-300); }
.hosts-hero__badge--offline { background: var(--color-pink-500); }

.hosts-hero__copy {
  align-self: center;
  padding-top: var(--space-7);
}

.hosts-hero__copy h1 {
  max-width: 51.25rem;
  margin-bottom: var(--space-5);
  font-size: clamp(3.5rem, 7.8vw, 6.5rem);
  text-transform: uppercase;
  text-shadow: 3px 3px 0 rgba(255, 63, 164, 0.55);
}

.hosts-hero__copy h1 span { color: var(--color-chrome-100); }

.hosts-hero__lead {
  max-width: 36.25rem;
  margin-bottom: var(--space-5);
  color: var(--color-paper-100);
  font-size: var(--text-lead);
}

.hosts-hero__lead strong { color: var(--color-pink-500); }

.hosts-hero__signal {
  display: inline-block;
  padding: var(--space-2) var(--space-3);
  border-left: 2px solid var(--color-cyan-400);
  color: var(--color-cyan-400);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hosts-hero__images {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: var(--space-3);
  width: 100%;
  padding-top: var(--space-5);
}

.hosts-photo { width: 100%; min-width: 0; margin: 0; }
.hosts-photo img { width: 100%; height: 100%; object-fit: cover; }
.hosts-photo figcaption { position: relative; z-index: 2; margin: var(--space-2) var(--space-2) 0; color: var(--color-paper-100); font-family: var(--font-mono); font-size: var(--text-utility); }
.hosts-photo--portrait { grid-column: 1; grid-row: 1 / span 2; transform: translateY(var(--space-4)) rotate(-1.5deg); }
.hosts-photo--portrait img { aspect-ratio: 4 / 5; }
.hosts-photo--rules { grid-column: 2; grid-row: 1; transform: rotate(1.5deg); }
.hosts-photo--rules img { aspect-ratio: 3 / 2; }
.hosts-photo--table { grid-column: 2; grid-row: 2; align-self: end; transform: translateX(calc(var(--space-3) * -1)) rotate(-1deg); }
.hosts-photo--table img { aspect-ratio: 1; }
.hosts-photo:hover { box-shadow: 4px 4px 0 var(--color-pink-500), -4px -2px 0 rgba(72, 224, 232, 0.7); }

.hosts-functions__grid,
.hosts-table-guidance__grid,
.hosts-community__grid,
.hosts-principles__grid,
.hosts-pathways__grid {
  display: grid;
  gap: var(--space-7);
}

.hosts-functions__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
.hosts-functions__intro { width: 100%; max-width: 23rem; }
.hosts-functions__intro h2 { color: var(--color-plum-800); }
.hosts-functions__intro p { max-width: 22.5rem; }
.hosts-functions__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5) var(--space-6); }
.hosts-function { min-width: 0; padding: 0 0 var(--space-5); border-bottom: 1px solid rgba(22, 11, 46, 0.36); }
.hosts-function span { display: block; margin-bottom: var(--space-2); color: var(--color-cyan-400); font-family: var(--font-mono); font-weight: 800; }
.hosts-function h3 { margin-bottom: var(--space-3); color: var(--color-plum-800); font-size: 1.75rem; }
.hosts-function p { max-width: 26.875rem; margin: 0; }
.hosts-function--three { transform: translateX(var(--space-5)); }
.hosts-function--three span { color: var(--color-pink-500); }

.hosts-table-guidance__grid { grid-template-columns: minmax(0, 7fr) minmax(18rem, 5fr); align-items: center; }
.hosts-table-guidance__copy { width: 100%; max-width: 40.625rem; }
.hosts-table-guidance__lead { max-width: 39rem; margin-bottom: var(--space-6); font-size: var(--text-lead); }
.hosts-signals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-bottom: var(--space-6); }
.hosts-signals article { min-width: 0; padding: var(--space-3) 0; border-top: 1px solid var(--color-cyan-400); }
.hosts-signals span { color: var(--color-pink-500); font-family: var(--font-mono); font-weight: 800; }
.hosts-signals h3 { margin: var(--space-2) 0; font-size: 1.2rem; }
.hosts-signals p { margin: 0; font-size: var(--text-label); }
.hosts-money-note { max-width: 40.625rem; padding: var(--space-4); background: var(--color-yellow-300); color: var(--color-ink-950); font-size: var(--text-label); line-height: var(--leading-label); }
.hosts-table-guidance__image { width: 100%; margin: var(--space-6) 0 0; }
.hosts-table-guidance__image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.hosts-table-guidance__image figcaption { color: var(--color-paper-100); }

.hosts-community__grid { grid-template-columns: minmax(0, 7fr) minmax(18rem, 5fr); align-items: start; }
.hosts-community__copy { width: 100%; max-width: 41.25rem; }
.hosts-community h2 { color: var(--color-plum-800); }
.hosts-community__lead { max-width: 35rem; font-size: var(--text-lead); }
.hosts-arrivals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin-top: var(--space-5); }
.hosts-arrivals article { min-width: 0; padding: var(--space-4); border-top: 2px solid var(--color-cyan-400); background: var(--color-paper-100); box-shadow: var(--shadow-paper); }
.hosts-arrivals h3 { margin-bottom: var(--space-3); color: var(--color-plum-800); font-size: 1.25rem; }
.hosts-arrivals p { margin: 0; font-size: var(--text-label); }
.hosts-community__side { display: flex; flex-direction: column; min-width: 0; gap: var(--space-5); width: 100%; }
.hosts-community__image { width: 100%; margin: 0; }
.hosts-community__image img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.hosts-community blockquote { margin: 0; padding: var(--space-5); border-left-color: var(--color-cyan-400); color: var(--color-plum-800); background: rgba(255, 244, 214, 0.62); }
.hosts-community blockquote p { margin: var(--space-4) 0 0; color: var(--color-ink-950); font-family: var(--font-body); font-size: var(--text-body); line-height: var(--leading-body); }

.hosts-arc__intro { width: 100%; max-width: 35rem; margin-inline: auto; text-align: center; }
.hosts-arc__intro h2 { margin-bottom: var(--space-4); }
.hosts-arc__intro p { margin-bottom: 0; }
.hosts-arc__route { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6) 16.66%; margin-top: var(--space-7); }
.hosts-arc__route::before { position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: var(--color-cyan-400); content: ""; }
.hosts-stop { position: relative; width: 100%; min-width: 0; padding: var(--space-5); border: 1px solid rgba(217, 226, 242, 0.55); background: rgba(22, 11, 46, 0.34); }
.hosts-stop::after { position: absolute; top: var(--space-5); width: 16.66%; height: 1px; background: var(--color-cyan-400); content: ""; }
.hosts-stop--left { grid-column: 1; }
.hosts-stop--right { grid-column: 2; }
.hosts-stop--left::after { right: -16.66%; }
.hosts-stop--right::after { left: -16.66%; }
.hosts-stop span { color: var(--color-yellow-300); font-family: var(--font-mono); font-size: var(--text-utility); font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.hosts-stop h3 { margin: var(--space-2) 0 var(--space-3); font-size: 1.75rem; }
.hosts-stop p { max-width: 27.5rem; margin: 0; }

.hosts-principles__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
.hosts-principles__intro { width: 100%; max-width: 23rem; }
.hosts-principles__intro h2 { color: var(--color-plum-800); }
.hosts-principles__meta { display: inline-block; margin-bottom: var(--space-3); padding: var(--space-2) var(--space-3); background: var(--color-yellow-300); color: var(--color-ink-950); font-family: var(--font-mono); font-size: var(--text-utility); font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.hosts-principles__cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-4); align-content: start; }
.hosts-principle { min-width: 0; padding: var(--space-5); background: var(--color-paper-200); box-shadow: var(--shadow-paper); }
.hosts-principle h3 { margin-bottom: var(--space-3); color: var(--color-plum-800); font-size: 1.5rem; }
.hosts-principle p { margin: 0; }
.hosts-principle--clear { grid-column: 1 / span 3; }
.hosts-principle--attention { grid-column: 4 / span 2; margin-top: var(--space-6); }
.hosts-principle--money { grid-column: 2 / span 3; border: 2px solid var(--color-pink-500); background: var(--color-paper-100); }

.hosts-method__intro { width: 100%; max-width: 32.5rem; }
.hosts-method__intro h2 { margin-bottom: var(--space-4); }
.hosts-method__intro p { margin-bottom: 0; }
.hosts-method__plates { display: flex; flex-direction: column; min-width: 0; gap: var(--space-5); margin-top: var(--space-7); }
.hosts-method__plate { display: grid; grid-template-columns: 4rem minmax(0, 1fr); align-items: start; width: min(75%, 45rem); min-width: 0; gap: var(--space-4); padding: var(--space-5); border-top: 1px solid var(--color-cyan-400); border-bottom: 1px solid rgba(217, 226, 242, 0.42); background: rgba(36, 16, 68, 0.72); }
.hosts-method__plate > span { color: var(--color-pink-500); font-family: var(--font-mono); font-size: 1.5rem; font-weight: 800; }
.hosts-method__plate > div { min-width: 0; }
.hosts-method__plate h3 { margin-bottom: var(--space-3); font-size: 1.75rem; }
.hosts-method__plate p { margin-bottom: var(--space-4); }
.hosts-method__plate strong { display: block; color: var(--color-cyan-400); font-size: var(--text-label); line-height: var(--leading-label); }
.hosts-method__plate--two { align-self: center; }
.hosts-method__plate--three { align-self: flex-end; border-top-color: var(--color-pink-500); }
.hosts-method__tags { display: flex; flex-wrap: wrap; min-width: 0; gap: var(--space-2); }
.hosts-method__tags b { min-width: 0; padding: var(--space-2); border: 1px solid var(--color-cyan-400); color: var(--color-paper-100); font-family: var(--font-mono); font-size: var(--text-utility); letter-spacing: 0.05em; text-transform: uppercase; }

.hosts-pathways__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
.hosts-pathways__intro { width: 100%; max-width: 22.5rem; }
.hosts-pathways__content { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: var(--space-4); align-items: stretch; }
.hosts-path { display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); padding: var(--space-5); }
.hosts-path span { color: var(--color-cyan-400); font-family: var(--font-mono); font-size: var(--text-utility); font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.hosts-path h3,
.hosts-path p { margin: 0; }
.hosts-path h3 { font-size: 1.75rem; }
.hosts-path p { max-width: 26.25rem; }
.hosts-path .button { align-self: flex-start; margin-top: auto; }
.hosts-path--primary { border: 1px solid var(--color-chrome-100); background: var(--color-paper-100); color: var(--color-ink-950); box-shadow: var(--shadow-paper); }
.hosts-path--secondary { margin-top: var(--space-5); border: 1px solid var(--color-cyan-400); background: var(--color-plum-800); }
.hosts-pathways__closing { grid-column: 1 / -1; width: 100%; max-width: 43rem; margin: var(--space-2) 0 0; padding-top: var(--space-4); border-top: 1px solid var(--color-chrome-100); color: var(--color-chrome-100); }

.hosts-final { background: var(--color-dusk-950); }
.hosts-final__visual { position: relative; width: 100%; }
.hosts-final__image { width: 100%; margin: 0; }
.hosts-final__image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.hosts-final__panel { position: absolute; bottom: var(--space-5); left: var(--space-5); display: flex; flex-direction: column; width: min(42%, 31.25rem); min-width: 0; gap: var(--space-4); padding: var(--space-5); border: 1px solid var(--color-chrome-100); border-radius: var(--radius-lg); background: rgba(36, 16, 68, 0.95); }
.hosts-final__panel .eyebrow,
.hosts-final__panel h2,
.hosts-final__panel p { margin: 0; }
.hosts-final__panel h2 { font-size: clamp(2rem, 3.5vw, 3.25rem); }
.hosts-final__meta { color: var(--color-yellow-300); font-family: var(--font-mono); font-size: var(--text-utility); font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.hosts-final__question { color: var(--color-paper-100); font-size: var(--text-label); }

.hosts-reminder { padding-block: 5rem; }
.hosts-reminder__content { display: flex; flex-direction: column; align-items: center; width: 100%; max-width: 42.5rem; min-width: 0; gap: var(--space-4); margin-inline: auto; text-align: center; }
.hosts-reminder__content h2,
.hosts-reminder__content p { margin: 0; }
.hosts-reminder__content h2 { color: var(--color-plum-800); }
.hosts-reminder__label { padding: var(--space-2) var(--space-3); background: var(--color-yellow-300); color: var(--color-ink-950); font-family: var(--font-mono); font-size: var(--text-utility); font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.hosts-reminder__lead { width: 100%; max-width: 37.5rem; font-size: var(--text-lead); }
.hosts-reminder__note { width: 100%; max-width: 32.5rem; padding-top: var(--space-4); border-top: 1px solid var(--color-cyan-400); }

@media (max-width: 62rem) {
  .hosts-hero__grid { grid-template-columns: minmax(10.5rem, 22%) minmax(0, 1fr); }
  .hosts-hero__images { grid-column: 2; max-width: 32rem; }
  .hosts-hero__copy { padding-top: var(--space-5); }
  .hosts-functions__grid,
  .hosts-principles__grid,
  .hosts-pathways__grid { gap: var(--space-6); }
  .hosts-function--three { transform: none; }
  .hosts-community__grid { gap: var(--space-5); }
  .hosts-arrivals { grid-template-columns: 1fr; }
  .hosts-principles__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hosts-principle--clear,
  .hosts-principle--attention,
  .hosts-principle--money { grid-column: auto; margin-top: 0; }
}

@media (max-width: 56.25rem) {
  .hosts-hero { min-height: auto; }
  .hosts-hero__grid,
  .hosts-functions__grid,
  .hosts-table-guidance__grid,
  .hosts-community__grid,
  .hosts-principles__grid,
  .hosts-pathways__grid { grid-template-columns: 1fr; }
  .hosts-hero__rail { grid-row: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-4); }
  .hosts-hero__rail-top,
  .hosts-hero__rail-actions { gap: var(--space-2); }
  .hosts-hero__copy { grid-row: 2; padding-top: 0; }
  .hosts-hero__images { grid-column: 1; grid-row: 3; max-width: 42rem; }
  .hosts-functions__intro,
  .hosts-principles__intro,
  .hosts-pathways__intro { max-width: 40rem; }
  .hosts-functions__list { max-width: 52rem; }
  .hosts-table-guidance__copy { max-width: 42rem; }
  .hosts-table-guidance__image { max-width: 38.75rem; margin: 0; }
  .hosts-community__copy { max-width: 42rem; }
  .hosts-community__side { max-width: 35rem; }
  .hosts-arc__intro { margin-inline: 0; text-align: left; }
  .hosts-arc__route { grid-template-columns: 1fr; gap: var(--space-5); padding-left: var(--space-5); }
  .hosts-arc__route::before { left: 0; }
  .hosts-stop,
  .hosts-stop--left,
  .hosts-stop--right { grid-column: 1; }
  .hosts-stop::after { left: calc(var(--space-5) * -1); right: auto; width: var(--space-5); }
  .hosts-method__plate { width: 100%; }
  .hosts-method__plate--two,
  .hosts-method__plate--three { align-self: stretch; }
  .hosts-pathways__content { max-width: 48rem; }
  .hosts-final__panel { width: min(48%, 31.25rem); }
}

@media (max-width: 47.5rem) {
  .hosts-hero { padding-top: var(--space-7); }
  .hosts-hero__copy h1 { font-size: clamp(2.625rem, 12vw, 3.75rem); }
  .hosts-hero__lead { max-width: 34em; font-size: 1.125rem; }
  .hosts-functions__list,
  .hosts-signals,
  .hosts-pathways__content { grid-template-columns: 1fr; }
  .hosts-function { width: 100%; }
  .hosts-signals article { padding: var(--space-4); border: 1px solid rgba(72, 224, 232, 0.6); }
  .hosts-path--secondary { margin-top: 0; }
  .hosts-pathways__closing { grid-column: 1; }
  .hosts-final__panel { position: static; width: 100%; border-radius: 0; }
  .hosts-final__image { margin-bottom: 0; }
}

@media (max-width: 32.5rem) {
  .hosts-hero__rail { grid-template-columns: 1fr; }
  .hosts-hero__images { grid-template-columns: 1fr; gap: var(--space-4); }
  .hosts-photo--portrait,
  .hosts-photo--rules,
  .hosts-photo--table { grid-column: 1; grid-row: auto; transform: none; }
  .hosts-photo--portrait img,
  .hosts-photo--rules img,
  .hosts-photo--table img { aspect-ratio: 3 / 2; }
  .hosts-functions__list { gap: var(--space-4); }
  .hosts-principles__cards { grid-template-columns: 1fr; }
  .hosts-method__plate { grid-template-columns: 1fr; gap: var(--space-3); }
  .hosts-method__plate > span { font-size: 1.125rem; }
  .hosts-reminder { padding-block: var(--section-space); }
  .hosts-reminder__content { align-items: stretch; text-align: left; }
  .hosts-reminder__content h2 { text-align: center; }
  .hosts-reminder__content .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .hosts-photo,
  .hosts-function--three,
  .hosts-path--secondary { transform: none; }
  .hosts-photo:hover { box-shadow: var(--shadow-offset); }
}


.participation-page {
  overflow: clip;
}

.participation-page section {
  position: relative;
}

.participation-page a:not(.button) {
  color: inherit;
  font-weight: 700;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.2em;
}

.participation-page a:not(.button):hover {
  color: var(--color-pink-500);
}

.participation-hero {
  min-height: 620px;
  padding-block: calc(var(--space-8) + var(--space-5)) var(--section-space);
  background: linear-gradient(125deg, var(--color-dusk-950) 0%, var(--color-dusk-950) 58%, var(--color-plum-800) 100%);
}

.participation-hero::before,
.participation-reminder::before {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(72, 224, 232, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(72, 224, 232, 0.08) 1px, transparent 1px);
  background-size: 24px 24px;
  content: "";
  opacity: 0.45;
  pointer-events: none;
}

.participation-hero__grid {
  display: grid;
  grid-template-columns: minmax(190px, 2fr) minmax(0, 6fr) minmax(0, 4fr);
  grid-template-areas: "rail copy figure";
  gap: 20px;
  align-items: center;
  min-height: 500px;
  position: relative;
  z-index: 1;
}

.participation-hero__rail {
  grid-area: rail;
  min-width: 0;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding-right: var(--space-5);
  border-right: 1px solid var(--color-cyan-400);
}

.participation-hero__status,
.participation-hero__actions {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-2);
}

.participation-hero__badge {
  width: max-content;
  max-width: 100%;
}

.participation-hero__badge--age {
  color: var(--color-yellow-300);
  border-color: var(--color-yellow-300);
}

.participation-hero__status-copy,
.participation-hero__money-note {
  max-width: 28ch;
  margin: 0;
  font-size: var(--text-label);
}

.participation-hero__money-note {
  color: var(--color-yellow-300);
  font-family: var(--font-mono);
}

.participation-hero__actions .button {
  width: 100%;
}

.participation-hero__copy {
  grid-area: copy;
  min-width: 0;
  align-self: center;
}

.participation-hero__eyebrow {
  margin-bottom: var(--space-4);
}

.participation-hero h1 {
  max-width: 14ch;
  margin-bottom: var(--space-5);
  color: var(--color-paper-100);
  text-shadow: 4px 4px 0 var(--color-pink-500);
}

.participation-hero__lead {
  max-width: 50ch;
  margin: 0;
  font-size: var(--text-lead);
}

.participation-hero__figure {
  grid-area: figure;
  min-width: 0;
  width: min(100%, 350px);
  justify-self: end;
  margin: 0;
  transform: translateY(24px) rotate(1.2deg);
}

.participation-image-frame {
  position: relative;
  min-width: 0;
  padding: var(--space-1);
  border: 1px solid var(--color-chrome-100);
  background: var(--color-dusk-900);
  box-shadow: 4px 4px 0 var(--color-pink-500);
}

.participation-image-frame::before {
  position: absolute;
  inset: var(--space-1);
  z-index: 1;
  border: 2px solid var(--color-cyan-400);
  content: "";
  pointer-events: none;
}

.participation-image-frame--pink::before {
  border-color: var(--color-pink-500);
}

.participation-image-frame img {
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.participation-prepare__figure img {
  aspect-ratio: 3 / 2;
}

.participation-image-frame figcaption {
  position: relative;
  z-index: 2;
  margin: var(--space-2) var(--space-1) var(--space-1);
  color: var(--color-paper-100);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.participation-image-frame:hover::after {
  position: absolute;
  inset: 8px -4px -4px 8px;
  z-index: -1;
  border: 2px solid var(--color-pink-500);
  content: "";
}

.participation-hero__fragment {
  position: absolute;
  z-index: -1;
  border: 1px solid var(--color-cyan-400);
}

.participation-hero__fragment--pink {
  width: 130px;
  height: 130px;
  right: 12%;
  top: 6%;
  border-width: 2px;
  border-color: var(--color-pink-500);
}

.participation-hero__fragment--cyan {
  width: 180px;
  height: 75px;
  right: 0;
  bottom: 8%;
}

.participation-boundaries {
  border-top: 1px solid var(--color-cyan-400);
}

.participation-boundaries__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: min(8.33%, 100px);
  align-items: start;
}

.participation-boundaries__intro,
.participation-boundaries__strips {
  min-width: 0;
}

.participation-boundaries__lead {
  max-width: 44ch;
  margin: 0;
  font-size: var(--text-lead);
}

.participation-boundaries__strips {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.participation-strip {
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid rgba(22, 11, 46, 0.38);
  border-left: 4px solid var(--color-cyan-400);
  background: rgba(255, 255, 255, 0.35);
  box-shadow: var(--shadow-paper);
}

.participation-strip--pink {
  width: 88%;
  align-self: end;
  border-left-color: var(--color-pink-500);
}

.participation-strip--age {
  width: 100%;
  border-left-color: var(--color-yellow-300);
  background: var(--color-yellow-300);
}

.participation-strip__number {
  display: block;
  margin-bottom: var(--space-2);
  font-family: var(--font-mono);
  font-weight: 700;
  letter-spacing: 0.12em;
}

.participation-strip h3,
.participation-strip p {
  margin: 0;
}

.participation-strip h3 {
  margin-bottom: var(--space-3);
  font-size: 1.25rem;
}

.participation-route {
  border-top: 1px solid var(--color-chrome-100);
}

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

.participation-route__head,
.participation-route__steps {
  min-width: 0;
}

.participation-route__head p {
  max-width: 38ch;
  margin: 0;
}

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

.participation-route__steps::before {
  position: absolute;
  top: 22px;
  right: 12.5%;
  left: 12.5%;
  height: 1px;
  background: var(--color-cyan-400);
  content: "";
}

.participation-step {
  min-width: 0;
  position: relative;
  z-index: 1;
  padding: var(--space-4);
  border: 1px solid var(--color-cyan-400);
  background: var(--color-dusk-900);
}

.participation-step--pink { border-color: var(--color-pink-500); }
.participation-step--yellow { border-color: var(--color-yellow-300); }
.participation-step--final { border-color: var(--color-chrome-100); background: var(--color-plum-800); }

.participation-step__number {
  display: flex;
  width: 44px;
  min-width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--space-4);
  border: 1px solid currentColor;
  background: var(--color-dusk-950);
  color: var(--color-cyan-400);
  font-family: var(--font-mono);
  font-weight: 700;
}

.participation-step--pink .participation-step__number { color: var(--color-pink-500); }
.participation-step--yellow .participation-step__number { color: var(--color-yellow-300); }

.participation-step .label { margin-bottom: var(--space-2); color: var(--color-yellow-300); }
.participation-step h3,
.participation-step p { margin: 0; }
.participation-step h3 { margin-bottom: var(--space-3); font-size: 1.25rem; }
.participation-step p { font-size: var(--text-label); }

.participation-prepare {
  border-top: 1px solid var(--color-cyan-400);
}

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

.participation-prepare__copy,
.participation-prepare__board,
.participation-prepare__notes { min-width: 0; }
.participation-prepare__lead { max-width: 42ch; font-size: var(--text-lead); }
.participation-prepare__board { display: flex; flex-direction: column; gap: var(--space-5); }
.participation-prepare__figure { width: min(100%, 620px); margin: 0; }
.participation-prepare__notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }

.participation-note {
  min-width: 0;
  padding: var(--space-4);
  border: 1px solid rgba(22, 11, 46, 0.38);
  border-left: 3px solid var(--color-cyan-400);
  background: var(--color-paper-200);
  box-shadow: var(--shadow-paper);
}

.participation-note--pink { border-left-color: var(--color-pink-500); }
.participation-note--chrome { border-left-color: var(--color-chrome-100); }
.participation-note h3,
.participation-note p { margin: 0; }
.participation-note h3 { margin-bottom: var(--space-3); font-size: 1.25rem; }

.participation-code { border-top: 1px solid var(--color-chrome-100); }
.participation-code__head { width: min(100%, 620px); margin-inline: auto; text-align: center; }
.participation-code__head p { max-width: 42ch; margin-inline: auto; }
.participation-code__posters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); align-items: start; margin-top: var(--space-7); }
.participation-poster { min-width: 0; padding: var(--space-5); border: 1px solid var(--color-chrome-100); background: var(--color-plum-800); box-shadow: var(--shadow-offset); }
.participation-poster--cyan { border-top: 4px solid var(--color-cyan-400); }
.participation-poster--pink { margin-top: var(--space-5); border-top: 4px solid var(--color-pink-500); }
.participation-poster--paper { margin-top: var(--space-3); border-top: 4px solid var(--color-yellow-300); background: var(--color-paper-100); color: var(--color-ink-950); }
.participation-poster h3,
.participation-poster p { margin: 0; }
.participation-poster h3 { margin-bottom: var(--space-3); font-size: 1.4rem; }
.participation-poster .label { margin-bottom: var(--space-3); color: var(--color-pink-500); }
.participation-code__summary { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); margin-top: var(--space-7); padding-top: var(--space-5); border-top: 1px solid var(--color-chrome-100); }
.participation-code__summary p { max-width: 68ch; margin: 0; }
.participation-code__summary-badge { color: var(--color-yellow-300); }

.participation-details { border-top: 1px solid var(--color-cyan-400); }
.participation-details__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); grid-template-areas: "main links" "contact contact"; gap: var(--space-6) min(8.33%, 100px); align-items: start; }
.participation-details__main { grid-area: main; min-width: 0; }
.participation-details__links { grid-area: links; min-width: 0; padding: var(--space-5); border-left: 2px solid var(--color-cyan-400); background: rgba(255, 244, 214, 0.45); }
.participation-details__contact { grid-area: contact; min-width: 0; padding: var(--space-5); background: var(--color-yellow-300); color: var(--color-ink-950); }
.participation-details__lead { max-width: 60ch; font-size: var(--text-lead); }
.participation-details__format { max-width: 42ch; padding-top: var(--space-4); border-top: 1px solid var(--color-cyan-400); }
.participation-details__format h3,
.participation-details__format p,
.participation-details__links h3,
.participation-details__links p,
.participation-details__contact h3,
.participation-details__contact p { margin: 0; }
.participation-details__format h3,
.participation-details__links h3,
.participation-details__contact h3 { margin-bottom: var(--space-3); font-size: 1.3rem; }
.participation-details__links { display: flex; flex-direction: column; gap: var(--space-4); }
.participation-details__links .label { color: var(--color-ink-950); }

.participation-faq { border-top: 1px solid var(--color-chrome-100); }
.participation-faq__layout { display: grid; grid-template-columns: minmax(0, 8fr) minmax(250px, 3fr); grid-template-areas: "head reminder" "list reminder"; gap: var(--space-5) min(8.33%, 100px); align-items: start; }
.participation-faq__head { grid-area: head; min-width: 0; max-width: 560px; }
.participation-faq__head p { max-width: 44ch; margin: 0; }
.participation-faq__list { grid-area: list; min-width: 0; max-width: 780px; }
.participation-faq__reminder { grid-area: reminder; min-width: 0; padding: var(--space-5); border: 1px solid var(--color-pink-500); background: var(--color-plum-800); box-shadow: var(--shadow-offset); }
.participation-faq__reminder h3,
.participation-faq__reminder p { margin: 0; }
.participation-faq__reminder h3 { margin-block: var(--space-3); }
.participation-faq__reminder .label { color: var(--color-yellow-300); }
.participation-faq-item { min-width: 0; border-top: 1px solid var(--color-cyan-400); }
.participation-faq-item:last-child { border-bottom: 1px solid var(--color-cyan-400); }
.participation-faq-item__button { display: grid; grid-template-columns: minmax(0, 1fr) 44px; width: 100%; min-width: 0; min-height: 52px; align-items: center; gap: var(--space-3); padding: var(--space-4) 0; border: 0; background: transparent; color: inherit; font-family: var(--font-heading); font-size: 1.25rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.2; text-align: left; }
.participation-faq-item__state { display: flex; width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid var(--color-cyan-400); color: var(--color-cyan-400); font-family: var(--font-mono); }
.participation-faq-item__answer { max-width: 52ch; padding-bottom: var(--space-4); }
.participation-faq-item__answer p { margin: 0; }

.participation-reminder { border-top: 1px solid var(--color-cyan-400); }
.participation-reminder__layout { display: grid; grid-template-columns: minmax(0, 9fr) minmax(0, 3fr); gap: var(--space-6); align-items: stretch; position: relative; z-index: 1; }
.participation-reminder__sheet { min-width: 0; padding: var(--space-6); border: 1px solid var(--color-chrome-100); background: var(--color-paper-100); color: var(--color-ink-950); box-shadow: var(--shadow-paper); }
.participation-reminder__lead { max-width: 48ch; font-size: var(--text-lead); }
.participation-reminder__statement { max-width: 38ch; margin-block: var(--space-6); font-family: var(--font-heading); font-size: var(--text-section); font-weight: 700; line-height: 1.1; }
.participation-reminder__labels { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-2); margin-bottom: var(--space-5); }
.participation-reminder__labels span { min-width: 0; padding: var(--space-2); border: 1px solid var(--color-ink-950); font-family: var(--font-mono); font-size: var(--text-utility); font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }
.participation-reminder__age { padding: var(--space-4); background: var(--color-yellow-300); }
.participation-reminder__age h3,
.participation-reminder__age p { margin: 0; }
.participation-reminder__age h3 { margin-bottom: var(--space-2); }
.participation-reminder__void { min-width: 0; border: 1px solid rgba(72, 224, 232, 0.5); background-image: linear-gradient(rgba(72, 224, 232, 0.12) 1px, transparent 1px), linear-gradient(90deg, rgba(72, 224, 232, 0.12) 1px, transparent 1px); background-size: 18px 18px; }

.participation-directions { border-top: 1px solid var(--color-chrome-100); }
.participation-directions__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); grid-template-areas: "intro routes" "bar bar"; gap: var(--space-6) min(8.33%, 100px); align-items: start; }
.participation-directions__intro { grid-area: intro; min-width: 0; }
.participation-directions__lead { max-width: 48ch; margin: 0; font-size: var(--text-lead); }
.participation-directions__routes { grid-area: routes; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); align-items: start; }
.participation-direction { min-width: 0; padding: var(--space-5); border: 1px solid var(--color-chrome-100); }
.participation-direction--paper { background: var(--color-paper-100); color: var(--color-ink-950); box-shadow: var(--shadow-paper); }
.participation-direction--plum { margin-top: var(--space-4); background: var(--color-plum-800); border-color: var(--color-pink-500); }
.participation-direction h3,
.participation-direction p { margin: 0; }
.participation-direction h3 { margin-bottom: var(--space-3); font-size: 1.35rem; }
.participation-directions__bar { grid-area: bar; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; border-top: 1px solid var(--color-cyan-400); border-bottom: 1px solid var(--color-cyan-400); }
.participation-directions__bar a { display: flex; min-width: 0; min-height: 52px; align-items: center; padding: var(--space-3) var(--space-4); border-right: 1px solid var(--color-cyan-400); font-family: var(--font-heading); font-weight: 700; text-decoration: none; }
.participation-directions__bar a:last-child { border-right: 0; }
.participation-directions__bar a:hover { background: var(--color-cyan-400); color: var(--color-ink-950); }
.participation-directions__contact-link { color: var(--color-pink-500); }

.participation-final { padding-top: var(--space-8); border-top: 1px solid var(--color-cyan-400); }
.participation-final__panel { display: flex; width: min(100%, 840px); min-width: 0; flex-direction: column; align-items: center; gap: var(--space-5); margin-inline: auto; padding: var(--space-7); border: 1px solid var(--color-chrome-100); background: var(--color-paper-100); color: var(--color-ink-950); box-shadow: var(--shadow-paper); text-align: center; }
.participation-final__panel h2,
.participation-final__panel p { margin: 0; }
.participation-final__lead { max-width: 48ch; font-size: var(--text-lead); }
.participation-final__actions { display: flex; min-width: 0; flex-wrap: wrap; justify-content: center; gap: var(--space-3); }
.participation-final__note { max-width: 52ch; color: var(--color-ink-950); font-size: var(--text-label); }
.participation-final__note span { color: #9f6800; }

@media (max-width: 63.75rem) {
  .participation-route__grid { grid-template-columns: 1fr; }
  .participation-route__head { max-width: 500px; }
  .participation-route__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .participation-route__steps::before { display: none; }
}

@media (max-width: 56.25rem) {
  .participation-hero__grid { grid-template-columns: minmax(190px, 2fr) minmax(0, 5fr); grid-template-areas: "rail copy" "rail figure"; }
  .participation-hero__figure { width: min(100%, 300px); justify-self: end; transform: none; }
  .participation-boundaries__grid,
  .participation-prepare__grid { grid-template-columns: 1fr; }
  .participation-boundaries__strips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .participation-strip--wide,
  .participation-strip--pink,
  .participation-strip--age { width: 100%; align-self: stretch; }
  .participation-strip--age { grid-column: 1 / -1; }
  .participation-prepare__board { max-width: 680px; }
  .participation-code__posters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .participation-poster--paper { grid-column: 1 / -1; margin-top: 0; }
  .participation-details__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "main main" "links links" "contact contact"; gap: var(--space-5); }
  .participation-details__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .participation-details__links .label,
  .participation-details__links h3 { grid-column: 1 / -1; }
  .participation-faq__layout { grid-template-columns: 1fr; grid-template-areas: "head" "reminder" "list"; gap: var(--space-5); }
  .participation-faq__reminder { max-width: none; }
  .participation-reminder__layout { grid-template-columns: 1fr; }
  .participation-reminder__void { display: none; }
  .participation-directions__grid { grid-template-columns: 1fr; grid-template-areas: "intro" "routes" "bar"; }
}

@media (max-width: 47.5rem) {
  .participation-hero { min-height: 0; padding-top: var(--space-6); }
  .participation-hero__grid { grid-template-columns: 1fr; grid-template-areas: "rail" "copy" "figure"; gap: var(--space-5); }
  .participation-hero__rail { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "status copy" "actions actions" "note note"; gap: var(--space-3) var(--space-4); padding: 0 0 var(--space-4); border-right: 0; border-bottom: 1px solid var(--color-cyan-400); }
  .participation-hero__status { grid-area: status; flex-direction: row; flex-wrap: wrap; align-content: start; }
  .participation-hero__status-copy { grid-area: copy; max-width: none; }
  .participation-hero__actions { grid-area: actions; flex-direction: row; }
  .participation-hero__money-note { grid-area: note; max-width: none; }
  .participation-hero__figure { width: min(100%, 430px); justify-self: start; }
  .participation-hero__fragment { display: none; }
  .participation-final__panel { padding: var(--space-5); }
}

@media (max-width: 42.5rem) {
  .participation-hero h1 { max-width: 12ch; font-size: clamp(2.625rem, 13vw, 3.875rem); }
  .participation-hero__lead { max-width: 34ch; }
  .participation-hero__rail { grid-template-columns: 1fr; grid-template-areas: "status" "copy" "actions" "note"; }
  .participation-hero__actions { flex-direction: column; }
  .participation-boundaries__strips,
  .participation-prepare__notes,
  .participation-code__posters,
  .participation-directions__routes,
  .participation-directions__bar { grid-template-columns: 1fr; }
  .participation-strip { padding: var(--space-4); }
  .participation-route__steps { grid-template-columns: 1fr; gap: var(--space-4); }
  .participation-step { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: var(--space-3); }
  .participation-step__number { grid-row: 1 / span 3; margin: 0; }
  .participation-step .label,
  .participation-step h3,
  .participation-step p { grid-column: 2; }
  .participation-poster--pink,
  .participation-poster--paper { margin-top: 0; }
  .participation-details__grid { grid-template-columns: 1fr; grid-template-areas: "main" "links" "contact"; }
  .participation-details__links { grid-template-columns: 1fr; }
  .participation-details__links .label,
  .participation-details__links h3 { grid-column: auto; }
  .participation-faq-item__button { font-size: 1.125rem; }
  .participation-reminder__sheet { padding: var(--space-5); }
  .participation-reminder__labels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .participation-direction--plum { margin-top: 0; }
  .participation-directions__bar a { border-right: 0; border-bottom: 1px solid var(--color-cyan-400); }
  .participation-directions__bar a:last-child { border-bottom: 0; }
  .participation-final__actions { width: 100%; flex-direction: column; }
  .participation-final__actions .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .participation-hero__figure { transform: none; }
  .participation-image-frame:hover::after { display: none; }
}


[data-tematikus-estek] {
  overflow: clip;
}

[data-tematikus-estek] section {
  position: relative;
}

[data-tematikus-estek] .te-section-rule {
  height: 1px;
  padding: 0;
  background: var(--color-cyan-400);
}

[data-tematikus-estek] .te-section-rule--chrome {
  background: var(--color-chrome-100);
}

[data-tematikus-estek] .te-copy-lead {
  font-size: var(--text-lead);
  line-height: 1.45;
}

[data-tematikus-estek] .te-hero {
  padding-block: calc(var(--space-8) + var(--space-4)) var(--section-space);
  background:
    linear-gradient(120deg, rgba(53, 22, 92, 0.58), transparent 56%),
    var(--color-dusk-950);
}

[data-tematikus-estek] .te-hero::before,
[data-tematikus-estek] .te-flow::before {
  position: absolute;
  inset: 0;
  opacity: 0.06;
  background-image: linear-gradient(rgba(72, 224, 232, 0.7) 1px, transparent 1px), linear-gradient(90deg, rgba(72, 224, 232, 0.7) 1px, transparent 1px);
  background-size: 24px 24px;
  content: "";
  pointer-events: none;
}

[data-tematikus-estek] .te-hero__layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(180px, 2fr) minmax(0, 10fr);
  gap: var(--space-6);
}

[data-tematikus-estek] .te-hero__rail,
[data-tematikus-estek] .te-hero__content,
[data-tematikus-estek] .te-hero__copy,
[data-tematikus-estek] .te-hero__visuals {
  min-width: 0;
}

[data-tematikus-estek] .te-hero__rail {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: stretch;
  align-self: start;
  padding: var(--space-4);
  border-inline-start: 2px solid var(--color-pink-500);
  background: rgba(36, 16, 68, 0.76);
}

[data-tematikus-estek] .te-statuses {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

[data-tematikus-estek] .te-status {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
}

[data-tematikus-estek] .te-status p {
  margin: 0;
  font-size: var(--text-label);
  line-height: 1.4;
}

[data-tematikus-estek] .te-hero__actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

[data-tematikus-estek] .te-hero__actions > * {
  width: 100%;
  min-width: 0;
}

[data-tematikus-estek] .te-hero__content {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(260px, 3fr);
  gap: var(--space-5);
  align-items: start;
}

[data-tematikus-estek] .te-hero__copy {
  grid-column: 1;
  padding-top: var(--space-5);
}

[data-tematikus-estek] .te-hero__copy h1 {
  max-width: 820px;
  margin-bottom: var(--space-5);
  font-size: clamp(3.5rem, 7vw, 6.5rem);
  text-shadow: 3px 3px 0 var(--color-plum-800);
}

[data-tematikus-estek] .te-hero__copy .te-copy-lead {
  max-width: 52ch;
  margin-bottom: 0;
}

[data-tematikus-estek] .te-hero__visuals {
  grid-column: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
  padding-top: var(--space-1);
}

[data-tematikus-estek] .te-image-button {
  display: block;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: inherit;
}

[data-tematikus-estek] .te-image-button:nth-child(2) {
  width: 84%;
  justify-self: end;
}

[data-tematikus-estek] .te-image-button:hover .frame {
  transform: translate(2px, -2px);
  box-shadow: 6px 4px 0 var(--color-pink-500), var(--shadow-glow-cyan);
}

[data-tematikus-estek] .te-image-button .frame {
  margin: 0;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

[data-tematikus-estek] .te-image-button img {
  width: 100%;
  object-fit: cover;
}

[data-tematikus-estek] .te-image-button--portrait img {
  aspect-ratio: 4 / 5;
}

[data-tematikus-estek] .te-image-button--square img {
  aspect-ratio: 1;
}

[data-tematikus-estek] .te-image-button figcaption {
  padding-inline: var(--space-2);
}

[data-tematikus-estek] .te-editorial {
  background: var(--color-paper-100);
  color: var(--color-ink-950);
}

[data-tematikus-estek] .te-editorial__intro {
  width: min(100%, 680px);
  min-width: 0;
}

[data-tematikus-estek] .te-editorial__intro h2 {
  margin-top: var(--space-3);
}

[data-tematikus-estek] .te-editorial__intro p:last-child {
  margin-bottom: 0;
}

[data-tematikus-estek] .te-editorial__columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
  align-items: end;
}

[data-tematikus-estek] .te-editorial-card {
  min-width: 0;
  padding: var(--space-5) 0 0;
  border-top: 1px solid var(--color-cyan-400);
}

[data-tematikus-estek] .te-editorial-card__number {
  display: block;
  margin-bottom: var(--space-4);
  color: var(--color-pink-500);
  font-family: var(--font-mono);
  font-size: 1.25rem;
  font-weight: 700;
}

[data-tematikus-estek] .te-editorial-card h3 {
  font-size: 1.5rem;
}

[data-tematikus-estek] .te-editorial-card p {
  max-width: 32ch;
  margin-bottom: 0;
}

[data-tematikus-estek] .te-flow {
  background: var(--color-dusk-900);
}

[data-tematikus-estek] .te-flow__header {
  position: relative;
  z-index: 1;
  width: min(100%, 620px);
  min-width: 0;
}

[data-tematikus-estek] .te-flow__header h2 {
  margin-top: var(--space-3);
}

[data-tematikus-estek] .te-flow__header p {
  max-width: 52ch;
  margin-bottom: 0;
}

[data-tematikus-estek] .te-timeline {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6) var(--space-8);
  margin-top: var(--space-7);
}

[data-tematikus-estek] .te-timeline::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: var(--color-cyan-400);
  content: "";
}

[data-tematikus-estek] .te-timeline__item {
  position: relative;
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--color-border-subtle);
  background: var(--color-plum-800);
}

[data-tematikus-estek] .te-timeline__item:nth-child(odd) {
  grid-column: 1;
}

[data-tematikus-estek] .te-timeline__item:nth-child(even) {
  grid-column: 2;
  margin-top: var(--space-7);
}

[data-tematikus-estek] .te-timeline__item:nth-child(3) {
  background: var(--color-paper-200);
  color: var(--color-ink-950);
}

[data-tematikus-estek] .te-timeline__item:nth-child(5) {
  border: 2px solid var(--color-pink-500);
}

[data-tematikus-estek] .te-timeline__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  min-width: 2.25rem;
  height: 2.25rem;
  margin-bottom: var(--space-3);
  background: var(--color-pink-500);
  color: var(--color-ink-950);
  font-family: var(--font-mono);
  font-weight: 700;
}

[data-tematikus-estek] .te-timeline__item h3 {
  font-size: clamp(1.35rem, 2.2vw, 1.7rem);
}

[data-tematikus-estek] .te-timeline__item p {
  max-width: 42ch;
  margin-bottom: 0;
}

[data-tematikus-estek] .te-timeline__tag {
  margin-bottom: var(--space-3);
}

[data-tematikus-estek] .te-inline-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: var(--space-4) 0 0;
  padding: 0;
}

[data-tematikus-estek] .te-inline-list li {
  min-width: 0;
  padding: var(--space-2) var(--space-3);
  border: 1px solid currentColor;
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

[data-tematikus-estek] .te-formats {
  background: var(--color-paper-200);
  color: var(--color-ink-950);
}

[data-tematikus-estek] .te-formats__header {
  width: min(100%, 680px);
  min-width: 0;
}

[data-tematikus-estek] .te-formats__header h2 {
  margin-top: var(--space-3);
}

[data-tematikus-estek] .te-formats__header p {
  max-width: 52ch;
}

[data-tematikus-estek] .te-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-5);
}

[data-tematikus-estek] .te-tabs > button {
  min-width: 0;
  min-height: 2.75rem;
  padding: 0.7rem 1rem;
  border: 1px solid var(--color-ink-950);
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--color-ink-950);
  font-family: var(--font-heading);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: 0.05em;
}

[data-tematikus-estek] .te-tabs > button[aria-selected="true"] {
  border-color: var(--color-pink-500);
  background: var(--color-pink-500);
}

[data-tematikus-estek] .te-format-panel {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(260px, 5fr);
  gap: var(--space-6);
  align-items: center;
  margin-top: var(--space-6);
  padding: var(--space-6);
  border: 1px solid rgba(22, 11, 46, 0.35);
  background: var(--color-paper-100);
  box-shadow: var(--shadow-paper);
}

[data-tematikus-estek] .te-format-panel__copy,
[data-tematikus-estek] .te-format-panel__media {
  min-width: 0;
}

[data-tematikus-estek] .te-format-panel__copy p {
  max-width: 50ch;
}

[data-tematikus-estek] .te-format-panel__copy p:last-child {
  margin-bottom: 0;
}

[data-tematikus-estek] .te-format-panel__media {
  width: 100%;
  max-width: 440px;
  justify-self: end;
}

[data-tematikus-estek] .te-format-panel__media img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

[data-tematikus-estek] .te-format-notice {
  width: min(100%, 70ch);
  margin-top: var(--space-6);
  padding: var(--space-4);
  border: 1px solid var(--color-ink-950);
  background: var(--color-yellow-300);
  color: var(--color-ink-950);
  font-weight: 600;
}

[data-tematikus-estek] .te-format-notice p {
  margin: 0;
}

[data-tematikus-estek] .te-hosts {
  background: var(--color-dusk-950);
}

[data-tematikus-estek] .te-hosts__layout {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
  gap: var(--space-7);
  align-items: start;
}

[data-tematikus-estek] .te-hosts__copy,
[data-tematikus-estek] .te-hosts__roles {
  min-width: 0;
}

[data-tematikus-estek] .te-hosts__copy {
  width: min(100%, 600px);
}

[data-tematikus-estek] .te-hosts__copy h2 {
  margin-top: var(--space-3);
}

[data-tematikus-estek] .te-hosts__statement {
  color: var(--color-cyan-400);
  font-family: var(--font-heading);
  font-size: var(--text-lead);
  font-weight: 700;
  line-height: 1.25;
}

[data-tematikus-estek] .te-hosts__copy p:last-child {
  margin-bottom: 0;
}

[data-tematikus-estek] .te-hosts__roles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

[data-tematikus-estek] .te-role {
  min-width: 0;
  padding: var(--space-4);
  border-top: 2px solid var(--color-cyan-400);
  background: var(--color-plum-800);
}

[data-tematikus-estek] .te-role:nth-child(3) {
  border-color: var(--color-pink-500);
}

[data-tematikus-estek] .te-role:nth-child(4) {
  border-color: var(--color-yellow-300);
}

[data-tematikus-estek] .te-role h3 {
  font-size: 1.35rem;
}

[data-tematikus-estek] .te-role p {
  max-width: 28ch;
  margin-bottom: 0;
}

[data-tematikus-estek] .te-meal {
  background: var(--color-paper-100);
  color: var(--color-ink-950);
}

[data-tematikus-estek] .te-meal__layout {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: var(--space-7);
  align-items: start;
}

[data-tematikus-estek] .te-meal__media,
[data-tematikus-estek] .te-meal__content,
[data-tematikus-estek] .te-meal__moments {
  min-width: 0;
}

[data-tematikus-estek] .te-meal__media img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

[data-tematikus-estek] .te-meal__content h2 {
  margin-top: var(--space-3);
}

[data-tematikus-estek] .te-meal__content > p:not(.te-copy-lead) {
  max-width: 54ch;
}

[data-tematikus-estek] .te-meal__moments {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-6);
}

[data-tematikus-estek] .te-moment {
  min-width: 0;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-cyan-400);
}

[data-tematikus-estek] .te-moment:nth-child(3) {
  border-color: var(--color-yellow-300);
}

[data-tematikus-estek] .te-moment h3 {
  font-size: 1.2rem;
}

[data-tematikus-estek] .te-moment p {
  max-width: 26ch;
  margin-bottom: 0;
}

[data-tematikus-estek] .te-fit {
  background: var(--color-dusk-900);
}

[data-tematikus-estek] .te-fit__intro {
  width: min(100%, 680px);
  min-width: 0;
  margin-inline: auto;
  text-align: center;
}

[data-tematikus-estek] .te-fit__intro h2 {
  margin-top: var(--space-3);
}

[data-tematikus-estek] .te-fit__intro p {
  max-width: 60ch;
  margin-inline: auto;
  margin-bottom: 0;
}

[data-tematikus-estek] .te-fit__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}

[data-tematikus-estek] .te-fit-card {
  min-width: 0;
  padding: var(--space-5);
  border-inline-start: 2px solid var(--color-cyan-400);
  background: rgba(53, 22, 92, 0.82);
}

[data-tematikus-estek] .te-fit-card:nth-child(2) { border-color: var(--color-pink-500); }
[data-tematikus-estek] .te-fit-card:nth-child(3) { border-color: var(--color-yellow-300); }
[data-tematikus-estek] .te-fit-card:nth-child(4) { border-color: var(--color-chrome-100); }

[data-tematikus-estek] .te-fit-card h3 {
  font-size: 1.45rem;
}

[data-tematikus-estek] .te-fit-card p {
  max-width: 38ch;
  margin-bottom: 0;
}

[data-tematikus-estek] .te-clear {
  background: var(--color-paper-200);
  color: var(--color-ink-950);
}

[data-tematikus-estek] .te-clear__layout {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--space-7);
  align-items: start;
}

[data-tematikus-estek] .te-clear__intro,
[data-tematikus-estek] .te-clear__tables {
  min-width: 0;
}

[data-tematikus-estek] .te-clear__intro {
  width: min(100%, 460px);
}

[data-tematikus-estek] .te-clear__intro h2 {
  margin-top: var(--space-3);
}

[data-tematikus-estek] .te-clear__intro p {
  max-width: 44ch;
  margin-bottom: 0;
}

[data-tematikus-estek] .te-clear__tables {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

[data-tematikus-estek] .te-compare {
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid rgba(22, 11, 46, 0.35);
  background: var(--color-paper-100);
  box-shadow: var(--shadow-paper);
}

[data-tematikus-estek] .te-compare--dark {
  margin-left: var(--space-6);
  border-color: var(--color-cyan-400);
  background: var(--color-dusk-900);
  color: var(--color-white-100);
  box-shadow: var(--shadow-offset);
}

[data-tematikus-estek] .te-compare h3 {
  font-size: 1.5rem;
}

[data-tematikus-estek] .te-compare ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3) var(--space-5);
  margin: 0;
  padding: 0;
}

[data-tematikus-estek] .te-compare li {
  position: relative;
  min-width: 0;
  padding-inline-start: var(--space-5);
}

[data-tematikus-estek] .te-compare li::before {
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 8px;
  height: 8px;
  background: var(--color-pink-500);
  content: "";
}

[data-tematikus-estek] .te-compare--dark li::before {
  background: var(--color-yellow-300);
}

[data-tematikus-estek] .te-final {
  background: var(--color-dusk-950);
  text-align: center;
}

[data-tematikus-estek] .te-final__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  width: min(100%, 680px);
  min-width: 0;
  margin-inline: auto;
}

[data-tematikus-estek] .te-final__content h2,
[data-tematikus-estek] .te-final__content p {
  margin: 0;
}

[data-tematikus-estek] .te-final__content p {
  max-width: 52ch;
}

[data-tematikus-estek] .te-final__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  width: 100%;
}

[data-tematikus-estek] .te-final__actions > * {
  min-width: 190px;
}

[data-tematikus-estek] .te-final__notice {
  width: min(100%, 700px);
  padding: var(--space-4);
  background: var(--color-yellow-300);
  color: var(--color-ink-950);
  text-align: left;
}

[data-tematikus-estek] .te-final__notice p {
  max-width: 55ch;
}

[data-tematikus-estek] .te-lightbox {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: grid;
  place-items: center;
  padding: var(--space-5);
  background: rgba(9, 4, 20, 0.86);
}

[data-tematikus-estek] .te-lightbox__dialog {
  position: relative;
  width: min(100%, 900px);
  min-width: 0;
  max-height: calc(100vh - var(--space-8));
  padding: var(--space-5);
  overflow: auto;
  border: 1px solid var(--color-cyan-400);
  background: var(--color-dusk-900);
}

[data-tematikus-estek] .te-lightbox__close {
  position: absolute;
  top: var(--space-3);
  right: var(--space-3);
  min-width: 2.75rem;
  min-height: 2.75rem;
  border: 1px solid var(--color-cyan-400);
  background: var(--color-dusk-950);
  color: var(--color-white-100);
  font-family: var(--font-heading);
  font-weight: 700;
}

[data-tematikus-estek] .te-lightbox__image {
  width: 100%;
  max-height: 72vh;
  object-fit: contain;
}

[data-tematikus-estek] .te-lightbox__caption {
  margin: var(--space-3) 0 0;
  padding-right: var(--space-8);
}

@media (max-width: 56.25rem) {
  [data-tematikus-estek] .te-hero__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  [data-tematikus-estek] .te-hero__rail {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4);
    border-inline-start: 0;
    border-top: 2px solid var(--color-pink-500);
  }

  [data-tematikus-estek] .te-statuses,
  [data-tematikus-estek] .te-hero__actions {
    display: contents;
  }

  [data-tematikus-estek] .te-hero__rail .te-status,
  [data-tematikus-estek] .te-hero__rail .button {
    min-width: 0;
  }

  [data-tematikus-estek] .te-hero__content {
    grid-template-columns: minmax(0, 7fr) minmax(220px, 5fr);
  }

  [data-tematikus-estek] .te-editorial__columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  [data-tematikus-estek] .te-editorial-card:nth-child(3) {
    grid-column: 1 / -1;
  }

  [data-tematikus-estek] .te-timeline {
    grid-template-columns: minmax(0, 1fr);
    padding-left: var(--space-6);
  }

  [data-tematikus-estek] .te-timeline::before {
    left: var(--space-3);
  }

  [data-tematikus-estek] .te-timeline__item,
  [data-tematikus-estek] .te-timeline__item:nth-child(odd),
  [data-tematikus-estek] .te-timeline__item:nth-child(even) {
    grid-column: 1;
    margin-top: 0;
  }

  [data-tematikus-estek] .te-timeline__number {
    position: absolute;
    top: var(--space-5);
    left: calc(var(--space-6) * -1 - 0.375rem);
  }

  [data-tematikus-estek] .te-format-panel {
    grid-template-columns: minmax(0, 1fr);
  }

  [data-tematikus-estek] .te-format-panel__media {
    justify-self: start;
  }

  [data-tematikus-estek] .te-hosts__layout,
  [data-tematikus-estek] .te-meal__layout,
  [data-tematikus-estek] .te-clear__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  [data-tematikus-estek] .te-hosts__copy,
  [data-tematikus-estek] .te-clear__intro {
    width: 100%;
  }

  [data-tematikus-estek] .te-clear__tables {
    width: 100%;
  }

  [data-tematikus-estek] .te-compare--dark {
    margin-left: 0;
  }
}

@media (max-width: 47.5rem) {
  [data-tematikus-estek] .te-hero__content {
    grid-template-columns: minmax(0, 1fr);
  }

  [data-tematikus-estek] .te-hero__copy,
  [data-tematikus-estek] .te-hero__visuals {
    grid-column: 1;
  }

  [data-tematikus-estek] .te-hero__visuals {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }

  [data-tematikus-estek] .te-image-button:nth-child(2) {
    width: 100%;
    align-self: end;
  }

  [data-tematikus-estek] .te-fit__intro {
    text-align: left;
  }

  [data-tematikus-estek] .te-fit__intro p {
    margin-inline: 0;
  }

  [data-tematikus-estek] .te-fit__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 42.5rem) {
  [data-tematikus-estek] .te-hero {
    padding-top: var(--space-6);
  }

  [data-tematikus-estek] .te-hero__rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  [data-tematikus-estek] .te-hero__rail .te-status:first-child {
    grid-column: 1 / -1;
  }

  [data-tematikus-estek] .te-hero__rail .button {
    grid-column: 1 / -1;
  }

  [data-tematikus-estek] .te-hero__copy {
    padding-top: 0;
  }

  [data-tematikus-estek] .te-hero__copy h1 {
    font-size: clamp(2.625rem, 12vw, 4rem);
  }

  [data-tematikus-estek] .te-hero__visuals,
  [data-tematikus-estek] .te-editorial__columns,
  [data-tematikus-estek] .te-hosts__roles,
  [data-tematikus-estek] .te-meal__moments,
  [data-tematikus-estek] .te-compare ul {
    grid-template-columns: minmax(0, 1fr);
  }

  [data-tematikus-estek] .te-editorial-card:nth-child(3) {
    grid-column: auto;
  }

  [data-tematikus-estek] .te-tabs {
    flex-direction: column;
  }

  [data-tematikus-estek] .te-tabs > button {
    width: 100%;
  }

  [data-tematikus-estek] .te-format-panel {
    padding: var(--space-4);
  }

  [data-tematikus-estek] .te-final__actions {
    flex-direction: column;
  }

  [data-tematikus-estek] .te-final__actions > * {
    width: 100%;
    min-width: 0;
  }

  [data-tematikus-estek] .te-lightbox {
    padding: var(--space-4);
  }

  [data-tematikus-estek] .te-lightbox__dialog {
    padding: var(--space-4);
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-tematikus-estek] .te-image-button:hover .frame {
    transform: none;
  }
}


.asztal-page {
  overflow: clip;
  background: var(--color-dusk-950);
}

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

.asztal-page a:focus-visible,
.asztal-page button:focus-visible,
.asztal-page summary:focus-visible {
  outline: 2px solid var(--color-focus-cyan);
  outline-offset: 3px;
}

.asztal-page .eyebrow {
  width: fit-content;
}

.asztal-hero {
  position: relative;
  padding-block: calc(var(--space-8) + var(--space-4)) var(--space-9);
  background: linear-gradient(125deg, var(--color-dusk-950) 0%, var(--color-dusk-900) 58%, var(--color-plum-800) 100%);
}

.asztal-hero::before {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(72, 224, 232, 0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(72, 224, 232, 0.1) 1px, transparent 1px);
  background-size: 24px 24px;
  content: "";
  opacity: 0.35;
  pointer-events: none;
}

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

.asztal-hero__rail,
.asztal-hero__copy,
.asztal-hero__images {
  min-width: 0;
}

.asztal-hero__rail {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  padding: var(--space-4);
  border-inline-start: 2px solid var(--color-pink-500);
  background: rgba(22, 11, 46, 0.68);
}

.asztal-hero__rail .badge {
  width: 100%;
}

.asztal-hero__rail p {
  margin: 0;
  color: var(--color-paper-100);
  font-size: var(--text-label);
  line-height: var(--leading-label);
}

.asztal-hero__rail-note {
  color: var(--color-cyan-400) !important;
}

.asztal-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding-top: var(--space-4);
}

.asztal-hero__copy h1,
.asztal-hero__copy p,
.asztal-hero__copy .actions {
  margin: 0;
}

.asztal-hero__copy h1 {
  max-width: 51.25rem;
  font-size: clamp(3.5rem, 7.25vw, 6.5rem);
  text-wrap: balance;
}

.asztal-hero__copy h1 span {
  color: var(--color-pink-500);
  text-shadow: 3px 3px 0 rgba(72, 224, 232, 0.42);
}

.asztal-hero__lead {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: min(100%, 35rem);
}

.asztal-hero__lead p {
  margin: 0;
  font-size: var(--text-lead);
}

.asztal-hero__lead p:last-child {
  padding-bottom: var(--space-2);
  border-bottom: 2px solid var(--color-cyan-400);
}

.asztal-hero__actions {
  width: 100%;
}

.asztal-hero__microcopy {
  width: min(100%, 31rem);
  color: var(--color-chrome-100);
  font-size: var(--text-label);
  line-height: var(--leading-label);
}

.asztal-hero__images {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  padding-top: var(--space-7);
}

.asztal-image-card {
  min-width: 0;
  margin: 0;
  transition: transform var(--transition-standard), filter var(--transition-standard);
}

.asztal-image-card figcaption {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: var(--space-2);
  background: var(--color-dusk-950);
  color: var(--color-paper-100);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  letter-spacing: 0.08em;
}

.asztal-image-card--poker {
  grid-column: 1 / 2;
  aspect-ratio: 4 / 5;
  transform: rotate(-2deg);
}

.asztal-image-card--roulette {
  grid-column: 2 / 3;
  align-self: end;
  aspect-ratio: 3 / 2;
  transform: translateY(var(--space-6)) rotate(1.5deg);
}

.asztal-image-card--blackjack {
  grid-column: 1 / 2;
  justify-self: end;
  width: 78%;
  aspect-ratio: 1;
  transform: translateX(var(--space-7)) rotate(1deg);
}

.asztal-image-card:hover {
  box-shadow: 4px 0 0 var(--color-pink-500), -4px 0 0 var(--color-cyan-400), var(--shadow-offset);
  transform: translateY(-2px);
}

.asztal-principle {
  position: relative;
}

.asztal-principle__plate {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 4fr);
  gap: var(--space-7);
  width: min(100%, calc(10 / 12 * 100%));
  margin-inline: auto;
  padding: var(--space-7);
  border: 1px solid rgba(22, 11, 46, 0.28);
  box-shadow: var(--shadow-paper);
}

.asztal-principle__reading,
.asztal-contrast {
  min-width: 0;
}

.asztal-principle__reading > :last-child,
.asztal-contrast > :last-child {
  margin-bottom: 0;
}

.asztal-principle__reading h2 {
  max-width: 40rem;
}

.asztal-principle__reading > p {
  max-width: 40rem;
}

.asztal-host-callout {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 37rem;
  margin-top: var(--space-6);
  padding: var(--space-5);
  border-inline-start: 2px solid var(--color-cyan-400);
  background: var(--color-paper-200);
}

.asztal-host-callout h3,
.asztal-host-callout p {
  margin: 0;
}

.asztal-host-callout h3 {
  font-size: var(--text-lead);
}

.asztal-contrast {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: var(--space-5);
  padding: var(--space-5);
  border: 1px solid var(--color-dusk-950);
  background: var(--color-dusk-900);
  color: var(--color-white-100);
}

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

.asztal-contrast__pair > div {
  min-width: 0;
}

.asztal-contrast__pair h3,
.asztal-contrast__pair p {
  margin: 0;
}

.asztal-contrast__pair h3 {
  margin-bottom: var(--space-2);
  color: var(--color-yellow-300);
  font-size: var(--text-lead);
}

.asztal-poker__layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.asztal-poker__header {
  grid-column: 1 / span 8;
  min-width: 0;
}

.asztal-poker__header .eyebrow {
  margin-bottom: var(--space-3);
}

.asztal-poker__header h2 {
  margin-bottom: 0;
}

.asztal-poker__content {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 6fr) 1px minmax(0, 4fr);
  gap: var(--space-6);
  align-items: start;
}

.asztal-poker__text,
.asztal-poker__figure,
.asztal-poker__closing {
  min-width: 0;
}

.asztal-poker__text > p {
  max-width: 38rem;
}

.asztal-poker__divider {
  width: 1px;
  min-width: 1px;
  min-height: 100%;
  background: var(--color-cyan-400);
}

.asztal-poker__figure {
  width: 100%;
  max-width: 25rem;
  justify-self: end;
  aspect-ratio: 4 / 5;
}

.asztal-poker__figure img {
  aspect-ratio: 4 / 5;
}

.asztal-process {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  max-width: 31.25rem;
  margin: var(--space-6) 0 0;
  padding: 0;
  list-style: none !important;
}

.asztal-process li {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
  padding-bottom: var(--space-4);
  border-bottom: 1px solid rgba(72, 224, 232, 0.6);
}

.asztal-process li > span {
  color: var(--color-pink-500);
  font-family: var(--font-mono);
  font-weight: 700;
}

.asztal-process h3,
.asztal-process p {
  margin: 0;
}

.asztal-process h3 {
  margin-bottom: var(--space-1);
  font-size: var(--text-lead);
}

.asztal-poker__closing {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  grid-column: 1 / span 6;
  width: min(100%, 26.25rem);
  margin-top: var(--space-2);
}

.asztal-poker__closing p {
  margin: 0;
}

.asztal-poker__closing a {
  color: var(--color-cyan-400);
  font-weight: 700;
}

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

.asztal-roulette__intro {
  grid-column: 1 / span 7;
  min-width: 0;
}

.asztal-roulette__intro h2 {
  max-width: 40rem;
}

.asztal-roulette__intro > p:not(.asztal-roulette__lead) {
  max-width: 39rem;
}

.asztal-roulette__lead {
  max-width: 35rem;
  font-size: var(--text-lead);
}

.asztal-roulette__figure {
  grid-column: 8 / span 5;
  width: 100%;
  min-width: 0;
  margin-top: var(--space-6);
  aspect-ratio: 3 / 2;
}

.asztal-roulette__figure img {
  aspect-ratio: 3 / 2;
}

.asztal-roulette__rhythm {
  display: grid;
  grid-column: 1 / span 9;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-4);
}

.asztal-roulette__rhythm article {
  min-width: 0;
  padding: var(--space-4) 0;
  border-top: 2px solid var(--color-cyan-400);
}

.asztal-roulette__rhythm span {
  color: var(--color-pink-500);
  font-family: var(--font-mono);
  font-size: var(--text-label);
  font-weight: 700;
}

.asztal-roulette__rhythm h3 {
  margin-top: var(--space-3);
}

.asztal-roulette__rhythm p {
  margin-bottom: 0;
}

.asztal-roulette__note {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  grid-column: 10 / span 3;
  min-width: 0;
  margin-top: var(--space-4);
  padding: var(--space-5);
  background: var(--color-dusk-900);
  color: var(--color-white-100);
}

.asztal-roulette__note p {
  margin: 0;
}

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

.asztal-blackjack__intro {
  grid-column: 1 / span 7;
  min-width: 0;
}

.asztal-blackjack__intro h2 {
  max-width: 41rem;
}

.asztal-blackjack__intro > p:not(.asztal-blackjack__keyline) {
  max-width: 38.75rem;
}

.asztal-blackjack__keyline {
  max-width: 35rem;
  margin-top: var(--space-5);
  color: var(--color-pink-500);
  font-family: var(--font-heading);
  font-size: var(--text-lead);
  font-weight: 700;
  line-height: var(--leading-label);
  text-shadow: 3px 3px 0 rgba(72, 224, 232, 0.35);
}

.asztal-blackjack__strips {
  display: grid;
  grid-column: 1 / span 9;
  grid-template-columns: minmax(0, 3fr) minmax(0, 4fr) minmax(0, 2fr);
  gap: var(--space-4);
  min-width: 0;
}

.asztal-strip {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-5);
  border-top: 2px solid var(--color-cyan-400);
  background: var(--color-dusk-900);
}

.asztal-strip--question {
  margin-top: var(--space-5);
  border-color: var(--color-pink-500);
}

.asztal-strip--mood {
  margin-top: var(--space-8);
  border-color: var(--color-yellow-300);
}

.asztal-strip span {
  color: var(--color-cyan-400);
  font-family: var(--font-mono);
  font-size: var(--text-label);
  font-weight: 700;
}

.asztal-strip h3,
.asztal-strip p {
  margin: 0;
}

.asztal-strip h3 {
  font-size: var(--text-lead);
}

.asztal-blackjack__host {
  grid-column: 1 / span 7;
  min-width: 0;
  max-width: 37rem;
  margin-top: var(--space-4);
  padding: var(--space-4);
  border: 1px solid var(--color-chrome-100);
}

.asztal-blackjack__host p {
  margin: 0;
}

.asztal-blackjack__figure {
  grid-column: 10 / span 3;
  grid-row: 2 / span 2;
  width: 100%;
  min-width: 0;
  aspect-ratio: 1;
}

.asztal-blackjack__figure img {
  aspect-ratio: 1;
}

.asztal-arc__layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.asztal-arc__intro {
  grid-column: 1 / span 6;
  min-width: 0;
}

.asztal-arc__intro h2,
.asztal-arc__intro p {
  max-width: 40rem;
}

.asztal-arc__status {
  align-self: end;
  grid-column: 9 / span 4;
  min-width: 0;
  margin: 0;
  font-size: var(--text-label);
}

.asztal-checkpoints {
  position: relative;
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-6);
}

.asztal-checkpoints::before {
  position: absolute;
  top: 1.1rem;
  right: 0;
  left: 0;
  height: 1px;
  background: var(--color-cyan-400);
  content: "";
}

.asztal-checkpoints article {
  position: relative;
  min-width: 0;
  padding-top: var(--space-7);
}

.asztal-checkpoints__number {
  position: absolute;
  top: 0;
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border: 1px solid var(--color-pink-500);
  background: var(--color-paper-100);
  color: var(--color-ink-950);
  font-family: var(--font-mono);
  font-size: var(--text-label);
  font-weight: 700;
}

.asztal-checkpoints h3 {
  font-size: var(--text-lead);
}

.asztal-checkpoints p {
  max-width: 21rem;
  margin-bottom: 0;
}

.asztal-arc__summary {
  grid-column: 1 / span 8;
  min-width: 0;
  margin-top: var(--space-5);
  padding: var(--space-4);
  border: 1px solid var(--color-chrome-100);
  font-family: var(--font-heading);
  font-size: var(--text-lead);
  line-height: var(--leading-label);
}

.asztal-arc__summary a {
  color: var(--color-ink-950);
  font-weight: 700;
}

.asztal-compare {
  background: var(--color-dusk-950);
}

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

.asztal-compare__header h2,
.asztal-compare__header p {
  margin: 0;
}

.asztal-compare__header p {
  max-width: 35rem;
}

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

.asztal-compare-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-5);
  background: var(--color-paper-100);
  color: var(--color-ink-950);
  box-shadow: var(--shadow-paper);
}

.asztal-compare-card--poker {
  border-top: 3px solid var(--color-pink-500);
}

.asztal-compare-card--roulette {
  border-top: 3px solid var(--color-cyan-400);
}

.asztal-compare-card--blackjack {
  border-top: 3px solid var(--color-yellow-300);
}

.asztal-compare-card .eyebrow {
  color: var(--color-plum-800);
}

.asztal-compare-card h3,
.asztal-compare-card p,
.asztal-compare-card h4,
.asztal-compare-card ul,
.asztal-compare-card small {
  margin: 0;
}

.asztal-compare-card h3 {
  font-size: var(--text-section);
}

.asztal-compare-card h4 {
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  letter-spacing: 0.1em;
}

.asztal-compare-card ul {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: 0;
  list-style: none !important;
}

.asztal-compare-card li {
  position: relative;
  padding-left: var(--space-4);
}

.asztal-compare-card li::before {
  position: absolute;
  top: 0.55em;
  left: 0;
  width: 6px;
  height: 6px;
  background: var(--color-pink-500);
  content: "";
}

.asztal-compare-card small {
  margin-top: auto;
  padding-top: var(--space-3);
  border-top: 1px solid rgba(22, 11, 46, 0.35);
  font-family: var(--font-mono);
}

.asztal-beginners__layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
  gap: var(--space-7);
  align-items: center;
}

.asztal-beginners__content,
.asztal-signal-wall {
  min-width: 0;
}

.asztal-beginners__content h2 {
  max-width: 42rem;
}

.asztal-beginners__lead {
  max-width: 37.5rem;
  font-size: var(--text-lead);
}

.asztal-faq {
  max-width: 41.875rem;
  margin-top: var(--space-5);
  border-top: 1px solid var(--color-cyan-400);
  border-bottom: 1px solid var(--color-cyan-400);
}

.asztal-faq summary {
  min-height: 2.75rem;
  padding: var(--space-4) 2.25rem var(--space-4) 0;
  color: var(--color-ink-950);
  font-family: var(--font-heading);
  font-size: var(--text-lead);
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
}

.asztal-faq > div {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding-bottom: var(--space-4);
}

.asztal-faq p,
.asztal-faq ol {
  margin: 0;
}

.asztal-faq ol {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding-left: 1.5em;
}

.asztal-faq a {
  font-weight: 700;
}

.asztal-signal-wall {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-4);
  min-height: 20rem;
  padding: var(--space-6);
  background: var(--color-plum-800);
  color: var(--color-white-100);
}

.asztal-signal-wall strong {
  color: var(--color-yellow-300);
  font-family: var(--font-heading);
  font-size: clamp(4rem, 8vw, 7rem);
  letter-spacing: -0.08em;
  line-height: 0.8;
}

.asztal-signal-wall p {
  max-width: 17.5rem;
  margin: 0;
}

.asztal-next__layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
  gap: var(--space-7);
}

.asztal-next__guide,
.asztal-next__panel,
.asztal-next__disclaimer {
  min-width: 0;
}

.asztal-next__guide h2 {
  max-width: 40rem;
}

.asztal-next__guide > p {
  max-width: 40.625rem;
}

.asztal-next__checklist {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 38rem;
  margin: var(--space-5) 0 0;
  padding: 0;
  list-style: none !important;
}

.asztal-next__checklist li {
  min-height: 2.75rem;
  padding: var(--space-3) var(--space-3) var(--space-3) 2.5rem;
  border-bottom: 1px solid rgba(72, 224, 232, 0.5);
  position: relative;
}

.asztal-next__checklist li::before {
  position: absolute;
  top: 0.85rem;
  left: 0.35rem;
  width: 0.75rem;
  height: 0.75rem;
  border: 2px solid var(--color-cyan-400);
  content: "";
}

.asztal-next__panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  padding: var(--space-5);
  border: 2px solid var(--color-pink-500);
  background: var(--color-plum-800);
}

.asztal-next__panel ol {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

.asztal-next__panel li {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
}

.asztal-next__panel li > span {
  color: var(--color-cyan-400);
  font-family: var(--font-mono);
  font-weight: 700;
}

.asztal-next__panel li p {
  margin: 0;
}

.asztal-next__panel .actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
}

.asztal-next__panel .button {
  flex: 0 0 auto;
}

.asztal-next__disclaimer {
  grid-column: 1 / -1;
  max-width: 55rem;
  margin: var(--space-6) 0 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-cyan-400);
  color: var(--color-chrome-100);
  font-size: var(--text-label);
  line-height: var(--leading-label);
}

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

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

.asztal-outro__plate p {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--text-lead);
  line-height: var(--leading-label);
}

@media (max-width: 56.25rem) {
  .asztal-hero__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .asztal-hero__rail {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3);
    border-inline-start: 0;
    border-top: 2px solid var(--color-pink-500);
  }

  .asztal-hero__rail p {
    grid-column: span 1;
  }

  .asztal-hero__copy {
    grid-column: 1 / span 4;
  }

  .asztal-hero__images {
    grid-column: 5 / span 2;
    padding-top: var(--space-4);
  }

  .asztal-image-card--blackjack {
    width: 100%;
    transform: none;
  }

  .asztal-principle__plate {
    grid-template-columns: minmax(0, 4fr) minmax(0, 2fr);
    gap: var(--space-5);
    width: 100%;
  }

  .asztal-poker__layout,
  .asztal-roulette__layout,
  .asztal-blackjack__layout,
  .asztal-arc__layout {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .asztal-poker__header,
  .asztal-roulette__intro,
  .asztal-blackjack__intro,
  .asztal-arc__intro {
    grid-column: 1 / -1;
  }

  .asztal-poker__content {
    grid-template-columns: minmax(0, 3fr) minmax(0, 3fr);
    gap: var(--space-5);
  }

  .asztal-poker__divider {
    display: none;
  }

  .asztal-poker__figure {
    max-width: none;
  }

  .asztal-poker__closing {
    grid-column: 1 / -1;
  }

  .asztal-roulette__figure {
    grid-column: 1 / -1;
    max-width: 42rem;
    margin-top: 0;
  }

  .asztal-roulette__rhythm {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .asztal-roulette__rhythm article:last-child {
    grid-column: 1 / -1;
  }

  .asztal-roulette__note {
    grid-column: 1 / -1;
    margin-top: 0;
  }

  .asztal-blackjack__strips {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .asztal-strip--mood {
    grid-column: 1 / -1;
    margin-top: 0;
  }

  .asztal-strip--question {
    margin-top: 0;
  }

  .asztal-blackjack__host {
    grid-column: 1 / span 3;
  }

  .asztal-blackjack__figure {
    grid-column: 4 / span 3;
    grid-row: auto;
  }

  .asztal-arc__status {
    grid-column: 1 / -1;
    align-self: auto;
  }

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

  .asztal-checkpoints article:last-child {
    grid-column: 1 / -1;
  }

  .asztal-arc__summary {
    grid-column: 1 / -1;
  }

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

  .asztal-compare-card--blackjack {
    grid-column: 1 / -1;
  }

  .asztal-beginners__layout,
  .asztal-next__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .asztal-signal-wall {
    min-height: auto;
  }

  .asztal-next__panel {
    max-width: none;
  }
}

@media (max-width: 47.5rem) {
  .asztal-hero {
    padding-top: var(--space-6);
  }

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

  .asztal-hero__rail,
  .asztal-hero__copy,
  .asztal-hero__images {
    grid-column: 1;
  }

  .asztal-hero__rail {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .asztal-hero__rail p {
    grid-column: 1 / -1;
  }

  .asztal-hero__copy h1 {
    font-size: clamp(2.625rem, 11vw, 4rem);
  }

  .asztal-hero__images {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-top: var(--space-5);
  }

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

  .asztal-contrast {
    min-height: auto;
  }

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

  .asztal-poker__figure {
    justify-self: start;
    max-width: 32.5rem;
  }

  .asztal-roulette__rhythm,
  .asztal-blackjack__strips {
    grid-template-columns: minmax(0, 1fr);
  }

  .asztal-roulette__rhythm article:last-child,
  .asztal-strip--mood {
    grid-column: auto;
  }

  .asztal-blackjack__host,
  .asztal-blackjack__figure {
    grid-column: 1 / -1;
  }

  .asztal-blackjack__figure {
    max-width: 30rem;
  }
}

@media (max-width: 42.5rem) {
  .asztal-hero {
    padding-block: var(--space-6) var(--space-7);
  }

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

  .asztal-hero__rail p {
    grid-column: auto;
  }

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

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

  .asztal-image-card--poker,
  .asztal-image-card--roulette,
  .asztal-image-card--blackjack {
    grid-column: auto;
    width: 100%;
    transform: none;
  }

  .asztal-image-card--roulette {
    transform: none;
  }

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

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

  .asztal-poker__layout,
  .asztal-roulette__layout,
  .asztal-blackjack__layout,
  .asztal-arc__layout {
    gap: var(--space-4);
  }

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

  .asztal-checkpoints::before {
    top: 0;
    bottom: 0;
    left: 1.1rem;
    width: 1px;
    height: auto;
  }

  .asztal-checkpoints article,
  .asztal-checkpoints article:last-child {
    grid-column: auto;
    padding: 0 0 0 var(--space-7);
  }

  .asztal-checkpoints__number {
    top: 0;
    left: 0;
  }

  .asztal-checkpoints p {
    max-width: none;
  }

  .asztal-compare__header {
    align-items: flex-start;
    margin-inline: 0;
    text-align: left;
  }

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

  .asztal-compare-card--blackjack {
    grid-column: auto;
  }

  .asztal-next__panel .actions .button {
    width: 100%;
  }

  .asztal-outro {
    padding-block: var(--space-7);
  }
}

@media (prefers-reduced-motion: reduce) {
  .asztal-image-card,
  .asztal-image-card:hover {
    transform: none;
    transition: none;
  }

  .asztal-image-card:hover {
    box-shadow: var(--shadow-offset);
  }
}


.thank-you-page {
  position: relative;
  display: grid;
  min-height: calc(100vh - var(--header-height));
  place-items: center;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(53, 22, 92, 0.72), rgba(22, 11, 46, 0.96) 58%),
    var(--color-dusk-950);
}

.thank-you-page::before,
.thank-you-page::after {
  position: absolute;
  content: "";
  pointer-events: none;
}

.thank-you-page::before {
  inset: 0;
  opacity: 0.18;
  background-image:
    linear-gradient(rgba(72, 224, 232, 0.3) 1px, transparent 1px),
    linear-gradient(90deg, rgba(72, 224, 232, 0.3) 1px, transparent 1px);
  background-size: 24px 24px;
  mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
}

.thank-you-page::after {
  width: min(42rem, 76vw);
  height: 1px;
  top: 18%;
  left: 0;
  background: var(--color-pink-500);
  box-shadow: 0 4px 0 rgba(72, 224, 232, 0.7);
}

.thank-you-page__container {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-block: clamp(4.5rem, 10vw, 8rem);
}

.thank-you-page__panel {
  display: flex;
  width: min(100%, 48rem);
  margin-inline: auto;
  padding: clamp(1.5rem, 4vw, 3rem);
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  border: 1px solid var(--color-chrome-100);
  border-top: 2px solid var(--color-pink-500);
  background: rgba(36, 16, 68, 0.96);
  box-shadow: 4px 4px 0 var(--color-dusk-950), 0 0 18px rgba(72, 224, 232, 0.18);
  text-align: center;
}

.thank-you-page__signal {
  display: grid;
  width: 4rem;
  height: 4rem;
  place-items: center;
  border: 2px solid var(--color-pink-500);
  background: var(--color-paper-100);
  color: var(--color-ink-950);
  font-family: var(--font-mono);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: 4px 4px 0 var(--color-cyan-400);
}

.thank-you-page__content {
  display: flex;
  max-width: 42.5rem;
  margin-inline: auto;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  text-align: center;
}

.thank-you-page__content h1,
.thank-you-page__content p {
  margin: 0;
}

.thank-you-page__content h1 {
  max-width: 100%;
  color: var(--color-paper-100);
  font-size: clamp(2.625rem, 7vw, 5.5rem);
}

.thank-you-page__lead {
  max-width: 39rem;
  margin-inline: auto;
  color: var(--color-white-100);
  font-size: var(--text-lead);
}

.thank-you-page__next {
  max-width: 39rem;
  margin-inline: auto;
  color: var(--color-chrome-100);
}

.thank-you-page__notice {
  width: min(100%, 39rem);
  margin-inline: auto;
  padding: var(--space-3) var(--space-4);
  border-inline: 1px solid var(--color-cyan-400);
  background: rgba(22, 11, 46, 0.56);
  color: var(--color-yellow-300);
  font-family: var(--font-mono);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.thank-you-page__actions {
  justify-content: center;
  margin: 0;
}

@media (max-width: 42.5rem) {
  .thank-you-page::after {
    top: 12%;
    width: 58vw;
  }

  .thank-you-page__container {
    padding-block: 4rem;
  }

  .thank-you-page__panel {
    gap: var(--space-4);
  }

  .thank-you-page__actions {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .thank-you-page::before {
    opacity: 0.1;
  }
}