

:root {
  --color-night-950: #09070f;
  --color-night-900: #110c1d;
  --color-plum-800: #24143d;
  --color-plum-700: #352052;
  --color-paper-50: #f8f5ff;
  --color-mist-300: #c9c0d8;
  --color-magenta-500: #f02eae;
  --color-violet-500: #7b4dff;
  --color-success-neutral: #b7e4d1;

  --gradient-signal: linear-gradient(110deg, #f02eae 0%, #7b4dff 100%);
  --gradient-image-overlay: linear-gradient(
    90deg,
    rgba(9, 7, 15, 0.88) 0%,
    rgba(9, 7, 15, 0.2) 65%,
    rgba(9, 7, 15, 0.5) 100%
  );

  --font-heading: "Space Grotesk", Arial, sans-serif;
  --font-body: "Inter", Arial, sans-serif;

  --text-meta: 0.75rem;
  --text-small: 0.875rem;
  --text-body: 1rem;
  --text-lead: 1.25rem;
  --text-card-title: clamp(1.5rem, 2.4vw, 1.75rem);
  --text-section-title: clamp(2rem, 4.2vw, 2.5rem);
  --text-display: clamp(3rem, 8vw, 6rem);

  --line-meta: 1.333;
  --line-small: 1.429;
  --line-body: 1.625;
  --line-lead: 1.4;
  --line-card-title: 1.214;
  --line-section-title: 1.1;
  --line-display: 0.94;

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

  --container-max: 80rem;
  --container-padding: 2rem;
  --container-padding-mobile: 1.25rem;

  --surface-base: var(--color-night-950);
  --surface-raised: var(--color-night-900);
  --surface-panel: var(--color-plum-800);
  --surface-panel-raised: var(--color-plum-700);
  --surface-glass: rgba(53, 32, 82, 0.72);

  --border-subtle: 1px solid rgba(248, 245, 255, 0.14);
  --border-active: 1px solid var(--color-magenta-500);

  --shadow-panel: 0 18px 60px rgba(0, 0, 0, 0.34);
  --shadow-glow: 0 0 28px rgba(240, 46, 174, 0.22);

  --radius-sharp: 0.125rem;
  --radius-control: 0.375rem;
  --radius-card: 0.75rem;
  --radius-feature: 1.25rem;

  --transition-fast: 220ms ease;
  --transition-standard: 280ms cubic-bezier(0.22, 1, 0.36, 1);
  --transition-glow: 800ms cubic-bezier(0.22, 1, 0.36, 1);

  --focus-outline: 3px solid var(--color-magenta-500);
  --focus-offset: 2px;
}

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

html {
  min-width: 0;
  overflow-x: clip;
  scroll-behavior: smooth;
  background: var(--surface-base);
  color-scheme: dark;
}

body {
  min-width: 0;
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  background: var(--surface-base);
  color: var(--color-paper-50);
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: 400;
  line-height: var(--line-body);
  letter-spacing: 0.01em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

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

img,
video,
canvas {
  height: auto;
}

iframe {
  border: 0;
}

img {
  font-style: italic;
}

button,
input,
textarea,
select {
  min-width: 0;
  color: inherit;
  font: inherit;
}

button,
select {
  text-transform: none;
}

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

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

input[type="search"] {
  appearance: none;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  appearance: none;
}

input::placeholder,
textarea::placeholder {
  color: rgba(201, 192, 216, 0.72);
  opacity: 1;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

legend {
  padding: 0;
}

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

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

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

a {
  color: var(--color-paper-50);
  text-decoration-color: transparent;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.2em;
  transition:
    color var(--transition-standard),
    text-decoration-color var(--transition-standard);
}

a:hover {
  color: var(--color-paper-50);
  text-decoration-color: var(--color-magenta-500);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-offset);
}

::selection {
  background: var(--color-magenta-500);
  color: var(--color-night-950);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-block: 0 var(--space-4);
  color: var(--color-paper-50);
  font-family: var(--font-heading);
  font-weight: 700;
  letter-spacing: -0.03em;
  overflow-wrap: normal;
  text-wrap: balance;
}

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

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

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

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

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

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

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

strong,
b {
  color: var(--color-paper-50);
  font-weight: 600;
}

em,
i {
  font-style: italic;
}

mark {
  padding-inline: 0.15em;
  background: rgba(240, 46, 174, 0.22);
  color: var(--color-paper-50);
}

hr {
  height: 1px;
  margin-block: var(--space-6);
  border: 0;
  background: rgba(248, 245, 255, 0.14);
}

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

li::marker {
  color: var(--color-magenta-500);
}

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

blockquote {
  margin-block: 0 var(--space-5);
  margin-inline: 0;
  padding: var(--space-5);
  border-inline-start: 2px solid var(--color-magenta-500);
  background: rgba(53, 32, 82, 0.34);
  color: var(--color-paper-50);
  font-family: var(--font-heading);
  font-size: var(--text-lead);
  line-height: var(--line-lead);
}

blockquote p {
  color: inherit;
}

cite {
  color: var(--color-mist-300);
  font-family: var(--font-body);
  font-size: var(--text-small);
  font-style: normal;
}

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

dt {
  margin-block-start: var(--space-3);
  color: var(--color-paper-50);
  font-weight: 600;
}

dd {
  margin: 0;
  color: var(--color-mist-300);
}

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

code,
kbd {
  padding: 0.1em 0.3em;
  border: 1px solid rgba(248, 245, 255, 0.14);
  border-radius: var(--radius-sharp);
  background: var(--color-night-900);
  color: var(--color-paper-50);
  font-size: 0.9em;
}

pre {
  margin-block: 0 var(--space-5);
  padding: var(--space-4);
  overflow-x: auto;
  border: var(--border-subtle);
  border-radius: var(--radius-control);
  background: var(--color-night-900);
  color: var(--color-mist-300);
}

label {
  display: inline-block;
  margin-block-end: var(--space-2);
  color: var(--color-paper-50);
  font-size: var(--text-small);
  font-weight: 600;
  line-height: var(--line-small);
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
textarea,
select {
  width: 100%;
  min-height: 3rem;
  padding: 0.75rem 1rem;
  border: var(--border-subtle);
  border-radius: var(--radius-control);
  background: var(--color-night-900);
  color: var(--color-paper-50);
  line-height: 1.5;
  transition:
    border-color var(--transition-standard),
    background-color var(--transition-standard),
    box-shadow var(--transition-glow);
}

select {
  cursor: pointer;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):hover,
textarea:hover,
select:hover {
  border-color: rgba(248, 245, 255, 0.28);
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):focus,
textarea:focus,
select:focus {
  border-color: var(--color-magenta-500);
  box-shadow: var(--shadow-glow);
}

input[type="checkbox"],
input[type="radio"] {
  inline-size: 1.125rem;
  block-size: 1.125rem;
  margin: 0;
  accent-color: var(--color-magenta-500);
}

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

button,
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 3rem;
  padding: 0.75rem 1rem;
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  background: transparent;
  color: var(--color-paper-50);
  font-family: var(--font-body);
  font-size: var(--text-small);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.01em;
  text-align: center;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition:
    padding var(--transition-standard),
    border-color var(--transition-standard),
    background-color var(--transition-standard),
    box-shadow var(--transition-glow),
    color var(--transition-standard),
    transform var(--transition-standard);
}

button:hover,
.button:hover {
  text-decoration: none;
}

.button--primary,
button.button--primary {
  border-color: transparent;
  background: var(--gradient-signal);
  color: var(--color-paper-50);
  box-shadow: 0 0 0 rgba(240, 46, 174, 0);
}

.button--primary:hover,
button.button--primary:hover {
  padding-inline: 1.25rem;
  box-shadow: var(--shadow-glow);
}

.button--secondary,
button.button--secondary {
  border-color: var(--color-magenta-500);
  background: rgba(240, 46, 174, 0.06);
  color: var(--color-paper-50);
}

.button--secondary:hover,
button.button--secondary:hover {
  padding-inline: 1.25rem;
  background: rgba(240, 46, 174, 0.13);
  box-shadow: 0 0 20px rgba(240, 46, 174, 0.14);
}

.button--ghost,
button.button--ghost {
  border-color: rgba(248, 245, 255, 0.14);
  background: transparent;
}

.button--ghost:hover,
button.button--ghost:hover {
  border-color: var(--color-magenta-500);
  background: rgba(53, 32, 82, 0.5);
}

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

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

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

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

.surface {
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
}

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

.surface--glass {
  background: var(--surface-glass);
  backdrop-filter: blur(12px);
}

.panel {
  min-width: 0;
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.eyebrow {
  margin: 0;
  color: var(--color-magenta-500);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: var(--line-meta);
  text-transform: uppercase;
}

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

.meta {
  color: var(--color-mist-300);
  font-size: var(--text-meta);
  line-height: var(--line-meta);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.text-success {
  color: var(--color-success-neutral);
}

.image-frame {
  overflow: hidden;
  border: var(--border-subtle);
  border-radius: var(--radius-sharp);
  background: var(--surface-panel);
}

.image-frame--card {
  border-radius: var(--radius-card);
}

.image-frame--feature {
  border-radius: var(--radius-feature);
}

.image-frame img,
.image-frame picture,
.image-frame video {
  width: 100%;
}

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

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

.skip-link {
  position: fixed;
  z-index: 1000;
  top: var(--space-3);
  left: var(--space-3);
  padding: var(--space-3) var(--space-4);
  transform: translateY(-160%);
  border: 1px solid var(--color-paper-50);
  border-radius: var(--radius-control);
  background: var(--color-night-900);
  color: var(--color-paper-50);
  transition: transform var(--transition-fast);
}

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

@media (max-width: 47.99rem) {
  :root {
    --text-display: clamp(2.5rem, 12vw, 4rem);
  }

  .container {
    width: min(100% - (var(--container-padding-mobile) * 2), var(--container-max));
  }

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

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

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

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

  .action-group {
    align-items: stretch;
  }

  .action-group > .button,
  .action-group > button {
    flex: 1 1 12rem;
  }
}

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

  *,
  *::before,
  *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 1ms !important;
    transition-delay: 0ms !important;
  }
}


.site-header {
  position: relative;
  z-index: 100;
  min-height: 5rem;
  border-bottom: var(--border-subtle);
  background: rgba(17, 12, 29, 0.96);
}

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

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

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

.site-header__side--end {
  justify-content: flex-end;
}

.site-header__desktop-nav ul {
  gap: clamp(0.75rem, 1.5vw, 1.5rem);
}

.site-header__desktop-nav li,
.site-header__mobile-nav li,
.site-header__desktop-nav li + li,
.site-header__mobile-nav li + li {
  margin: 0;
  padding: 0;
}

.site-header__desktop-nav a,
.site-header__contact-link {
  display: inline-flex;
  align-items: center;
  min-height: 3rem;
  white-space: nowrap;
  color: var(--color-paper-50);
  font-size: var(--text-small);
  font-weight: 500;
  text-decoration: none;
}

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

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

.site-header__contact-link {
  padding-inline: var(--space-3);
  border: 1px solid var(--color-magenta-500);
  border-radius: var(--radius-control);
  background: rgba(240, 46, 174, 0.06);
}

.site-header__contact-link:hover {
  background: rgba(240, 46, 174, 0.13);
}

.site-header__toggle {
  display: none;
  position: relative;
  width: 3rem;
  height: 3rem;
  flex: 0 0 3rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.3125rem;
  padding: 0;
  border: var(--border-subtle);
  border-radius: var(--radius-control);
}

.site-header__toggle-line {
  width: 1.25rem;
  height: 2px;
  background: var(--color-paper-50);
  transition: transform var(--transition-fast), opacity var(--transition-fast), background-color var(--transition-fast);
}

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

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

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

.site-header__mobile-nav {
  position: absolute;
  z-index: 2;
  top: calc(100% - 1px);
  right: 0;
  left: 0;
  max-height: min(75vh, 38rem);
  overflow-y: auto;
  border: var(--border-subtle);
  border-top: 0;
  background: var(--color-night-900);
  box-shadow: var(--shadow-panel);
  opacity: 0;
  transform: translateY(-0.5rem);
  transition: opacity var(--transition-fast), transform var(--transition-fast);
}

.site-header__mobile-nav.is-open {
  opacity: 1;
  transform: translateY(0);
}

.site-header__mobile-nav ul {
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: var(--space-3);
}

.site-header__mobile-nav a {
  display: flex;
  align-items: center;
  min-height: 3rem;
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid rgba(248, 245, 255, 0.1);
  color: var(--color-paper-50);
  font-weight: 500;
  text-decoration: none;
}

.site-header__mobile-nav li:last-child a {
  border-bottom: 0;
}

@media (max-width: 71.99rem) {
  .site-header__inner {
    grid-template-columns: 3rem 1fr 3rem;
  }

  .site-header__desktop-nav,
  .site-header__contact-link {
    display: none;
  }

  .site-header__toggle {
    display: inline-flex;
  }

  .site-header__side--end {
    min-height: 3rem;
  }
}

@media (max-width: 47.99rem) {
  .site-header,
  .site-header__inner {
    min-height: 4rem;
  }

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

  .site-header__brand {
    gap: 0.375rem;
    font-size: 1rem;
  }

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

  .site-header__mobile-nav {
    right: calc(var(--container-padding-mobile) * -1);
    left: calc(var(--container-padding-mobile) * -1);
  }
}

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


.site-footer {
  border-top: var(--border-subtle);
  background: var(--color-night-900);
}

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

.site-footer__intro,
.site-footer__nav {
  min-width: 0;
}

.site-footer__brand {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
  color: var(--color-paper-50);
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 700;
  text-decoration: none;
}

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

.site-footer__intro p {
  max-width: 34rem;
  margin-bottom: var(--space-4);
}

.site-footer address {
  color: var(--color-mist-300);
  font-size: var(--text-small);
  font-style: normal;
  line-height: 1.65;
}

.site-footer__nav h2 {
  margin: 0 0 var(--space-4);
  font-size: var(--text-small);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.site-footer__nav ul {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

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

.site-footer__nav a,
.site-footer address a {
  color: var(--color-mist-300);
  font-size: var(--text-small);
}

.site-footer__nav a:hover,
.site-footer address a:hover {
  color: var(--color-paper-50);
}

.site-footer__bottom {
  padding-block: var(--space-4);
  border-top: var(--border-subtle);
}

.site-footer__bottom p {
  margin: 0;
  color: var(--color-mist-300);
  font-size: var(--text-meta);
}

.consent-banner {
  position: fixed;
  z-index: 200;
  right: var(--space-4);
  bottom: var(--space-4);
  left: var(--space-4);
  max-width: 52rem;
  margin-inline: auto;
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel-raised);
  box-shadow: var(--shadow-panel);
}

.consent-banner:not([hidden]) {
  display: block;
}

.consent-banner.is-hiding {
  opacity: 0;
  transform: translateY(1rem);
  transition: opacity var(--transition-fast), transform var(--transition-fast);
}

.consent-banner__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  padding: var(--space-5);
}

.consent-banner__copy {
  min-width: 0;
}

.consent-banner__copy h2 {
  margin: 0 0 var(--space-2);
  font-size: var(--text-small);
}

.consent-banner__copy p {
  margin: 0;
  font-size: var(--text-small);
  line-height: var(--line-small);
}

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

.consent-banner__actions .button {
  min-height: 3rem;
}

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

  .consent-banner {
    right: var(--space-3);
    bottom: var(--space-3);
    left: var(--space-3);
  }

  .consent-banner__inner {
    flex-direction: column;
    align-items: stretch;
    padding: var(--space-4);
  }

  .consent-banner__actions .button {
    flex: 1 1 9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .consent-banner.is-hiding {
    transition: none;
  }
}


.terms-page {
  min-width: 0;
  overflow: clip;
  background: var(--color-night-950);
}

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

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

.terms-page__masthead {
  position: relative;
  grid-column: 2 / span 9;
  min-width: 0;
  min-height: 16.25rem;
  overflow: hidden;
  padding: var(--space-7);
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  background: var(--color-plum-800);
  box-shadow: var(--shadow-panel);
}

.terms-page__masthead::after {
  position: absolute;
  inset: auto -4rem -5rem auto;
  width: 16rem;
  height: 12rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(240, 46, 174, 0.18), rgba(123, 77, 255, 0.06) 48%, transparent 70%);
  content: "";
  pointer-events: none;
}

.terms-page__masthead-copy {
  position: relative;
  z-index: 1;
  display: flex;
  width: 100%;
  max-width: 42.5rem;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--space-3);
}

.terms-page__masthead-copy h1,
.terms-page__masthead-copy p {
  margin: 0;
}

.terms-page__masthead-copy h1 {
  font-size: clamp(3rem, 7vw, 4.75rem);
}

.terms-page__updated {
  padding-inline-start: var(--space-3);
  border-inline-start: 2px solid var(--color-magenta-500);
  color: var(--color-mist-300);
  font-size: var(--text-small);
  line-height: var(--line-small);
}

.terms-page__scope {
  max-width: 42.5rem;
  color: var(--color-mist-300);
}

.terms-page__gate-line {
  position: absolute;
  right: 7%;
  bottom: 14%;
  width: min(30%, 11rem);
  height: 4.25rem;
  border-right: 2px solid var(--color-violet-500);
  border-bottom: 2px solid var(--color-magenta-500);
  transform: skewX(-22deg);
  opacity: 0.9;
}

.terms-page__document {
  padding-block-start: 0;
}

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

.terms-page__contents {
  position: sticky;
  top: 7rem;
  grid-column: 1;
  width: 100%;
  min-width: 0;
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: rgba(36, 20, 61, 0.9);
}

.terms-page__contents h2 {
  margin-block-end: var(--space-5);
  font-size: 1.25rem;
  line-height: var(--line-lead);
}

.terms-page__contents-nav {
  min-width: 0;
}

.terms-page__contents-nav ol {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-1);
  margin: 0;
  padding: 0;
  list-style: none;
}

.terms-page__contents-nav li {
  width: 100%;
  min-width: 0;
}

.terms-page__contents-nav a {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 3rem;
  align-items: center;
  padding: var(--space-2) 0 var(--space-2) var(--space-3);
  border-inline-start: 2px solid transparent;
  color: var(--color-mist-300);
  font-size: var(--text-small);
  line-height: var(--line-small);
  text-decoration: none;
}

.terms-page__contents-nav a:hover,
.terms-page__contents-nav a:focus-visible,
.terms-page__contents-nav a[aria-current="location"] {
  border-inline-start-color: var(--color-magenta-500);
  color: var(--color-paper-50);
  text-decoration: underline;
  text-decoration-color: var(--color-magenta-500);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.22em;
}

.terms-page__contents-help {
  margin: var(--space-5) 0 0;
  color: var(--color-mist-300);
  font-size: var(--text-small);
  line-height: var(--line-small);
}

.terms-page__legal-copy {
  grid-column: 3;
  width: 100%;
  max-width: 43.75rem;
  min-width: 0;
}

.terms-page__chapter {
  width: 100%;
  min-width: 0;
  scroll-margin-top: 7rem;
}

.terms-page__chapter + .terms-page__chapter {
  margin-block-start: var(--space-9);
}

.terms-page__chapter h2 {
  margin-block-end: var(--space-6);
  font-size: 2.5rem;
  line-height: 1.1;
}

.terms-page__chapter h2 span {
  color: var(--color-magenta-500);
}

.terms-page__chapter > p {
  max-width: 43.125rem;
}

.terms-page__notice {
  display: flex;
  width: 100%;
  max-width: 45rem;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-block: var(--space-5);
  padding: var(--space-5);
  border-inline-start: 2px solid var(--color-magenta-500);
  background: rgba(53, 32, 82, 0.3);
}

.terms-page__notice h3,
.terms-page__notice p {
  margin: 0;
}

.terms-page__notice h3 {
  font-size: 1.25rem;
  line-height: var(--line-lead);
}

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

.terms-page__provision {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
}

.terms-page__provision-number {
  grid-column: 1;
  width: 2.5rem;
  min-width: 0;
  padding-top: 0.2rem;
  color: var(--color-magenta-500);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: var(--line-meta);
}

.terms-page__provision-copy {
  grid-column: 2;
  width: 100%;
  min-width: 0;
}

.terms-page__provision-copy h3 {
  margin-block-end: var(--space-3);
  font-size: 1.25rem;
  line-height: var(--line-lead);
}

.terms-page__provision-copy p {
  margin-block-end: 0;
}

.terms-page__contact-strip {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: 0;
  margin-block-start: var(--space-6);
  padding: var(--space-4) var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--color-plum-800);
}

.terms-page__contact-row {
  display: grid;
  grid-template-columns: 6.875rem minmax(0, 1fr);
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  padding-block: var(--space-3);
}

.terms-page__contact-row + .terms-page__contact-row {
  border-top: var(--border-subtle);
}

.terms-page__contact-row > span {
  grid-column: 1;
  width: 100%;
  min-width: 0;
  color: var(--color-mist-300);
  font-size: var(--text-small);
  line-height: var(--line-small);
}

.terms-page__contact-row > a,
.terms-page__contact-row > address {
  grid-column: 2;
  width: 100%;
  min-width: 0;
  color: var(--color-paper-50);
  font-style: normal;
  overflow-wrap: break-word;
}

.terms-page__subchapter {
  width: 100%;
  min-width: 0;
}

.terms-page__subchapter + .terms-page__subchapter {
  margin-block-start: var(--space-6);
}

.terms-page__subchapter-line {
  display: block;
  width: 3.5rem;
  height: 2px;
  margin-block-end: var(--space-3);
  background: var(--color-violet-500);
}

.terms-page__subchapter h3 {
  margin-block-end: var(--space-3);
  font-size: 1.25rem;
  line-height: var(--line-lead);
}

.terms-page__subchapter p {
  margin-block-end: 0;
}

.terms-page__subchapter--final {
  padding-block-end: var(--space-6);
  border-bottom: var(--border-subtle);
}

.terms-page__chapter--closing {
  padding-block-end: var(--space-9);
}

.terms-page__closing-contact {
  margin-block-start: var(--space-5);
  padding-block-start: var(--space-5);
  border-top: 1px solid var(--color-magenta-500);
}

.terms-page__closing-contact p,
.terms-page__version-meta {
  margin-block-end: 0;
}

.terms-page__version-meta {
  margin-block-start: var(--space-6);
  color: var(--color-mist-300);
  font-size: var(--text-small);
  line-height: var(--line-small);
}

@media (max-width: 63.99rem) {
  .terms-page__masthead {
    grid-column: 1 / span 10;
  }

  .terms-page__document-grid {
    grid-template-columns: minmax(14rem, 0.35fr) minmax(0, 0.65fr);
    column-gap: var(--space-6);
  }

  .terms-page__contents {
    grid-column: 1;
  }

  .terms-page__legal-copy {
    grid-column: 2;
  }
}

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

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

  .terms-page__masthead {
    grid-column: 1;
    min-height: 0;
    padding: var(--space-6) var(--space-5);
    border-radius: var(--radius-card);
  }

  .terms-page__masthead-copy {
    max-width: 100%;
  }

  .terms-page__masthead-copy h1 {
    font-size: clamp(2.5rem, 12vw, 3.5rem);
  }

  .terms-page__scope {
    max-width: 100%;
  }

  .terms-page__gate-line {
    right: 8%;
    bottom: 10%;
    width: 20%;
    height: 3rem;
    opacity: 0.65;
  }

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

  .terms-page__contents,
  .terms-page__legal-copy {
    grid-column: 1;
  }

  .terms-page__contents {
    position: static;
    padding: var(--space-4);
  }

  .terms-page__contents-nav a {
    min-height: 3rem;
  }

  .terms-page__legal-copy {
    max-width: 100%;
  }

  .terms-page__chapter {
    scroll-margin-top: 5.5rem;
  }

  .terms-page__chapter + .terms-page__chapter {
    margin-block-start: var(--space-8);
  }

  .terms-page__chapter h2 {
    font-size: clamp(2rem, 9vw, 2.375rem);
    line-height: 1.1;
  }

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

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

  .terms-page__provision-number,
  .terms-page__provision-copy {
    grid-column: 1;
  }

  .terms-page__provision-number {
    width: 100%;
    padding-top: 0;
  }

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

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

  .terms-page__contact-row > span,
  .terms-page__contact-row > a,
  .terms-page__contact-row > address {
    grid-column: 1;
  }

  .terms-page__contact-row > a {
    display: flex;
    min-height: 3rem;
    align-items: center;
  }

  .terms-page__chapter--closing {
    padding-block-end: var(--space-8);
  }
}

@media (prefers-reduced-motion: reduce) {
  .terms-page__masthead::after {
    display: none;
  }
}


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

.privacy-page__intro {
  position: relative;
  padding-block: var(--space-9) var(--space-8);
}

.privacy-page__intro-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}

.privacy-page__intro-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
  width: 100%;
  max-width: 42.5rem;
}

.privacy-page__intro-copy > .eyebrow {
  margin-block-end: var(--space-4);
}

.privacy-page__intro-copy h1 {
  font-size: clamp(3rem, 8vw, 4.5rem);
}

.privacy-page__effective-date {
  margin-block: var(--space-5);
  padding-inline-start: var(--space-3);
  border-inline-start: 2px solid var(--color-magenta-500);
  color: var(--color-mist-300);
  font-size: var(--text-small);
  font-weight: 600;
  line-height: var(--line-small);
}

.privacy-page__intro-lead {
  margin-block-end: 0;
  color: var(--color-paper-50);
  font-size: var(--text-lead);
  line-height: var(--line-lead);
}

.privacy-page__signal {
  position: absolute;
  top: -1.5rem;
  right: 7%;
  width: min(23rem, 34vw);
  height: min(23rem, 34vw);
  border: 1px solid rgba(123, 77, 255, 0.46);
  border-left-color: var(--color-magenta-500);
  border-radius: 50% 50% 0 0;
  box-shadow: inset 0 0 4rem rgba(123, 77, 255, 0.1), 0 0 3rem rgba(240, 46, 174, 0.08);
  opacity: 0.76;
  pointer-events: none;
}

.privacy-page__signal::after {
  position: absolute;
  top: 17%;
  left: 17%;
  width: 66%;
  height: 66%;
  border: 1px solid rgba(240, 46, 174, 0.34);
  border-bottom: 0;
  border-radius: 50% 50% 0 0;
  content: "";
}

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

.privacy-page__section--closing {
  padding-block-end: var(--space-10);
}

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

.privacy-page__chapter {
  min-width: 0;
  width: 100%;
}

.privacy-page__chapter--contact,
.privacy-page__chapter--data,
.privacy-page__chapter--retention,
.privacy-page__chapter--rights {
  grid-column: 1 / span 8;
}

.privacy-page__chapter--requests {
  grid-column: 1 / span 10;
}

.privacy-page__chapter h2 {
  margin-block-end: var(--space-6);
}

.privacy-page__copy {
  min-width: 0;
  width: 100%;
}

.privacy-page__copy--contact {
  max-width: 40rem;
}

.privacy-page__copy--contact-close {
  max-width: 40rem;
  margin-block-start: var(--space-5);
}

.privacy-page__copy--data-intro {
  max-width: 43.75rem;
  margin-block-end: var(--space-6);
}

.privacy-page__copy--rights-intro {
  max-width: 42.5rem;
  margin-block-end: var(--space-6);
}

.privacy-page__overview {
  padding-block-start: 0;
}

.privacy-page__overview-panel {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 7fr);
  gap: var(--space-6);
  width: min(100%, 58.75rem);
  margin-inline: auto;
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
}

.privacy-page__overview-heading,
.privacy-page__toc,
.privacy-page__overview-note {
  min-width: 0;
  width: 100%;
}

.privacy-page__overview-heading p {
  max-width: 35rem;
  margin-block-end: 0;
}

.privacy-page__toc {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: var(--border-subtle);
  border-left: var(--border-subtle);
}

.privacy-page__toc a {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: center;
  min-height: 3rem;
  min-width: 0;
  padding: var(--space-3) var(--space-4);
  border-right: var(--border-subtle);
  border-bottom: var(--border-subtle);
  color: var(--color-paper-50);
  font-size: var(--text-small);
  font-weight: 600;
  line-height: var(--line-small);
  text-decoration: none;
}

.privacy-page__toc a span {
  min-width: 0;
}

.privacy-page__toc a span:first-child {
  color: var(--color-magenta-500);
  font-family: var(--font-heading);
}

.privacy-page__toc a:hover,
.privacy-page__toc a:focus-visible {
  text-decoration: underline;
  text-decoration-color: var(--color-magenta-500);
  text-decoration-thickness: 2px;
}

.privacy-page__overview-note {
  grid-column: 1 / -1;
  max-width: 35rem;
  margin-block: 0;
  color: var(--color-mist-300);
  font-size: var(--text-small);
  line-height: var(--line-small);
}

.privacy-page__contact-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  max-width: 47.5rem;
  margin-block: var(--space-5) 0;
  border: var(--border-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-panel);
  overflow: hidden;
}

.privacy-page__contact-list > div {
  display: grid;
  grid-template-columns: minmax(9rem, 1fr) minmax(0, 3fr);
  gap: var(--space-4);
  min-width: 0;
  width: 100%;
  padding: var(--space-4);
}

.privacy-page__contact-list > div + div {
  border-top: var(--border-subtle);
}

.privacy-page__contact-list dt {
  margin: 0;
  color: var(--color-paper-50);
  font-size: var(--text-small);
}

.privacy-page__contact-list dd {
  min-width: 0;
  overflow-wrap: anywhere;
}

.privacy-page__contact-list a,
.privacy-page__request-contact a,
.privacy-page__copy a,
.privacy-page__rights-callout a {
  text-decoration-color: var(--color-magenta-500);
}

.privacy-page__data-block,
.privacy-page__retention-unit {
  width: 100%;
  max-width: 43.75rem;
  min-width: 0;
  padding-block: var(--space-5);
}

.privacy-page__data-block + .privacy-page__data-block,
.privacy-page__data-block + .privacy-page__legal-callout,
.privacy-page__retention-unit + .privacy-page__retention-unit {
  margin-block-start: var(--space-3);
}

.privacy-page__data-block h3,
.privacy-page__retention-unit h3,
.privacy-page__right h3,
.privacy-page__request-copy h3,
.privacy-page__complaint-panel h3,
.privacy-page__legal-callout h3,
.privacy-page__rights-callout h3 {
  margin-block-end: var(--space-3);
}

.privacy-page__data-block p:last-child,
.privacy-page__retention-unit p:last-child,
.privacy-page__legal-callout p:last-child,
.privacy-page__right p:last-child,
.privacy-page__rights-callout p:last-child,
.privacy-page__request-copy p:last-child,
.privacy-page__complaint-panel p:last-child {
  margin-block-end: 0;
}

.privacy-page__data-block--tinted {
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-control);
  background: rgba(53, 32, 82, 0.5);
}

.privacy-page__legal-callout,
.privacy-page__rights-callout {
  width: 100%;
  max-width: 45rem;
  min-width: 0;
  margin-block: var(--space-6) 0;
  padding: var(--space-5);
  border-inline-start: 2px solid var(--color-magenta-500);
  background: rgba(53, 32, 82, 0.34);
}

.privacy-page__retention-unit {
  max-width: 42.5rem;
}

.privacy-page__retention-unit--panel {
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-panel);
}

.privacy-page__rights-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
  max-width: 56.25rem;
}

.privacy-page__right {
  min-width: 0;
  width: 100%;
  padding-block: var(--space-5);
  border-top: var(--border-subtle);
}

.privacy-page__right--wide {
  grid-column: 1 / -1;
}

.privacy-page__right-number {
  display: block;
  margin-block-end: var(--space-3);
  color: var(--color-magenta-500);
  font-family: var(--font-heading);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.1em;
}

.privacy-page__request-layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(16.25rem, 3fr);
  gap: var(--space-6);
  align-items: start;
  width: 100%;
}

.privacy-page__request-copy,
.privacy-page__request-contact {
  min-width: 0;
  width: 100%;
}

.privacy-page__request-copy {
  max-width: 38.75rem;
}

.privacy-page__request-contact {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-control);
  background: rgba(53, 32, 82, 0.5);
  color: var(--color-mist-300);
  font-size: var(--text-small);
  font-style: normal;
  line-height: var(--line-small);
  overflow-wrap: anywhere;
}

.privacy-page__request-contact a {
  display: block;
  min-height: 3rem;
  padding-block: 0.75rem;
  color: var(--color-paper-50);
}

.privacy-page__request-contact span {
  min-width: 0;
}

.privacy-page__complaint-panel {
  width: 100%;
  max-width: 45rem;
  min-width: 0;
  margin-block-start: var(--space-6);
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
}

.privacy-page__document-close {
  width: 100%;
  max-width: 45rem;
  margin-block: var(--space-6) 0;
  padding-block-start: var(--space-4);
  border-top: var(--border-subtle);
  color: var(--color-mist-300);
  font-size: var(--text-small);
  line-height: var(--line-small);
}

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

@media (max-width: 58.74rem) {
  .privacy-page__overview-panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .privacy-page__overview-heading,
  .privacy-page__toc,
  .privacy-page__overview-note {
    grid-column: 1;
  }

  .privacy-page__overview-heading p {
    max-width: 35rem;
  }

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

  .privacy-page__right--wide {
    grid-column: 1;
  }
}

@media (max-width: 53.74rem) {
  .privacy-page__request-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 47.99rem) {
  .privacy-page__intro {
    padding-block: var(--space-8) var(--space-7);
  }

  .privacy-page__intro-grid,
  .privacy-page__document-track,
  .privacy-page__closing-track {
    grid-template-columns: minmax(0, 1fr);
  }

  .privacy-page__intro-copy,
  .privacy-page__chapter--contact,
  .privacy-page__chapter--data,
  .privacy-page__chapter--retention,
  .privacy-page__chapter--rights,
  .privacy-page__chapter--requests {
    grid-column: 1;
  }

  .privacy-page__intro-copy h1 {
    font-size: clamp(2.5rem, 12vw, 3.5rem);
    line-height: 0.98;
  }

  .privacy-page__signal {
    top: 1.75rem;
    right: -1.25rem;
    width: 8.5rem;
    height: 8.5rem;
    opacity: 0.42;
  }

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

  .privacy-page__section--closing {
    padding-block-end: var(--space-9);
  }

  .privacy-page__chapter h2 {
    font-size: clamp(2rem, 9vw, 2.25rem);
    line-height: 1.1;
  }

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

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

  .privacy-page__toc a {
    min-height: 3rem;
  }

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

  .privacy-page__contact-list dd a {
    display: block;
    min-height: 3rem;
    padding-block: 0.75rem;
  }

  .privacy-page__data-block--tinted,
  .privacy-page__legal-callout,
  .privacy-page__retention-unit--panel,
  .privacy-page__rights-callout,
  .privacy-page__complaint-panel,
  .privacy-page__request-contact {
    padding: var(--space-4);
  }

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

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

@media (prefers-reduced-motion: reduce) {
  .privacy-page__signal {
    box-shadow: none;
  }
}


.cookie-policy-page {
  position: relative;
  overflow: hidden;
  background: var(--surface-base);
}

.cookie-policy-page__hero {
  padding-block: var(--space-10) var(--space-9);
}

.cookie-policy-page__hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 9fr) minmax(0, 3fr);
  gap: var(--space-6);
  align-items: start;
}

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

.cookie-policy-page__hero-copy {
  grid-column: 1;
  width: 100%;
  min-width: 0;
}

.cookie-policy-page__hero-copy h1 {
  max-width: 9ch;
  margin-block-end: var(--space-5);
}

.cookie-policy-page__signal-line {
  width: min(15rem, 55%);
  height: 2px;
  margin-block: var(--space-4) var(--space-5);
  background: var(--gradient-signal);
  box-shadow: var(--shadow-glow);
}

.cookie-policy-page__effective {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  margin-block-end: var(--space-5);
  color: var(--color-mist-300);
  font-size: var(--text-small);
  line-height: var(--line-small);
}

.cookie-policy-page__hero-intro {
  max-width: 38.75rem;
  margin-block-end: 0;
  color: var(--color-paper-50);
  font-size: var(--text-lead);
  line-height: var(--line-lead);
}

.cookie-policy-page__gate-mark {
  position: relative;
  grid-column: 2;
  width: 100%;
  min-height: 14rem;
  opacity: 0.62;
}

.cookie-policy-page__gate-mark span {
  position: absolute;
  inset-block-start: 1.5rem;
  width: 7rem;
  height: 12rem;
  border: 1px solid var(--color-violet-500);
  border-radius: 7rem 7rem 0 0;
  box-shadow: 0 0 28px rgba(240, 46, 174, 0.14);
}

.cookie-policy-page__gate-mark span:first-child {
  right: 47%;
  border-right-color: var(--color-magenta-500);
  transform: skewY(-18deg);
}

.cookie-policy-page__gate-mark span:last-child {
  left: 47%;
  border-left-color: var(--color-magenta-500);
  transform: skewY(18deg);
}

.cookie-policy-page__document-layout {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 8fr) minmax(0, 1fr);
  gap: var(--space-6);
  align-items: start;
  padding-block-end: var(--space-10);
}

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

.cookie-policy-page__toc {
  position: sticky;
  top: 7rem;
  grid-column: 1;
  width: 100%;
  min-width: 0;
  padding-inline-end: var(--space-4);
}

.cookie-policy-page__toc > .meta {
  margin-block-end: var(--space-3);
}

.cookie-policy-page__toc-nav {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  gap: var(--space-3);
}

.cookie-policy-page__toc-nav > a {
  width: 100%;
  min-width: 0;
  color: var(--color-mist-300);
  font-size: var(--text-small);
  line-height: var(--line-small);
}

.cookie-policy-page__toc-nav > a[aria-current="true"] {
  color: var(--color-paper-50);
  text-decoration-color: var(--color-magenta-500);
}

.cookie-policy-page__content {
  grid-column: 2;
  width: 100%;
  min-width: 0;
}

.cookie-policy-page__section {
  scroll-margin-top: 6.5rem;
  padding-block: var(--space-9);
  border-top: var(--border-subtle);
}

.cookie-policy-page__section:first-child {
  padding-block-start: 0;
  border-top: 0;
}

.cookie-policy-page__section-number {
  margin-block-end: var(--space-3);
  color: var(--color-magenta-500);
  font-family: var(--font-heading);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: var(--line-meta);
}

.cookie-policy-page__section h2 {
  max-width: 18ch;
  margin-block-end: var(--space-6);
}

.cookie-policy-page__definition-copy {
  width: 100%;
  max-width: 43.75rem;
  min-width: 0;
}

.cookie-policy-page__definition-copy > p {
  margin-block-end: var(--space-5);
}

.cookie-policy-page__definition-note {
  width: 100%;
  max-width: 37.5rem;
  min-width: 0;
  padding-inline-start: var(--space-5);
  border-inline-start: 2px solid var(--color-magenta-500);
}

.cookie-policy-page__definition-note > p {
  margin-block-end: 0;
}

.cookie-policy-page__categories-intro {
  width: 100%;
  max-width: 40rem;
  min-width: 0;
  margin-block-end: var(--space-6);
}

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

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

.cookie-policy-page__category-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
  gap: var(--space-3);
}

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

.cookie-policy-page__category-card h3 {
  font-size: clamp(1.25rem, 2.2vw, 1.55rem);
}

.cookie-policy-page__category-card--necessary {
  grid-column: 1 / span 5;
}

.cookie-policy-page__category-card--preferences {
  grid-column: 6 / span 3;
}

.cookie-policy-page__category-card--statistics {
  grid-column: 1 / span 3;
  background: var(--surface-panel-raised);
  box-shadow: var(--shadow-panel);
}

.cookie-policy-page__category-card--statistics::before {
  width: 100%;
  height: 2px;
  background: var(--gradient-signal);
  content: "";
}

.cookie-policy-page__category-card--external {
  grid-column: 4 / span 5;
  background: var(--surface-raised);
}

.cookie-policy-page__categories-outro {
  width: 100%;
  max-width: 38.75rem;
  min-width: 0;
  margin-block: var(--space-6) 0;
}

.cookie-policy-page__steps {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
}

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

.cookie-policy-page__step {
  display: grid;
  grid-template-columns: minmax(3.5rem, 1fr) minmax(0, 7fr);
  gap: var(--space-5);
  align-items: start;
  padding-block: var(--space-5);
}

.cookie-policy-page__step + .cookie-policy-page__step {
  border-top: var(--border-subtle);
}

.cookie-policy-page__step-marker {
  position: relative;
  display: grid;
  place-items: center;
  width: 2.5rem;
  min-width: 0;
  height: 2.5rem;
  border: 1px solid var(--color-magenta-500);
  border-radius: var(--radius-control);
  color: var(--color-paper-50);
  font-family: var(--font-heading);
  font-weight: 700;
}

.cookie-policy-page__step:not(:last-child) .cookie-policy-page__step-marker::after {
  position: absolute;
  top: calc(100% + var(--space-3));
  left: 50%;
  width: 1px;
  height: calc(100% + var(--space-4));
  background: var(--color-magenta-500);
  content: "";
  opacity: 0.7;
}

.cookie-policy-page__step-copy {
  width: 100%;
  max-width: 38.75rem;
  min-width: 0;
}

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

.cookie-policy-page__step-copy p {
  margin-block-end: 0;
}

.cookie-policy-page__consent-note {
  width: 100%;
  max-width: 42.5rem;
  min-width: 0;
  margin-block-start: var(--space-5);
  padding: var(--space-5);
  border: var(--border-subtle);
  border-top: 2px solid var(--color-violet-500);
  border-radius: var(--radius-control);
  background: var(--surface-panel);
}

.cookie-policy-page__consent-note > p {
  margin-block-end: 0;
}

.cookie-policy-page__browser-primary {
  width: 100%;
  max-width: 42.5rem;
  min-width: 0;
  margin-block-end: var(--space-5);
}

.cookie-policy-page__browser-secondary {
  width: 100%;
  max-width: 37.5rem;
  min-width: 0;
  margin-block-end: var(--space-5);
}

.cookie-policy-page__browser-note {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 41.25rem;
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--color-magenta-500);
  border-radius: var(--radius-control);
  background: var(--surface-raised);
  gap: var(--space-3);
}

.cookie-policy-page__browser-note > * {
  min-width: 0;
  margin: 0;
}

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

.cookie-policy-page__external-grid > * {
  min-width: 0;
}

.cookie-policy-page__external-panel {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  gap: var(--space-3);
}

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

.cookie-policy-page__external-panel--provider {
  grid-column: 1 / span 5;
  background: var(--surface-panel);
}

.cookie-policy-page__external-panel--offline {
  grid-column: 6 / span 3;
  background: var(--surface-raised);
}

.cookie-policy-page__external-panel--offline h3 {
  font-size: clamp(1.25rem, 2vw, 1.45rem);
}

.cookie-policy-page__external-line {
  width: 7rem;
  height: 2px;
  background: var(--gradient-signal);
}

.cookie-policy-page__update-copy {
  width: 100%;
  max-width: 40rem;
  min-width: 0;
  margin-block: var(--space-6) 0;
  padding-block-start: var(--space-5);
  border-top: var(--border-subtle);
}

.cookie-policy-page__contact-panel {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 45rem;
  min-width: 0;
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
  box-shadow: inset 2px 0 0 var(--color-magenta-500);
  gap: var(--space-3);
}

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

.cookie-policy-page__email {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 3rem;
  color: var(--color-paper-50);
  font-family: var(--font-heading);
  font-size: clamp(1.125rem, 2.5vw, 1.375rem);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.cookie-policy-page__closing-meta {
  width: 100%;
  max-width: 38.75rem;
  min-width: 0;
  margin-block: var(--space-5) 0;
  padding-block-start: var(--space-4);
  border-top: var(--border-subtle);
  color: var(--color-mist-300);
  font-size: var(--text-small);
  line-height: var(--line-small);
}

@media (max-width: 68.74rem) {
  .cookie-policy-page__document-layout {
    grid-template-columns: minmax(0, 10fr) minmax(0, 2fr);
  }

  .cookie-policy-page__toc {
    position: static;
    grid-column: 1 / -1;
    padding-inline-end: 0;
  }

  .cookie-policy-page__toc-nav {
    flex-direction: row;
    overflow-x: auto;
    padding-block-end: var(--space-2);
  }

  .cookie-policy-page__toc-nav > a {
    flex: 0 0 auto;
    width: auto;
    white-space: nowrap;
  }

  .cookie-policy-page__content {
    grid-column: 1;
  }
}

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

  .cookie-policy-page__gate-mark {
    display: none;
  }
}

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

  .cookie-policy-page__category-card--necessary,
  .cookie-policy-page__category-card--preferences,
  .cookie-policy-page__category-card--statistics,
  .cookie-policy-page__category-card--external {
    grid-column: auto;
  }
}

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

  .cookie-policy-page__external-panel--provider,
  .cookie-policy-page__external-panel--offline {
    grid-column: 1;
  }
}

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

  .cookie-policy-page__step-marker {
    width: 2rem;
    height: 2rem;
  }

  .cookie-policy-page__step:not(:last-child) .cookie-policy-page__step-marker::after {
    top: auto;
    bottom: -0.75rem;
    left: 2.5rem;
    width: 3.5rem;
    height: 1px;
  }
}

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

  .cookie-policy-page__hero-copy h1 {
    max-width: 100%;
    font-size: clamp(2.5rem, 12vw, 3.5rem);
  }

  .cookie-policy-page__document-layout {
    display: block;
    padding-block-end: var(--space-9);
  }

  .cookie-policy-page__toc {
    display: none;
  }

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

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

  .cookie-policy-page__category-card--necessary,
  .cookie-policy-page__category-card--preferences,
  .cookie-policy-page__category-card--statistics,
  .cookie-policy-page__category-card--external {
    grid-column: 1;
  }

  .cookie-policy-page__category-card,
  .cookie-policy-page__external-panel,
  .cookie-policy-page__consent-note,
  .cookie-policy-page__browser-note {
    padding: var(--space-4);
  }

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

  .cookie-policy-page__definition-note {
    padding-inline-start: var(--space-4);
  }

  .cookie-policy-page__external-line {
    width: 4.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-policy-page__gate-mark span,
  .cookie-policy-page__signal-line {
    box-shadow: none;
  }
}


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

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

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

.kapcsolat-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: var(--space-7);
  min-height: 38.75rem;
}

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

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

.kapcsolat-hero__copy h1 {
  max-width: 10ch;
}

.kapcsolat-hero__copy h1 span {
  position: relative;
  display: inline-block;
}

.kapcsolat-hero__copy h1 span::after {
  position: absolute;
  right: 0;
  bottom: -0.12em;
  left: 0.03em;
  height: 0.09em;
  background: var(--gradient-signal);
  content: "";
}

.kapcsolat-hero__copy .lead {
  max-width: 34rem;
}

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

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

.kapcsolat-hero__meta {
  max-width: 25rem;
  color: var(--color-mist-300);
  font-size: var(--text-small);
  line-height: var(--line-small);
}

.kapcsolat-hero__media {
  position: relative;
  width: 100%;
  min-width: 0;
  aspect-ratio: 16 / 10;
  margin: 0;
  border-radius: var(--radius-feature);
}

.kapcsolat-hero__media::after {
  position: absolute;
  inset: 0;
  background: var(--gradient-image-overlay);
  content: "";
  pointer-events: none;
}

.kapcsolat-hero__media::before {
  position: absolute;
  z-index: 1;
  right: 8%;
  bottom: 10%;
  width: 9rem;
  height: 9rem;
  border-radius: 50%;
  background: rgba(240, 46, 174, 0.24);
  box-shadow: 2rem 0 5rem rgba(123, 77, 255, 0.34);
  content: "";
  filter: blur(1.5rem);
  pointer-events: none;
}

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

.kapcsolat-direct__intro {
  display: flex;
  min-width: 0;
  width: 58.333%;
  max-width: 38.75rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

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

.kapcsolat-direct__panels {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.kapcsolat-direct__panels > * {
  min-width: 0;
  width: 100%;
}

.kapcsolat-contact-card {
  display: flex;
  min-width: 0;
  min-height: 19.5rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
  box-shadow: var(--shadow-panel);
}

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

.kapcsolat-contact-card--phone {
  border-top-color: var(--color-magenta-500);
}

.kapcsolat-contact-card--email {
  border-top-color: var(--color-violet-500);
}

.kapcsolat-contact-card h3 {
  max-width: 12ch;
}

.kapcsolat-contact-card__detail {
  color: var(--color-paper-50);
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
  text-decoration-color: transparent;
}

.kapcsolat-contact-card__detail--email {
  max-width: 100%;
  font-size: clamp(1.25rem, 2.4vw, 1.75rem);
  overflow-wrap: anywhere;
}

.kapcsolat-contact-card p:not(.meta) {
  max-width: 34ch;
}

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

.kapcsolat-location__grid > * {
  min-width: 0;
  width: 100%;
}

.kapcsolat-location__copy {
  display: flex;
  min-width: 0;
  max-width: 32.5rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

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

.kapcsolat-address-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 22rem;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--space-5);
  padding: var(--space-7);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
  box-shadow: var(--shadow-panel);
}

.kapcsolat-address-card::before {
  position: absolute;
  top: 2rem;
  left: -3.75rem;
  width: 5.5rem;
  height: 2px;
  transform: rotate(-28deg);
  transform-origin: right center;
  background: var(--gradient-signal);
  content: "";
}

.kapcsolat-address-card > * {
  min-width: 0;
  margin: 0;
}

.kapcsolat-address-card address {
  color: var(--color-paper-50);
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 3.6vw, 2.5rem);
  font-style: normal;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.1;
}

.kapcsolat-topics__intro {
  display: flex;
  min-width: 0;
  width: 50%;
  max-width: 37.5rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

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

.kapcsolat-topics__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 4fr);
  align-items: end;
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.kapcsolat-topics__grid::before {
  position: absolute;
  top: 1.5rem;
  left: 11%;
  width: 63%;
  height: 2px;
  transform: rotate(-3deg);
  background: var(--gradient-signal);
  content: "";
  opacity: 0.7;
}

.kapcsolat-topics__grid > * {
  min-width: 0;
  width: 100%;
}

.kapcsolat-topic-card {
  display: flex;
  min-width: 0;
  min-height: 22rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: rgba(17, 12, 29, 0.7);
}

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

.kapcsolat-topic-card h3 {
  font-size: clamp(1.625rem, 2.6vw, 1.75rem);
}

.kapcsolat-topic-card p:not(.meta) {
  max-width: 38ch;
}

.kapcsolat-topic-card--lounge {
  min-height: 25rem;
  padding: var(--space-6);
  border-top-color: var(--color-magenta-500);
  background: var(--surface-panel);
  box-shadow: 0 0 28px rgba(240, 46, 174, 0.12);
}

.kapcsolat-topic-card--events a {
  margin-top: auto;
}

.kapcsolat-form-section {
  scroll-margin-top: var(--space-7);
}

.kapcsolat-form-section__intro {
  display: flex;
  min-width: 0;
  width: 50%;
  max-width: 35rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.kapcsolat-form-section__intro > * {
  min-width: 0;
  margin: 0;
}

.kapcsolat-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  align-items: start;
  gap: var(--space-6);
  margin-top: var(--space-7);
}

.kapcsolat-form-layout > * {
  min-width: 0;
  width: 100%;
}

.kapcsolat-form {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-6);
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
  box-shadow: var(--shadow-panel);
}

.kapcsolat-form::before {
  position: absolute;
  top: -1px;
  right: var(--space-6);
  left: var(--space-6);
  height: 2px;
  background: var(--gradient-signal);
  content: "";
}

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

.kapcsolat-form__fields > * {
  min-width: 0;
  width: 100%;
}

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

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

.kapcsolat-field--message {
  grid-column: 1 / -1;
}

.kapcsolat-field textarea {
  min-height: 9rem;
}

.kapcsolat-field__optional,
.kapcsolat-field__help {
  color: var(--color-mist-300);
  font-size: var(--text-meta);
  font-weight: 400;
  line-height: var(--line-meta);
}

.kapcsolat-field__error {
  display: none;
  color: var(--color-paper-50);
  font-size: var(--text-small);
  font-weight: 600;
  line-height: var(--line-small);
}

.kapcsolat-field.is-invalid .kapcsolat-field__error {
  display: block;
}

.kapcsolat-field.is-invalid input,
.kapcsolat-field.is-invalid textarea {
  border-color: var(--color-magenta-500);
  box-shadow: 0 0 0 1px var(--color-magenta-500);
}

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

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

.kapcsolat-form__privacy {
  max-width: 28.75rem;
  color: var(--color-mist-300);
  font-size: var(--text-small);
  line-height: var(--line-small);
}

.kapcsolat-form__status {
  min-height: 1.5rem;
  color: var(--color-success-neutral);
  font-weight: 600;
}

.kapcsolat-form-aside {
  display: flex;
  min-width: 0;
  max-width: 23.75rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding-top: var(--space-5);
}

.kapcsolat-form-aside > * {
  min-width: 0;
  margin: 0;
}

.kapcsolat-form-aside h3 {
  max-width: 12ch;
}

.kapcsolat-evening {
  position: relative;
}

.kapcsolat-evening::after {
  position: absolute;
  right: -6rem;
  bottom: -5rem;
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(240, 46, 174, 0.16) 0%, rgba(123, 77, 255, 0.1) 33%, transparent 70%);
  content: "";
  filter: blur(1rem);
  pointer-events: none;
}

.kapcsolat-evening .container {
  position: relative;
  z-index: 1;
}

.kapcsolat-evening__opening {
  display: flex;
  min-width: 0;
  width: 58.333%;
  max-width: 38.75rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

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

.kapcsolat-evening__lines {
  display: flex;
  min-width: 0;
  width: 83.333%;
  max-width: 56.25rem;
  flex-direction: column;
  align-items: stretch;
  margin-top: var(--space-7);
}

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

.kapcsolat-evening__lines p {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-3);
  padding-block: var(--space-4);
  border-top: var(--border-subtle);
}

.kapcsolat-evening__lines p:last-child {
  border-bottom: var(--border-subtle);
}

.kapcsolat-evening__lines span {
  color: var(--color-magenta-500);
  font-family: var(--font-heading);
  font-size: var(--text-small);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.kapcsolat-evening__link {
  display: inline-block;
  margin-top: var(--space-5);
}

.kapcsolat-closing {
  padding-top: var(--space-9);
}

.kapcsolat-closing__content {
  position: relative;
  display: flex;
  min-width: 0;
  width: 58.333%;
  max-width: 38.75rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: rgba(17, 12, 29, 0.72);
}

.kapcsolat-closing__content::before {
  position: absolute;
  top: -1px;
  right: 2rem;
  width: 7rem;
  height: 2px;
  transform: rotate(-22deg);
  background: var(--gradient-signal);
  content: "";
}

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

@media (max-width: 63.74rem) {
  .kapcsolat-hero__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-6);
    min-height: 0;
  }

  .kapcsolat-hero__copy h1 {
    font-size: clamp(3.25rem, 7vw, 4.75rem);
  }

  .kapcsolat-topics__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  }

  .kapcsolat-topic-card--events {
    grid-column: 1 / span 1;
  }

  .kapcsolat-form-layout {
    grid-template-columns: 1fr;
  }

  .kapcsolat-form-aside {
    max-width: 37.5rem;
    padding-top: 0;
  }
}

@media (max-width: 56.24rem) {
  .kapcsolat-location__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-6);
  }

  .kapcsolat-address-card {
    padding: var(--space-6);
  }

  .kapcsolat-address-card::before {
    left: -2.25rem;
    width: 3.75rem;
  }
}

@media (max-width: 53.74rem) {
  .kapcsolat-direct__panels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

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

  .kapcsolat-hero__grid,
  .kapcsolat-location__grid,
  .kapcsolat-direct__panels,
  .kapcsolat-topics__grid,
  .kapcsolat-form-layout {
    grid-template-columns: minmax(0, 1fr);
  }

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

  .kapcsolat-hero__copy,
  .kapcsolat-direct__intro,
  .kapcsolat-location__copy,
  .kapcsolat-topics__intro,
  .kapcsolat-form-section__intro,
  .kapcsolat-evening__opening,
  .kapcsolat-closing__content {
    width: 100%;
  }

  .kapcsolat-hero__copy h1 {
    max-width: 10ch;
    font-size: clamp(2.5rem, 12vw, 4rem);
  }

  .kapcsolat-hero__copy .lead {
    max-width: 100%;
  }

  .kapcsolat-hero__media {
    aspect-ratio: 4 / 3;
  }

  .kapcsolat-hero__media::before {
    width: 6rem;
    height: 6rem;
    opacity: 0.6;
  }

  .kapcsolat-direct__panels,
  .kapcsolat-topics__grid {
    gap: var(--space-4);
  }

  .kapcsolat-direct__panels {
    margin-top: var(--space-6);
  }

  .kapcsolat-contact-card,
  .kapcsolat-topic-card {
    min-height: 0;
    padding: var(--space-5);
  }

  .kapcsolat-contact-card__detail {
    font-size: 1.75rem;
  }

  .kapcsolat-contact-card__detail--email {
    font-size: clamp(1.25rem, 6vw, 1.5rem);
  }

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

  .kapcsolat-address-card {
    min-height: 0;
    padding: var(--space-5);
  }

  .kapcsolat-address-card::before {
    display: none;
  }

  .kapcsolat-address-card address {
    font-size: 1.75rem;
  }

  .kapcsolat-topics__grid::before {
    display: none;
  }

  .kapcsolat-topic-card--events {
    grid-column: auto;
  }

  .kapcsolat-topic-card--lounge {
    min-height: 0;
    padding: var(--space-5);
    box-shadow: 0 0 16px rgba(240, 46, 174, 0.08);
  }

  .kapcsolat-form-section__intro {
    max-width: 100%;
  }

  .kapcsolat-form-layout {
    margin-top: var(--space-6);
    gap: var(--space-5);
  }

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

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

  .kapcsolat-field--message {
    grid-column: auto;
  }

  .kapcsolat-field textarea {
    min-height: 8.75rem;
  }

  .kapcsolat-form__submit {
    align-items: stretch;
  }

  .kapcsolat-form__submit .button {
    width: 100%;
  }

  .kapcsolat-evening::after {
    width: 12rem;
    height: 12rem;
    opacity: 0.6;
  }

  .kapcsolat-evening__opening,
  .kapcsolat-evening__lines {
    width: 100%;
  }

  .kapcsolat-evening__lines {
    margin-top: var(--space-6);
  }

  .kapcsolat-evening__lines p {
    grid-template-columns: 2.25rem minmax(0, 1fr);
  }

  .kapcsolat-closing {
    padding-top: var(--space-8);
  }

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

  .kapcsolat-closing__content .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .kapcsolat-hero__media::before,
  .kapcsolat-evening::after {
    filter: none;
  }
}


.etterem-etlap-page { overflow: clip; }
.etterem-etlap-page .section { position: relative; }
.ee-hero { padding-block: var(--space-9) var(--space-10); }
.ee-hero__grid, .ee-plate__grid, .ee-private__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: center; }
.ee-hero__copy { grid-column: span 5; min-width: 0; max-width: 33.75rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.ee-hero__copy > * { min-width: 0; margin: 0; }
.ee-hero__copy .lead { max-width: 32rem; }
.ee-hero__invitation { max-width: 31rem; display: flex; flex-direction: column; gap: var(--space-3); }
.ee-hero__invitation > * { margin: 0; }
.ee-hero__media { grid-column: span 7; width: 100%; min-width: 0; min-height: 42.5rem; margin: 0; overflow: hidden; border: var(--border-subtle); border-radius: var(--radius-feature); background: var(--surface-panel); position: relative; }
.ee-hero__media::after { content: ""; position: absolute; inset: auto 0 0; height: 28%; background: linear-gradient(110deg, rgba(240,46,174,.34), rgba(123,77,255,.05) 65%, transparent); pointer-events: none; }
.ee-hero__media img, .ee-plate__media img, .ee-space__media img, .ee-private__media img { width: 100%; height: 100%; object-fit: cover; }
.ee-hero__media img { object-position: 62% center; }
.ee-journey__intro { width: 58.333%; min-width: 0; max-width: 38.75rem; }
.ee-journey__stops { display: flex; flex-direction: column; gap: var(--space-6); margin-top: var(--space-7); position: relative; }
.ee-journey__stops::before { content: ""; position: absolute; top: 1.75rem; bottom: 1.75rem; left: 4.9rem; width: 1px; transform: skewX(-16deg); background: linear-gradient(var(--color-magenta-500), transparent); opacity: .7; }
.ee-journey__stop { display: grid; grid-template-columns: 16.666% 41.666%; column-gap: var(--space-5); min-width: 0; }
.ee-journey__number, .ee-chef__number { margin: 0; color: var(--color-magenta-500); font-family: var(--font-heading); font-size: 1.75rem; font-weight: 700; line-height: 1; }
.ee-journey__text { min-width: 0; max-width: 32.5rem; }
.ee-menu__intro { width: 50%; min-width: 0; max-width: 41.25rem; }
.ee-menu__panels { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); align-items: start; }
.ee-menu__panel { min-width: 0; padding: var(--space-6); border: var(--border-subtle); border-radius: var(--radius-card); background: var(--surface-panel); }
.ee-menu__panel--start { grid-column: 1 / span 5; max-width: 30rem; }
.ee-menu__panel--main { grid-column: 6 / span 7; max-width: 39rem; padding-left: calc(var(--space-6) + var(--space-2)); border-inline-start: 3px solid transparent; border-image: var(--gradient-signal) 1; background: var(--surface-panel-raised); box-shadow: var(--shadow-panel); }
.ee-menu__panel--sweet { grid-column: 3 / span 4; max-width: 27.5rem; }
.ee-plate__media { grid-column: span 7; width: 100%; min-width: 0; aspect-ratio: 4 / 3; margin: 0; }
.ee-plate__media img { object-position: 42% center; }
.ee-plate__copy { grid-column: span 5; min-width: 0; max-width: 32.5rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.ee-plate__copy > * { margin: 0; min-width: 0; }
.ee-plate__aside { max-width: 26.875rem; display: flex; flex-direction: column; gap: var(--space-3); }
.ee-plate__aside > * { margin: 0; }
.ee-text-link { display: inline-flex; min-height: 3rem; align-items: center; color: var(--color-paper-50); text-decoration-color: transparent; text-decoration-thickness: 2px; text-underline-offset: .25em; }
.ee-text-link:hover, .ee-text-link:focus-visible { text-decoration-color: var(--color-magenta-500); }
.ee-chef__intro { width: 50%; min-width: 0; max-width: 38.75rem; }
.ee-chef__principles { display: flex; flex-direction: column; gap: var(--space-6); margin-top: var(--space-7); }
.ee-chef__principle { display: grid; grid-template-columns: 25% 41.666%; column-gap: var(--space-5); min-width: 0; }
.ee-chef__principle > div { min-width: 0; max-width: 31.25rem; }
.ee-chef__principle--highlight { margin-left: 16.666%; padding: var(--space-5); border: var(--border-subtle); border-radius: var(--radius-card); background: var(--surface-glass); }
.ee-chef__cta { margin-top: var(--space-7); }
.ee-space__visual { position: relative; min-width: 0; overflow: hidden; border: var(--border-subtle); border-radius: var(--radius-feature); }
.ee-space__media { width: 100%; aspect-ratio: 16 / 10; margin: 0; }
.ee-space__media img { object-position: center; }
.ee-space__visual::after { content: ""; position: absolute; inset: 0; background: var(--gradient-image-overlay); pointer-events: none; }
.ee-space__overlay { position: absolute; z-index: 1; left: var(--space-7); bottom: var(--space-7); width: 41.666%; min-width: 0; max-width: 30rem; display: flex; flex-direction: column; gap: var(--space-4); }
.ee-space__overlay > * { margin: 0; }
.ee-space__after { width: 41.666%; min-width: 0; max-width: 32.5rem; margin-top: var(--space-6); margin-left: auto; }
.ee-lounge__intro, .ee-summary__intro { width: 58.333%; min-width: 0; max-width: 40rem; }
.ee-lounge__items, .ee-summary__items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); align-items: start; }
.ee-lounge__item, .ee-summary__item { min-width: 0; max-width: 22rem; }
.ee-lounge__item--panel, .ee-summary__item--panel { padding: var(--space-5); border: var(--border-subtle); border-radius: var(--radius-card); background: var(--surface-panel); }
.ee-lounge__item--panel { max-width: none; }
.ee-private__copy { grid-column: span 5; min-width: 0; max-width: 32.5rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.ee-private__copy > * { margin: 0; min-width: 0; }
.ee-private__detail { max-width: 26.25rem; display: flex; flex-direction: column; gap: var(--space-3); }
.ee-private__detail > * { margin: 0; }
.ee-private__media { grid-column: span 7; width: 100%; min-width: 0; aspect-ratio: 16 / 10; margin: 0; }
.ee-private__media img { object-position: 68% center; }
.ee-summary__item--panel { max-width: none; }
.ee-closing__panel { display: grid; grid-template-columns: 58.333% 41.667%; min-width: 0; overflow: hidden; padding: var(--space-8); border: var(--border-subtle); border-radius: var(--radius-feature); background: var(--surface-panel); position: relative; }
.ee-closing__copy { grid-column: 1; z-index: 1; min-width: 0; max-width: 35rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.ee-closing__copy > * { margin: 0; min-width: 0; }
.ee-closing__actions { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-3); }
.ee-closing__actions > * { min-width: 0; max-width: 100%; }
.ee-closing__light { grid-column: 2; min-width: 0; background: radial-gradient(circle at 75% 55%, rgba(240,46,174,.28), transparent 14rem), radial-gradient(circle at 40% 70%, rgba(123,77,255,.26), transparent 17rem); }
@media (max-width: 61.25rem) { .ee-hero__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ee-hero__copy, .ee-hero__media { grid-column: auto; } .ee-hero__media { min-height: 35rem; } .ee-menu__panel--start { grid-column: 1 / span 6; } .ee-menu__panel--main { grid-column: 7 / span 6; } .ee-menu__panel--sweet { grid-column: 1 / span 6; } }
@media (max-width: 57.5rem) { .ee-plate__grid, .ee-private__grid { grid-template-columns: 1fr; gap: var(--space-6); } .ee-plate__media, .ee-plate__copy, .ee-private__copy, .ee-private__media { grid-column: 1; max-width: none; } .ee-plate__media { order: 1; } .ee-plate__copy { order: 2; } .ee-private__copy { order: 1; } .ee-private__media { order: 2; } .ee-chef__principle--highlight { margin-left: 0; } .ee-space__overlay { left: var(--space-5); bottom: var(--space-5); } .ee-lounge__items, .ee-summary__items { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ee-lounge__item:nth-child(3), .ee-summary__item:nth-child(3) { grid-column: 1 / -1; max-width: 35rem; } }
@media (max-width: 47.99rem) { .ee-hero { padding-block: var(--space-8); } .ee-hero__grid { grid-template-columns: 1fr; gap: var(--space-6); } .ee-hero__copy, .ee-hero__media { grid-column: 1; max-width: none; } .ee-hero__copy .lead, .ee-hero__invitation { max-width: 34rem; } .ee-hero__media { min-height: 0; aspect-ratio: 4 / 3; } .ee-hero__media img { object-position: 58% center; } .ee-journey__intro, .ee-menu__intro, .ee-chef__intro, .ee-lounge__intro, .ee-summary__intro { width: 100%; max-width: none; } .ee-journey__stops { gap: var(--space-5); margin-top: var(--space-6); } .ee-journey__stops::before { left: 1.1rem; } .ee-journey__stop { grid-template-columns: 2.25rem minmax(0, 1fr); column-gap: var(--space-3); } .ee-menu__panels { grid-template-columns: 1fr; gap: var(--space-5); margin-top: var(--space-6); } .ee-menu__panel, .ee-menu__panel--start, .ee-menu__panel--main, .ee-menu__panel--sweet { grid-column: 1; max-width: none; padding: var(--space-5); } .ee-plate__media, .ee-private__media { aspect-ratio: 4 / 3; } .ee-chef__principles { gap: var(--space-5); margin-top: var(--space-6); } .ee-chef__principle { grid-template-columns: 1fr; gap: var(--space-3); } .ee-chef__principle--highlight { padding: var(--space-5); } .ee-space__visual { overflow: visible; border: 0; border-radius: 0; } .ee-space__media { aspect-ratio: 4 / 3; overflow: hidden; border: var(--border-subtle); border-radius: var(--radius-card); } .ee-space__visual::after { display: none; } .ee-space__overlay { position: static; width: 100%; max-width: none; margin-top: var(--space-5); } .ee-space__after { width: 100%; max-width: none; margin-top: var(--space-5); } .ee-lounge__items, .ee-summary__items { grid-template-columns: 1fr; gap: var(--space-5); margin-top: var(--space-6); } .ee-lounge__item, .ee-summary__item, .ee-lounge__item:nth-child(3), .ee-summary__item:nth-child(3) { grid-column: 1; max-width: none; } .ee-lounge__item--panel, .ee-summary__item--panel { padding: var(--space-5); } .ee-closing__panel { grid-template-columns: 1fr; padding: var(--space-5); } .ee-closing__copy { grid-column: 1; max-width: none; } .ee-closing__light { display: none; } .ee-closing__actions { width: 100%; flex-direction: column; align-items: stretch; } .ee-closing__actions > .button { width: 100%; } }


.kaszinolounge-page {
  overflow: hidden;
  background:
    radial-gradient(circle at 84% 8%, rgba(123, 77, 255, 0.1), transparent 24rem),
    var(--surface-base);
}

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

.kl-hero {
  padding-block: var(--space-8) var(--space-10);
}

.kl-hero__grid,
.kl-atmosphere__grid,
.kl-dining__grid,
.kl-contact__grid {
  display: grid;
  min-width: 0;
  gap: var(--space-6);
}

.kl-hero__grid {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  min-height: 42.5rem;
}

.kl-hero__copy,
.kl-hero__media,
.kl-atmosphere__copy,
.kl-atmosphere__media,
.kl-dining__copy,
.kl-dining__media,
.kl-contact__location,
.kl-contact__panel {
  min-width: 0;
  width: 100%;
}

.kl-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

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

.kl-hero__copy::before {
  content: "";
  width: 4.5rem;
  height: 2px;
  background: var(--gradient-signal);
}

.kl-hero__copy h1 {
  max-width: 10ch;
}

.kl-hero__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: min(100%, 35rem);
}

.kl-hero__intro p {
  margin: 0;
}

.kl-hero__actions {
  width: 100%;
}

.kl-hero__program {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  width: 100%;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-magenta-500);
  color: var(--color-mist-300);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: var(--line-meta);
  text-transform: uppercase;
}

.kl-hero__program span {
  min-width: 0;
}

.kl-hero__program span + span::before {
  content: "/";
  margin-right: var(--space-3);
  color: var(--color-magenta-500);
}

.kl-hero__media {
  height: 100%;
  min-height: 39rem;
}

.kl-hero__media img,
.kl-atmosphere__media img,
.kl-dining__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kl-hero__media img {
  object-position: 62% center;
}

.kl-journey__heading,
.kl-tables__heading,
.kl-groups__heading,
.kl-visit__heading {
  width: min(100%, 35rem);
}

.kl-journey__route,
.kl-tables__grid,
.kl-groups__grid,
.kl-visit__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.kl-journey__route {
  position: relative;
  align-items: start;
}

.kl-journey__route::before {
  content: "";
  position: absolute;
  top: 3.25rem;
  left: 7%;
  width: 86%;
  height: 2px;
  background: var(--gradient-signal);
  opacity: 0.8;
  transform: skewX(-11deg);
}

.kl-stop,
.kl-table-item,
.kl-group-item,
.kl-visit-item {
  position: relative;
  min-width: 0;
  width: 100%;
}

.kl-stop {
  display: grid;
  grid-template-columns: minmax(2.5rem, auto) minmax(0, 1fr);
  gap: var(--space-4);
}

.kl-stop--transition {
  margin-top: var(--space-6);
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
  box-shadow: var(--shadow-panel);
}

.kl-stop--presence {
  margin-top: var(--space-4);
}

.kl-stop__number,
.kl-visit-item__number {
  margin: 0;
  color: var(--color-magenta-500);
  font-family: var(--font-heading);
  font-size: var(--text-lead);
  font-weight: 700;
  line-height: var(--line-lead);
}

.kl-stop__content {
  min-width: 0;
  width: 100%;
}

.kl-stop__content p {
  max-width: 38ch;
}

.kl-text-link {
  color: var(--color-paper-50);
  font-weight: 600;
  text-decoration-color: var(--color-magenta-500);
}

.kl-atmosphere__grid {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: center;
}

.kl-atmosphere__media {
  aspect-ratio: 4 / 3;
}

.kl-atmosphere__media img {
  object-position: 42% center;
}

.kl-atmosphere__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.kl-atmosphere__copy > * {
  min-width: 0;
  margin: 0;
}

.kl-atmosphere__copy > .lead {
  width: min(100%, 37.5rem);
}

.kl-atmosphere__details {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  width: 100%;
}

.kl-atmosphere__detail,
.kl-atmosphere__note {
  min-width: 0;
  width: 100%;
}

.kl-atmosphere__detail p:last-child {
  max-width: 40ch;
  margin-bottom: 0;
}

.kl-atmosphere__note {
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
}

.kl-atmosphere__note::before {
  content: "";
  display: block;
  width: 3.25rem;
  height: 2px;
  margin-bottom: var(--space-4);
  background: var(--gradient-signal);
  transform: skewX(-24deg);
}

.kl-atmosphere__note p:last-child {
  max-width: 40ch;
  margin-bottom: 0;
}

.kl-tables__grid {
  align-items: start;
}

.kl-tables__grid::before {
  content: "";
  position: absolute;
  top: -2rem;
  left: 43%;
  width: 11rem;
  height: 5.5rem;
  border-top: 2px solid var(--color-magenta-500);
  border-radius: 50% 50% 0 0;
  opacity: 0.74;
}

.kl-table-item--poker {
  display: grid;
  grid-template-columns: minmax(3.25rem, auto) minmax(0, 1fr);
  gap: var(--space-4);
  padding-top: var(--space-5);
}

.kl-table-item__initial {
  color: var(--color-magenta-500);
  font-family: var(--font-heading);
  font-size: clamp(4rem, 8vw, 7rem);
  font-weight: 700;
  line-height: 0.8;
}

.kl-table-item--poker p,
.kl-table-item--blackjack p {
  max-width: 38ch;
}

.kl-table-item--roulette {
  padding: var(--space-6) var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
  box-shadow: var(--shadow-panel);
}

.kl-table-item--roulette p:last-child {
  max-width: 36ch;
  margin-bottom: 0;
}

.kl-table-item--blackjack {
  display: flex;
  justify-content: flex-end;
  padding-top: var(--space-7);
  border-top: var(--border-subtle);
}

.kl-table-item--blackjack > div {
  min-width: 0;
  width: min(100%, 21rem);
}

.kl-table-item--blackjack > div::after {
  content: "";
  display: block;
  width: 4rem;
  height: 2px;
  margin-top: var(--space-5);
  background: var(--gradient-signal);
}

.kl-tables__action {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  width: min(100%, 43rem);
  margin-top: var(--space-7);
}

.kl-tables__action > * {
  min-width: 0;
  max-width: 100%;
}

.kl-tables__action p {
  flex: 1 1 24rem;
  margin: 0;
}

.kl-dining__grid {
  grid-template-columns: minmax(0, 7fr) minmax(22.5rem, 5fr);
  align-items: center;
}

.kl-dining__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.kl-dining__copy > * {
  min-width: 0;
  margin: 0;
}

.kl-dining__copy > .lead,
.kl-dining__copy > p:not(.eyebrow) {
  width: min(100%, 35rem);
}

.kl-dining__quote {
  width: min(100%, 26.25rem);
  padding: var(--space-5);
  border-inline-start: 2px solid var(--color-magenta-500);
  background: rgba(53, 32, 82, 0.52);
}

.kl-dining__quote p {
  margin: 0;
  color: var(--color-paper-50);
  font-family: var(--font-heading);
  font-size: var(--text-lead);
  line-height: var(--line-lead);
}

.kl-dining__media {
  aspect-ratio: 4 / 3;
  margin-top: var(--space-7);
}

.kl-dining__media img {
  object-position: center 58%;
}

.kl-groups__grid {
  align-items: stretch;
}

.kl-group-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding-top: var(--space-5);
}

.kl-group-item > * {
  min-width: 0;
  margin: 0;
}

.kl-group-item p:not(.meta) {
  max-width: 36ch;
}

.kl-group-item--pair {
  border-top: var(--border-subtle);
}

.kl-group-item--friends {
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
}

.kl-group-item--private {
  border-top: var(--border-subtle);
}

.kl-group-item--private .button {
  margin-top: auto;
}

.kl-feature__panel {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-width: 0;
  min-height: 37rem;
  overflow: hidden;
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  background: var(--surface-panel);
}

.kl-feature__panel::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, rgba(9, 7, 15, 0.92) 0%, rgba(9, 7, 15, 0.57) 48%, rgba(9, 7, 15, 0.12) 78%, rgba(9, 7, 15, 0.3) 100%);
}

.kl-feature__panel img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 68% center;
}

.kl-feature__overlay {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-width: 0;
  width: min(100%, 31.25rem);
  padding: var(--space-8);
}

.kl-feature__overlay > * {
  min-width: 0;
  margin: 0;
}

.kl-feature__support {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: min(100%, 26.25rem);
}

.kl-feature__support p {
  margin: 0;
}

.kl-visit__grid {
  align-items: start;
}

.kl-visit-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.kl-visit-item > * {
  min-width: 0;
  margin: 0;
}

.kl-visit-item p:not(.kl-visit-item__number) {
  max-width: 38ch;
}

.kl-visit-item--contact {
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
  box-shadow: var(--shadow-panel);
}

.kl-visit-item--presence {
  padding-inline-start: var(--space-5);
  border-inline-start: 2px solid var(--color-magenta-500);
}

.kl-contact-link {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  min-height: 3rem;
  color: var(--color-paper-50);
  font-weight: 600;
  text-decoration-color: var(--color-magenta-500);
}

.kl-disclaimer {
  width: min(100%, 53.125rem);
  margin-top: var(--space-6);
  padding: var(--space-4) var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-control);
  color: var(--color-mist-300);
  font-size: var(--text-small);
  line-height: var(--line-small);
}

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

.kl-contact > .container > h2 {
  margin-bottom: var(--space-7);
}

.kl-contact__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-8);
  align-items: start;
}

.kl-contact__location {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.kl-contact__location > * {
  min-width: 0;
  margin: 0;
}

.kl-contact__location .lead {
  width: min(100%, 33.75rem);
}

.kl-contact__location address {
  color: var(--color-paper-50);
  font-family: var(--font-heading);
  font-size: var(--text-lead);
  font-style: normal;
  line-height: var(--line-lead);
}

.kl-contact__location > p:last-child {
  width: min(100%, 30rem);
}

.kl-contact__panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
  box-shadow: var(--shadow-panel);
}

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

.kl-contact__panel > p:not(.eyebrow) {
  width: min(100%, 26.25rem);
}

.kl-final__panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  min-width: 0;
  width: min(100%, calc((100% - (var(--space-5) * 5)) * 0.5833 + (var(--space-5) * 3)));
  margin-inline: auto;
  padding: var(--space-7) var(--space-8);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: linear-gradient(135deg, rgba(53, 32, 82, 0.88), rgba(17, 12, 29, 0.96));
}

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

.kl-final__panel p:not(.eyebrow) {
  width: min(100%, 32.5rem);
}

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

  .kl-hero__media {
    min-height: 33rem;
  }

  .kl-atmosphere__grid,
  .kl-dining__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 60rem) {
  .kl-journey__route,
  .kl-tables__grid,
  .kl-groups__grid,
  .kl-visit__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kl-journey__route::before {
    display: none;
  }

  .kl-stop--presence,
  .kl-table-item--blackjack,
  .kl-group-item--private,
  .kl-visit-item--presence {
    grid-column: 1 / -1;
  }

  .kl-stop--transition {
    margin-top: var(--space-4);
  }

  .kl-tables__grid::before {
    left: 58%;
  }

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

  .kl-final__panel {
    width: min(100%, 75%);
  }
}

@media (max-width: 55rem) {
  .kl-dining__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .kl-dining__media {
    width: 100%;
    margin-top: 0;
  }
}

@media (max-width: 47.99rem) {
  .kl-hero {
    padding-block: var(--space-7) var(--space-8);
  }

  .kl-hero__grid,
  .kl-atmosphere__grid,
  .kl-dining__grid,
  .kl-contact__grid,
  .kl-journey__route,
  .kl-tables__grid,
  .kl-groups__grid,
  .kl-visit__grid {
    grid-template-columns: minmax(0, 1fr);
  }

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

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

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

  .kl-hero__intro {
    width: 100%;
    max-width: 34ch;
  }

  .kl-hero__media {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .kl-hero__media img {
    object-position: center;
  }

  .kl-journey__heading,
  .kl-tables__heading,
  .kl-groups__heading,
  .kl-visit__heading {
    width: 100%;
  }

  .kl-journey__route,
  .kl-tables__grid,
  .kl-groups__grid,
  .kl-visit__grid {
    gap: var(--space-6);
    margin-top: var(--space-6);
  }

  .kl-journey__route {
    padding-inline-start: var(--space-5);
  }

  .kl-journey__route::after {
    content: "";
    position: absolute;
    top: 0.5rem;
    bottom: 0.5rem;
    left: 0.25rem;
    width: 2px;
    background: var(--gradient-signal);
  }

  .kl-stop,
  .kl-stop--transition {
    grid-column: auto;
    grid-template-columns: minmax(2.25rem, auto) minmax(0, 1fr);
    margin-top: 0;
  }

  .kl-stop--transition {
    padding: var(--space-4);
  }

  .kl-stop__content p,
  .kl-atmosphere__detail p:last-child,
  .kl-atmosphere__note p:last-child,
  .kl-table-item--poker p,
  .kl-table-item--blackjack p,
  .kl-table-item--roulette p:last-child,
  .kl-group-item p:not(.meta),
  .kl-visit-item p:not(.kl-visit-item__number) {
    max-width: 42ch;
  }

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

  .kl-atmosphere__media {
    order: -1;
  }

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

  .kl-atmosphere__copy > .lead {
    width: 100%;
    font-size: 1.125rem;
    line-height: 1.5;
  }

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

  .kl-tables__grid::before {
    display: none;
  }

  .kl-table-item--poker,
  .kl-table-item--blackjack {
    grid-column: auto;
  }

  .kl-table-item--blackjack {
    justify-content: flex-start;
    padding-top: var(--space-5);
  }

  .kl-table-item--blackjack > div {
    width: 100%;
  }

  .kl-tables__action {
    align-items: stretch;
  }

  .kl-tables__action .button {
    align-self: flex-start;
  }

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

  .kl-dining__copy > .lead,
  .kl-dining__copy > p:not(.eyebrow) {
    width: 100%;
  }

  .kl-dining__quote {
    width: 100%;
    padding: var(--space-4);
  }

  .kl-dining__media {
    aspect-ratio: 4 / 3;
  }

  .kl-group-item--private,
  .kl-visit-item--presence {
    grid-column: auto;
  }

  .kl-feature__panel {
    min-height: 28.75rem;
    aspect-ratio: 4 / 3;
  }

  .kl-feature__panel::after {
    background: linear-gradient(0deg, rgba(9, 7, 15, 0.96) 0%, rgba(9, 7, 15, 0.8) 46%, rgba(9, 7, 15, 0.14) 100%);
  }

  .kl-feature__panel img {
    object-position: center;
  }

  .kl-feature__overlay {
    width: 100%;
    max-width: 42ch;
    padding: var(--space-5);
  }

  .kl-feature__support {
    width: 100%;
  }

  .kl-visit-item--contact {
    padding: var(--space-4);
  }

  .kl-visit-item--presence {
    padding-inline-start: var(--space-4);
  }

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

  .kl-contact > .container > h2 {
    margin-bottom: var(--space-6);
  }

  .kl-contact__location .lead,
  .kl-contact__location > p:last-child,
  .kl-contact__panel > p:not(.eyebrow) {
    width: 100%;
  }

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

  .kl-final__panel {
    width: 100%;
    padding: var(--space-5);
  }

  .kl-final__panel .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .kaszinolounge-page *,
  .kaszinolounge-page *::before,
  .kaszinolounge-page *::after {
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
  }
}


.chef-page {
  overflow: clip;
  background: var(--surface-base);
}

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

.chef-page__hero {
  padding-block: var(--space-9) var(--space-10);
}

.chef-page__hero-grid,
.chef-page__lounge-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-6);
  align-items: center;
}

.chef-page__hero-copy,
.chef-page__hero-media,
.chef-page__lounge-copy,
.chef-page__lounge-media {
  min-width: 0;
  width: 100%;
}

.chef-page__hero-copy {
  max-width: 34.375rem;
  padding-block: var(--space-5);
}

.chef-page__signal-label::before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 2px;
  margin-block-end: var(--space-3);
  background: var(--gradient-signal);
}

.chef-page__hero-copy h1 {
  max-width: 9ch;
}

.chef-page__hero-lead {
  max-width: 31.25rem;
}

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

.chef-page__hero-actions > * {
  min-width: 0;
  max-width: 100%;
}

.chef-page__hero-media {
  min-height: 42.5rem;
  border-radius: var(--radius-feature);
}

.chef-page__hero-media img {
  width: 100%;
  height: 100%;
  min-height: 42.5rem;
  object-fit: cover;
  object-position: 68% center;
}

.chef-page__direction-heading {
  width: min(100%, 38.75rem);
}

.chef-page__principles {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-8);
}

.chef-page__principle {
  min-width: 0;
}

.chef-page__principle--one {
  grid-column: 1 / span 6;
  width: 100%;
  max-width: 29.375rem;
}

.chef-page__principle--two {
  grid-column: 3 / span 4;
  grid-row: 2;
  width: 100%;
  margin-block-start: var(--space-4);
  padding: var(--space-5);
  border-inline-start: 2px solid var(--color-magenta-500);
  border-radius: 0 var(--radius-card) var(--radius-card) 0;
  background: var(--surface-panel);
}

.chef-page__principle--three {
  grid-column: 9 / span 4;
  grid-row: 2;
  width: 100%;
  margin-block-start: var(--space-8);
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: rgba(53, 32, 82, 0.3);
}

.chef-page__principle h3 {
  font-size: var(--text-lead);
  line-height: var(--line-lead);
}

.chef-page__courses-heading {
  width: min(100%, 40rem);
}

.chef-page__course {
  min-width: 0;
  margin-block-start: var(--space-8);
}

.chef-page__course-image,
.chef-page__course-copy {
  min-width: 0;
  width: 100%;
}

.chef-page__course--opening {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-6);
  align-items: end;
}

.chef-page__course--opening .chef-page__course-image {
  grid-column: 1 / span 7;
  grid-row: 1;
  min-height: 31rem;
}

.chef-page__course--opening .chef-page__course-image img {
  width: 100%;
  height: 31rem;
  object-fit: cover;
  object-position: center;
}

.chef-page__course-copy--overlay {
  grid-column: 1 / span 5;
  grid-row: 1;
  z-index: 1;
  margin: var(--space-5);
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: rgba(9, 7, 15, 0.84);
  backdrop-filter: blur(8px);
}

.chef-page__course-copy--overlay p {
  max-width: 25rem;
}

.chef-page__course--layered {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 5fr) minmax(0, 3fr);
  gap: var(--space-5);
  align-items: stretch;
}

.chef-page__course-copy--panel {
  grid-column: 2 / span 1;
  width: 100%;
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
}

.chef-page__course-copy--panel p {
  max-width: 26.875rem;
}

.chef-page__course-image--detail {
  grid-column: 3 / span 1;
  width: 100%;
  min-height: 24rem;
}

.chef-page__course-image--detail img {
  width: 100%;
  height: 24rem;
  object-fit: cover;
  object-position: center;
}

.chef-page__course--sweet {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-6);
  align-items: center;
}

.chef-page__course-copy--sweet {
  grid-column: 1;
  width: 100%;
  max-width: 26.25rem;
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-magenta-500);
}

.chef-page__course--sweet .chef-page__course-image {
  grid-column: 2;
  min-height: 25rem;
}

.chef-page__course--sweet .chef-page__course-image img {
  width: 100%;
  height: 25rem;
  object-fit: cover;
  object-position: left center;
}

.chef-page__course-link {
  width: min(100%, 32.5rem);
  margin-block: var(--space-7) 0;
}

.chef-page__course-link span {
  color: var(--color-mist-300);
}

.chef-page__rhythm {
  background: linear-gradient(180deg, rgba(17, 12, 29, 0) 0%, rgba(36, 20, 61, 0.22) 50%, rgba(17, 12, 29, 0) 100%);
}

.chef-page__rhythm-heading {
  width: min(100%, 38rem);
}

.chef-page__timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-8);
}

.chef-page__timeline::before {
  content: "";
  position: absolute;
  top: 2.2rem;
  right: 8%;
  left: 8%;
  height: 2px;
  transform: rotate(-2deg);
  transform-origin: center;
  background: var(--gradient-signal);
  opacity: 0.75;
}

.chef-page__timeline-stop {
  position: relative;
  z-index: 1;
  min-width: 0;
  width: 100%;
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-raised);
}

.chef-page__timeline-stop h3 {
  font-size: var(--text-lead);
  line-height: var(--line-lead);
}

.chef-page__timeline-stop p:not(.meta) {
  max-width: 20.625rem;
}

.chef-page__timeline-stop--dinner {
  margin-block-start: var(--space-6);
  background: var(--surface-panel);
  box-shadow: var(--shadow-panel);
}

.chef-page__timeline-stop--lounge {
  margin-block-start: var(--space-3);
}

.chef-page__plating-wrap {
  position: relative;
  min-width: 0;
}

.chef-page__plating-image {
  width: 100%;
  min-height: 43rem;
}

.chef-page__plating-image img {
  width: 100%;
  height: 43rem;
  object-fit: cover;
  object-position: 38% center;
}

.chef-page__plating-copy {
  position: absolute;
  right: var(--space-6);
  bottom: var(--space-6);
  width: min(100% - var(--space-10), 37.5rem);
  min-width: 0;
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: rgba(9, 7, 15, 0.88);
  box-shadow: var(--shadow-glow);
}

.chef-page__plating-copy p {
  max-width: 25rem;
}

.chef-page__occasions-heading {
  width: min(100%, 38rem);
}

.chef-page__occasion-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: var(--space-6);
  margin-block-start: var(--space-7);
}

.chef-page__occasion {
  min-width: 0;
  width: 100%;
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
}

.chef-page__occasion--shared {
  background: rgba(17, 12, 29, 0.72);
}

.chef-page__occasion--private {
  border-top: 2px solid var(--color-magenta-500);
  background: var(--surface-panel);
}

.chef-page__occasion p,
.chef-page__occasion ul {
  max-width: 28.125rem;
}

.chef-page__occasion .button {
  margin-block-start: var(--space-2);
}

.chef-page__lounge-grid {
  align-items: center;
}

.chef-page__lounge-copy {
  max-width: 31.25rem;
}

.chef-page__lounge-copy > p:not(.eyebrow) {
  max-width: 31.25rem;
}

.chef-page__lounge-note {
  max-width: 22.5rem;
  color: var(--color-mist-300);
  font-size: var(--text-small);
  line-height: var(--line-small);
}

.chef-page__lounge-media {
  position: relative;
}

.chef-page__lounge-image {
  min-height: 31rem;
}

.chef-page__lounge-image img {
  width: 100%;
  height: 31rem;
  object-fit: cover;
  object-position: 60% center;
}

.chef-page__lounge-caption {
  position: absolute;
  bottom: var(--space-5);
  left: var(--space-5);
  width: min(100% - var(--space-10), 23.75rem);
  min-width: 0;
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: rgba(9, 7, 15, 0.88);
}

.chef-page__lounge-caption h3 {
  font-size: var(--text-lead);
  line-height: var(--line-lead);
}

.chef-page__menu-panel,
.chef-page__private-panel,
.chef-page__final-panel {
  display: grid;
  min-width: 0;
}

.chef-page__menu-panel {
  grid-template-columns: minmax(0, 6fr) minmax(0, 3fr);
  width: calc((100% / 12) * 9);
  margin-inline-start: auto;
  padding: var(--space-7);
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  background: var(--surface-glass);
  box-shadow: var(--shadow-panel);
}

.chef-page__menu-panel-copy,
.chef-page__menu-panel-space,
.chef-page__private-copy,
.chef-page__private-space,
.chef-page__final-copy,
.chef-page__final-space {
  min-width: 0;
  width: 100%;
}

.chef-page__menu-panel-copy {
  max-width: 36.875rem;
}

.chef-page__menu-panel-copy p {
  max-width: 30rem;
}

.chef-page__menu-panel-space {
  background: radial-gradient(circle at 75% 20%, rgba(240, 46, 174, 0.2), transparent 48%), radial-gradient(circle at 90% 75%, rgba(123, 77, 255, 0.18), transparent 54%);
}

.chef-page__private-panel {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  min-height: 22rem;
  border-inline-start: 2px solid var(--color-magenta-500);
  background: linear-gradient(90deg, rgba(36, 20, 61, 0.55), rgba(17, 12, 29, 0.16));
}

.chef-page__private-copy {
  grid-column: 1 / span 6;
  padding: var(--space-6) 0 var(--space-6) var(--space-6);
  max-width: 31.25rem;
}

.chef-page__private-space {
  grid-column: 7 / span 6;
  background: linear-gradient(130deg, transparent 25%, rgba(53, 32, 82, 0.3) 100%);
}

.chef-page__final {
  padding-block-start: var(--space-9);
}

.chef-page__final-panel {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  overflow: hidden;
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  background: var(--surface-raised);
}

.chef-page__final-copy {
  padding: var(--space-7);
  max-width: 38.75rem;
}

.chef-page__final-copy p {
  max-width: 32.5rem;
}

.chef-page__final-space {
  position: relative;
  background: linear-gradient(145deg, rgba(36, 20, 61, 0.14), rgba(53, 32, 82, 0.58));
}

.chef-page__final-space::after {
  content: "";
  position: absolute;
  top: 16%;
  right: 18%;
  bottom: 16%;
  width: 2px;
  background: var(--gradient-signal);
  box-shadow: var(--shadow-glow);
}

@media (max-width: 62rem) {
  .chef-page__hero-grid,
  .chef-page__lounge-grid,
  .chef-page__course--opening,
  .chef-page__course--sweet {
    grid-template-columns: 1fr;
  }

  .chef-page__hero-copy,
  .chef-page__lounge-copy {
    max-width: 35rem;
  }

  .chef-page__hero-media,
  .chef-page__hero-media img {
    min-height: 30rem;
  }

  .chef-page__course--opening .chef-page__course-image,
  .chef-page__course-copy--overlay,
  .chef-page__course-copy--sweet,
  .chef-page__course--sweet .chef-page__course-image {
    grid-column: 1;
    grid-row: auto;
  }

  .chef-page__course-copy--overlay {
    margin: 0;
    padding: var(--space-5);
    border-radius: 0 0 var(--radius-card) var(--radius-card);
    background: var(--surface-panel);
    backdrop-filter: none;
  }

  .chef-page__course--opening .chef-page__course-image,
  .chef-page__course--opening .chef-page__course-image img {
    min-height: 24rem;
    height: 24rem;
  }

  .chef-page__course--layered {
    grid-template-columns: minmax(0, 5fr) minmax(0, 3fr);
  }

  .chef-page__course-copy--panel {
    grid-column: 1;
  }

  .chef-page__course-image--detail {
    grid-column: 2;
  }

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

  .chef-page__timeline-stop--lounge {
    grid-column: 1 / span 2;
    width: calc(50% - (var(--space-5) / 2));
    margin-inline-start: auto;
  }

  .chef-page__plating-copy {
    position: static;
    width: 100%;
    margin-block-start: var(--space-4);
    box-shadow: none;
  }

  .chef-page__plating-image,
  .chef-page__plating-image img {
    min-height: 32rem;
    height: 32rem;
  }

  .chef-page__occasion-grid {
    grid-template-columns: 1fr;
  }

  .chef-page__menu-panel {
    width: 100%;
    grid-template-columns: 1fr;
  }

  .chef-page__menu-panel-space {
    min-height: 4rem;
  }

  .chef-page__private-copy {
    grid-column: 1 / span 8;
  }

  .chef-page__private-space {
    grid-column: 9 / span 4;
  }

  .chef-page__final-copy {
    padding: var(--space-6);
  }
}

@media (max-width: 53.75rem) {
  .chef-page__section {
    padding-block: var(--space-8);
  }

  .chef-page__hero {
    padding-block: var(--space-7) var(--space-8);
  }

  .chef-page__hero-copy h1 {
    max-width: 10ch;
  }

  .chef-page__hero-media,
  .chef-page__hero-media img,
  .chef-page__lounge-image,
  .chef-page__lounge-image img {
    min-height: 0;
    height: auto;
    aspect-ratio: 4 / 3;
  }

  .chef-page__hero-media img {
    object-position: 64% center;
  }

  .chef-page__principles {
    grid-template-columns: 1fr;
    gap: var(--space-4);
    margin-block-start: var(--space-6);
  }

  .chef-page__principle--one,
  .chef-page__principle--two,
  .chef-page__principle--three {
    grid-column: 1;
    grid-row: auto;
    max-width: none;
    margin-block-start: 0;
    padding: var(--space-5);
    border: var(--border-subtle);
    border-inline-start: 2px solid var(--color-magenta-500);
    border-radius: var(--radius-card);
    background: var(--surface-panel);
  }

  .chef-page__course {
    margin-block-start: var(--space-6);
  }

  .chef-page__course--layered {
    grid-template-columns: 1fr;
  }

  .chef-page__course-copy--panel,
  .chef-page__course-image--detail {
    grid-column: 1;
  }

  .chef-page__course-image,
  .chef-page__course--opening .chef-page__course-image,
  .chef-page__course--sweet .chef-page__course-image,
  .chef-page__course-image--detail,
  .chef-page__course-image img,
  .chef-page__course--opening .chef-page__course-image img,
  .chef-page__course--sweet .chef-page__course-image img,
  .chef-page__course-image--detail img {
    min-height: 0;
    height: auto;
    aspect-ratio: 4 / 3;
  }

  .chef-page__course-copy--panel,
  .chef-page__course-copy--sweet {
    max-width: none;
    padding: var(--space-5);
    border: var(--border-subtle);
    border-inline-start: 2px solid var(--color-magenta-500);
    border-radius: var(--radius-card);
    background: var(--surface-panel);
  }

  .chef-page__timeline {
    grid-template-columns: 1fr;
    gap: var(--space-4);
    padding-inline-start: var(--space-5);
  }

  .chef-page__timeline::before {
    top: var(--space-4);
    bottom: var(--space-4);
    left: 0.5rem;
    width: 2px;
    height: auto;
    transform: none;
  }

  .chef-page__timeline-stop,
  .chef-page__timeline-stop--dinner,
  .chef-page__timeline-stop--lounge {
    grid-column: 1;
    width: 100%;
    margin-block-start: 0;
  }

  .chef-page__plating-image,
  .chef-page__plating-image img {
    min-height: 0;
    height: auto;
    aspect-ratio: 4 / 3;
  }

  .chef-page__plating-copy {
    padding: var(--space-5);
  }

  .chef-page__lounge-caption {
    position: static;
    width: 100%;
    margin-block-start: var(--space-4);
  }

  .chef-page__menu-panel,
  .chef-page__final-panel {
    grid-template-columns: 1fr;
    padding: var(--space-5);
  }

  .chef-page__menu-panel-copy,
  .chef-page__final-copy {
    padding: 0;
  }

  .chef-page__menu-panel-space,
  .chef-page__final-space {
    display: none;
  }

  .chef-page__private-panel {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .chef-page__private-copy,
  .chef-page__private-space {
    grid-column: 1;
  }

  .chef-page__private-copy {
    padding: var(--space-5);
    max-width: none;
  }

  .chef-page__private-space {
    display: none;
  }
}

@media (max-width: 26.25rem) {
  .chef-page__hero-actions .button,
  .chef-page__lounge-copy .button,
  .chef-page__menu-panel-copy .button,
  .chef-page__private-copy .button,
  .chef-page__final-copy .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .chef-page__timeline::before {
    transform: none;
  }
}


.private-events-page {
  overflow: clip;
  background: var(--color-night-950);
}

.private-events-page .section {
  position: relative;
}

.pe-hero {
  padding-block: var(--space-8) var(--space-10);
}

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

.pe-hero__copy,
.pe-hero__media,
.pe-dining__copy,
.pe-dining__media,
.pe-lounge__copy,
.pe-lounge__media,
.pe-contact__intro,
.pe-form-panel {
  min-width: 0;
  width: 100%;
}

.pe-hero__copy {
  grid-column: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

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

.pe-hero__copy h1 {
  max-width: 8.5ch;
}

.pe-hero__copy .lead {
  max-width: 38rem;
}

.pe-hero__copy > p:not(.eyebrow):not(.lead) {
  max-width: 37rem;
}

.pe-hero__media {
  grid-column: 2;
  overflow: hidden;
  min-height: 37.5rem;
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  margin: 0;
  background: var(--surface-panel);
}

.pe-hero__media img,
.pe-dining__media img,
.pe-lounge__media img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.pe-hero__media img {
  object-position: 62% center;
}

.pe-hero__actions {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3);
}

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

.pe-hero__layers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  gap: var(--space-3);
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-magenta-500);
}

.pe-layer {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-1);
}

.pe-layer span {
  color: var(--color-paper-50);
  font-family: var(--font-heading);
  font-size: var(--text-small);
  font-weight: 700;
}

.pe-layer small {
  color: var(--color-mist-300);
}

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

.pe-rhythm__main,
.pe-rhythm__markers,
.pe-rhythm__panel,
.pe-rhythm__closing {
  min-width: 0;
  width: 100%;
}

.pe-rhythm__main {
  grid-column: 1;
  max-width: 43.75rem;
}

.pe-rhythm__markers {
  grid-column: 2;
  display: flex;
  min-height: 13rem;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  padding-inline-start: var(--space-4);
  border-inline-start: 1px solid rgba(240, 46, 174, 0.62);
  color: var(--color-magenta-500);
  font-family: var(--font-heading);
  font-size: var(--text-card-title);
  font-weight: 700;
}

.pe-rhythm__panel {
  grid-column: 3;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
}

.pe-rhythm__panel > * {
  margin: 0;
}

.pe-rhythm__panel p:not(.eyebrow) {
  max-width: 33.75rem;
}

.pe-rhythm__closing {
  grid-column: 2 / 4;
  justify-self: end;
  max-width: 32.5rem;
  padding-block-start: var(--space-5);
  text-align: right;
}

.pe-rhythm__closing .lead {
  margin: 0;
}

.pe-rhythm::after {
  position: absolute;
  right: 8%;
  bottom: 10%;
  width: 12rem;
  height: 1px;
  transform: rotate(-18deg);
  background: var(--gradient-signal);
  content: "";
}

.pe-route__heading {
  max-width: 38.75rem;
}

.pe-route__cards {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 4fr);
  gap: var(--space-5);
  align-items: end;
  margin-block-start: var(--space-7);
}

.pe-route-card {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  justify-content: flex-end;
  gap: var(--space-4);
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: rgba(36, 20, 61, 0.54);
}

.pe-route-card > * {
  margin: 0;
}

.pe-route-card p:not(.meta) {
  max-width: 34ch;
}

.pe-route-card--arrival {
  grid-column: 1;
  min-height: 22rem;
}

.pe-route-card--dinner {
  grid-column: 2;
  min-height: 28rem;
  transform: translateY(calc(var(--space-6) * -1));
  background: var(--surface-panel);
  box-shadow: var(--shadow-panel);
}

.pe-route-card--lounge {
  grid-column: 3;
  min-height: 25rem;
  border-top-color: var(--color-magenta-500);
}

.pe-dining__grid {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}

.pe-dining__copy {
  grid-column: 1;
}

.pe-dining__copy > p:not(.eyebrow) {
  max-width: 41.25rem;
}

.pe-dining__media {
  grid-column: 2;
  position: relative;
  min-height: 31rem;
  margin: 0;
  overflow: hidden;
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  background: var(--surface-panel);
}

.pe-dining__media img {
  position: absolute;
  inset: 0;
  object-position: center;
}

.pe-dining__media figcaption {
  position: absolute;
  right: var(--space-4);
  bottom: var(--space-4);
  left: var(--space-4);
  max-width: 27.5rem;
  padding: var(--space-4);
  border: var(--border-subtle);
  border-radius: var(--radius-control);
  background: rgba(9, 7, 15, 0.84);
  color: var(--color-paper-50);
  font-size: var(--text-lead);
  line-height: var(--line-lead);
}

.pe-dining__links {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-block-start: var(--space-5);
}

.pe-dining__links > a {
  display: inline-flex;
  min-width: 0;
  min-height: 3rem;
  align-items: center;
  padding-inline: var(--space-4);
  border: var(--border-subtle);
  border-radius: var(--radius-control);
}

.pe-lounge__grid {
  gap: var(--space-7);
}

.pe-lounge__media {
  grid-column: 1;
  min-height: 36rem;
  overflow: hidden;
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  margin: 0;
  background: var(--surface-panel);
}

.pe-lounge__media img {
  object-position: 36% center;
}

.pe-lounge__copy {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.pe-lounge__copy > * {
  min-width: 0;
  margin: 0;
}

.pe-lounge__copy > p:not(.eyebrow) {
  max-width: 38.75rem;
}

.pe-lounge__details {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: min(100%, 23.75rem);
  margin-block: var(--space-2);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  background: var(--surface-panel);
}

.pe-lounge__details > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-1);
  padding: var(--space-4);
}

.pe-lounge__details > div + div {
  border-top: var(--border-subtle);
}

.pe-lounge__details strong,
.pe-lounge__details span {
  min-width: 0;
}

.pe-lounge__details span {
  color: var(--color-mist-300);
  font-size: var(--text-small);
  line-height: var(--line-small);
}

.pe-lounge__closing {
  max-width: 28.75rem;
  padding-block-start: var(--space-4);
}

.pe-lounge__closing .lead {
  margin: var(--space-2) 0 0;
}

.pe-occasions__heading {
  max-width: 38.75rem;
}

.pe-occasions__heading > p:not(.eyebrow) {
  max-width: 37rem;
}

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

.pe-occasion-card {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: rgba(36, 20, 61, 0.52);
}

.pe-occasion-card > * {
  margin: 0;
}

.pe-occasion-card p {
  max-width: 36ch;
}

.pe-occasion-card--personal {
  grid-column: 1;
}

.pe-occasion-card--business {
  grid-column: 2;
  margin-block-start: var(--space-6);
  background: var(--surface-panel);
  box-shadow: var(--shadow-panel);
}

.pe-occasion-card--individual {
  grid-column: 3;
  margin-block-start: calc(var(--space-4) * -1);
  border-top-color: var(--color-magenta-500);
}

.pe-process__layout {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  gap: var(--space-5);
}

.pe-process__content,
.pe-process__space {
  min-width: 0;
  width: 100%;
}

.pe-process__content {
  grid-column: 1;
}

.pe-process__steps {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
  margin-block-start: var(--space-7);
  padding-inline-start: var(--space-5);
  border-inline-start: 1px solid transparent;
  border-image: var(--gradient-signal) 1;
}

.pe-step {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 7fr);
  gap: var(--space-5);
  align-items: start;
  width: 100%;
  min-width: 0;
}

.pe-step__number,
.pe-step__copy {
  min-width: 0;
  width: 100%;
}

.pe-step__number {
  color: var(--color-magenta-500);
  font-family: var(--font-heading);
  font-size: var(--text-card-title);
  font-weight: 700;
  line-height: 1;
}

.pe-step__number--end {
  color: var(--color-success-neutral);
}

.pe-step__copy {
  max-width: 37.5rem;
}

.pe-process__space {
  grid-column: 2;
}

.pe-location__layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: stretch;
}

.pe-location__panel,
.pe-location__glow {
  min-width: 0;
  width: 100%;
}

.pe-location__panel {
  grid-column: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-7);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
}

.pe-location__panel > * {
  margin: 0;
}

.pe-location__panel > p:not(.eyebrow):not(.pe-location__note) {
  max-width: 35rem;
}

.pe-location__panel address {
  max-width: 40rem;
  color: var(--color-paper-50);
  font-family: var(--font-heading);
  font-size: var(--text-lead);
  font-style: normal;
  line-height: var(--line-lead);
}

.pe-location__link {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  gap: var(--space-2);
  padding-inline: var(--space-4);
  border: var(--border-subtle);
  border-radius: var(--radius-control);
}

.pe-location__note {
  max-width: 34rem;
  padding-inline-start: var(--space-3);
  border-inline-start: 2px solid var(--color-success-neutral);
  color: var(--color-success-neutral);
}

.pe-location__glow {
  grid-column: 2;
  background: radial-gradient(circle at 32% 52%, rgba(240, 46, 174, 0.17), transparent 16rem), radial-gradient(circle at 62% 60%, rgba(123, 77, 255, 0.16), transparent 20rem);
}

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

.pe-contact__intro {
  grid-column: 1;
  position: sticky;
  top: var(--space-6);
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-magenta-500);
}

.pe-contact__intro .lead {
  max-width: 31.25rem;
}

.pe-contact__intro > p:not(.eyebrow):not(.lead) {
  max-width: 30rem;
}

.pe-form-panel {
  grid-column: 2;
  padding: var(--space-6);
  border: 1px solid rgba(240, 46, 174, 0.42);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
  box-shadow: var(--shadow-panel), 0 0 28px rgba(240, 46, 174, 0.1);
}

.pe-form,
.pe-form__heading,
.pe-form__actions,
.pe-form-panel__alternative {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

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

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

.pe-form__heading > * {
  margin: 0;
}

.pe-form__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.pe-field {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
}

.pe-field--half {
  grid-column: span 1;
}

.pe-field--full {
  grid-column: 1 / -1;
}

.pe-field label {
  min-width: 0;
}

.pe-field input,
.pe-field textarea {
  min-width: 0;
}

.pe-field textarea {
  min-height: 9rem;
}

.pe-optional {
  color: var(--color-mist-300);
  font-weight: 400;
}

.pe-error {
  min-height: 1.25rem;
  margin: var(--space-1) 0 0;
  color: #ffb7df;
  font-size: var(--text-small);
  line-height: var(--line-small);
}

.pe-field.is-invalid input,
.pe-field.is-invalid textarea {
  border-color: #ffb7df;
}

.pe-form__actions {
  align-items: flex-start;
  gap: var(--space-3);
}

.pe-form__status {
  min-height: 1.625rem;
  margin: 0;
  color: var(--color-success-neutral);
}

.pe-form__status.is-error {
  color: #ffb7df;
}

.pe-form-panel__alternative {
  gap: var(--space-2);
  margin-block-start: var(--space-5);
  padding-block-start: var(--space-5);
  border-top: var(--border-subtle);
}

.pe-form-panel__alternative p {
  margin: 0;
}

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

.pe-final__layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  overflow: hidden;
  min-height: 22rem;
  align-items: center;
}

.pe-final__copy,
.pe-final__signal {
  min-width: 0;
  width: 100%;
}

.pe-final__copy {
  grid-column: 1;
  position: relative;
  z-index: 1;
  max-width: 40.625rem;
}

.pe-final__copy > p:not(.eyebrow) {
  max-width: 31.25rem;
}

.pe-final__signal {
  grid-column: 2;
  position: absolute;
  inset: 0 0 0 auto;
  width: 42%;
  background: radial-gradient(circle at 70% 50%, rgba(240, 46, 174, 0.18), transparent 12rem), radial-gradient(circle at 50% 55%, rgba(123, 77, 255, 0.2), transparent 18rem);
}

.pe-final__signal::before,
.pe-final__signal::after {
  position: absolute;
  border: 1px solid var(--color-magenta-500);
  content: "";
}

.pe-final__signal::before {
  top: 24%;
  right: 18%;
  width: 8rem;
  height: 12rem;
  border-left: 0;
  border-radius: 0 8rem 8rem 0;
  opacity: 0.72;
}

.pe-final__signal::after {
  top: 35%;
  right: 28%;
  width: 6rem;
  height: 8rem;
  border-right: 0;
  border-color: var(--color-violet-500);
  border-radius: 8rem 0 0 8rem;
  opacity: 0.68;
}

.private-events-page a:focus-visible,
.private-events-page button:focus-visible,
.private-events-page input:focus-visible,
.private-events-page textarea:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-offset);
}

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

  .pe-hero__media {
    min-height: 31rem;
  }
}

@media (max-width: 63.99rem) {
  .pe-lounge__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .pe-lounge__media {
    grid-column: 1;
    min-height: 25rem;
  }

  .pe-lounge__copy {
    grid-column: 1;
    width: min(100%, 43.75rem);
    margin-inline: auto;
  }

  .pe-lounge__details {
    width: min(100%, 30rem);
  }
}

@media (max-width: 61.24rem) {
  .pe-rhythm__grid {
    grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  }

  .pe-rhythm__main {
    grid-column: 1;
  }

  .pe-rhythm__markers {
    grid-column: 1 / -1;
    display: flex;
    min-height: 0;
    flex-direction: row;
    justify-content: flex-start;
    gap: var(--space-5);
    padding: 0 0 var(--space-3);
    border-inline-start: 0;
    border-bottom: 1px solid rgba(240, 46, 174, 0.62);
  }

  .pe-rhythm__panel {
    grid-column: 1;
    width: min(100%, 43.75rem);
  }

  .pe-rhythm__closing {
    grid-column: 1 / -1;
  }
}

@media (max-width: 59.37rem) {
  .pe-dining__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .pe-dining__media {
    grid-column: 1;
    grid-row: 1;
    min-height: 27rem;
  }

  .pe-dining__copy {
    grid-column: 2;
  }
}

@media (max-width: 57.49rem) {
  .pe-occasions__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pe-occasion-card--personal {
    grid-column: 1;
  }

  .pe-occasion-card--business {
    grid-column: 2;
  }

  .pe-occasion-card--individual {
    grid-column: 1 / -1;
    margin-block-start: 0;
  }

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

  .pe-contact__intro {
    grid-column: 1;
    position: static;
  }

  .pe-form-panel {
    grid-column: 1;
    width: min(100%, 40rem);
    margin-inline: auto;
  }
}

@media (max-width: 52.49rem) {
  .pe-process__layout {
    grid-template-columns: minmax(0, 10fr) minmax(0, 2fr);
  }

  .pe-process__content {
    grid-column: 1;
  }

  .pe-process__space {
    grid-column: 2;
  }

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

  .pe-location__panel {
    grid-column: 1;
    width: min(100%, 62.5rem);
    margin-inline: auto;
  }

  .pe-location__glow {
    display: none;
  }
}

@media (max-width: 47.99rem) {
  .pe-hero {
    padding-block: var(--space-6) var(--space-8);
  }

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

  .pe-hero__media {
    grid-column: 1;
    grid-row: 1;
    min-height: 0;
    aspect-ratio: 4 / 3;
    border-radius: var(--radius-card);
  }

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

  .pe-hero__copy h1 {
    max-width: 8.75ch;
    font-size: clamp(2.5rem, 12vw, 4rem);
  }

  .pe-hero__copy .lead,
  .pe-hero__copy > p:not(.eyebrow):not(.lead) {
    max-width: none;
  }

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

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

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

  .pe-rhythm__main,
  .pe-rhythm__markers,
  .pe-rhythm__panel,
  .pe-rhythm__closing {
    grid-column: 1;
  }

  .pe-rhythm__main,
  .pe-rhythm__panel,
  .pe-rhythm__closing {
    max-width: none;
  }

  .pe-rhythm__closing {
    justify-self: stretch;
    padding-block-start: 0;
    text-align: left;
  }

  .pe-rhythm::after {
    opacity: 0.6;
  }

  .pe-route__cards {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
    margin-block-start: var(--space-5);
  }

  .pe-route-card--arrival,
  .pe-route-card--dinner,
  .pe-route-card--lounge {
    grid-column: 1;
    min-height: 0;
    transform: none;
  }

  .pe-route-card {
    padding: var(--space-5);
  }

  .pe-dining__media {
    grid-column: 1;
    grid-row: 1;
    min-height: 0;
    aspect-ratio: 4 / 3;
    border-radius: var(--radius-card);
  }

  .pe-dining__copy {
    grid-column: 1;
    grid-row: 2;
  }

  .pe-dining__copy > p:not(.eyebrow) {
    max-width: none;
  }

  .pe-dining__media figcaption {
    right: var(--space-3);
    bottom: var(--space-3);
    left: var(--space-3);
    font-size: var(--text-body);
    line-height: var(--line-body);
  }

  .pe-dining__links {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .pe-dining__links > a {
    width: 100%;
  }

  .pe-lounge__media {
    min-height: 0;
    aspect-ratio: 4 / 3;
    border-radius: var(--radius-card);
  }

  .pe-lounge__copy {
    width: 100%;
    margin-inline: 0;
  }

  .pe-lounge__copy > p:not(.eyebrow),
  .pe-lounge__details,
  .pe-lounge__closing {
    max-width: none;
    width: 100%;
  }

  .pe-occasions__cards {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
    margin-block-start: var(--space-5);
  }

  .pe-occasion-card--personal,
  .pe-occasion-card--business,
  .pe-occasion-card--individual {
    grid-column: 1;
    margin-block-start: 0;
  }

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

  .pe-process__content {
    grid-column: 1;
  }

  .pe-process__space {
    display: none;
  }

  .pe-process__steps {
    gap: var(--space-6);
    margin-block-start: var(--space-5);
    padding-inline-start: var(--space-4);
  }

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

  .pe-step__copy {
    max-width: 42ch;
  }

  .pe-step__number {
    font-size: var(--text-meta);
    letter-spacing: 0.1em;
  }

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

  .pe-location__panel > p:not(.eyebrow):not(.pe-location__note),
  .pe-location__panel address,
  .pe-location__note {
    max-width: none;
  }

  .pe-location__link {
    width: 100%;
  }

  .pe-form-panel {
    width: 100%;
    padding: var(--space-5);
  }

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

  .pe-field--half,
  .pe-field--full {
    grid-column: 1;
  }

  .pe-form__actions .button {
    width: 100%;
  }

  .pe-final__layout {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    padding-block: var(--space-7);
  }

  .pe-final__copy {
    grid-column: 1;
    max-width: none;
  }

  .pe-final__copy h2 {
    font-size: clamp(2rem, 9vw, 2.75rem);
  }

  .pe-final__copy > p:not(.eyebrow) {
    max-width: none;
  }

  .pe-final__copy .button {
    width: 100%;
  }

  .pe-final__signal {
    grid-column: 1;
    width: 55%;
    opacity: 0.62;
  }
}

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


.tables-page {
  overflow: clip;
  background: var(--surface-base);
}

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

.tables-page .eyebrow {
  margin-block-end: var(--space-4);
}

.tables-hero {
  padding-block: var(--space-9) var(--space-10);
}

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

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

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

.tables-hero__copy h1 {
  max-width: 10.5em;
}

.tables-hero__copy h1 span {
  position: relative;
  display: inline-block;
}

.tables-hero__copy h1 span::after {
  position: absolute;
  right: 0;
  bottom: -0.14em;
  left: 0.04em;
  height: 0.08em;
  content: "";
  background: var(--gradient-signal);
  box-shadow: var(--shadow-glow);
}

.tables-hero__copy .lead {
  max-width: 34ch;
}

.tables-hero__cta {
  flex: 0 0 auto;
  width: auto;
}

.tables-hero__media {
  width: 100%;
  min-width: 0;
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-feature);
}

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

.tables-journey__intro {
  width: min(100%, 37.5rem);
}

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

.tables-journey__steps::before {
  position: absolute;
  z-index: 0;
  top: 1.2rem;
  right: 8%;
  left: 8%;
  height: 1px;
  transform: rotate(-2deg);
  content: "";
  pointer-events: none;
  background: linear-gradient(90deg, transparent, var(--color-violet-500), var(--color-magenta-500), transparent);
  opacity: 0.72;
}

.tables-journey__step {
  position: relative;
  z-index: 1;
  min-width: 0;
  max-width: 30ch;
  padding-block-start: var(--space-5);
}

.tables-journey__step--lower {
  margin-block-start: var(--space-7);
}

.tables-journey__step--accent {
  margin-block-start: var(--space-3);
}

.tables-journey__number {
  margin-block: 0 var(--space-4);
  color: var(--color-magenta-500);
  font-family: var(--font-heading);
  font-size: var(--text-small);
  font-weight: 700;
  letter-spacing: 0.1em;
}

.tables-journey__step h3 {
  margin-block-end: var(--space-3);
}

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

.tables-feature__media {
  width: 100%;
  min-width: 0;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-feature);
  transition: border-color var(--transition-standard);
}

.tables-feature__media:hover {
  border-color: rgba(240, 46, 174, 0.56);
}

.tables-feature__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.tables-feature__copy {
  min-width: 0;
  max-width: 35rem;
}

.tables-feature__copy > p:not(.eyebrow) {
  max-width: 34ch;
}

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

.tables-feature__detail {
  min-width: 0;
  max-width: 42ch;
  padding-block-start: var(--space-4);
  border-top: var(--border-subtle);
}

.tables-feature__detail .meta {
  margin-block-end: var(--space-2);
}

.tables-feature__detail--accent {
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-magenta-500);
}

.tables-roulette__panel {
  position: relative;
  width: calc(100% - 16.6667%);
  min-width: 0;
  margin-inline-start: 8.3333%;
  padding: var(--space-8);
  overflow: hidden;
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
  box-shadow: var(--shadow-panel);
}

.tables-roulette__arc {
  position: absolute;
  top: -14rem;
  right: -9rem;
  width: 27rem;
  height: 27rem;
  border: 1px solid rgba(123, 77, 255, 0.4);
  border-radius: 50%;
  box-shadow: inset 0 0 0 2rem rgba(240, 46, 174, 0.025), 0 0 8rem rgba(123, 77, 255, 0.1);
  pointer-events: none;
}

.tables-roulette__intro {
  position: relative;
  max-width: 40rem;
}

.tables-roulette__details {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  margin-block-start: var(--space-7);
}

.tables-roulette__detail {
  min-width: 0;
  max-width: 32ch;
  padding-block-start: var(--space-4);
  border-top: var(--border-subtle);
}

.tables-roulette__detail--violet h3::before {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  margin-inline-end: var(--space-2);
  border-radius: 50%;
  content: "";
  background: var(--color-violet-500);
}

.tables-blackjack__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) minmax(0, 5fr);
  align-items: start;
}

.tables-blackjack__copy {
  min-width: 0;
  max-width: 31.25rem;
}

.tables-blackjack__copy > p:not(.eyebrow):not(.tables-blackjack__quote) {
  max-width: 34ch;
}

.tables-blackjack__gate {
  position: relative;
  min-width: 0;
  min-height: 100%;
}

.tables-blackjack__gate::before {
  position: absolute;
  top: 4rem;
  left: 50%;
  width: 1px;
  height: 12rem;
  transform: rotate(14deg);
  transform-origin: top;
  content: "";
  background: var(--gradient-signal);
  opacity: 0.7;
}

.tables-blackjack__media {
  width: 100%;
  min-width: 0;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-feature);
  transition: border-color var(--transition-standard);
}

.tables-blackjack__media:hover {
  border-color: rgba(240, 46, 174, 0.56);
}

.tables-blackjack__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.tables-blackjack__near {
  min-width: 0;
  max-width: 34ch;
  margin-block-start: var(--space-5);
  padding-block-start: var(--space-5);
  border-top: var(--border-subtle);
}

.tables-blackjack__near .meta {
  margin-block-end: var(--space-2);
}

.tables-blackjack__quote {
  max-width: 34ch;
  margin-block: var(--space-6) 0;
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-magenta-500);
  color: var(--color-mist-300);
  font-family: var(--font-heading);
  font-size: var(--text-lead);
  line-height: var(--line-lead);
}

.tables-space__shell {
  position: relative;
  min-height: 38.75rem;
  overflow: hidden;
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  background: var(--color-night-900);
}

.tables-space__media {
  position: absolute;
  inset: 0;
  margin: 0;
}

.tables-space__media::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(9, 7, 15, 0.94) 0%, rgba(9, 7, 15, 0.72) 42%, rgba(9, 7, 15, 0.2) 82%, rgba(9, 7, 15, 0.5) 100%);
}

.tables-space__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.tables-space__panel {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 38.75rem;
  width: 58.3333%;
  flex-direction: column;
  justify-content: flex-end;
  gap: var(--space-7);
  padding: var(--space-8);
  background: rgba(17, 12, 29, 0.78);
}

.tables-space__intro {
  max-width: 37.5rem;
}

.tables-space__details {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.tables-space__detail {
  min-width: 0;
  max-width: 32ch;
  padding-block-start: var(--space-3);
  border-top: var(--border-subtle);
}

.tables-space__detail .meta {
  margin-block-end: var(--space-2);
}

.tables-space__detail--accent {
  border-top-color: var(--color-magenta-500);
}

.tables-guidelines__intro {
  width: min(100%, 38.75rem);
}

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

.tables-guidelines__card {
  min-width: 0;
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
  transition: border-color var(--transition-standard), background-color var(--transition-standard);
}

.tables-guidelines__card:hover {
  border-color: rgba(240, 46, 174, 0.58);
  background: var(--surface-panel-raised);
}

.tables-guidelines__card--first {
  position: relative;
}

.tables-guidelines__card--first::before {
  position: absolute;
  z-index: -1;
  top: -1.5rem;
  left: -1.5rem;
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  content: "";
  background: rgba(240, 46, 174, 0.12);
  filter: blur(24px);
}

.tables-guidelines__card--second {
  margin-block-start: var(--space-6);
}

.tables-guidelines__card--third {
  margin-block-start: var(--space-3);
}

.tables-guidelines__card h3 {
  font-size: clamp(1.35rem, 2vw, 1.65rem);
}

.tables-guidelines__card p {
  max-width: 36ch;
}

.tables-guidelines__link {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  margin-block-start: var(--space-2);
  color: var(--color-paper-50);
  font-size: var(--text-small);
  font-weight: 600;
}

.tables-guidelines__link span {
  margin-inline-start: var(--space-2);
}

.tables-private__panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(15rem, 4fr);
  gap: var(--space-7);
  min-width: 0;
  padding: var(--space-7);
  overflow: hidden;
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
  box-shadow: var(--shadow-panel);
}

.tables-private__main,
.tables-private__meta {
  position: relative;
  min-width: 0;
}

.tables-private__main {
  max-width: 35rem;
}

.tables-private__main > p:not(.eyebrow) {
  max-width: 35ch;
}

.tables-private__cta {
  margin-block-start: var(--space-2);
}

.tables-private__meta {
  align-self: center;
  max-width: 16.25rem;
  padding-inline-start: var(--space-5);
  border-inline-start: var(--border-subtle);
}

.tables-private__meta .meta {
  margin-block-end: var(--space-3);
}

.tables-private__signal {
  position: absolute;
  top: var(--space-6);
  right: var(--space-6);
  width: 3px;
  height: 9rem;
  background: var(--gradient-signal);
  box-shadow: var(--shadow-glow);
}

.tables-explore__intro {
  width: min(100%, 32.5rem);
}

.tables-explore__links {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr);
  align-items: start;
  gap: var(--space-5);
  margin-block-start: var(--space-7);
}

.tables-explore__card {
  display: flex;
  min-width: 0;
  min-height: 15rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-raised);
  color: var(--color-paper-50);
  text-decoration: none;
  transition: border-color var(--transition-standard), background-color var(--transition-standard);
}

.tables-explore__card:hover {
  border-color: var(--color-magenta-500);
  background: rgba(53, 32, 82, 0.7);
  text-decoration: none;
}

.tables-explore__card--chef {
  min-height: 12rem;
  margin-block-start: var(--space-6);
}

.tables-explore__card--lounge {
  border-top: 2px solid var(--color-magenta-500);
}

.tables-explore__title {
  color: var(--color-paper-50);
  font-family: var(--font-heading);
  font-size: clamp(1.4rem, 2.4vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: var(--line-card-title);
}

.tables-explore__text {
  max-width: 30ch;
  color: var(--color-mist-300);
}

.tables-explore__arrow {
  margin-block-start: auto;
  color: var(--color-magenta-500);
  font-size: 1.5rem;
  line-height: 1;
  transition: transform var(--transition-standard);
}

.tables-explore__card:hover .tables-explore__arrow {
  transform: translateX(4px);
}

.tables-closing__panel {
  position: relative;
  width: calc(100% - 16.6667%);
  min-height: 20rem;
  margin-inline-start: 8.3333%;
  padding: 3.5rem 4rem;
  overflow: hidden;
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
}

.tables-closing__copy {
  position: relative;
  display: flex;
  min-width: 0;
  max-width: 32.5rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.tables-closing__copy .eyebrow,
.tables-closing__copy h2,
.tables-closing__copy p {
  margin: 0;
}

.tables-closing__copy p:not(.eyebrow) {
  max-width: 36ch;
}

.tables-closing__glow {
  position: absolute;
  top: 50%;
  right: -7rem;
  width: 23rem;
  height: 23rem;
  transform: translateY(-50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(240, 46, 174, 0.24) 0%, rgba(123, 77, 255, 0.12) 36%, transparent 70%);
  filter: blur(8px);
  pointer-events: none;
}

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

  .tables-hero__media,
  .tables-feature__media {
    grid-row: 1;
  }

  .tables-hero__copy,
  .tables-feature__copy {
    max-width: none;
  }

  .tables-hero__copy .lead,
  .tables-feature__copy > p:not(.eyebrow) {
    max-width: 38ch;
  }

  .tables-feature__grid .tables-feature__copy {
    grid-row: 2;
  }

  .tables-roulette__panel {
    width: 100%;
    margin-inline-start: 0;
    padding: var(--space-7);
  }

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

  .tables-blackjack__media {
    grid-row: 1;
    aspect-ratio: 4 / 3;
  }

  .tables-blackjack__copy {
    grid-row: 2;
    max-width: none;
  }

  .tables-blackjack__gate {
    display: none;
  }

  .tables-space__shell,
  .tables-space__panel {
    min-height: 0;
  }

  .tables-space__shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .tables-space__media {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border: var(--border-subtle);
    border-radius: var(--radius-feature) var(--radius-feature) 0 0;
  }

  .tables-space__media::after {
    background: linear-gradient(0deg, rgba(9, 7, 15, 0.8), rgba(9, 7, 15, 0.06) 70%);
  }

  .tables-space__panel {
    width: 100%;
    gap: var(--space-6);
    padding: var(--space-7);
    border: var(--border-subtle);
    border-top: 0;
    border-radius: 0 0 var(--radius-feature) var(--radius-feature);
    background: var(--surface-raised);
  }

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

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

  .tables-guidelines__card--third {
    grid-column: 1 / -1;
    width: calc(50% - var(--space-5) / 2);
    margin-block-start: 0;
  }

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

  .tables-private__meta {
    max-width: 35rem;
    padding-block-start: var(--space-5);
    padding-inline-start: 0;
    border-top: var(--border-subtle);
    border-inline-start: 0;
  }

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

  .tables-explore__card--lounge {
    grid-column: 1 / -1;
  }

  .tables-closing__panel {
    width: 100%;
    margin-inline-start: 0;
  }
}

@media (max-width: 56.24rem) {
  .tables-space__details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tables-space__detail--accent {
    grid-column: 1 / -1;
  }
}

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

  .tables-roulette__detail {
    max-width: 38ch;
  }

  .tables-roulette__detail + .tables-roulette__detail {
    padding-block-start: var(--space-5);
  }
}

@media (max-width: 47.99rem) {
  .tables-hero {
    padding-block: var(--space-7) var(--space-9);
  }

  .tables-hero__copy h1 {
    max-width: 10em;
  }

  .tables-hero__media {
    aspect-ratio: 4 / 3;
  }

  .tables-journey__steps {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
    margin-block-start: var(--space-6);
    padding-inline-start: var(--space-5);
  }

  .tables-journey__steps::before {
    top: 0;
    bottom: 0;
    left: 0.45rem;
    width: 1px;
    height: auto;
    transform: none;
    background: linear-gradient(var(--color-violet-500), var(--color-magenta-500), transparent);
  }

  .tables-journey__step,
  .tables-journey__step--lower,
  .tables-journey__step--accent {
    max-width: 38ch;
    margin-block-start: 0;
    padding-block-start: 0;
  }

  .tables-journey__number {
    position: relative;
  }

  .tables-journey__number::before {
    position: absolute;
    top: 0.25rem;
    left: calc(-1 * var(--space-5) + 0.1rem);
    width: 0.75rem;
    height: 0.75rem;
    border: 2px solid var(--color-magenta-500);
    border-radius: 50%;
    content: "";
    background: var(--surface-base);
  }

  .tables-roulette__panel,
  .tables-space__panel,
  .tables-private__panel {
    padding: var(--space-5);
  }

  .tables-roulette__arc {
    top: -9rem;
    right: -8rem;
    width: 19rem;
    height: 19rem;
    opacity: 0.6;
  }

  .tables-space__details,
  .tables-guidelines__cards,
  .tables-explore__links {
    grid-template-columns: minmax(0, 1fr);
  }

  .tables-space__detail--accent,
  .tables-guidelines__card--third,
  .tables-explore__card--lounge {
    grid-column: auto;
    width: 100%;
  }

  .tables-space__detail + .tables-space__detail {
    padding-block-start: var(--space-5);
  }

  .tables-guidelines__cards {
    gap: var(--space-4);
    margin-block-start: var(--space-6);
  }

  .tables-guidelines__card--second,
  .tables-guidelines__card--third,
  .tables-explore__card--chef {
    margin-block-start: 0;
  }

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

  .tables-guidelines__link {
    width: 100%;
  }

  .tables-explore__links {
    gap: var(--space-4);
    margin-block-start: var(--space-6);
  }

  .tables-explore__card,
  .tables-explore__card--chef {
    min-height: 0;
    padding: var(--space-5);
  }

  .tables-closing__panel {
    min-height: 0;
    padding: var(--space-5);
  }

  .tables-closing__glow {
    top: -6rem;
    right: -8rem;
    width: 17rem;
    height: 17rem;
    opacity: 0.6;
  }
}

@media (max-width: 26.25rem) {
  .tables-hero__cta,
  .tables-private__cta,
  .tables-closing__cta {
    width: 100%;
  }
}

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


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

.home-page h1,
.home-page h2 {
  text-shadow: 0 0 20px rgba(240, 46, 174, 0.16);
}

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

.home-text-link {
  display: inline;
  color: var(--color-paper-50);
  font-weight: 600;
  text-decoration-color: rgba(240, 46, 174, 0.8);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.28em;
}

.home-hero {
  min-height: calc(100svh - 5rem);
}

.home-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  min-width: 0;
  min-height: calc(100svh - 5rem);
}

.home-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-5);
  min-width: 0;
  width: min(100%, calc((var(--container-max) / 12) * 5));
  margin-inline: max(var(--container-padding), calc((100vw - var(--container-max)) / 2)) 0;
  padding-block: var(--space-9);
  padding-inline-end: var(--space-6);
}

.home-hero__copy > * { margin: 0; min-width: 0; }
.home-hero__copy h1 { max-width: 10.5ch; }
.home-hero__intro { width: min(100%, 28.75rem); }
.home-hero__intro p + p { margin-block-start: var(--space-4); }
.home-hero__actions { width: min(100%, 29rem); }
.home-hero__visual { position: relative; min-width: 0; overflow: hidden; }
.home-hero__visual::after { content: ""; position: absolute; inset: 0; background: var(--gradient-image-overlay); pointer-events: none; }
.home-hero__visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home-hero__signal { position: absolute; z-index: 1; top: 0; bottom: 0; left: 29%; display: flex; align-items: center; justify-content: center; width: 2.25rem; padding: var(--space-3) 0; background: var(--gradient-signal); color: var(--color-paper-50); font-size: var(--text-meta); font-weight: 700; letter-spacing: .12em; writing-mode: vertical-rl; text-orientation: mixed; }
.home-hero__note { position: absolute; z-index: 2; bottom: var(--space-6); left: calc(-1 * var(--space-6)); width: min(18rem, calc(100% - var(--space-6))); padding: var(--space-4); }
.home-hero__note p { margin: 0; }
.home-hero__note p + p { margin-block-start: var(--space-2); }

.home-rhythm__heading { width: min(100%, 40rem); }
.home-rhythm__heading .lead { max-width: 38rem; }
.home-rhythm__line, .home-tables__signal { width: 100%; height: 3px; margin-block: var(--space-6); background: var(--gradient-signal); }
.home-rhythm__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); align-items: start; min-width: 0; }
.home-rhythm__item { min-width: 0; width: 100%; max-width: 19rem; }
.home-rhythm__item--panel { width: 100%; max-width: none; padding: var(--space-5); border: var(--border-subtle); border-radius: var(--radius-card); background: var(--surface-panel); transform: translateY(var(--space-5)); }
.home-rhythm__item--panel::before { content: ""; display: block; width: 100%; height: 2px; margin-block-end: var(--space-4); background: var(--gradient-signal); }
.home-rhythm__item--lower { justify-self: end; margin-block-start: var(--space-7); }

.home-restaurant__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-7); align-items: center; }
.home-restaurant__figure { position: relative; width: 100%; margin: 0; min-width: 0; }
.home-restaurant__figure img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: left center; }
.home-restaurant__figure figcaption { position: absolute; right: var(--space-3); bottom: var(--space-3); width: min(16rem, calc(100% - var(--space-6))); color: var(--color-paper-50); font-size: var(--text-meta); letter-spacing: .08em; line-height: var(--line-meta); text-transform: uppercase; writing-mode: vertical-rl; }
.home-restaurant__copy { min-width: 0; width: 100%; }
.home-restaurant__copy .lead { max-width: 38rem; }
.home-restaurant__copy > p:not(.eyebrow):not(.lead) { max-width: 40rem; }
.home-restaurant__cta { display: flex; flex-direction: column; gap: var(--space-4); width: min(100%, 27.5rem); margin-block-start: var(--space-5); }
.home-restaurant__cta p { margin: 0; }
.home-restaurant__cta .button { align-self: flex-start; }

.home-chef__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-7); align-items: start; }
.home-chef__main { min-width: 0; width: 100%; }
.home-chef__statement { width: min(100%, 36rem); padding: var(--space-5); border: var(--border-subtle); border-radius: var(--radius-card); background: rgba(248, 245, 255, .04); }
.home-chef__statement > :last-child, .home-chef__panel > :last-child { margin-block-end: 0; }
.home-chef__panel { width: 100%; min-width: 0; margin-block-start: var(--space-8); }
.home-chef__link-wrap { grid-column: 1 / 2; width: min(100%, 36rem); min-width: 0; }
.home-chef__link-wrap p { margin-block-end: var(--space-2); }

.home-lounge__intro { width: min(100%, 31.25rem); margin-block-end: var(--space-6); }
.home-lounge__scene { position: relative; width: 100%; min-width: 0; }
.home-lounge__scene img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: center; }
.home-lounge__scene::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,7,15,.8), rgba(9,7,15,.08) 70%); pointer-events: none; }
.home-lounge__overlay { position: absolute; z-index: 1; top: var(--space-7); left: var(--space-7); width: min(100% - var(--space-10), 31.25rem); }
.home-lounge__overlay > :last-child { margin-block-end: 0; }
.home-lounge__detail { display: flex; gap: var(--space-5); align-items: end; justify-content: space-between; width: min(50%, 40rem); min-width: 0; margin: calc(-1 * var(--space-8)) var(--space-7) 0 auto; position: relative; z-index: 2; }
.home-lounge__detail > * { min-width: 0; }
.home-lounge__detail h3, .home-lounge__detail p { margin: 0; }
.home-lounge__detail p { margin-block-start: var(--space-2); max-width: 32rem; }
.home-lounge__detail .button { flex: 0 0 auto; }

.home-tables__heading { width: min(100%, 38.75rem); }
.home-tables__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.home-tables__item { width: 100%; max-width: 20rem; min-width: 0; }
.home-tables__item--featured { max-width: none; transform: translateY(calc(-1 * var(--space-5))); }
.home-tables__item--featured::before { content: ""; display: block; height: 2px; margin-block-end: var(--space-4); background: var(--gradient-signal); }
.home-tables__item--lower { justify-self: end; margin-block-start: var(--space-5); }
.home-tables__closing { width: 100%; margin-block-start: var(--space-7); padding: var(--space-4) var(--space-5); border-inline-start: 3px solid var(--color-magenta-500); background: rgba(53, 32, 82, .34); }
.home-tables__closing p { width: min(100%, 42.5rem); margin: 0; color: var(--color-paper-50); }

.home-events__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-7); align-items: center; }
.home-events__heading { width: 100%; min-width: 0; }
.home-events__heading .lead { max-width: 24rem; }
.home-events__panel { position: relative; width: 100%; min-width: 0; max-width: 42rem; justify-self: end; padding: var(--space-6); overflow: hidden; }
.home-events__panel::before { content: ""; position: absolute; top: var(--space-5); bottom: var(--space-5); left: 0; width: 3px; background: var(--gradient-signal); }
.home-events__panel > * { position: relative; }
.home-events__panel > p { width: min(100%, 35rem); }
.home-events__action { display: flex; flex-direction: column; gap: var(--space-4); width: min(100%, 26.25rem); margin-block-start: var(--space-5); }
.home-events__action p { margin: 0; }
.home-events__action .button { align-self: flex-start; }

.home-gallery__heading { width: min(100%, 36.25rem); margin-block-end: var(--space-6); }
.home-gallery__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-rows: minmax(0, 1fr) minmax(0, .8fr); gap: var(--space-3); align-items: stretch; }
.home-gallery__text-panel { display: flex; flex-direction: column; justify-content: end; gap: var(--space-4); grid-row: 1 / 3; width: 100%; min-width: 0; min-height: 31rem; padding: var(--space-6); border: var(--border-subtle); border-radius: var(--radius-feature); background: radial-gradient(circle at 22% 18%, rgba(240,46,174,.2), transparent 28%), var(--surface-panel); }
.home-gallery__text-panel > * { margin: 0; }
.home-gallery__text-panel p:last-child { width: min(100%, 20rem); }
.home-gallery__figure { width: 100%; min-width: 0; margin: 0; border: var(--border-subtle); border-radius: var(--radius-card); overflow: hidden; background: var(--surface-panel); }
.home-gallery__figure--lounge { grid-column: 2; grid-row: 1; }
.home-gallery__figure--table { grid-column: 2; grid-row: 2; }
.home-gallery__trigger { display: block; width: 100%; min-width: 0; min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.home-gallery__trigger img { width: 100%; object-fit: cover; transition: transform var(--transition-glow); }
.home-gallery__trigger:hover img { transform: scale(1.035); }
.home-gallery__figure--lounge img { aspect-ratio: 4 / 5; object-position: center; }
.home-gallery__figure--table img { aspect-ratio: 16 / 10; object-position: center; }
.home-gallery__figure figcaption { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-4); font-size: var(--text-small); line-height: var(--line-small); }
.home-gallery__figure figcaption span { color: var(--color-mist-300); }
.home-gallery__figure figcaption .home-text-link { width: fit-content; margin-block-start: var(--space-1); }
.home-gallery__links { width: min(100%, 42rem); margin-block: var(--space-5) 0; }

.home-faq__heading { width: min(100%, 38rem); }
.home-faq__list { width: min(100%, 52.5rem); margin-block-start: var(--space-6); margin-inline-start: calc((100% / 12) * 1); border: var(--border-subtle); border-radius: var(--radius-card); overflow: hidden; background: var(--surface-panel); }
.home-faq__item + .home-faq__item { border-top: var(--border-subtle); }
.home-faq__item h3 { margin: 0; font-size: var(--text-lead); }
.home-faq__item button { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); width: 100%; min-height: 4rem; padding: var(--space-4) var(--space-5); border: 0; border-radius: 0; text-align: left; }
.home-faq__item button span { position: relative; flex: 0 0 1rem; width: 1rem; height: 1rem; }
.home-faq__item button span::before, .home-faq__item button span::after { content: ""; position: absolute; top: 50%; left: 0; width: 1rem; height: 2px; background: var(--color-magenta-500); transform: translateY(-50%); }
.home-faq__item button span::after { transform: translateY(-50%) rotate(90deg); transition: transform var(--transition-fast); }
.home-faq__item.is-open button span::after { transform: translateY(-50%) rotate(0); }
.home-faq__answer { overflow: hidden; background: var(--surface-panel-raised); }
.home-faq__answer p { width: min(100%, 42.5rem); margin: 0; padding: 0 var(--space-5) var(--space-5); }

.home-contact { border-top: 3px solid transparent; border-image: var(--gradient-signal) 1; }
.home-contact__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-7); align-items: center; }
.home-contact__copy { width: 100%; min-width: 0; }
.home-contact__copy .lead { max-width: 33.75rem; }
.home-contact__copy > p:last-child { max-width: 33.75rem; }
.home-contact__panel { display: flex; flex-direction: column; gap: var(--space-5); width: 100%; min-width: 0; padding: var(--space-6); }
.home-contact__panel > * { margin: 0; min-width: 0; }
.home-contact__address { display: block; width: min(100%, 27.5rem); color: var(--color-paper-50); font-size: var(--text-lead); font-weight: 600; line-height: var(--line-lead); overflow-wrap: anywhere; }
.home-contact__data .meta, .home-contact__details .meta { margin: 0 0 var(--space-2); }
.home-contact__details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.home-contact__details > div { min-width: 0; }
.home-contact__details a { display: inline-flex; min-height: 3rem; align-items: center; overflow-wrap: anywhere; }
.home-contact__panel .button { align-self: flex-start; }

.home-lightbox { position: fixed; z-index: 1001; inset: 0; display: grid; place-items: center; padding: var(--space-5); }
.home-lightbox[hidden] { display: none; }
.home-lightbox__backdrop { position: absolute; inset: 0; background: rgba(9,7,15,.92); }
.home-lightbox__dialog { position: relative; z-index: 1; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); width: min(100%, 72rem); max-height: 100%; }
.home-lightbox__figure { width: 100%; margin: 0; }
.home-lightbox__figure img { width: 100%; max-height: calc(100svh - 10rem); object-fit: contain; border: var(--border-subtle); border-radius: var(--radius-card); }
.home-lightbox__figure figcaption { margin-block-start: var(--space-3); color: var(--color-paper-50); text-align: center; }
.home-lightbox__close { position: absolute; top: calc(-1 * var(--space-6)); right: 0; width: 3rem; min-height: 3rem; padding: 0; border: var(--border-subtle); background: var(--surface-raised); font-size: 2rem; line-height: 1; }
.home-lightbox__nav { min-width: 4.5rem; border-color: var(--color-magenta-500); background: rgba(240,46,174,.08); }

@media (max-width: 63.99rem) {
  .home-hero__layout { grid-template-columns: minmax(0, 42fr) minmax(0, 58fr); }
  .home-hero__copy { padding-inline-end: var(--space-5); }
  .home-hero__note { left: var(--space-4); }
  .home-rhythm__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-rhythm__item--lower { justify-self: start; margin-block-start: 0; }
  .home-restaurant__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-5); }
  .home-chef__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .home-chef__main { width: min(100%, 42.5rem); }
  .home-chef__panel { width: min(100%, 42.5rem); margin: 0 0 0 auto; }
  .home-chef__link-wrap { grid-column: auto; }
  .home-lounge__overlay { position: static; width: min(100%, 38.75rem); margin-block-end: var(--space-5); }
  .home-lounge__scene::after { display: none; }
  .home-lounge__detail { width: min(100%, 42.5rem); margin: var(--space-5) 0 0 auto; }
  .home-tables__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-tables__item--lower { justify-self: start; margin-block-start: 0; }
  .home-events__grid, .home-contact__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .home-events__heading { width: min(100%, 42.5rem); }
  .home-events__panel { width: min(100%, 42.5rem); }
  .home-contact__copy { width: min(100%, 38.75rem); }
  .home-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto; }
  .home-gallery__text-panel { grid-column: 1 / 3; grid-row: auto; min-height: 16rem; }
  .home-gallery__figure--lounge, .home-gallery__figure--table { grid-row: auto; }
  .home-gallery__figure--lounge { grid-column: 1; }
  .home-gallery__figure--table { grid-column: 2; }
  .home-gallery__figure--lounge img, .home-gallery__figure--table img { aspect-ratio: 4 / 3; }
  .home-faq__list { margin-inline-start: 0; }
}

@media (max-width: 47.99rem) {
  .home-hero, .home-hero__layout { min-height: auto; }
  .home-hero__layout { grid-template-columns: minmax(0, 1fr); }
  .home-hero__copy { width: 100%; margin: 0; padding: var(--space-8) var(--container-padding-mobile) var(--space-6); }
  .home-hero__copy h1 { max-width: 9.5ch; }
  .home-hero__intro, .home-hero__actions { width: 100%; }
  .home-hero__actions { flex-direction: column; align-items: stretch; }
  .home-hero__actions .button { width: 100%; }
  .home-hero__visual { margin-inline: var(--container-padding-mobile); aspect-ratio: 4 / 3; }
  .home-hero__visual img { aspect-ratio: 4 / 3; }
  .home-hero__signal { left: auto; right: 0; width: 1.375rem; font-size: .625rem; }
  .home-hero__note { right: var(--space-4); bottom: var(--space-4); left: var(--space-4); width: auto; }
  .home-rhythm__grid, .home-restaurant__grid, .home-tables__grid, .home-gallery__grid { grid-template-columns: minmax(0, 1fr); }
  .home-rhythm__item, .home-rhythm__item--panel, .home-rhythm__item--lower, .home-tables__item, .home-tables__item--lower { max-width: none; margin: 0; transform: none; }
  .home-rhythm__grid { gap: var(--space-5); }
  .home-restaurant__grid { gap: var(--space-6); }
  .home-restaurant__figure img { aspect-ratio: 4 / 3; }
  .home-restaurant__figure figcaption { position: static; width: auto; padding: var(--space-3); background: var(--surface-panel); writing-mode: horizontal-tb; }
  .home-restaurant__cta, .home-events__action { width: 100%; }
  .home-restaurant__cta .button, .home-events__action .button { align-self: stretch; }
  .home-chef__main, .home-chef__panel, .home-chef__link-wrap { width: 100%; }
  .home-chef__statement { width: 100%; }
  .home-lounge__intro { width: 100%; }
  .home-lounge__scene img { aspect-ratio: 4 / 3; }
  .home-lounge__detail { flex-direction: column; align-items: stretch; width: 100%; margin: var(--space-4) 0 0; }
  .home-lounge__detail .button { width: 100%; }
  .home-tables__item--featured { transform: none; }
  .home-events__panel, .home-contact__panel { width: 100%; padding: var(--space-5); }
  .home-gallery__text-panel { grid-column: auto; grid-row: auto; min-height: 0; padding: var(--space-5); }
  .home-gallery__figure--lounge, .home-gallery__figure--table { grid-column: auto; grid-row: auto; }
  .home-gallery__figure--lounge img, .home-gallery__figure--table img { aspect-ratio: 4 / 3; }
  .home-faq__list { width: 100%; }
  .home-faq__item button { min-height: 3.5rem; padding: var(--space-4); }
  .home-faq__answer p { padding: 0 var(--space-4) var(--space-4); }
  .home-contact__details { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .home-contact__panel .button { width: 100%; }
  .home-lightbox { padding: var(--space-3); }
  .home-lightbox__dialog { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  .home-lightbox__nav { width: 100%; min-height: 3rem; }
  .home-lightbox__nav--previous { order: 2; }
  .home-lightbox__nav--next { order: 3; }
  .home-lightbox__figure { order: 1; }
  .home-lightbox__close { top: var(--space-2); right: var(--space-2); z-index: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .home-rhythm__item--panel, .home-tables__item--featured, .home-gallery__trigger img { transform: none !important; }
}


.thank-you {
  display: grid;
  min-height: min(44rem, calc(100vh - 10rem));
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 38%, rgba(123, 77, 255, 0.14), transparent 30rem),
    radial-gradient(circle at 62% 62%, rgba(240, 46, 174, 0.1), transparent 24rem);
}

.thank-you__section {
  width: 100%;
  padding-block: var(--space-9);
}

.thank-you__panel {
  position: relative;
  display: flex;
  max-width: 46rem;
  margin-inline: auto;
  padding: clamp(var(--space-6), 7vw, var(--space-8));
  overflow: hidden;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-feature);
  background: rgba(36, 20, 61, 0.78);
  box-shadow: var(--shadow-panel);
  text-align: center;
}

.thank-you__panel::before {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(240, 46, 174, 0.18);
  border-radius: inherit;
  content: "";
  pointer-events: none;
}

.thank-you__signal {
  width: 4.5rem;
  height: 0.25rem;
  border-radius: var(--radius-sharp);
  background: var(--gradient-signal);
  box-shadow: var(--shadow-glow);
}

.thank-you__panel .eyebrow,
.thank-you__panel h1,
.thank-you__copy,
.thank-you__contact {
  margin: 0;
}

.thank-you__panel h1 {
  max-width: 13ch;
}

.thank-you__copy {
  max-width: 39rem;
  margin-inline: auto;
}

.thank-you__copy p {
  margin-block: 0;
}

.thank-you__copy p + p {
  margin-block-start: var(--space-3);
}

.thank-you__actions {
  justify-content: center;
  margin-block-start: var(--space-2);
}

.thank-you__contact {
  max-width: 35rem;
  margin-inline: auto;
  color: var(--color-mist-300);
  font-size: var(--text-small);
  line-height: var(--line-small);
}

.thank-you__contact a {
  color: var(--color-paper-50);
  font-weight: 600;
}

@media (max-width: 47.99rem) {
  .thank-you__section {
    padding-block: var(--space-8);
  }

  .thank-you__panel {
    gap: var(--space-4);
    border-radius: var(--radius-card);
  }

  .thank-you__actions {
    width: 100%;
  }
}