

:root {
  --color-night-plum: #211927;
  --color-plum-surface: #44344d;
  --color-ink-black: #1a1b1f;
  --color-warm-paper: #eee8e2;
  --color-muted-rose: #9c6578;
  --color-silver-mist: #b8b6bc;
  --color-dark-text: #1a1b1f;
  --color-light-text: #eee8e2;
  --color-focus-rose: #d9a3b4;

  --color-page: var(--color-warm-paper);
  --color-text: var(--color-dark-text);
  --color-surface: var(--color-warm-paper);
  --color-surface-raised: var(--color-plum-surface);
  --color-border: rgb(26 27 31 / 18%);
  --color-border-on-dark: rgb(184 182 188 / 55%);

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

  --font-size-display: clamp(3.6rem, 11vw, 10.5rem);
  --font-size-h1: clamp(3rem, 7.2vw, 7rem);
  --font-size-h2: clamp(2.25rem, 4.8vw, 4.75rem);
  --font-size-h3: clamp(1.45rem, 2.4vw, 2.25rem);
  --font-size-intro: clamp(1.2rem, 1.9vw, 1.65rem);
  --font-size-body: 1rem;
  --font-size-small: 0.75rem;
  --font-size-utility: 0.6875rem;

  --line-height-display: 0.88;
  --line-height-h1: 0.94;
  --line-height-h2: 0.98;
  --line-height-h3: 1.05;
  --line-height-body: 1.55;
  --line-height-small: 1.35;

  --letter-spacing-display: -0.065em;
  --letter-spacing-h1: -0.055em;
  --letter-spacing-h2: -0.045em;
  --letter-spacing-h3: -0.025em;
  --letter-spacing-small: 0.06em;
  --letter-spacing-utility: 0.12em;

  --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;
  --space-11: clamp(8rem, 16vw, 15rem);

  --container-max: 90rem;
  --container-wide-max: 82.5rem;
  --container-reading-max: 38.75rem;
  --container-intro-max: 35rem;
  --container-gutter: max(1.25rem, 5vw);

  --radius-none: 0;
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;

  --shadow-overlay: 0 18px 50px rgb(26 27 31 / 16%);

  --transition-ui: 220ms ease-out;
  --transition-media: 500ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

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

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

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

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

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

img,
video {
  height: auto;
}

img {
  font-style: italic;
}

svg {
  fill: currentColor;
}

iframe {
  border: 0;
}

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

button,
select {
  text-transform: none;
}

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

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

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

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

input,
select {
  min-height: 3rem;
  padding: 0.75rem 0.875rem;
}

textarea {
  padding: 0.75rem 0.875rem;
}

input::placeholder,
textarea::placeholder {
  color: currentColor;
  opacity: 0.58;
}

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

input[type="file"] {
  padding: 0.5rem;
}

label {
  display: inline-block;
  margin-block-end: var(--space-2);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.35;
}

fieldset {
  min-width: 0;
  margin: 0 0 var(--space-5);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
}

legend {
  padding-inline: var(--space-2);
  font-family: var(--font-heading);
  font-weight: 600;
}

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

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

th {
  font-weight: 600;
}

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

address {
  font-style: normal;
}

abbr[title] {
  text-decoration: underline dotted;
  text-underline-offset: 0.16em;
}

a {
  color: inherit;
  text-decoration-color: var(--color-muted-rose);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
  transition: color var(--transition-ui), text-decoration-color var(--transition-ui);
}

a:hover {
  color: var(--color-muted-rose);
}

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

::selection {
  background: var(--color-muted-rose);
  color: var(--color-light-text);
}

:target {
  scroll-margin-top: var(--space-8);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 var(--space-4);
  color: inherit;
  font-family: var(--font-heading);
  font-weight: 600;
  overflow-wrap: anywhere;
}

h1 {
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
  letter-spacing: var(--letter-spacing-h1);
}

h2 {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  letter-spacing: var(--letter-spacing-h2);
}

h3 {
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  letter-spacing: var(--letter-spacing-h3);
}

h4,
h5,
h6 {
  font-size: 1rem;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

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

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

li::marker {
  color: var(--color-muted-rose);
}

blockquote {
  margin: 0 0 var(--space-5);
  padding-inline-start: var(--space-5);
  border-inline-start: 1px solid var(--color-muted-rose);
  font-family: var(--font-heading);
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1.2;
  letter-spacing: -0.025em;
}

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

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

figcaption {
  margin-block-start: var(--space-3);
  color: currentColor;
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  letter-spacing: var(--letter-spacing-small);
}

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

dt {
  font-weight: 600;
}

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

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

strong,
b {
  font-weight: 600;
}

.display {
  margin: 0 0 var(--space-5);
  font-family: var(--font-heading);
  font-size: var(--font-size-display);
  font-weight: 600;
  line-height: var(--line-height-display);
  letter-spacing: var(--letter-spacing-display);
  overflow-wrap: anywhere;
}

.intro {
  margin: 0 0 var(--space-5);
  font-size: var(--font-size-intro);
  line-height: 1.35;
}

.eyebrow,
.utility-text {
  display: block;
  margin: 0 0 var(--space-3);
  font-size: var(--font-size-utility);
  font-weight: 600;
  line-height: var(--line-height-small);
  letter-spacing: var(--letter-spacing-utility);
  text-transform: uppercase;
}

.eyebrow {
  color: var(--color-muted-rose);
}

.utility-text {
  font-size: var(--font-size-utility);
}

.brand-wordmark {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(2.25rem, 12vw, 10.5rem);
  font-weight: 600;
  line-height: 0.88;
  letter-spacing: -0.045em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

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

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

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

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

.section--compact {
  padding-block: clamp(var(--space-7), 7vw, 4.5rem);
}

.surface-dark {
  --color-page: var(--color-night-plum);
  --color-text: var(--color-light-text);
  --color-surface: var(--color-night-plum);
  --color-border: var(--color-border-on-dark);
  background: var(--color-night-plum);
  color: var(--color-light-text);
}

.surface-ink {
  --color-page: var(--color-ink-black);
  --color-text: var(--color-light-text);
  --color-surface: var(--color-ink-black);
  --color-border: var(--color-border-on-dark);
  background: var(--color-ink-black);
  color: var(--color-light-text);
}

.surface-plum {
  --color-page: var(--color-plum-surface);
  --color-text: var(--color-light-text);
  --color-surface: var(--color-plum-surface);
  --color-border: var(--color-border-on-dark);
  background: var(--color-plum-surface);
  color: var(--color-light-text);
}

.surface-light {
  --color-page: var(--color-warm-paper);
  --color-text: var(--color-dark-text);
  --color-surface: var(--color-warm-paper);
  --color-border: rgb(26 27 31 / 18%);
  background: var(--color-warm-paper);
  color: var(--color-dark-text);
}

.surface-dark .eyebrow,
.surface-ink .eyebrow,
.surface-plum .eyebrow {
  color: var(--color-silver-mist);
}

.panel {
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  border: 1px solid var(--color-border);
  background: var(--color-surface);
}

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

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

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

.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;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  min-width: 0;
}

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

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

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

.cluster--between {
  justify-content: space-between;
}

.button,
.button:link,
.button:visited {
  display: inline-flex;
  min-width: 0;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: 0.75rem 1.25rem;
  border: 1px solid currentColor;
  border-radius: var(--radius-sm);
  background: var(--color-night-plum);
  color: var(--color-light-text);
  font-family: var(--font-body);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: background-color var(--transition-ui), border-color var(--transition-ui), color var(--transition-ui), transform var(--transition-ui);
}

.button:hover {
  background: var(--color-plum-surface);
  color: var(--color-light-text);
  transform: translateY(-2px);
}

.button:active {
  transform: translateY(0);
}

.button--secondary,
.button--secondary:link,
.button--secondary:visited {
  background: transparent;
  color: currentColor;
}

.button--secondary:hover {
  border-color: var(--color-muted-rose);
  background: transparent;
  color: var(--color-muted-rose);
}

.button--light,
.button--light:link,
.button--light:visited {
  border-color: var(--color-light-text);
  background: var(--color-light-text);
  color: var(--color-night-plum);
}

.button--light:hover {
  border-color: var(--color-muted-rose);
  background: var(--color-muted-rose);
  color: var(--color-light-text);
}

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

.text-link {
  display: inline;
  color: inherit;
  font-weight: 600;
  text-decoration-color: var(--color-muted-rose);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

.text-link:hover {
  color: var(--color-muted-rose);
  text-decoration-thickness: 2px;
}

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

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

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

.media-frame:hover > img,
.media-frame:hover > picture img,
.media-frame:hover > video {
  transform: translateY(-4px);
}

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

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

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

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

.status {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-1) var(--space-2);
  border-radius: 999px;
  background: rgb(156 101 120 / 14%);
  color: currentColor;
  font-size: var(--font-size-small);
  font-weight: 600;
  line-height: var(--line-height-small);
  letter-spacing: var(--letter-spacing-small);
  text-transform: uppercase;
}

.status::before {
  width: 0.4375rem;
  height: 0.4375rem;
  border-radius: 50%;
  background: var(--color-muted-rose);
  content: "";
}

.form-field {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin-block-end: var(--space-5);
}

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

.form-hint,
.form-error {
  margin: var(--space-2) 0 0;
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}

.form-error {
  color: var(--color-muted-rose);
  font-weight: 600;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: var(--space-3);
  left: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-focus-rose);
  border-radius: var(--radius-sm);
  background: var(--color-light-text);
  color: var(--color-ink-black);
  font-weight: 600;
  text-decoration: none;
  transform: translateY(-200%);
  transition: transform var(--transition-ui);
}

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

@media (max-width: 47.99rem) {
  :root {
    --container-gutter: 1.25rem;
  }

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

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

  .button {
    min-height: 3rem;
  }

  .cluster {
    align-items: stretch;
  }

  .cluster > .button {
    flex: 1 1 100%;
  }
}

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

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

  .media-frame:hover > img,
  .media-frame:hover > picture img,
  .media-frame:hover > video,
  .button:hover,
  .button:active {
    transform: none;
  }
}


.site-header {
  position: relative;
  z-index: 100;
  background: var(--color-night-plum);
  color: var(--color-light-text);
}

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

.site-header__utility {
  border-bottom: 1px solid rgb(184 182 188 / 35%);
}

.site-header__utility-inner {
  display: flex;
  min-height: 2rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
}

.site-header__utility .utility-text,
.site-header__utility-link {
  margin: 0;
  color: var(--color-silver-mist);
  font-size: var(--font-size-utility);
  line-height: var(--line-height-small);
  letter-spacing: var(--letter-spacing-utility);
  text-decoration: none;
  text-transform: uppercase;
}

.site-header__utility-link:hover { color: var(--color-focus-rose); }

.site-header__main {
  display: grid;
  min-height: 5.5rem;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: clamp(var(--space-4), 3vw, var(--space-7));
}

.site-header__brand {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-light-text);
  text-decoration: none;
}

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

.site-header__wordmark {
  min-width: 0;
  font-family: var(--font-heading);
  font-size: clamp(1.25rem, 2.15vw, 1.85rem);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 0.9;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-header__nav { min-width: 0; }
.site-header__nav-inner { min-width: 0; }
.site-header__nav-top,
.site-header__nav-contact,
.site-header__close,
.site-header__toggle { display: none; }

.site-header__nav-list {
  display: flex;
  align-items: center;
  gap: clamp(0.75rem, 1.5vw, 1.5rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

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

.site-header__nav-list a {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  border-bottom: 1px solid transparent;
  color: var(--color-light-text);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.site-header__nav-list a:hover,
.site-header__nav-list a[aria-current="page"] {
  border-color: var(--color-muted-rose);
  color: var(--color-focus-rose);
}

.site-header__action {
  min-height: 2.75rem;
  padding-inline: 1rem;
  white-space: nowrap;
}

@media (max-width: 72rem) {
  .site-header__main { gap: var(--space-4); }
  .site-header__nav-list { gap: var(--space-3); }
  .site-header__nav-list a { font-size: 0.75rem; }
  .site-header__action { padding-inline: 0.875rem; font-size: 0.75rem; }
}

@media (max-width: 62rem) {
  .site-header__main {
    min-height: 4.75rem;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .site-header__logo {
    width: 2rem;
    height: 2rem;
    flex-basis: 2rem;
  }

  .site-header__wordmark { font-size: clamp(1.15rem, 4.8vw, 1.5rem); }
  .site-header__action { display: none; }

  .site-header__toggle {
    display: inline-flex;
    width: 3rem;
    height: 3rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.3125rem;
    padding: 0;
    border: 1px solid rgb(184 182 188 / 55%);
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--color-light-text);
  }

  .site-header__toggle-line {
    display: block;
    width: 1.125rem;
    height: 1px;
    background: currentColor;
    transition: transform var(--transition-ui), opacity var(--transition-ui);
  }

  .site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(1) { transform: translateY(0.375rem) 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.375rem) rotate(-45deg); }

  .site-header__nav {
    position: fixed;
    z-index: 101;
    inset: 0;
    display: block;
    visibility: hidden;
    overflow-y: auto;
    background: var(--color-night-plum);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--transition-ui), visibility var(--transition-ui);
  }

  .site-header__nav.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }

  .site-header__nav-inner {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    padding: max(1.25rem, env(safe-area-inset-top)) var(--container-gutter) max(2rem, env(safe-area-inset-bottom));
  }

  .site-header__nav-top {
    display: flex;
    min-height: 3rem;
    align-items: center;
    justify-content: space-between;
    margin-bottom: clamp(3rem, 10vh, 6rem);
  }

  .site-header__nav-top .utility-text { margin: 0; color: var(--color-silver-mist); }

  .site-header__close {
    position: relative;
    display: block;
    width: 3rem;
    height: 3rem;
    border: 1px solid rgb(184 182 188 / 55%);
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--color-light-text);
  }

  .site-header__close span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.125rem;
    height: 1px;
    background: currentColor;
  }

  .site-header__close span:first-child { transform: translate(-50%, -50%) rotate(45deg); }
  .site-header__close span:last-child { transform: translate(-50%, -50%) rotate(-45deg); }

  .site-header__nav-list {
    display: block;
    margin: 0;
    padding: 0;
    border-top: 1px solid rgb(184 182 188 / 35%);
  }

  .site-header__nav-list li,
  .site-header__nav-list li + li { margin: 0; padding: 0; border-bottom: 1px solid rgb(184 182 188 / 35%); }

  .site-header__nav-list a {
    min-height: 3.5rem;
    width: 100%;
    border: 0;
    font-family: var(--font-heading);
    font-size: clamp(1.5rem, 8vw, 2.5rem);
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1;
  }

  .site-header__nav-contact {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin-top: auto;
    padding-top: var(--space-8);
    color: var(--color-silver-mist);
    font-size: 0.875rem;
  }

  .site-header__nav-contact a { min-height: 2rem; }
  body.site-header-menu-open { overflow: hidden; }
}

@media (max-width: 35rem) {
  .site-header__utility-link { display: none; }
  .site-header__utility-inner { justify-content: flex-start; }
  .site-header__wordmark { font-size: 1.1rem; }
}


.site-footer {
  padding-block: clamp(var(--space-8), 10vw, var(--space-10)) var(--space-5);
  color: var(--color-light-text);
}

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

.site-footer__top {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: clamp(var(--space-7), 8vw, var(--space-10));
  padding-bottom: var(--space-8);
  border-bottom: 1px solid var(--color-border-on-dark);
}

.site-footer__brand-block,
.site-footer__column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.site-footer__brand-block .eyebrow { margin: 0; color: var(--color-silver-mist); }

.site-footer__wordmark {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(3.25rem, 8vw, 8rem);
  font-weight: 600;
  letter-spacing: -0.065em;
  line-height: 0.85;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.site-footer__intro {
  max-width: 31rem;
  margin: 0;
  color: var(--color-silver-mist);
  font-size: var(--font-size-intro);
  line-height: 1.35;
}

.site-footer__columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.site-footer__column h2 {
  margin: 0;
  color: var(--color-silver-mist);
  font-family: var(--font-body);
  font-size: var(--font-size-utility);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-utility);
  line-height: var(--line-height-small);
  text-transform: uppercase;
}

.site-footer__column address,
.site-footer__column ul {
  margin: 0;
  padding: 0;
  color: var(--color-light-text);
  font-size: 0.875rem;
  line-height: 1.65;
  list-style: none;
}

.site-footer__column li,
.site-footer__column li + li { margin: 0; padding: 0; }
.site-footer__column a { text-decoration-color: rgb(156 101 120 / 80%); }

.site-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding-top: var(--space-5);
  color: var(--color-silver-mist);
}

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

.site-consent {
  position: fixed;
  z-index: 250;
  right: var(--space-4);
  bottom: var(--space-4);
  left: var(--space-4);
  max-width: 46rem;
  margin-inline: auto;
  border: 1px solid var(--color-border-on-dark);
  background: var(--color-ink-black);
  color: var(--color-light-text);
  box-shadow: var(--shadow-overlay);
}

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

.site-consent__copy { min-width: 0; }
.site-consent__copy .eyebrow { margin: 0 0 var(--space-2); color: var(--color-silver-mist); }
.site-consent__copy p { margin: 0; font-size: 0.875rem; line-height: 1.45; }
.site-consent__actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: var(--space-2); }
.site-consent__actions .button { min-height: 2.75rem; }

.site-age-modal {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  overflow-y: auto;
  place-items: center;
  padding: var(--space-5);
  background: rgb(26 27 31 / 88%);
  color: var(--color-light-text);
}

.site-age-modal__panel {
  width: min(100%, 34rem);
  padding: clamp(var(--space-6), 6vw, var(--space-8));
  border: 1px solid var(--color-border-on-dark);
  background: var(--color-night-plum);
  box-shadow: var(--shadow-overlay);
}

.site-age-modal__panel .eyebrow { margin: 0 0 var(--space-3); color: var(--color-silver-mist); }
.site-age-modal__panel h2 { margin: 0 0 var(--space-4); font-size: clamp(2rem, 5vw, 3.5rem); }
.site-age-modal__panel p { margin: 0; color: var(--color-silver-mist); }
.site-age-modal__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6); }

@media (max-width: 62rem) {
  .site-footer__top { grid-template-columns: 1fr; }
}

@media (max-width: 47.99rem) {
  .site-footer__columns { grid-template-columns: 1fr; gap: var(--space-6); }
  .site-footer__bottom { align-items: flex-start; flex-direction: column; }
  .site-consent { right: var(--space-3); bottom: var(--space-3); left: var(--space-3); }
  .site-consent__inner { align-items: stretch; flex-direction: column; }
  .site-consent__actions .button { flex: 1 1 100%; }
  .site-age-modal { padding: var(--space-4); }
  .site-age-modal__actions .button { width: 100%; }
}


.cookie-policy {
  background: var(--color-warm-paper);
  color: var(--color-dark-text);
}

.cookie-policy__hero {
  padding-block: clamp(var(--space-9), 11vw, var(--space-11));
}

.cookie-policy__hero-grid,
.cookie-policy__chapter-grid,
.cookie-policy__categories-grid,
.cookie-policy__third-party-grid,
.cookie-policy__closing-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
  row-gap: var(--space-7);
}

.cookie-policy__hero-grid > *,
.cookie-policy__chapter-grid > *,
.cookie-policy__categories-grid > *,
.cookie-policy__third-party-grid > *,
.cookie-policy__closing-grid > * {
  min-width: 0;
}

.cookie-policy__hero-copy {
  grid-column: 1 / span 7;
  width: 100%;
  min-width: 0;
}

.cookie-policy__hero-copy h1 {
  max-width: 11ch;
}

.cookie-policy__hero-copy .intro {
  max-width: 38ch;
}

.cookie-policy__status-line {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  width: min(100%, 38ch);
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
  color: var(--color-silver-mist);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}

.cookie-policy__status-line .utility-text {
  margin: 0;
  color: var(--color-silver-mist);
}

.cookie-policy__chapter-marker {
  grid-column: 12 / span 1;
  align-self: start;
  width: 100%;
  min-width: 0;
  padding-top: var(--space-2);
  border-left: 1px solid var(--color-border);
  color: var(--color-silver-mist);
  font-family: var(--font-heading);
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 500;
  line-height: 0.9;
  letter-spacing: var(--letter-spacing-h2);
  writing-mode: vertical-rl;
}

.cookie-policy__section {
  padding-block: clamp(var(--space-9), 11vw, var(--space-10));
}

.cookie-policy__chapter-head {
  grid-column: 1 / span 3;
  width: 100%;
  min-width: 0;
  align-self: start;
}

.cookie-policy__chapter-head .eyebrow {
  margin-bottom: var(--space-2);
}

.cookie-policy__index {
  display: block;
  margin-bottom: var(--space-4);
  color: var(--color-muted-rose);
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: var(--letter-spacing-small);
}

.cookie-policy__chapter-head h2 {
  margin-bottom: 0;
}

.cookie-policy__reading {
  grid-column: 4 / span 6;
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  width: 100%;
  min-width: 0;
}

.cookie-policy__text-unit {
  width: 100%;
  min-width: 0;
}

.cookie-policy__text-unit h3 {
  max-width: 34ch;
}

.cookie-policy__text-unit p {
  max-width: 62ch;
}

.cookie-policy__purpose-unit {
  padding-left: var(--space-5);
  border-left: 2px solid var(--color-muted-rose);
}

.cookie-policy__website-note {
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.cookie-policy__categories-grid {
  row-gap: var(--space-8);
}

.cookie-policy__chapter-head--categories {
  grid-column: 1 / span 5;
}

.cookie-policy__category-list {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  width: 100%;
  min-width: 0;
}

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

.cookie-policy__category {
  width: 100%;
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-dark-text);
}

.cookie-policy__category--necessary {
  grid-column: 1 / span 5;
}

.cookie-policy__category--optional {
  grid-column: 8 / span 5;
  border-top-color: var(--color-muted-rose);
}

.cookie-policy__category-index {
  display: block;
  margin-bottom: var(--space-4);
  color: var(--color-dark-text);
  font-family: var(--font-heading);
  font-size: 1.125rem;
  font-weight: 600;
}

.cookie-policy__category--optional .cookie-policy__category-index {
  color: var(--color-muted-rose);
}

.cookie-policy__category h3 {
  max-width: 28ch;
}

.cookie-policy__category p {
  max-width: 48ch;
}

.cookie-policy__legal-copy {
  grid-column: 4 / span 6;
  width: 100%;
  min-width: 0;
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-border);
}

.cookie-policy__legal-copy h3 {
  max-width: 34ch;
}

.cookie-policy__legal-copy p {
  max-width: 62ch;
}

.cookie-policy__chapter-grid--choices .cookie-policy__chapter-head {
  grid-column: 1 / span 3;
}

.cookie-policy__choices-content {
  grid-column: 5 / span 7;
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  width: 100%;
  min-width: 0;
}

.cookie-policy__consent-note {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  border-left: 4px solid var(--color-muted-rose);
}

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

.cookie-policy__consent-note p {
  max-width: 54ch;
}

.cookie-policy__rejection-note {
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.cookie-policy__subindex {
  display: block;
  margin-bottom: var(--space-3);
  color: var(--color-muted-rose);
  font-family: var(--font-heading);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-small);
}

.cookie-policy__chapter-head--wide {
  grid-column: 1 / span 5;
}

.cookie-policy__information-flow {
  grid-column: 1 / span 6;
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  width: 100%;
  min-width: 0;
}

.cookie-policy__information-flow .eyebrow {
  margin-bottom: var(--space-2);
}

.cookie-policy__duration-unit,
.cookie-policy__transfer-unit {
  margin-left: calc((100% + var(--space-5)) / 6);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.cookie-policy__duration-unit::before {
  display: block;
  width: 100%;
  height: 1px;
  margin-bottom: var(--space-4);
  background: linear-gradient(90deg, var(--color-muted-rose) 0 15%, var(--color-border) 15% 100%);
  content: "";
}

.cookie-policy__transfer-unit {
  padding-right: var(--space-5);
  border-right: 1px solid var(--color-border);
}

.cookie-policy__closing-grid {
  row-gap: var(--space-7);
}

.cookie-policy__closing-content {
  grid-column: 4 / span 8;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: var(--space-7) var(--space-5);
  width: 100%;
  min-width: 0;
}

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

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

.cookie-policy__current-date {
  margin-bottom: 0;
  color: var(--color-muted-rose);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-small);
  text-transform: uppercase;
}

.cookie-policy__contact-strip {
  grid-column: 3 / span 5;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  padding: clamp(var(--space-5), 4vw, var(--space-7));
}

.cookie-policy__contact-strip .eyebrow,
.cookie-policy__contact-strip h3,
.cookie-policy__contact-strip p {
  margin: 0;
}

.cookie-policy__contact-strip p {
  max-width: 48ch;
}

.cookie-policy__mailto {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-height: 3rem;
  align-items: center;
  overflow-wrap: anywhere;
  color: var(--color-light-text);
  font-family: var(--font-heading);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  font-weight: 600;
  line-height: 1.2;
  text-decoration-color: var(--color-muted-rose);
}

.cookie-policy__mailto:hover {
  color: var(--color-focus-rose);
}

@media (max-width: 62.49rem) {
  .cookie-policy__hero-grid,
  .cookie-policy__chapter-grid,
  .cookie-policy__categories-grid,
  .cookie-policy__third-party-grid,
  .cookie-policy__closing-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .cookie-policy__hero-copy {
    grid-column: 1 / span 5;
  }

  .cookie-policy__chapter-marker {
    grid-column: 6 / span 1;
  }

  .cookie-policy__chapter-head,
  .cookie-policy__chapter-head--categories,
  .cookie-policy__chapter-head--wide {
    grid-column: 1 / -1;
  }

  .cookie-policy__reading,
  .cookie-policy__legal-copy,
  .cookie-policy__choices-content,
  .cookie-policy__information-flow,
  .cookie-policy__closing-content {
    grid-column: 1 / span 5;
  }

  .cookie-policy__category-list {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .cookie-policy__category--necessary {
    grid-column: 1 / span 3;
  }

  .cookie-policy__category--optional {
    grid-column: 4 / span 3;
  }

  .cookie-policy__duration-unit,
  .cookie-policy__transfer-unit {
    margin-left: 0;
  }

  .cookie-policy__closing-content {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .cookie-policy__changes-copy {
    grid-column: 1 / span 5;
  }

  .cookie-policy__contact-strip {
    grid-column: 1 / span 5;
  }
}

@media (max-width: 56.24rem) {
  .cookie-policy__chapter-grid,
  .cookie-policy__categories-grid,
  .cookie-policy__third-party-grid,
  .cookie-policy__closing-grid {
    row-gap: var(--space-6);
  }

  .cookie-policy__reading,
  .cookie-policy__legal-copy,
  .cookie-policy__choices-content,
  .cookie-policy__information-flow,
  .cookie-policy__closing-content {
    grid-column: 1 / -1;
  }

  .cookie-policy__category-list {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .cookie-policy__category--necessary,
  .cookie-policy__category--optional {
    grid-column: 1;
  }

  .cookie-policy__category--optional {
    margin-left: 0;
  }

  .cookie-policy__legal-copy {
    padding-top: var(--space-5);
  }
}

@media (max-width: 43.74rem) {
  .cookie-policy__hero {
    padding-block: clamp(var(--space-8), 16vw, var(--space-9));
  }

  .cookie-policy__hero-grid,
  .cookie-policy__chapter-grid,
  .cookie-policy__categories-grid,
  .cookie-policy__third-party-grid,
  .cookie-policy__closing-grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .cookie-policy__hero-copy,
  .cookie-policy__chapter-head,
  .cookie-policy__chapter-head--categories,
  .cookie-policy__chapter-head--wide,
  .cookie-policy__reading,
  .cookie-policy__legal-copy,
  .cookie-policy__choices-content,
  .cookie-policy__information-flow,
  .cookie-policy__closing-content,
  .cookie-policy__changes-copy,
  .cookie-policy__contact-strip {
    grid-column: 1;
  }

  .cookie-policy__hero-grid {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }

  .cookie-policy__chapter-marker {
    order: -1;
    width: auto;
    padding-top: 0;
    border-left: 0;
    font-size: 1.25rem;
    letter-spacing: var(--letter-spacing-small);
    writing-mode: horizontal-tb;
  }

  .cookie-policy__hero-copy h1 {
    max-width: 9ch;
    font-size: clamp(3rem, 14vw, 4.8rem);
  }

  .cookie-policy__section {
    padding-block: clamp(var(--space-8), 15vw, var(--space-9));
  }

  .cookie-policy__reading,
  .cookie-policy__choices-content,
  .cookie-policy__information-flow {
    gap: var(--space-6);
  }

  .cookie-policy__category-list {
    gap: var(--space-5);
  }

  .cookie-policy__legal-copy {
    width: 100%;
  }

  .cookie-policy__text-unit p,
  .cookie-policy__category p,
  .cookie-policy__legal-copy p,
  .cookie-policy__consent-note p,
  .cookie-policy__contact-strip p {
    max-width: none;
  }

  .cookie-policy__purpose-unit {
    padding-left: var(--space-4);
  }

  .cookie-policy__consent-note {
    padding: var(--space-5);
  }

  .cookie-policy__closing-content {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
  }

  .cookie-policy__contact-strip {
    padding: var(--space-5);
  }

  .cookie-policy__mailto {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-policy a {
    transition: none;
  }
}


.datenschutz-page {
  background: var(--color-warm-paper);
  color: var(--color-dark-text);
}

.datenschutz-page .datenschutz-hero__grid,
.datenschutz-page .datenschutz-contact__grid,
.datenschutz-page .datenschutz-website__grid,
.datenschutz-page .datenschutz-inquiry__grid,
.datenschutz-page .datenschutz-cookies__grid,
.datenschutz-page .datenschutz-recipients__grid,
.datenschutz-page .datenschutz-storage__grid,
.datenschutz-page .datenschutz-rights__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
  min-width: 0;
}

.datenschutz-page .datenschutz-hero {
  padding-block: clamp(var(--space-10), 13vw, var(--space-11));
}

.datenschutz-page .datenschutz-hero__title {
  grid-column: 2 / span 7;
  min-width: 0;
}

.datenschutz-page .datenschutz-hero__intro {
  grid-column: 2 / span 5;
  min-width: 0;
  margin-top: var(--space-6);
}

.datenschutz-page .datenschutz-hero__intro .intro {
  max-width: 52ch;
}

.datenschutz-page .datenschutz-hero__date {
  max-width: 52ch;
  margin: var(--space-5) 0 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border-on-dark);
  color: var(--color-silver-mist);
}

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

.datenschutz-page .datenschutz-index {
  display: block;
  margin-bottom: var(--space-3);
  color: var(--color-muted-rose);
  font-size: var(--font-size-utility);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-utility);
  line-height: var(--line-height-small);
}

.datenschutz-page .datenschutz-copy-block--closing {
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-border);
}

.datenschutz-page .datenschutz-contact__heading,
.datenschutz-page .datenschutz-website__heading,
.datenschutz-page .datenschutz-inquiry__heading,
.datenschutz-page .datenschutz-cookies__heading,
.datenschutz-page .datenschutz-recipients__heading,
.datenschutz-page .datenschutz-storage__heading,
.datenschutz-page .datenschutz-rights__heading {
  grid-column: 1 / span 5;
  min-width: 0;
}

.datenschutz-page .datenschutz-contact__address {
  grid-column: 1 / span 4;
  min-width: 0;
  max-width: 34ch;
  margin-top: var(--space-7);
}

.datenschutz-page .datenschutz-contact__details {
  grid-column: 6 / span 4;
  min-width: 0;
  max-width: 34ch;
  margin-top: var(--space-7);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.datenschutz-page .datenschutz-contact__link {
  display: inline-flex;
  min-height: 2rem;
  align-items: center;
}

.datenschutz-page .datenschutz-website__copy {
  grid-column: 1 / span 7;
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  min-width: 0;
  width: 100%;
  max-width: 62ch;
  margin-top: var(--space-7);
}

.datenschutz-page .datenschutz-law-panel {
  grid-column: 9 / span 3;
  align-self: start;
  min-width: 0;
  width: 100%;
  max-width: 28ch;
  margin-top: calc(var(--space-7) + 10rem);
  padding: var(--space-5);
}

.datenschutz-page .datenschutz-law-panel .datenschutz-index,
.datenschutz-page .datenschutz-inquiry__law .datenschutz-index,
.datenschutz-page .datenschutz-storage__segment--two .datenschutz-index {
  color: var(--color-silver-mist);
}

.datenschutz-page .datenschutz-inquiry__copy {
  grid-column: 1 / span 7;
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  min-width: 0;
  width: 100%;
  max-width: 60ch;
  margin-top: var(--space-7);
}

.datenschutz-page .datenschutz-inquiry__law {
  grid-column: 9 / span 4;
  align-self: start;
  min-width: 0;
  width: 100%;
  max-width: 44ch;
  margin-top: calc(var(--space-7) + 3rem);
  padding: clamp(var(--space-5), 3vw, var(--space-6));
}

.datenschutz-page .datenschutz-cookies__required {
  grid-column: 1 / span 5;
  min-width: 0;
  width: 100%;
  max-width: 54ch;
  margin-top: var(--space-7);
}

.datenschutz-page .datenschutz-cookies__optional {
  grid-column: 7 / span 5;
  min-width: 0;
  width: 100%;
  max-width: 54ch;
  margin-top: var(--space-7);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
}

.datenschutz-page .datenschutz-cookies__linkline {
  grid-column: 1 / span 5;
  min-width: 0;
  max-width: 42ch;
  margin: var(--space-6) 0 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.datenschutz-page .datenschutz-cookies__linkline .text-link {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
}

.datenschutz-page .datenschutz-recipients__copy {
  grid-column: 3 / span 6;
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  min-width: 0;
  width: 100%;
  max-width: 62ch;
  margin-top: var(--space-7);
}

.datenschutz-page .datenschutz-recipient-block--accent {
  padding-left: var(--space-5);
  border-left: 2px solid var(--color-muted-rose);
}

.datenschutz-page .datenschutz-recipients__closing {
  max-width: 52ch;
  margin: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.datenschutz-page .datenschutz-storage__segment {
  min-width: 0;
  width: 100%;
  margin-top: var(--space-7);
}

.datenschutz-page .datenschutz-storage__segment--one {
  grid-column: 1 / span 4;
  max-width: 50ch;
}

.datenschutz-page .datenschutz-storage__segment--two {
  grid-column: 5 / span 3;
  max-width: 38ch;
  margin-top: calc(var(--space-7) + var(--space-5));
  padding: var(--space-5);
}

.datenschutz-page .datenschutz-storage__segment--three {
  grid-column: 9 / span 4;
  max-width: 50ch;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.datenschutz-page .datenschutz-storage__segment--three .text-link {
  display: inline-flex;
  min-height: 2rem;
  align-items: center;
}

.datenschutz-page .datenschutz-rights__list {
  grid-column: 1 / span 9;
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: 100%;
  margin-top: var(--space-7);
  border-top: 1px solid var(--color-border);
}

.datenschutz-page .datenschutz-rights__item {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 6fr);
  column-gap: var(--space-5);
  min-width: 0;
  padding-block: var(--space-5);
  border-bottom: 1px solid var(--color-border);
}

.datenschutz-page .datenschutz-rights__item h3,
.datenschutz-page .datenschutz-rights__item p {
  min-width: 0;
  margin: 0;
}

.datenschutz-page .datenschutz-rights__item p {
  max-width: 42ch;
}

.datenschutz-page .datenschutz-rights__withdrawal {
  grid-column: 1 / span 5;
  min-width: 0;
  width: 100%;
  max-width: 52ch;
  margin-top: var(--space-7);
  padding: var(--space-5);
}

.datenschutz-page .datenschutz-rights__mail {
  display: inline-flex;
  min-height: 2rem;
  align-items: center;
}

.datenschutz-page .datenschutz-rights__complaint {
  grid-column: 7 / span 4;
  min-width: 0;
  width: 100%;
  max-width: 52ch;
  margin-top: var(--space-7);
  padding-top: var(--space-5);
  border-top: 2px solid var(--color-dark-text);
}

@media (max-width: 63.74rem) {
  .datenschutz-page .datenschutz-hero__grid,
  .datenschutz-page .datenschutz-contact__grid,
  .datenschutz-page .datenschutz-website__grid,
  .datenschutz-page .datenschutz-inquiry__grid,
  .datenschutz-page .datenschutz-cookies__grid,
  .datenschutz-page .datenschutz-recipients__grid,
  .datenschutz-page .datenschutz-storage__grid,
  .datenschutz-page .datenschutz-rights__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .datenschutz-page .datenschutz-hero__title,
  .datenschutz-page .datenschutz-hero__intro,
  .datenschutz-page .datenschutz-contact__heading,
  .datenschutz-page .datenschutz-website__heading,
  .datenschutz-page .datenschutz-inquiry__heading,
  .datenschutz-page .datenschutz-cookies__heading,
  .datenschutz-page .datenschutz-recipients__heading,
  .datenschutz-page .datenschutz-storage__heading,
  .datenschutz-page .datenschutz-rights__heading {
    grid-column: 1 / -1;
  }

  .datenschutz-page .datenschutz-hero__title {
    grid-row: 1;
  }

  .datenschutz-page .datenschutz-hero__intro {
    grid-row: 2;
  }

  .datenschutz-page .datenschutz-contact__address,
  .datenschutz-page .datenschutz-contact__details,
  .datenschutz-page .datenschutz-website__copy,
  .datenschutz-page .datenschutz-law-panel,
  .datenschutz-page .datenschutz-inquiry__copy,
  .datenschutz-page .datenschutz-inquiry__law,
  .datenschutz-page .datenschutz-cookies__required,
  .datenschutz-page .datenschutz-cookies__optional,
  .datenschutz-page .datenschutz-cookies__linkline,
  .datenschutz-page .datenschutz-recipients__copy,
  .datenschutz-page .datenschutz-storage__segment--one,
  .datenschutz-page .datenschutz-storage__segment--two,
  .datenschutz-page .datenschutz-storage__segment--three,
  .datenschutz-page .datenschutz-rights__list,
  .datenschutz-page .datenschutz-rights__withdrawal,
  .datenschutz-page .datenschutz-rights__complaint {
    grid-column: 1 / -1;
    max-width: none;
  }

  .datenschutz-page .datenschutz-contact__details,
  .datenschutz-page .datenschutz-law-panel,
  .datenschutz-page .datenschutz-inquiry__law,
  .datenschutz-page .datenschutz-cookies__optional,
  .datenschutz-page .datenschutz-storage__segment--two,
  .datenschutz-page .datenschutz-storage__segment--three,
  .datenschutz-page .datenschutz-rights__complaint {
    margin-top: var(--space-6);
  }

  .datenschutz-page .datenschutz-contact__address,
  .datenschutz-page .datenschutz-website__copy,
  .datenschutz-page .datenschutz-inquiry__copy,
  .datenschutz-page .datenschutz-cookies__required,
  .datenschutz-page .datenschutz-recipients__copy,
  .datenschutz-page .datenschutz-storage__segment--one,
  .datenschutz-page .datenschutz-rights__list {
    margin-top: var(--space-6);
  }

  .datenschutz-page .datenschutz-law-panel,
  .datenschutz-page .datenschutz-inquiry__law {
    align-self: auto;
  }

  .datenschutz-page .datenschutz-recipients__copy {
    grid-column: 1 / -1;
  }

  .datenschutz-page .datenschutz-storage__segment--two {
    padding: var(--space-6);
  }
}

@media (max-width: 56.24rem) {
  .datenschutz-page .datenschutz-rights__item {
    grid-template-columns: 1fr;
    row-gap: var(--space-2);
  }
}

@media (max-width: 47.99rem) {
  .datenschutz-page .datenschutz-hero {
    padding-block: clamp(var(--space-9), 18vw, var(--space-10));
  }

  .datenschutz-page .datenschutz-hero__grid,
  .datenschutz-page .datenschutz-contact__grid,
  .datenschutz-page .datenschutz-website__grid,
  .datenschutz-page .datenschutz-inquiry__grid,
  .datenschutz-page .datenschutz-cookies__grid,
  .datenschutz-page .datenschutz-recipients__grid,
  .datenschutz-page .datenschutz-storage__grid,
  .datenschutz-page .datenschutz-rights__grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0;
  }

  .datenschutz-page .datenschutz-hero__title,
  .datenschutz-page .datenschutz-hero__intro,
  .datenschutz-page .datenschutz-contact__heading,
  .datenschutz-page .datenschutz-contact__address,
  .datenschutz-page .datenschutz-contact__details,
  .datenschutz-page .datenschutz-website__heading,
  .datenschutz-page .datenschutz-website__copy,
  .datenschutz-page .datenschutz-law-panel,
  .datenschutz-page .datenschutz-inquiry__heading,
  .datenschutz-page .datenschutz-inquiry__copy,
  .datenschutz-page .datenschutz-inquiry__law,
  .datenschutz-page .datenschutz-cookies__heading,
  .datenschutz-page .datenschutz-cookies__required,
  .datenschutz-page .datenschutz-cookies__optional,
  .datenschutz-page .datenschutz-cookies__linkline,
  .datenschutz-page .datenschutz-recipients__heading,
  .datenschutz-page .datenschutz-recipients__copy,
  .datenschutz-page .datenschutz-storage__heading,
  .datenschutz-page .datenschutz-storage__segment--one,
  .datenschutz-page .datenschutz-storage__segment--two,
  .datenschutz-page .datenschutz-storage__segment--three,
  .datenschutz-page .datenschutz-rights__heading,
  .datenschutz-page .datenschutz-rights__list,
  .datenschutz-page .datenschutz-rights__withdrawal,
  .datenschutz-page .datenschutz-rights__complaint {
    grid-column: 1;
  }

  .datenschutz-page .datenschutz-hero__intro {
    margin-top: var(--space-5);
  }

  .datenschutz-page .datenschutz-hero__intro .intro {
    max-width: 34ch;
  }

  .datenschutz-page .datenschutz-contact__address,
  .datenschutz-page .datenschutz-website__copy,
  .datenschutz-page .datenschutz-inquiry__copy,
  .datenschutz-page .datenschutz-cookies__required,
  .datenschutz-page .datenschutz-recipients__copy,
  .datenschutz-page .datenschutz-storage__segment--one,
  .datenschutz-page .datenschutz-rights__list {
    margin-top: var(--space-5);
  }

  .datenschutz-page .datenschutz-contact__details,
  .datenschutz-page .datenschutz-law-panel,
  .datenschutz-page .datenschutz-inquiry__law,
  .datenschutz-page .datenschutz-cookies__optional,
  .datenschutz-page .datenschutz-storage__segment--two,
  .datenschutz-page .datenschutz-storage__segment--three,
  .datenschutz-page .datenschutz-rights__withdrawal,
  .datenschutz-page .datenschutz-rights__complaint {
    margin-top: var(--space-5);
  }

  .datenschutz-page .datenschutz-website__copy,
  .datenschutz-page .datenschutz-inquiry__copy,
  .datenschutz-page .datenschutz-recipients__copy {
    gap: var(--space-6);
  }

  .datenschutz-page .datenschutz-law-panel,
  .datenschutz-page .datenschutz-inquiry__law,
  .datenschutz-page .datenschutz-cookies__optional,
  .datenschutz-page .datenschutz-storage__segment--two,
  .datenschutz-page .datenschutz-rights__withdrawal {
    padding: var(--space-5);
  }

  .datenschutz-page .datenschutz-contact__address,
  .datenschutz-page .datenschutz-contact__details {
    max-width: 38ch;
  }

  .datenschutz-page .datenschutz-cookies__linkline {
    margin-top: var(--space-5);
  }

  .datenschutz-page .datenschutz-recipient-block--accent {
    padding-left: var(--space-4);
  }
}

@media (prefers-reduced-motion: reduce) {
  .datenschutz-page a {
    transition-duration: 0.01ms;
  }
}


.agb-page {
  background: var(--color-warm-paper);
}

.agb-page__hero {
  padding-block: clamp(var(--space-9), 10vw, var(--space-10));
}

.agb-page__hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-6);
}

.agb-page__hero-copy,
.agb-page__hero-space,
.agb-page__toc,
.agb-page__chapters,
.agb-page__chapter-index,
.agb-page__chapter-content,
.agb-page__paragraph-copy,
.agb-page__margin-note,
.agb-page__primary-track,
.agb-page__project-help-copy,
.agb-page__project-help-action {
  min-width: 0;
}

.agb-page__hero-copy {
  grid-column: 1;
  width: 100%;
  max-width: 51.25rem;
}

.agb-page__hero-space {
  grid-column: 2;
  width: 100%;
}

.agb-page__effective-date {
  position: relative;
  margin-block-end: var(--space-5);
  padding-inline-start: var(--space-4);
  color: var(--color-silver-mist);
}

.agb-page__effective-date::before {
  position: absolute;
  top: 0.1em;
  bottom: 0.1em;
  left: 0;
  width: 2px;
  background: var(--color-muted-rose);
  content: "";
}

.agb-page__hero h1 {
  max-width: 10ch;
}

.agb-page__hero-rule {
  margin-block: var(--space-6);
}

.agb-page__hero .intro {
  max-width: 44ch;
  margin-block-end: 0;
}

.agb-page__document {
  padding-block: clamp(var(--space-9), 11vw, var(--space-10));
}

.agb-page__document-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 10fr);
  gap: var(--space-6);
  align-items: start;
}

.agb-page__toc {
  grid-column: 1;
  width: 100%;
  position: sticky;
  top: var(--space-8);
  border-inline-start: 1px solid var(--color-border);
  padding-inline-start: var(--space-4);
}

.agb-page__toc .eyebrow {
  margin-block-end: var(--space-4);
}

.agb-page__toc-nav {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.agb-page__toc-nav > a {
  display: block;
  width: 100%;
  min-width: 0;
  padding-block: var(--space-2);
  color: var(--color-dark-text);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  transition: color var(--transition-ui), border-color var(--transition-ui);
}

.agb-page__toc-nav > a::after {
  display: block;
  width: 0;
  height: 1px;
  margin-block-start: 0.25rem;
  background: var(--color-muted-rose);
  content: "";
  transition: width var(--transition-ui);
}

.agb-page__toc-nav > a:hover::after,
.agb-page__toc-nav > a[aria-current="true"]::after {
  width: 100%;
}

.agb-page__toc-nav > a[aria-current="true"] {
  color: var(--color-muted-rose);
}

.agb-page__chapters {
  grid-column: 2;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
}

.agb-page__chapter {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 8fr) minmax(0, 2fr);
  gap: var(--space-6);
  width: 100%;
  scroll-margin-top: var(--space-8);
}

.agb-page__chapter-index {
  grid-column: 1;
  width: 100%;
  padding-block-start: 0.5rem;
}

.agb-page__chapter-index .eyebrow {
  margin-block-end: 0;
}

.agb-page__chapter-content {
  grid-column: 2 / span 2;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
}

.agb-page__chapter-content > h2 {
  max-width: 14ch;
  margin-block-end: 0;
}

.agb-page__paragraph {
  width: 100%;
  max-width: 62ch;
  scroll-margin-top: var(--space-8);
}

.agb-page__paragraph > h3 {
  margin-block-end: var(--space-4);
}

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

.agb-page__paragraph ul {
  max-width: 52ch;
  margin-block-start: var(--space-5);
  margin-block-end: 0;
}

.agb-page__paragraph--with-note {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 3fr);
  gap: var(--space-6);
  max-width: none;
}

.agb-page__paragraph--with-note > .agb-page__paragraph-copy {
  grid-column: 1;
  width: 100%;
  max-width: 62ch;
}

.agb-page__margin-note {
  grid-column: 2;
  width: 100%;
  max-width: 26ch;
  align-self: start;
  margin-block-start: 0.25rem;
  padding-inline-start: var(--space-4);
  border-inline-start: 1px solid var(--color-muted-rose);
  font-size: var(--font-size-small);
  font-weight: 600;
  line-height: 1.5;
}

.agb-page__checkline {
  margin-block-start: var(--space-5);
  margin-block-end: 0;
  padding-block: var(--space-3);
  border-block: 1px solid var(--color-muted-rose);
  color: var(--color-muted-rose);
  font-family: var(--font-heading);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.35;
}

.agb-page__definitions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5) var(--space-6);
  width: 100%;
  max-width: 52rem;
  margin-block: var(--space-6) 0;
  border-block: 1px solid var(--color-border);
  padding-block: var(--space-5);
}

.agb-page__definition {
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.agb-page__definition strong {
  font-family: var(--font-heading);
  font-size: 1rem;
  line-height: 1.25;
}

.agb-page__definition span {
  max-width: 32ch;
  font-size: 0.9375rem;
  line-height: 1.5;
}

.agb-page__chapter--changes {
  grid-template-columns: minmax(0, 3fr) minmax(0, 6fr) minmax(0, 3fr);
}

.agb-page__chapter--changes .agb-page__chapter-content {
  grid-column: 2 / span 2;
}

.agb-page__primary-track {
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  width: 100%;
}

.agb-page__chapter--changes .agb-page__paragraph {
  max-width: 62ch;
}

.agb-page__paragraph--lined {
  padding-inline-start: var(--space-5);
  border-inline-start: 1px solid var(--color-border);
}

.agb-page__offset-paragraph {
  width: min(100%, 56ch);
  margin-inline-start: calc((100% / 9) + var(--space-3));
}

.agb-page__closing-label {
  margin-block-start: var(--space-5);
  margin-block-end: 0;
  color: var(--color-muted-rose);
}

.agb-page__chapter--fees {
  grid-template-columns: minmax(0, 3fr) minmax(0, 6fr) minmax(0, 3fr);
  width: calc(100% + (2 * var(--container-gutter)));
  margin-inline: calc(-1 * var(--container-gutter));
  padding-block: clamp(var(--space-8), 9vw, var(--space-10));
  padding-inline: max(var(--container-gutter), calc((100vw - var(--container-max)) / 2));
}

.agb-page__chapter--fees .agb-page__chapter-index {
  grid-column: 1;
}

.agb-page__chapter--fees .agb-page__chapter-content {
  grid-column: 2 / span 2;
  max-width: 100%;
}

.agb-page__chapter--fees .agb-page__chapter-content > h2,
.agb-page__chapter--fees .agb-page__paragraph {
  max-width: 58ch;
}

.agb-page__chapter--fees .agb-page__paragraph--with-note {
  max-width: none;
}

.agb-page__chapter--fees .agb-page__margin-note {
  color: var(--color-light-text);
}

.agb-page__paragraph--rose-top {
  border-top: 1px solid var(--color-muted-rose);
  padding-block-start: var(--space-5);
}

.agb-page__chapter--responsibility .agb-page__chapter-content,
.agb-page__chapter--final .agb-page__chapter-content {
  grid-column: 2 / span 2;
}

.agb-page__numbered-paragraph {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 7fr);
  gap: var(--space-5);
  max-width: none;
}

.agb-page__section-mark {
  grid-column: 1;
  width: 100%;
  color: var(--color-muted-rose);
  font-family: var(--font-heading);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-small);
  line-height: 1.4;
}

.agb-page__numbered-paragraph > .agb-page__paragraph-copy {
  grid-column: 2;
  width: 100%;
  max-width: 58ch;
  border-inline-start: 1px solid var(--color-border);
  padding-inline-start: var(--space-5);
}

.agb-page__numbered-paragraph h3 {
  margin-block-end: var(--space-3);
}

.agb-page__privacy-paragraph > .agb-page__paragraph-copy {
  max-width: 48ch;
}

.agb-page__privacy-paragraph .text-link {
  display: inline-block;
  min-height: 3rem;
  padding-block: 0.6875rem;
}

.agb-page__final-paragraph {
  border-top: 2px solid var(--color-dark-text);
  padding-block-start: var(--space-5);
}

.agb-page__project-help {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 2fr) minmax(0, 3fr);
  gap: var(--space-6);
  width: 100%;
  padding: clamp(var(--space-6), 5vw, var(--space-8));
}

.agb-page__project-help-copy {
  grid-column: 1;
  width: 100%;
  max-width: 40ch;
}

.agb-page__project-help-copy .eyebrow {
  margin-block-end: var(--space-4);
}

.agb-page__project-help-copy h2 {
  max-width: 12ch;
  margin-block-end: var(--space-4);
  font-size: clamp(2rem, 3.6vw, 3.5rem);
}

.agb-page__project-help-copy p {
  margin-block-end: 0;
}

.agb-page__project-help-action {
  grid-column: 3;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: end;
}

.agb-page__project-help-action .button {
  width: auto;
  min-width: 0;
}

.agb-page__project-help .button--secondary {
  color: var(--color-light-text);
}

@media (max-width: 61.24rem) {
  .agb-page__document-grid {
    grid-template-columns: 1fr;
    gap: var(--space-7);
  }

  .agb-page__toc {
    position: static;
    grid-column: 1;
    max-width: 100%;
  }

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

  .agb-page__toc-nav > a {
    width: 100%;
  }

  .agb-page__chapters {
    grid-column: 1;
  }

  .agb-page__chapter,
  .agb-page__chapter--changes,
  .agb-page__chapter--fees {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .agb-page__chapter-index,
  .agb-page__chapter--fees .agb-page__chapter-index {
    grid-column: 1 / -1;
    padding-block-start: 0;
  }

  .agb-page__chapter-content,
  .agb-page__chapter--changes .agb-page__chapter-content,
  .agb-page__chapter--fees .agb-page__chapter-content,
  .agb-page__chapter--responsibility .agb-page__chapter-content,
  .agb-page__chapter--final .agb-page__chapter-content {
    grid-column: 1 / -1;
  }

  .agb-page__offset-paragraph {
    margin-inline-start: 0;
  }
}

@media (max-width: 59.99rem) {
  .agb-page__paragraph--with-note {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .agb-page__paragraph--with-note > .agb-page__paragraph-copy,
  .agb-page__margin-note {
    grid-column: 1;
  }

  .agb-page__margin-note {
    max-width: 48ch;
  }
}

@media (max-width: 56.24rem) {
  .agb-page__definitions {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .agb-page__definition {
    padding-block-end: var(--space-5);
    border-bottom: 1px solid var(--color-border);
  }

  .agb-page__definition:last-child {
    padding-block-end: 0;
    border-bottom: 0;
  }

  .agb-page__definition span {
    max-width: 52ch;
  }
}

@media (max-width: 53.74rem) {
  .agb-page__numbered-paragraph {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .agb-page__section-mark,
  .agb-page__numbered-paragraph > .agb-page__paragraph-copy {
    grid-column: 1;
  }

  .agb-page__numbered-paragraph > .agb-page__paragraph-copy {
    border-inline-start: 0;
    padding-inline-start: 0;
  }
}

@media (max-width: 48.74rem) {
  .agb-page__project-help {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .agb-page__project-help-copy,
  .agb-page__project-help-action {
    grid-column: 1;
  }

  .agb-page__project-help-action {
    justify-content: stretch;
  }

  .agb-page__project-help-action .button {
    width: 100%;
  }
}

@media (max-width: 47.99rem) {
  .agb-page__hero {
    padding-block: clamp(var(--space-8), 16vw, var(--space-9));
  }

  .agb-page__hero-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .agb-page__hero-copy {
    grid-column: 1;
    max-width: 100%;
  }

  .agb-page__hero-space {
    display: none;
  }

  .agb-page__hero h1 {
    max-width: 11ch;
    font-size: clamp(3rem, 13vw, 4.5rem);
  }

  .agb-page__hero .intro {
    max-width: 34ch;
  }

  .agb-page__document {
    padding-block: clamp(var(--space-8), 14vw, var(--space-9));
  }

  .agb-page__toc-nav {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .agb-page__toc-nav > a {
    min-height: 3rem;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--color-border);
  }

  .agb-page__chapter,
  .agb-page__chapter--changes,
  .agb-page__chapter--fees {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .agb-page__chapter--fees {
    width: calc(100% + (2 * var(--container-gutter)));
    margin-inline: calc(-1 * var(--container-gutter));
    padding-inline: var(--container-gutter);
  }

  .agb-page__chapter-content,
  .agb-page__chapter--changes .agb-page__chapter-content,
  .agb-page__chapter--fees .agb-page__chapter-content,
  .agb-page__chapter--responsibility .agb-page__chapter-content,
  .agb-page__chapter--final .agb-page__chapter-content {
    gap: var(--space-6);
  }

  .agb-page__chapter-content > h2 {
    max-width: 13ch;
  }

  .agb-page__paragraph--lined {
    padding-block-start: var(--space-5);
    padding-inline-start: 0;
    border-inline-start: 0;
    border-top: 1px solid var(--color-border);
  }

  .agb-page__paragraph ul {
    padding-inline-start: 1rem;
  }

  .agb-page__project-help {
    padding: var(--space-6);
  }
}

@media (prefers-reduced-motion: reduce) {
  .agb-page__toc-nav > a::after {
    transition: none;
  }
}

@media print {
  .agb-page {
    background: #fff;
    color: #000;
  }

  .agb-page__hero,
  .agb-page__chapter--fees,
  .agb-page__project-help {
    background: #fff !important;
    color: #000 !important;
  }

  .agb-page__hero {
    border-bottom: 1px solid #000;
  }

  .agb-page__document-grid,
  .agb-page__chapter,
  .agb-page__project-help {
    display: block;
  }

  .agb-page__toc {
    position: static;
    margin-block-end: 2rem;
  }

  .agb-page__toc-nav {
    display: block;
  }

  .agb-page__toc-nav > a {
    display: block;
  }

  .agb-page__chapters {
    gap: 3rem;
  }

  .agb-page__chapter--fees {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .agb-page__project-help {
    border: 1px solid #000;
    margin-top: 2rem;
  }

  .agb-page__project-help .button {
    color: #000;
  }
}


.kontakt-page {
  background: var(--color-warm-paper);
}

.kontakt-page .eyebrow {
  margin-block-end: var(--space-4);
}

.kontakt-hero {
  padding-block: clamp(var(--space-9), 11vw, var(--space-11)) clamp(var(--space-9), 9vw, var(--space-10));
  overflow: hidden;
}

.kontakt-hero__grid,
.kontakt-anlaesse__grid,
.kontakt-direkt__grid,
.kontakt-briefing__grid,
.kontakt-raum__grid,
.kontakt-prozess__grid,
.kontakt-wege__grid,
.kontakt-abschluss__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
  min-width: 0;
}

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

.kontakt-hero__copy h1 {
  max-width: 11ch;
}

.kontakt-hero__intro {
  max-width: 38ch;
  font-size: var(--font-size-intro);
  line-height: 1.35;
}

.kontakt-hero__support {
  max-width: 48ch;
  color: var(--color-silver-mist);
}

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

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

.kontakt-hero__meta {
  grid-column: 1 / -1;
  grid-row: 2;
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  min-width: 0;
  margin-top: var(--space-8);
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border);
  color: var(--color-silver-mist);
  font-size: var(--font-size-utility);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-utility);
  text-transform: uppercase;
}

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

.kontakt-hero__media {
  grid-column: 9 / span 4;
  grid-row: 1 / span 2;
  width: 100%;
  min-width: 0;
  margin: var(--space-7) 0 calc(var(--space-8) * -1);
}

.kontakt-hero__media img {
  object-position: 72% center;
}

.kontakt-anlaesse__head {
  grid-column: 1 / span 4;
  min-width: 0;
}

.kontakt-anlaesse__intro {
  grid-column: 6 / span 5;
  min-width: 0;
  max-width: 48ch;
  margin-top: var(--space-6);
  font-size: var(--font-size-intro);
  line-height: 1.35;
}

.kontakt-anlaesse__modules {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  min-width: 0;
  margin-top: var(--space-8);
}

.kontakt-anlass {
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.kontakt-anlass--private {
  margin-top: var(--space-7);
}

.kontakt-anlass__number,
.kontakt-weg__mark {
  display: block;
  margin-bottom: var(--space-4);
  color: var(--color-muted-rose);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: var(--letter-spacing-h3);
}

.kontakt-anlass h3 {
  max-width: 17ch;
}

.kontakt-anlass p {
  max-width: 36ch;
}

.kontakt-anlass .utility-text {
  margin: 0;
}

.kontakt-direkt__head {
  grid-column: 1 / span 5;
  min-width: 0;
}

.kontakt-direkt__head h2 {
  max-width: 8ch;
}

.kontakt-direkt__module {
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.kontakt-direkt__module--phone {
  grid-column: 1 / span 4;
  margin-top: var(--space-8);
}

.kontakt-direkt__module--mail {
  grid-column: 5 / span 4;
  margin-top: calc(var(--space-8) + var(--space-8));
}

.kontakt-direkt__module--address {
  grid-column: 10 / span 3;
  margin-top: calc(var(--space-8) + var(--space-4));
}

.kontakt-direkt__module h3 {
  max-width: 15ch;
}

.kontakt-direkt__action {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  max-width: 100%;
  margin-bottom: var(--space-4);
  color: var(--color-light-text);
  font-family: var(--font-heading);
  font-size: clamp(1.45rem, 2.2vw, 2.25rem);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: var(--letter-spacing-h3);
  overflow-wrap: anywhere;
  text-decoration-color: var(--color-muted-rose);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

.kontakt-direkt__action:hover {
  color: var(--color-focus-rose);
  text-decoration-thickness: 2px;
}

.kontakt-direkt__module p {
  max-width: 42ch;
  color: var(--color-silver-mist);
}

.kontakt-direkt__module address {
  margin-bottom: var(--space-4);
  color: var(--color-light-text);
  font-family: var(--font-heading);
  font-size: clamp(1.2rem, 1.8vw, 1.55rem);
  font-weight: 500;
  line-height: 1.2;
}

.kontakt-briefing__head {
  grid-column: 1 / span 5;
  min-width: 0;
}

.kontakt-briefing__intro {
  grid-column: 7 / span 5;
  min-width: 0;
  max-width: 46ch;
  margin-top: var(--space-6);
  font-size: var(--font-size-intro);
  line-height: 1.35;
}

.kontakt-briefing__sequence {
  grid-column: 2 / span 9;
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  min-width: 0;
  margin-top: var(--space-9);
  padding-left: var(--space-6);
  border-left: 1px solid var(--color-dark-text);
}

.kontakt-briefing__point {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 5fr);
  gap: var(--space-5);
  min-width: 0;
}

.kontakt-briefing__point:nth-child(even) {
  margin-left: 8.333%;
}

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

.kontakt-briefing__number {
  color: var(--color-muted-rose);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
}

.kontakt-briefing__point h3 {
  max-width: 23ch;
}

.kontakt-briefing__point p {
  max-width: 50ch;
}

.kontakt-briefing__link {
  grid-column: 2 / span 5;
  min-width: 0;
  margin-top: var(--space-7);
}

.kontakt-raum__media {
  grid-column: 1 / span 6;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.kontakt-raum__media img {
  object-position: 38% center;
}

.kontakt-raum__media figcaption {
  max-width: 20ch;
}

.kontakt-raum__copy {
  grid-column: 8 / span 5;
  align-self: center;
  min-width: 0;
}

.kontakt-raum__copy > h2 {
  max-width: 9ch;
}

.kontakt-raum__chapter {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.kontakt-raum__chapter + .kontakt-raum__chapter {
  margin-top: var(--space-5);
}

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

.kontakt-raum__chapter > span {
  color: var(--color-muted-rose);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-small);
}

.kontakt-raum__chapter h3 {
  max-width: 20ch;
}

.kontakt-raum__chapter p {
  max-width: 54ch;
}

.kontakt-prozess__head {
  grid-column: 1 / span 4;
  min-width: 0;
}

.kontakt-prozess__intro {
  grid-column: 6 / span 4;
  min-width: 0;
  max-width: 44ch;
  margin-top: var(--space-6);
  font-size: var(--font-size-intro);
  line-height: 1.35;
}

.kontakt-prozess__steps {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-8);
}

.kontakt-prozess__step {
  position: relative;
  min-width: 0;
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-border);
}

.kontakt-prozess__step:nth-child(2) {
  margin-top: var(--space-7);
}

.kontakt-prozess__number {
  display: block;
  margin-bottom: var(--space-4);
  color: var(--color-muted-rose);
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
}

.kontakt-prozess__step h3 {
  max-width: 15ch;
}

.kontakt-prozess__step p {
  max-width: 34ch;
}

.kontakt-wege__head {
  grid-column: 1 / span 5;
  min-width: 0;
}

.kontakt-wege__modules {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  min-width: 0;
  margin-top: var(--space-8);
}

.kontakt-weg {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

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

.kontakt-weg--mail {
  margin-top: var(--space-6);
}

.kontakt-weg--request {
  margin-top: calc(var(--space-6) * -1);
  border-top-color: var(--color-muted-rose);
}

.kontakt-weg h3 {
  max-width: 17ch;
}

.kontakt-weg p {
  max-width: 36ch;
}

.kontakt-weg .button {
  margin-top: auto;
}

.kontakt-abschluss {
  padding-block: clamp(var(--space-10), 12vw, var(--space-11));
}

.kontakt-abschluss__copy {
  grid-column: 3 / span 6;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  min-width: 0;
  padding-left: var(--space-5);
  border-left: 1px solid var(--color-muted-rose);
}

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

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

.kontakt-abschluss__copy p {
  max-width: 42ch;
  font-size: var(--font-size-intro);
  line-height: 1.35;
}

@media (max-width: 62.49rem) {
  .kontakt-hero__grid,
  .kontakt-anlaesse__grid,
  .kontakt-direkt__grid,
  .kontakt-briefing__grid,
  .kontakt-raum__grid,
  .kontakt-prozess__grid,
  .kontakt-wege__grid,
  .kontakt-abschluss__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .kontakt-hero__copy {
    grid-column: 1 / -1;
  }

  .kontakt-hero__media {
    grid-column: 3 / span 4;
    grid-row: 3;
    margin: var(--space-6) 0 0;
  }

  .kontakt-hero__meta {
    grid-row: 2;
    margin-top: var(--space-7);
  }

  .kontakt-anlaesse__head,
  .kontakt-briefing__head,
  .kontakt-prozess__head,
  .kontakt-wege__head {
    grid-column: 1 / -1;
  }

  .kontakt-anlaesse__intro,
  .kontakt-briefing__intro,
  .kontakt-prozess__intro {
    grid-column: 1 / span 5;
    margin-top: var(--space-4);
  }

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

  .kontakt-anlass--tables {
    grid-column: 1 / -1;
    width: calc(50% - (var(--space-6) / 2));
  }

  .kontakt-direkt__head {
    grid-column: 1 / -1;
  }

  .kontakt-direkt__module--phone,
  .kontakt-direkt__module--mail {
    grid-column: span 3;
    margin-top: var(--space-7);
  }

  .kontakt-direkt__module--address {
    grid-column: 1 / -1;
    margin-top: var(--space-6);
  }

  .kontakt-briefing__sequence {
    grid-column: 1 / -1;
  }

  .kontakt-briefing__link {
    grid-column: 1 / span 5;
  }

  .kontakt-raum__media {
    grid-column: 1 / -1;
  }

  .kontakt-raum__copy {
    grid-column: 2 / -1;
    margin-top: var(--space-8);
  }

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

  .kontakt-prozess__step:nth-child(2) {
    margin-top: var(--space-6);
  }

  .kontakt-prozess__step:nth-child(3) {
    grid-column: 1 / -1;
    width: calc(50% - (var(--space-5) / 2));
  }

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

  .kontakt-weg--request {
    grid-column: 1 / -1;
    width: 50%;
    margin-top: 0;
  }

  .kontakt-abschluss__copy {
    grid-column: 1 / -1;
  }
}

@media (max-width: 42.49rem) {
  .kontakt-hero {
    padding-block: var(--space-9);
  }

  .kontakt-hero__copy h1 {
    max-width: 10ch;
    font-size: clamp(3rem, 15vw, 4.5rem);
  }

  .kontakt-hero__intro {
    max-width: 34ch;
  }

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

  .kontakt-hero__actions > .button {
    width: 100%;
  }

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

  .kontakt-hero__media {
    grid-column: 1 / -1;
    margin-top: var(--space-4);
  }

  .kontakt-anlaesse__modules,
  .kontakt-prozess__steps,
  .kontakt-wege__modules {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-7);
  }

  .kontakt-anlass--private,
  .kontakt-weg--mail,
  .kontakt-weg--request,
  .kontakt-prozess__step:nth-child(2) {
    margin-top: 0;
  }

  .kontakt-anlass--tables,
  .kontakt-prozess__step:nth-child(3),
  .kontakt-weg--request {
    grid-column: auto;
    width: 100%;
  }

  .kontakt-direkt__module--phone,
  .kontakt-direkt__module--mail,
  .kontakt-direkt__module--address {
    grid-column: 1 / -1;
    margin-top: var(--space-6);
  }

  .kontakt-direkt__module--phone {
    margin-top: var(--space-7);
  }

  .kontakt-direkt__action {
    min-height: 3rem;
  }

  .kontakt-briefing__sequence {
    gap: var(--space-6);
    margin-top: var(--space-7);
    padding-left: var(--space-4);
  }

  .kontakt-briefing__point,
  .kontakt-raum__chapter {
    grid-template-columns: 1.5rem minmax(0, 1fr);
    gap: var(--space-3);
  }

  .kontakt-briefing__point:nth-child(even) {
    margin-left: 0;
  }

  .kontakt-briefing__point h3,
  .kontakt-raum__chapter h3 {
    max-width: none;
    font-size: clamp(1.45rem, 7vw, 1.8rem);
  }

  .kontakt-briefing__point p,
  .kontakt-raum__chapter p {
    max-width: 40ch;
  }

  .kontakt-briefing__link {
    grid-column: 1 / -1;
  }

  .kontakt-raum__copy {
    grid-column: 1 / -1;
    margin-top: var(--space-7);
  }

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

  .kontakt-prozess__step {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    column-gap: var(--space-3);
    padding-top: var(--space-5);
  }

  .kontakt-prozess__number {
    grid-row: span 3;
    margin: 0;
  }

  .kontakt-prozess__step h3,
  .kontakt-prozess__step p,
  .kontakt-prozess__step a {
    grid-column: 2;
  }

  .kontakt-prozess__step h3 {
    font-size: clamp(1.4rem, 7vw, 1.7rem);
  }

  .kontakt-prozess__step p {
    max-width: 40ch;
  }

  .kontakt-weg {
    padding-top: var(--space-5);
  }

  .kontakt-weg p {
    max-width: 39ch;
  }

  .kontakt-weg .button {
    width: 100%;
  }

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

  .kontakt-abschluss__copy {
    gap: var(--space-5);
    padding-left: var(--space-4);
  }

  .kontakt-abschluss__copy h2 {
    max-width: 9ch;
    font-size: clamp(2.5rem, 12vw, 3.7rem);
  }

  .kontakt-abschluss__copy p {
    max-width: 38ch;
  }

  .kontakt-abschluss__copy .button {
    width: 100%;
  }
}


.ablauf-page {
  background: var(--color-warm-paper);
}

.ablauf-page .section--spacious {
  padding-block: clamp(var(--space-9), 12vw, var(--space-11));
}

.ablauf-hero__grid,
.ablauf-venue__grid,
.ablauf-presence__grid,
.ablauf-cta__grid {
  display: grid;
  min-width: 0;
}

.ablauf-hero__grid {
  grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
  gap: min(7vw, var(--space-10));
  align-items: start;
}

.ablauf-hero__copy,
.ablauf-hero__figure,
.ablauf-venue__copy,
.ablauf-venue__figure,
.ablauf-presence__main,
.ablauf-presence__index,
.ablauf-cta__copy,
.ablauf-cta__actions {
  min-width: 0;
  width: 100%;
}

.ablauf-hero__copy h1 {
  max-width: 8.5ch;
  font-size: clamp(3rem, 7.2vw, 7rem);
}

.ablauf-hero__copy .intro {
  max-width: 38ch;
}

.ablauf-hero__link {
  display: inline-block;
  margin-bottom: var(--space-6);
}

.ablauf-hero__note {
  max-width: 48ch;
  margin: 0;
  padding-left: var(--space-4);
  border-left: 1px solid var(--color-muted-rose);
  color: var(--color-silver-mist);
  font-style: italic;
}

.ablauf-hero__figure {
  margin: clamp(3rem, 7vw, 5.5rem) 0 0;
}

.ablauf-section-head,
.ablauf-production__head {
  display: grid;
  min-width: 0;
}

.ablauf-section-head > *,
.ablauf-production__head > * {
  min-width: 0;
}

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

.ablauf-index {
  padding-top: var(--space-1);
  color: var(--color-muted-rose);
  font-family: var(--font-heading);
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: var(--letter-spacing-h2);
}

.ablauf-inquiry__intro {
  max-width: 48ch;
}

.ablauf-inquiry__modules {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-7) var(--space-6);
  margin-top: var(--space-9);
}

.ablauf-open-module {
  position: relative;
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.ablauf-inquiry__module--one,
.ablauf-inquiry__module--two {
  grid-column: span 4;
}

.ablauf-inquiry__module--three {
  grid-column: 4 / span 8;
}

.ablauf-module-index,
.ablauf-module-label,
.ablauf-step__label,
.ablauf-letter {
  display: block;
  color: var(--color-muted-rose);
  font-size: var(--font-size-utility);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-utility);
  text-transform: uppercase;
}

.ablauf-module-index {
  margin-bottom: var(--space-3);
}

.ablauf-module-label {
  position: absolute;
  top: var(--space-5);
  right: 0;
  writing-mode: vertical-rl;
}

.ablauf-concept h2 {
  max-width: 10ch;
}

.ablauf-concept__lead {
  width: min(100%, 48ch);
  margin: var(--space-7) 0 var(--space-9) 25%;
}

.ablauf-concept__lead .intro {
  margin-bottom: var(--space-5);
}

.ablauf-concept__question {
  max-width: 18ch;
  margin: 0;
  color: var(--color-silver-mist);
  font-family: var(--font-heading);
  font-size: clamp(1.45rem, 2.4vw, 2.25rem);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: var(--letter-spacing-h3);
}

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

.ablauf-concept-module {
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.ablauf-concept-module--offset {
  margin-top: var(--space-8);
}

.ablauf-concept-module--raised {
  padding: var(--space-5);
  border-top: 1px solid var(--color-muted-rose);
  background: var(--color-plum-surface);
}

.ablauf-anchor-title {
  display: block;
  margin-bottom: var(--space-4);
  text-decoration: none;
}

.ablauf-anchor-title span {
  display: block;
  margin-bottom: var(--space-3);
  color: var(--color-muted-rose);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-small);
}

.ablauf-anchor-title h3 {
  margin: 0;
  transition: color var(--transition-ui), transform var(--transition-ui);
}

.ablauf-anchor-title:hover h3 {
  color: var(--color-muted-rose);
  transform: translateX(4px);
}

.ablauf-venue__grid {
  grid-template-columns: minmax(0, 5fr) minmax(0, 5fr);
  gap: min(10vw, var(--space-10));
  align-items: start;
}

.ablauf-venue__copy {
  padding-top: var(--space-6);
}

.ablauf-venue__copy h2 {
  max-width: 9ch;
}

.ablauf-venue__copy > .intro {
  max-width: 45ch;
}

.ablauf-venue__copy .rule {
  margin: var(--space-6) 0;
}

.ablauf-venue__details {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  min-width: 0;
}

.ablauf-venue-detail {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 31ch);
  gap: var(--space-3);
  min-width: 0;
}

.ablauf-venue-detail > * {
  min-width: 0;
}

.ablauf-venue-detail--inset {
  margin-left: var(--space-6);
}

.ablauf-production__head {
  grid-template-columns: minmax(0, 2fr) minmax(0, 5fr) minmax(0, 4fr);
  gap: var(--space-5);
  align-items: start;
}

.ablauf-production__head h2 {
  max-width: 10ch;
}

.ablauf-production__head .intro {
  max-width: 44ch;
  margin-top: var(--space-7);
}

.ablauf-production__steps {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) minmax(0, 3fr) minmax(0, 3fr);
  gap: var(--space-4);
  margin-top: var(--space-8);
}

.ablauf-step {
  position: relative;
  min-width: 0;
  padding: var(--space-5) 0 0;
  border-top: 1px solid var(--color-border);
  transition: border-color var(--transition-ui), transform var(--transition-ui);
}

.ablauf-step:hover,
.ablauf-step:focus-within {
  border-top-color: var(--color-muted-rose);
  transform: translateY(-4px);
}

.ablauf-step__number {
  display: block;
  margin-bottom: var(--space-4);
  color: var(--color-muted-rose);
  font-family: var(--font-heading);
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 600;
  line-height: 1;
}

.ablauf-step + .ablauf-step {
  border-left: 1px solid var(--color-border);
  padding-left: var(--space-4);
}

.ablauf-step--hosts {
  padding-top: var(--space-6);
}

.ablauf-step__label {
  position: absolute;
  top: var(--space-5);
  right: var(--space-2);
  writing-mode: vertical-rl;
}

.ablauf-step--final {
  padding: var(--space-5);
  border: 1px solid var(--color-plum-surface);
  background: var(--color-plum-surface);
  color: var(--color-light-text);
}

.ablauf-step--final:hover,
.ablauf-step--final:focus-within {
  border-color: var(--color-muted-rose);
}

.ablauf-setup__figure {
  width: 100%;
  margin: 0;
}

.ablauf-setup__panel {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 2fr);
  gap: var(--space-6);
  width: min(100%, 66.666%);
  min-width: 0;
  margin: calc(-1 * var(--space-8)) 0 0 var(--space-8);
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  background: var(--color-warm-paper);
  color: var(--color-dark-text);
}

.ablauf-setup__main,
.ablauf-setup__note {
  min-width: 0;
}

.ablauf-setup__main h2 {
  max-width: 10ch;
}

.ablauf-setup__main .intro {
  max-width: 56ch;
}

.ablauf-setup__main .rule {
  margin: var(--space-6) 0;
}

.ablauf-setup__note {
  align-self: end;
  margin: 0;
  padding-left: var(--space-4);
  border-left: 1px solid var(--color-muted-rose);
  color: var(--color-muted-rose);
  font-family: var(--font-heading);
  font-size: clamp(1.1rem, 1.7vw, 1.4rem);
  line-height: 1.2;
}

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

.ablauf-guests__title {
  grid-column: span 5;
  min-width: 0;
}

.ablauf-guests__title h2 {
  max-width: 8ch;
}

.ablauf-guest-scene {
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.ablauf-guest-scene--arrival {
  grid-column: 8 / span 4;
}

.ablauf-guest-scene--encounter {
  grid-column: 9 / span 4;
  margin-top: var(--space-7);
  padding: var(--space-5);
  border-top-color: transparent;
  background: var(--color-plum-surface);
  color: var(--color-light-text);
}

.ablauf-guest-scene--closing {
  grid-column: 3 / span 4;
  margin-top: var(--space-6);
}

.ablauf-presence__grid {
  grid-template-columns: minmax(0, 7fr) minmax(0, 2fr);
  justify-content: space-between;
  gap: min(12vw, var(--space-11));
}

.ablauf-presence__main h2 {
  max-width: 9ch;
}

.ablauf-presence__main > .intro {
  max-width: 46ch;
}

.ablauf-presence__index {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-self: start;
  padding-top: var(--space-2);
  border-left: 1px solid var(--color-border);
  padding-left: var(--space-4);
  color: var(--color-silver-mist);
  font-size: var(--font-size-utility);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-utility);
}

.ablauf-principles {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-8);
}

.ablauf-principle {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 35ch);
  gap: var(--space-4);
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.ablauf-principle > * {
  min-width: 0;
}

.ablauf-principle > span {
  color: var(--color-muted-rose);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-small);
}

.ablauf-principle--accent {
  padding-left: var(--space-4);
  border-left: 1px solid var(--color-muted-rose);
}

.ablauf-bridge__statement {
  max-width: 52ch;
}

.ablauf-bridge__statement h2 {
  max-width: 10ch;
}

.ablauf-bridge__links {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 4fr);
  gap: min(12vw, var(--space-11));
  margin-top: var(--space-8);
}

.ablauf-bridge-link {
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.ablauf-bridge-link--offset {
  margin-top: var(--space-7);
}

.ablauf-bridge-link h3 {
  margin-bottom: var(--space-4);
  transition: transform var(--transition-ui);
}

.ablauf-bridge-link h3 a {
  display: inline-block;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

.ablauf-bridge-link:hover h3,
.ablauf-bridge-link:focus-within h3 {
  transform: translateX(4px);
}

.ablauf-cta__grid {
  grid-template-columns: minmax(0, 6fr) minmax(0, 3fr);
  justify-content: space-between;
  gap: min(14vw, var(--space-11));
  padding-top: var(--space-7);
  border-top: 1px solid var(--color-border);
}

.ablauf-cta__copy h2 {
  max-width: 9ch;
  margin-top: var(--space-5);
}

.ablauf-cta__copy .intro {
  max-width: 38ch;
}

.ablauf-cta__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  align-self: end;
  padding-bottom: var(--space-2);
}

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

  .ablauf-step + .ablauf-step {
    border-left: 0;
    padding-left: 0;
  }

  .ablauf-step--final {
    padding: var(--space-5);
  }
}

@media (max-width: 61.25rem) {
  .ablauf-hero__grid,
  .ablauf-venue__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .ablauf-hero__copy h1,
  .ablauf-concept h2,
  .ablauf-venue__copy h2,
  .ablauf-production__head h2,
  .ablauf-setup__main h2,
  .ablauf-guests__title h2,
  .ablauf-presence__main h2,
  .ablauf-bridge__statement h2,
  .ablauf-cta__copy h2 {
    max-width: none;
  }

  .ablauf-hero__figure {
    width: min(100%, 38rem);
    margin: var(--space-2) 0 0;
  }

  .ablauf-venue__copy {
    order: -1;
    padding-top: 0;
  }

  .ablauf-venue__figure {
    aspect-ratio: 3 / 2;
  }

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

  .ablauf-concept-module--offset {
    margin-top: 0;
  }

  .ablauf-concept-module--raised {
    grid-column: span 2;
  }

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

  .ablauf-guests__title,
  .ablauf-guest-scene--arrival,
  .ablauf-guest-scene--encounter,
  .ablauf-guest-scene--closing {
    grid-column: auto;
    margin-top: 0;
  }

  .ablauf-guests__title {
    grid-column: span 2;
  }
}

@media (max-width: 60rem) {
  .ablauf-setup__panel {
    grid-template-columns: 1fr;
    width: 100%;
    margin: var(--space-6) 0 0;
  }

  .ablauf-setup__note {
    max-width: 22ch;
    align-self: start;
  }
}

@media (max-width: 56.25rem) {
  .ablauf-inquiry__head {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .ablauf-inquiry__modules {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .ablauf-inquiry__module--one,
  .ablauf-inquiry__module--two,
  .ablauf-inquiry__module--three {
    grid-column: auto;
  }

  .ablauf-production__head {
    grid-template-columns: minmax(0, 1fr) minmax(0, 4fr);
  }

  .ablauf-production__head .intro {
    grid-column: 2;
    margin-top: 0;
  }

  .ablauf-presence__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .ablauf-presence__index {
    order: -1;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    padding: 0 0 var(--space-3);
    border-left: 0;
    border-bottom: 1px solid var(--color-border);
  }
}

@media (max-width: 51.25rem) {
  .ablauf-bridge__links,
  .ablauf-cta__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .ablauf-bridge-link--offset {
    margin-top: 0;
  }

  .ablauf-cta__actions {
    align-self: start;
  }
}

@media (max-width: 45rem) {
  .ablauf-production__steps,
  .ablauf-concept__modules,
  .ablauf-guests__grid {
    grid-template-columns: 1fr;
  }

  .ablauf-concept-module--raised,
  .ablauf-guests__title {
    grid-column: auto;
  }

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

  .ablauf-production__head .intro {
    grid-column: auto;
  }
}

@media (max-width: 47.99rem) {
  .ablauf-page .section--spacious {
    padding-block: clamp(var(--space-9), 18vw, var(--space-10));
  }

  .ablauf-hero__copy h1 {
    font-size: clamp(3rem, 14vw, 4.6rem);
  }

  .ablauf-hero__copy .intro,
  .ablauf-concept__lead,
  .ablauf-venue__copy > .intro,
  .ablauf-production__head .intro,
  .ablauf-setup__main .intro,
  .ablauf-presence__main > .intro,
  .ablauf-cta__copy .intro {
    max-width: 100%;
  }

  .ablauf-hero__figure {
    width: 100%;
  }

  .ablauf-concept__lead {
    margin: var(--space-6) 0 var(--space-7);
  }

  .ablauf-concept__modules,
  .ablauf-inquiry__modules,
  .ablauf-production__steps,
  .ablauf-venue__details,
  .ablauf-principles {
    gap: var(--space-5);
  }

  .ablauf-venue-detail--inset {
    margin-left: 0;
  }

  .ablauf-step--final,
  .ablauf-concept-module--raised,
  .ablauf-guest-scene--encounter {
    padding: var(--space-5);
  }

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

  .ablauf-setup__figure {
    aspect-ratio: 3 / 2;
  }

  .ablauf-principle {
    grid-template-columns: 2rem minmax(0, 1fr);
  }

  .ablauf-cta__actions {
    width: 100%;
  }

  .ablauf-cta__actions .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ablauf-step:hover,
  .ablauf-step:focus-within,
  .ablauf-anchor-title:hover h3,
  .ablauf-bridge-link:hover h3,
  .ablauf-bridge-link:focus-within h3 {
    transform: none;
  }
}


.references-page {
  background: var(--color-warm-paper);
}

.references-page .media-frame {
  width: 100%;
  max-width: 100%;
  margin: 0;
}

.references-page .media-frame::after {
  position: absolute;
  inset: 0;
  background: rgb(33 25 39 / 16%);
  content: "";
  pointer-events: none;
}

.references-page .media-frame figcaption {
  position: relative;
  z-index: 1;
}

.references-page .references-hero__grid,
.references-page .references-case__grid,
.references-page .references-private__grid,
.references-page .references-vip__grid,
.references-page .references-visuals__grid,
.references-page .references-path__grid,
.references-page .references-cta__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
}

.references-page .references-hero__copy,
.references-page .references-hero__media,
.references-page .references-case__head,
.references-page .references-case__wide-media,
.references-page .references-case__module,
.references-page .references-private__head,
.references-page .references-private__media,
.references-page .references-private__textgroup,
.references-page .references-vip__head,
.references-page .references-vip__media,
.references-page .references-visuals__intro,
.references-page .references-visuals__media,
.references-page .references-path__intro,
.references-page .references-path__steps,
.references-page .references-path__links,
.references-page .references-cta__content {
  min-width: 0;
}

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

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

.references-page .references-hero h1 {
  max-width: 12ch;
  font-size: clamp(3.3rem, 7vw, 7rem);
}

.references-page .references-hero .intro {
  max-width: 38ch;
}

.references-page .references-hero__actions,
.references-page .references-cta__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  min-width: 0;
}

.references-page .references-hero__actions > *,
.references-page .references-cta__actions > * {
  min-width: 0;
}

.references-page .references-hero__index {
  width: 100%;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
  color: var(--color-silver-mist);
}

.references-page .references-hero__media {
  grid-column: 7 / span 6;
  grid-row: 1;
  align-self: start;
  margin-top: var(--space-8);
}

.references-page .references-hero__media img {
  object-position: 78% center;
}

.references-page .references-principles__intro {
  width: min(100%, 35rem);
}

.references-page .references-principles__intro p {
  max-width: 48ch;
}

.references-page .references-principles__grid {
  display: grid;
  grid-template-columns: 3fr 4fr 3fr;
  gap: var(--space-6);
  margin-top: var(--space-8);
}

.references-page .references-principles__grid > * {
  min-width: 0;
}

.references-page .references-principle {
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.references-page .references-principle--two {
  margin-top: var(--space-7);
}

.references-page .references-principle__number,
.references-page .references-visuals__notes span {
  display: block;
  margin-bottom: var(--space-5);
  color: var(--color-muted-rose);
  font-family: var(--font-heading);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: var(--letter-spacing-small);
}

.references-page .references-principle p {
  max-width: 34ch;
}

.references-page .references-case__head {
  grid-column: 1 / span 7;
}

.references-page .references-case__head h2,
.references-page .references-private__head h2,
.references-page .references-vip__head h2 {
  max-width: 12ch;
}

.references-page .references-case__context {
  margin-bottom: var(--space-4);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-small);
  text-transform: uppercase;
}

.references-page .references-case__lead,
.references-page .references-private__context,
.references-page .references-vip__context {
  max-width: 44ch;
}

.references-page .references-case__wide-media {
  grid-column: 2 / span 11;
}

.references-page .references-case__wide-media img {
  object-position: center center;
}

.references-page .references-case__module {
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.references-page .references-case__module h3 {
  max-width: 18ch;
}

.references-page .references-case__module p {
  max-width: 42ch;
}

.references-page .references-case__module--arrival {
  grid-column: 1 / span 4;
}

.references-page .references-case__module--tables {
  grid-column: 5 / span 5;
}

.references-page .references-case__module--finale {
  grid-column: 9 / span 4;
  padding: var(--space-6);
  border: 0;
}

.references-page .references-case__module--finale p {
  max-width: 34ch;
}

.references-page .references-interlude__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-7) var(--space-6);
}

.references-page .references-interlude__statement {
  grid-column: 3 / span 6;
  min-width: 0;
}

.references-page .references-interlude__statement h2 {
  max-width: 16ch;
}

.references-page .references-interlude__statement p {
  max-width: 40ch;
}

.references-page .references-interlude__points {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
}

.references-page .references-interlude__points > * {
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.references-page .references-interlude__points h3 {
  font-size: 1rem;
  letter-spacing: -0.01em;
}

.references-page .references-interlude__points p {
  max-width: 24ch;
}

.references-page .references-private__head {
  grid-column: 2 / span 7;
}

.references-page .references-private__media {
  grid-column: 1 / span 5;
  grid-row: 2 / span 2;
}

.references-page .references-private__media img {
  object-position: 38% center;
}

.references-page .references-private__textgroup {
  grid-column: 7 / span 5;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.references-page .references-private__textgroup > * {
  min-width: 0;
  margin: 0;
}

.references-page .references-private__decor {
  min-width: 0;
}

.references-page .references-private__table-module {
  grid-column: 6 / span 5;
  padding: var(--space-6);
  border: 0;
}

.references-page .references-private__closing {
  grid-column: 3 / span 5;
}

.references-page .references-development__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-7) var(--space-6);
}

.references-page .references-development__intro {
  grid-column: 1 / span 7;
  min-width: 0;
}

.references-page .references-development__intro h2 {
  max-width: 15ch;
}

.references-page .references-development__intro p {
  max-width: 44ch;
  margin-left: calc((100% / 7) + var(--space-6));
}

.references-page .references-development__list {
  grid-column: 5 / span 7;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.references-page .references-development__list > li {
  display: grid;
  grid-template-columns: minmax(2.5rem, 1fr) minmax(0, 6fr);
  gap: var(--space-5);
  min-width: 0;
  padding-bottom: var(--space-5);
  border-bottom: 1px solid var(--color-border);
}

.references-page .references-development__list span {
  color: var(--color-muted-rose);
  font-family: var(--font-heading);
  font-weight: 600;
}

.references-page .references-development__list div {
  min-width: 0;
}

.references-page .references-development__list p {
  max-width: 40ch;
}

.references-page .references-vip__head {
  grid-column: 1 / span 7;
}

.references-page .references-vip__context {
  max-width: 42ch;
}

.references-page .references-vip__media {
  grid-column: 8 / span 5;
  grid-row: 1 / span 2;
}

.references-page .references-vip__media img {
  object-position: 82% center;
}

.references-page .references-vip__hosts {
  grid-column: 1 / span 4;
  border-left: 1px solid var(--color-muted-rose);
  padding-left: var(--space-5);
}

.references-page .references-vip__light {
  grid-column: 6 / span 3;
}

.references-page .references-vip__tables {
  grid-column: 8 / span 5;
}

.references-page .references-vip__tables p {
  max-width: 48ch;
}

.references-page .references-visuals__intro {
  grid-column: 1 / span 5;
}

.references-page .references-visuals__intro h2 {
  max-width: 12ch;
}

.references-page .references-visuals__intro p {
  max-width: 46ch;
}

.references-page .references-visuals__media {
  grid-column: 1 / -1;
}

.references-page .references-visuals__media img {
  object-position: center center;
}

.references-page .references-visuals__notes {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-6);
}

.references-page .references-visuals__notes > * {
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.references-page .references-visuals__notes article:nth-child(even) {
  margin-top: var(--space-6);
}

.references-page .references-visuals__notes h3 {
  font-size: 1.2rem;
}

.references-page .references-visuals__notes p {
  max-width: 30ch;
}

.references-page .references-path__intro {
  grid-column: 1 / span 6;
}

.references-page .references-path__intro h2 {
  max-width: 13ch;
}

.references-page .references-path__intro p {
  max-width: 48ch;
}

.references-page .references-path__steps {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  row-gap: var(--space-7);
}

.references-page .references-path__step {
  display: grid;
  grid-template-columns: minmax(3.5rem, 1fr) minmax(0, 6fr);
  gap: var(--space-5);
  min-width: 0;
  padding-bottom: var(--space-6);
  border-bottom: 1px solid var(--color-border);
}

.references-page .references-path__step > * {
  min-width: 0;
}

.references-page .references-path__step > span {
  color: var(--color-muted-rose);
  font-family: var(--font-heading);
  font-size: clamp(2.25rem, 4vw, 4rem);
  font-weight: 600;
  line-height: 0.9;
  letter-spacing: -0.05em;
}

.references-page .references-path__step p {
  max-width: 40ch;
}

.references-page .references-path__step--one {
  grid-column: 1 / span 7;
}

.references-page .references-path__step--two {
  grid-column: 3 / span 7;
}

.references-page .references-path__step--three {
  grid-column: 5 / span 7;
}

.references-page .references-path__links {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-5);
  min-width: 0;
}

.references-page .references-path__links > * {
  min-width: 0;
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
}

.references-page .references-cta__content {
  grid-column: 2 / span 6;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.references-page .references-cta__content > * {
  min-width: 0;
  margin: 0;
}

.references-page .references-cta__content h2 {
  max-width: 13ch;
}

.references-page .references-cta__content .intro {
  max-width: 42ch;
}

.references-page .references-cta__content::before {
  width: 100%;
  height: 1px;
  background: var(--color-border);
  content: "";
}

.references-page .surface-dark .text-link,
.references-page .surface-ink .text-link,
.references-page .surface-plum .text-link {
  color: var(--color-light-text);
}

.references-page .surface-dark .text-link:hover,
.references-page .surface-ink .text-link:hover,
.references-page .surface-plum .text-link:hover {
  color: var(--color-muted-rose);
}

@media (max-width: 62.49rem) {
  .references-page .references-hero__grid,
  .references-page .references-case__grid,
  .references-page .references-private__grid,
  .references-page .references-vip__grid,
  .references-page .references-visuals__grid,
  .references-page .references-path__grid,
  .references-page .references-cta__grid,
  .references-page .references-interlude__grid,
  .references-page .references-development__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .references-page .references-hero__copy {
    grid-column: 1 / span 4;
  }

  .references-page .references-hero__media {
    grid-column: 1 / -1;
    grid-row: auto;
    margin-top: 0;
  }

  .references-page .references-principles__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .references-page .references-principle--one,
  .references-page .references-principle--two {
    grid-column: span 3;
  }

  .references-page .references-principle--three {
    grid-column: 1 / span 4;
  }

  .references-page .references-case__head,
  .references-page .references-private__head,
  .references-page .references-vip__head,
  .references-page .references-visuals__intro,
  .references-page .references-path__intro,
  .references-page .references-development__intro,
  .references-page .references-cta__content {
    grid-column: 1 / -1;
  }

  .references-page .references-case__wide-media,
  .references-page .references-private__table-module,
  .references-page .references-private__closing,
  .references-page .references-vip__tables,
  .references-page .references-visuals__media,
  .references-page .references-visuals__notes,
  .references-page .references-path__steps,
  .references-page .references-path__links {
    grid-column: 1 / -1;
  }

  .references-page .references-case__module--arrival,
  .references-page .references-case__module--tables,
  .references-page .references-vip__hosts,
  .references-page .references-vip__light {
    grid-column: span 3;
  }

  .references-page .references-case__module--finale {
    grid-column: 1 / -1;
  }

  .references-page .references-interlude__statement {
    grid-column: 1 / span 5;
  }

  .references-page .references-interlude__points {
    grid-column: 1 / -1;
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .references-page .references-interlude__points article:nth-child(1),
  .references-page .references-interlude__points article:nth-child(2) {
    grid-column: span 3;
  }

  .references-page .references-interlude__points article:nth-child(3) {
    grid-column: 1 / -1;
  }

  .references-page .references-private__media {
    grid-column: 1 / span 3;
    grid-row: 2;
  }

  .references-page .references-private__textgroup {
    grid-column: 4 / span 3;
  }

  .references-page .references-development__intro p {
    margin-left: 0;
  }

  .references-page .references-development__list {
    grid-column: 1 / -1;
  }

  .references-page .references-vip__media {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .references-page .references-visuals__notes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .references-page .references-path__steps {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .references-page .references-path__step--one,
  .references-page .references-path__step--two,
  .references-page .references-path__step--three {
    grid-column: 1 / -1;
  }
}

@media (max-width: 56.24rem) {
  .references-page .references-principle--two {
    margin-top: 0;
  }
}

@media (max-width: 42.49rem) {
  .references-page .references-hero__grid,
  .references-page .references-case__grid,
  .references-page .references-private__grid,
  .references-page .references-vip__grid,
  .references-page .references-visuals__grid,
  .references-page .references-path__grid,
  .references-page .references-cta__grid,
  .references-page .references-interlude__grid,
  .references-page .references-development__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .references-page .references-hero__copy,
  .references-page .references-hero__media,
  .references-page .references-case__head,
  .references-page .references-case__wide-media,
  .references-page .references-case__module--arrival,
  .references-page .references-case__module--tables,
  .references-page .references-case__module--finale,
  .references-page .references-private__head,
  .references-page .references-private__media,
  .references-page .references-private__textgroup,
  .references-page .references-private__table-module,
  .references-page .references-private__closing,
  .references-page .references-vip__head,
  .references-page .references-vip__media,
  .references-page .references-vip__hosts,
  .references-page .references-vip__light,
  .references-page .references-vip__tables,
  .references-page .references-visuals__intro,
  .references-page .references-visuals__media,
  .references-page .references-visuals__notes,
  .references-page .references-path__intro,
  .references-page .references-path__steps,
  .references-page .references-path__links,
  .references-page .references-cta__content,
  .references-page .references-interlude__statement,
  .references-page .references-development__intro,
  .references-page .references-development__list {
    grid-column: 1;
    grid-row: auto;
  }

  .references-page .references-hero h1 {
    max-width: 10ch;
    font-size: clamp(3rem, 14vw, 4.6rem);
  }

  .references-page .references-hero__actions,
  .references-page .references-cta__actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .references-page .references-hero__actions .button,
  .references-page .references-cta__actions .button {
    width: 100%;
  }

  .references-page .references-hero__actions .text-link,
  .references-page .references-cta__actions .text-link {
    min-height: 3rem;
    display: inline-flex;
    align-items: center;
  }

  .references-page .references-principles__grid,
  .references-page .references-interlude__points,
  .references-page .references-visuals__notes {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .references-page .references-principle--one,
  .references-page .references-principle--two,
  .references-page .references-principle--three,
  .references-page .references-interlude__points article:nth-child(1),
  .references-page .references-interlude__points article:nth-child(2),
  .references-page .references-interlude__points article:nth-child(3) {
    grid-column: 1;
  }

  .references-page .references-principle p,
  .references-page .references-case__module p,
  .references-page .references-development__list p,
  .references-page .references-vip__tables p,
  .references-page .references-visuals__notes p,
  .references-page .references-path__step p {
    max-width: none;
  }

  .references-page .references-case__head h2,
  .references-page .references-private__head h2,
  .references-page .references-vip__head h2,
  .references-page .references-visuals__intro h2,
  .references-page .references-path__intro h2,
  .references-page .references-development__intro h2,
  .references-page .references-cta__content h2 {
    max-width: 12ch;
    font-size: clamp(2.5rem, 11vw, 3.6rem);
  }

  .references-page .references-case__module--finale,
  .references-page .references-private__table-module {
    padding: var(--space-5);
  }

  .references-page .references-vip__hosts {
    border-left: 0;
    padding-left: 0;
  }

  .references-page .references-interlude__points article,
  .references-page .references-visuals__notes article {
    margin-top: 0;
  }

  .references-page .references-development__list > li,
  .references-page .references-path__step {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }

  .references-page .references-development__list > li {
    padding-bottom: var(--space-5);
  }

  .references-page .references-path__steps {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-5);
  }

  .references-page .references-path__links {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
  }

  .references-page .references-path__links > * {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .references-page .media-frame:hover > img {
    transform: none;
  }
}


.eventformate-page {
  background: var(--color-warm-paper);
}

.eventformate-page .section--spacious,
.eventformate-page .section,
.eventformate-page .section--compact {
  position: relative;
}

.eventformate-hero__grid,
.eventformate-compass__grid,
.eventformate-private__grid,
.eventformate-process__grid,
.eventformate-context__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
}

.eventformate-hero__copy,
.eventformate-hero__media,
.eventformate-compass__intro,
.eventformate-compass__list,
.eventformate-private__copy,
.eventformate-private__media,
.eventformate-private__details,
.eventformate-process__intro,
.eventformate-process__steps,
.eventformate-context__grid > div,
.eventformate-corporate__intro,
.eventformate-layers__head,
.eventformate-intensity__head,
.eventformate-closing__copy,
.eventformate-closing__action {
  min-width: 0;
}

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

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

.eventformate-hero h1 {
  font-size: clamp(3rem, 6.6vw, 7rem);
}

.eventformate-hero h1 span {
  display: block;
}

.eventformate-hero__intro {
  max-width: 38ch;
}

.eventformate-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  width: 100%;
}

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

.eventformate-hero__note {
  max-width: 34ch;
  padding-inline-start: var(--space-4);
  border-inline-start: 1px solid var(--color-muted-rose);
  color: var(--color-silver-mist);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  letter-spacing: var(--letter-spacing-small);
}

.eventformate-hero__media {
  grid-column: 8 / span 5;
  align-self: end;
  width: 100%;
  margin: var(--space-8) 0 0;
}

.eventformate-hero__media img {
  object-position: 68% center;
}

.eventformate-hero figcaption,
.eventformate-layers figcaption {
  color: var(--color-silver-mist);
}

.eventformate-compass__intro {
  grid-column: 1 / span 4;
}

.eventformate-compass__intro h2 {
  max-width: 12ch;
}

.eventformate-compass__intro p {
  max-width: 29ch;
}

.eventformate-compass__list {
  grid-column: 6 / span 7;
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.eventformate-compass__item {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-4);
  width: 100%;
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--color-border);
}

.eventformate-compass__item > * {
  min-width: 0;
}

.eventformate-compass__item > div {
  max-width: 54ch;
}

.eventformate-compass__item--offset {
  margin-inline-start: clamp(0rem, 4vw, 4rem);
  width: calc(100% - clamp(0rem, 4vw, 4rem));
}

.eventformate-number {
  color: var(--color-muted-rose);
  font-family: var(--font-heading);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-small);
}

.eventformate-vertical-label {
  display: block;
  margin-block-end: var(--space-2);
  color: var(--color-muted-rose);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-small);
  text-transform: uppercase;
}

.eventformate-compass__item:hover {
  border-color: var(--color-muted-rose);
}

.eventformate-corporate__intro {
  width: min(100%, 35rem);
  margin-block-end: var(--space-8);
}

.eventformate-corporate__intro .intro {
  max-width: 38ch;
}

.eventformate-corporate__modules {
  display: grid;
  grid-template-columns: 5fr 3fr 4fr;
  gap: var(--space-5);
  align-items: start;
}

.eventformate-corporate__modules > * {
  min-width: 0;
  width: 100%;
}

.eventformate-corporate__module {
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--color-border-on-dark);
}

.eventformate-corporate__module p {
  max-width: 42ch;
}

.eventformate-corporate__module--team {
  margin-block-start: var(--space-8);
}

.eventformate-corporate__module--team p {
  max-width: 33ch;
}

.eventformate-corporate__module--vip {
  padding: var(--space-5);
  border: 0;
  background: var(--color-plum-surface);
}

.eventformate-corporate__module--vip p {
  max-width: 36ch;
}

.eventformate-corporate__modules small {
  color: var(--color-silver-mist);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-small);
  text-transform: uppercase;
}

.eventformate-corporate__link {
  display: inline-block;
  margin-block-start: var(--space-7);
}

.eventformate-private__copy {
  grid-column: 1 / span 6;
}

.eventformate-private__copy .intro {
  max-width: 42ch;
}

.eventformate-private__media {
  grid-column: 8 / span 5;
  width: 100%;
}

.eventformate-private__media img {
  object-position: 62% center;
}

.eventformate-private__details {
  grid-column: 1 / span 7;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
  margin-block-start: var(--space-5);
}

.eventformate-private__details > * {
  min-width: 0;
}

.eventformate-private__details p {
  max-width: 36ch;
}

.eventformate-private__link {
  display: inline-block;
  margin-block-start: var(--space-7);
}

.eventformate-tables__head {
  display: grid;
  grid-template-columns: 4fr 7fr;
  gap: var(--space-6);
  align-items: start;
}

.eventformate-tables__head > * {
  min-width: 0;
}

.eventformate-tables__head .intro {
  max-width: 50ch;
  margin: 0;
}

.eventformate-table-list {
  display: flex;
  flex-direction: column;
  margin-block: var(--space-8);
  border-block-start: 1px solid var(--color-border-on-dark);
}

.eventformate-table-list article {
  display: grid;
  grid-template-columns: 3fr 6fr 3fr;
  gap: var(--space-5);
  width: 100%;
  padding-block: var(--space-5);
  border-block-end: 1px solid var(--color-border-on-dark);
}

.eventformate-table-list article > * {
  min-width: 0;
  margin: 0;
}

.eventformate-table-list p {
  max-width: 46ch;
}

.eventformate-table-list small {
  align-self: start;
  color: var(--color-silver-mist);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-small);
  text-transform: uppercase;
}

.eventformate-table-list article:hover,
.eventformate-table-list article:focus-visible {
  border-block-start-color: var(--color-muted-rose);
}

.eventformate-host-note {
  width: min(100%, 34rem);
  margin-inline-start: auto;
  padding: var(--space-6);
}

.eventformate-host-note > :last-child {
  margin-block-end: 0;
}

.eventformate-layers__head {
  width: min(100%, 38rem);
  margin-block-end: var(--space-7);
}

.eventformate-layers__head h2 {
  max-width: 18ch;
}

.eventformate-layers__media {
  width: 100%;
  margin: 0;
}

.eventformate-layers__media img {
  object-position: center;
}

.eventformate-layers__modules {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-7);
}

.eventformate-layers__modules > * {
  min-width: 0;
  width: 100%;
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--color-border);
}

.eventformate-layers__modules article:nth-child(2),
.eventformate-layers__modules article:nth-child(4) {
  margin-block-start: var(--space-7);
}

.eventformate-layers__modules p {
  max-width: 38ch;
}

.eventformate-layers__modules .surface-plum {
  padding: var(--space-5);
  border: 0;
}

.eventformate-process__intro {
  grid-column: 1 / span 4;
}

.eventformate-process__intro h2 {
  max-width: 14ch;
}

.eventformate-process__intro p {
  max-width: 30ch;
}

.eventformate-process__steps {
  grid-column: 6 / span 7;
  display: flex;
  flex-direction: column;
  gap: clamp(3.5rem, 6vw, 4.5rem);
}

.eventformate-process__steps article {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  position: relative;
}

.eventformate-process__steps article > * {
  min-width: 0;
}

.eventformate-process__steps article:not(:last-child)::after {
  position: absolute;
  top: 2rem;
  bottom: calc(var(--space-7) * -1);
  left: 0.72rem;
  width: 1px;
  background: var(--color-border);
  content: "";
}

.eventformate-process__steps > article > span {
  color: var(--color-muted-rose);
  font-family: var(--font-heading);
  font-weight: 600;
}

.eventformate-process__steps p {
  max-width: 48ch;
}

.eventformate-intensity__head {
  width: min(100%, 38rem);
  margin-block-end: var(--space-8);
}

.eventformate-intensity__head .intro {
  max-width: 40ch;
}

.eventformate-intensity__profiles {
  display: grid;
  grid-template-columns: 4fr 4fr 5fr;
  gap: var(--space-5);
  align-items: start;
}

.eventformate-intensity__profiles > * {
  min-width: 0;
  width: 100%;
  padding: var(--space-5);
  border-block-start: 1px solid var(--color-border-on-dark);
}

.eventformate-intensity__profiles article:nth-child(2) {
  margin-block-start: var(--space-8);
}

.eventformate-intensity__profiles article:nth-child(3) {
  margin-block-start: var(--space-5);
  border-color: var(--color-muted-rose);
}

.eventformate-intensity__profiles strong {
  display: block;
  margin-block-end: var(--space-4);
  color: var(--color-muted-rose);
  font-family: var(--font-heading);
  font-size: clamp(2rem, 3.6vw, 3.5rem);
  line-height: 0.9;
  letter-spacing: var(--letter-spacing-h2);
  text-transform: uppercase;
}

.eventformate-intensity__profiles p {
  max-width: 44ch;
}

.eventformate-intensity__profiles article:hover {
  border-color: var(--color-muted-rose);
}

.eventformate-context__grid > div:first-child {
  grid-column: 1 / span 3;
}

.eventformate-context__grid > div:first-child h2 {
  max-width: 22ch;
}

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

.eventformate-context__links > * {
  min-width: 0;
  width: 100%;
}

.eventformate-context__links a {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: var(--space-3);
  min-height: 10rem;
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--color-border);
  color: inherit;
  text-decoration: none;
}

.eventformate-context__links a > * {
  min-width: 0;
}

.eventformate-context__links a > span {
  color: var(--color-muted-rose);
  font-family: var(--font-heading);
  font-size: var(--font-size-small);
  font-weight: 600;
}

.eventformate-context__links h3 {
  text-decoration: underline;
  text-decoration-color: var(--color-muted-rose);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

.eventformate-context__links p {
  max-width: 30ch;
}

.eventformate-context__links a:hover h3 {
  color: var(--color-muted-rose);
  text-decoration-thickness: 2px;
}

.eventformate-closing__copy {
  width: min(100%, 56rem);
}

.eventformate-closing__copy h2 {
  max-width: 9ch;
}

.eventformate-closing__copy .intro {
  max-width: 38ch;
}

.eventformate-closing__action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  width: min(100%, 28rem);
  margin-inline-start: 25%;
  margin-block-start: var(--space-7);
}

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

.eventformate-closing__action .utility-text {
  max-width: 32ch;
  color: var(--color-silver-mist);
}

@media (max-width: 64rem) {
  .eventformate-hero__grid,
  .eventformate-compass__grid,
  .eventformate-private__grid,
  .eventformate-process__grid,
  .eventformate-context__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .eventformate-hero__copy,
  .eventformate-compass__intro,
  .eventformate-private__copy,
  .eventformate-process__intro,
  .eventformate-context__grid > div:first-child {
    grid-column: 1 / -1;
  }

  .eventformate-hero__media,
  .eventformate-private__media,
  .eventformate-compass__list,
  .eventformate-process__steps,
  .eventformate-context__links {
    grid-column: 1 / -1;
  }

  .eventformate-hero__media {
    aspect-ratio: 3 / 2;
    margin: 0;
  }

  .eventformate-compass__list {
    margin-block-start: var(--space-4);
  }

  .eventformate-corporate__modules {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .eventformate-corporate__module--arrival {
    grid-column: 1 / -1;
  }

  .eventformate-corporate__module--team,
  .eventformate-corporate__module--vip {
    grid-column: span 3;
  }

  .eventformate-corporate__module--team {
    margin-block-start: 0;
  }

  .eventformate-private__details {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .eventformate-private__details article:last-child {
    grid-column: 1 / -1;
  }

  .eventformate-tables__head {
    grid-template-columns: 1fr;
  }

  .eventformate-table-list article {
    grid-template-columns: 3fr 6fr;
  }

  .eventformate-table-list small {
    grid-column: 2;
  }

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

  .eventformate-layers__modules article:nth-child(2),
  .eventformate-layers__modules article:nth-child(4) {
    margin-block-start: 0;
  }

  .eventformate-intensity__profiles {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .eventformate-intensity__profiles article:nth-child(1),
  .eventformate-intensity__profiles article:nth-child(2) {
    grid-column: span 3;
    margin-block-start: 0;
  }

  .eventformate-intensity__profiles article:nth-child(3) {
    grid-column: 1 / -1;
  }

  .eventformate-context__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-block-start: var(--space-4);
  }

  .eventformate-context__links a:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 46rem) {
  .eventformate-hero__copy {
    gap: var(--space-4);
  }

  .eventformate-hero h1 {
    font-size: clamp(3rem, 14vw, 4.8rem);
  }

  .eventformate-hero__intro {
    max-width: 34ch;
  }

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

  .eventformate-hero__actions .text-link {
    align-self: flex-start;
  }

  .eventformate-compass__item--offset {
    width: 100%;
    margin-inline-start: 0;
  }

  .eventformate-corporate__modules,
  .eventformate-private__details,
  .eventformate-layers__modules,
  .eventformate-intensity__profiles,
  .eventformate-context__links {
    grid-template-columns: 1fr;
  }

  .eventformate-corporate__module--arrival,
  .eventformate-corporate__module--team,
  .eventformate-corporate__module--vip,
  .eventformate-private__details article:last-child,
  .eventformate-intensity__profiles article:nth-child(1),
  .eventformate-intensity__profiles article:nth-child(2),
  .eventformate-intensity__profiles article:nth-child(3),
  .eventformate-context__links a:last-child {
    grid-column: auto;
  }

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

  .eventformate-corporate__module--vip,
  .eventformate-layers__modules .surface-plum,
  .eventformate-intensity__profiles > * {
    padding: var(--space-5);
  }

  .eventformate-private__media {
    grid-row: 2;
  }

  .eventformate-private__details {
    grid-row: 3;
    gap: 0;
  }

  .eventformate-private__details article {
    padding-block: var(--space-5);
    border-block-start: 1px solid var(--color-border);
  }

  .eventformate-table-list {
    margin-block: var(--space-7);
  }

  .eventformate-table-list article {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .eventformate-table-list small {
    grid-column: auto;
  }

  .eventformate-host-note {
    width: 100%;
    padding: var(--space-5);
  }

  .eventformate-layers__media {
    aspect-ratio: 3 / 2;
  }

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

  .eventformate-process__steps {
    gap: var(--space-7);
  }

  .eventformate-process__steps article {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: var(--space-3);
  }

  .eventformate-process__steps article:not(:last-child)::after {
    bottom: calc(var(--space-7) * -1);
    left: 0.5rem;
  }

  .eventformate-intensity__profiles article:nth-child(2),
  .eventformate-intensity__profiles article:nth-child(3) {
    margin-block-start: 0;
  }

  .eventformate-context__links a {
    min-height: 7rem;
  }

  .eventformate-closing__copy h2 {
    font-size: clamp(2.5rem, 12vw, 4rem);
  }

  .eventformate-closing__action {
    width: 100%;
    margin-inline-start: 0;
  }

  .eventformate-closing__action .button {
    width: 100%;
  }
}

@media (max-width: 22.5rem) {
  .eventformate-process__steps article {
    grid-template-columns: 1fr;
  }

  .eventformate-process__steps article:not(:last-child)::after {
    display: none;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .eventformate-reveal {
    opacity: 0;
    transform: translateY(8px);
    transition: opacity var(--transition-ui), transform var(--transition-ui);
  }

  .eventformate-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
  }
}


.leistungen-page { overflow: clip; }
.leistungen-page .leistungen-hero__grid { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,1fr) minmax(0,4fr); gap:24px; align-items:start; padding-block:clamp(6rem,11vw,10rem); }
.leistungen-page .leistungen-hero__content { grid-column:1 / span 1; min-width:0; display:flex; flex-direction:column; gap:var(--space-5); }
.leistungen-page .leistungen-hero__content > * { min-width:0; margin:0; }
.leistungen-page .leistungen-hero h1 { max-width:8.5ch; font-size:clamp(3.5rem,7vw,7rem); }
.leistungen-page .leistungen-hero h1 span { color:var(--color-muted-rose); }
.leistungen-page .leistungen-hero__intro { max-width:38ch; font-size:var(--font-size-intro); line-height:1.35; }
.leistungen-page .leistungen-hero__actions { display:flex; flex-direction:column; gap:var(--space-3); min-width:0; }
.leistungen-page .leistungen-hero__actions .utility-text { color:var(--color-silver-mist); }
.leistungen-page .leistungen-hero__action-row { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-4); min-width:0; }
.leistungen-page .leistungen-hero__media { grid-column:3; width:100%; min-width:0; margin:var(--space-7) 0 calc(var(--space-7) * -1); }
.leistungen-page .leistungen-hero__media::after,.leistungen-page .leistungen-tables__media::after,.leistungen-page .atmosphere-section__media::after { position:absolute; inset:0; background:rgb(33 25 39 / 18%); content:""; pointer-events:none; }
.leistungen-page .leistungen-hero__media img { object-position:75% center; }
.leistungen-page .leistungen-hero__media figcaption { color:var(--color-silver-mist); }
.leistungen-page .leistungen-reading__head { width:50%; min-width:0; margin-left:16.666%; }
.leistungen-page .leistungen-reading__head p { max-width:62ch; }
.leistungen-page .leistungen-reading__modules { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; margin-top:var(--space-8); }
.leistungen-page .reading-module { min-width:0; display:flex; flex-direction:column; gap:var(--space-3); border-top:1px solid var(--color-border); padding-top:var(--space-5); }
.leistungen-page .reading-module > * { min-width:0; margin:0; }
.leistungen-page .reading-module--occasion { grid-column:1 / span 3; }
.leistungen-page .reading-module--place { grid-column:5 / span 4; margin-top:var(--space-7); }
.leistungen-page .reading-module--guests { grid-column:10 / span 3; margin-top:var(--space-9); padding:var(--space-5); }
.leistungen-page .reading-module__label,.leistungen-page .reading-module__number { color:var(--color-muted-rose); font-size:var(--font-size-small); font-weight:600; letter-spacing:var(--letter-spacing-small); text-transform:uppercase; }
.leistungen-page .leistungen-fields__head { width:58.333%; min-width:0; }
.leistungen-page .leistungen-fields__head p { max-width:58ch; }
.leistungen-page .leistungen-fields__list { display:flex; flex-direction:column; gap:var(--space-4); margin-top:var(--space-8); }
.leistungen-page .service-line { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,4fr) minmax(0,5fr) minmax(0,2fr); gap:24px; align-items:start; min-width:0; padding:var(--space-7) 0; border-top:1px solid var(--color-border); }
.leistungen-page .service-line > * { min-width:0; }
.leistungen-page .service-line--night,.leistungen-page .service-line--plum,.leistungen-page .service-line--ink { padding-inline:var(--space-5); }
.leistungen-page .service-line__number { color:var(--color-muted-rose); font-family:var(--font-heading); font-size:1.1rem; font-weight:600; }
.leistungen-page .service-line__title h3,.leistungen-page .service-line__copy p { margin:0; }
.leistungen-page .service-line__copy p { max-width:58ch; }
.leistungen-page .service-line__details { display:flex; flex-direction:column; gap:var(--space-3); align-items:flex-start; }
.leistungen-page .service-line__toggle { border:0; border-bottom:1px solid var(--color-muted-rose); background:transparent; color:inherit; padding:0 0 var(--space-1); font-size:var(--font-size-small); font-weight:600; letter-spacing:var(--letter-spacing-small); text-transform:uppercase; }
.leistungen-page .service-line__keywords { color:var(--color-silver-mist); font-size:var(--font-size-small); line-height:1.55; letter-spacing:var(--letter-spacing-small); }
.leistungen-page .service-line--light .service-line__keywords { color:var(--color-dark-text); }
.leistungen-page .leistungen-tables__grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,1fr) minmax(0,6fr); gap:24px; align-items:start; }
.leistungen-page .leistungen-tables__media { grid-column:1; width:100%; min-width:0; margin:0; }
.leistungen-page .leistungen-tables__media img { object-position:65% center; }
.leistungen-page .leistungen-tables__content { grid-column:3; min-width:0; display:flex; flex-direction:column; gap:var(--space-5); }
.leistungen-page .leistungen-tables__content > * { min-width:0; margin:0; }
.leistungen-page .leistungen-tables__intro { max-width:38ch; font-size:var(--font-size-intro); line-height:1.35; }
.leistungen-page .format-list { display:flex; flex-direction:column; gap:var(--space-4); }
.leistungen-page .format-item { min-width:0; padding-top:var(--space-4); border-top:1px solid var(--color-border); }
.leistungen-page .format-item > * { margin:0; }
.leistungen-page .format-item > * + * { margin-top:var(--space-2); }
.leistungen-page .format-item > span { color:var(--color-muted-rose); font-size:var(--font-size-small); font-weight:600; letter-spacing:var(--letter-spacing-small); text-transform:uppercase; }
.leistungen-page .format-item p { max-width:50ch; }
.leistungen-page .format-item--dark { padding:var(--space-5); }
.leistungen-page .occasion-section__head { width:41.666%; min-width:0; }
.leistungen-page .occasion-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; margin-top:var(--space-8); }
.leistungen-page .occasion-card { min-width:0; display:flex; flex-direction:column; gap:var(--space-3); padding:var(--space-5); border-top:1px solid var(--color-border); transition:border-color var(--transition-ui); }
.leistungen-page .occasion-card > * { min-width:0; margin:0; }
.leistungen-page .occasion-card:hover { border-color:var(--color-muted-rose); }
.leistungen-page .occasion-card span { color:var(--color-muted-rose); font-size:var(--font-size-small); font-weight:600; letter-spacing:var(--letter-spacing-small); }
.leistungen-page .occasion-card strong { font-size:var(--font-size-small); letter-spacing:var(--letter-spacing-small); text-transform:uppercase; }
.leistungen-page .occasion-card:nth-child(1) { grid-column:1 / span 4; }
.leistungen-page .occasion-card:nth-child(2) { grid-column:5 / span 4; }
.leistungen-page .occasion-card:nth-child(3) { grid-column:10 / span 3; }
.leistungen-page .occasion-card--vip { grid-column:3 / span 3; margin-top:var(--space-5); }
.leistungen-page .occasion-card--wide { grid-column:6 / span 7; margin-top:var(--space-5); }
.leistungen-page .atmosphere-section__media { width:100%; min-width:0; margin:var(--space-5) 0 var(--space-8); }
.leistungen-page .atmosphere-section__media img { object-position:center 58%; }
.leistungen-page .atmosphere-section__media figcaption { color:var(--color-silver-mist); }
.leistungen-page .atmosphere-section__copy { display:grid; grid-template-columns:minmax(0,6fr) minmax(0,2fr) minmax(0,3fr); gap:24px; }
.leistungen-page .atmosphere-section__copy > div { grid-column:1; min-width:0; }
.leistungen-page .atmosphere-section__copy > div p { max-width:52ch; }
.leistungen-page .atmosphere-section__copy aside { grid-column:3; min-width:0; border-top:1px solid var(--color-border); padding-top:var(--space-4); }
.leistungen-page .atmosphere-section__copy aside p { max-width:32ch; }
.leistungen-page .guest-section__head { width:41.666%; min-width:0; }
.leistungen-page .guest-section__head p { max-width:48ch; }
.leistungen-page .guest-phases { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; margin-top:var(--space-8); }
.leistungen-page .guest-phase { grid-column:1 / span 4; min-width:0; display:flex; flex-direction:column; gap:var(--space-3); padding:var(--space-5); border-top:1px solid var(--color-border); }
.leistungen-page .guest-phase > * { margin:0; }
.leistungen-page .guest-phase:nth-child(2) { grid-column:7 / span 4; margin-top:var(--space-7); }
.leistungen-page .guest-phase--wide { grid-column:3 / span 8; margin-top:var(--space-5); }
.leistungen-page .guest-phase span { color:var(--color-muted-rose); font-size:var(--font-size-small); font-weight:600; letter-spacing:var(--letter-spacing-small); }
.leistungen-page .guest-phase p { max-width:46ch; }
.leistungen-page .process-section__head { width:50%; min-width:0; }
.leistungen-page .process-section__head p { max-width:54ch; }
.leistungen-page .process-list { display:flex; flex-direction:column; gap:var(--space-3); margin-top:var(--space-8); border-left:1px solid var(--color-muted-rose); }
.leistungen-page .process-step { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,6fr) minmax(0,3fr); gap:24px; min-width:0; padding:var(--space-6); }
.leistungen-page .process-step > * { min-width:0; }
.leistungen-page .process-step__number { color:var(--color-muted-rose); font-family:var(--font-heading); font-weight:600; }
.leistungen-page .process-step h3 { margin:0 0 var(--space-3); }
.leistungen-page .process-step p { max-width:54ch; }
.leistungen-page .process-step aside { font-size:var(--font-size-small); font-weight:600; letter-spacing:var(--letter-spacing-small); text-transform:uppercase; }
.leistungen-page .perspectives-section h2 { max-width:11ch; }
.leistungen-page .perspectives-section__intro { max-width:36ch; }
.leistungen-page .perspective-grid { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,3fr) minmax(0,5fr); gap:24px; margin-top:var(--space-7); }
.leistungen-page .perspective-link { min-width:0; min-height:100%; display:flex; flex-direction:column; gap:var(--space-3); padding:var(--space-5); border:1px solid var(--color-border-on-dark); color:var(--color-light-text); text-decoration:none; transition:border-color var(--transition-ui),transform var(--transition-ui); }
.leistungen-page .perspective-link > * { margin:0; }
.leistungen-page .perspective-link:hover { color:var(--color-light-text); border-color:var(--color-muted-rose); transform:translateY(-4px); }
.leistungen-page .perspective-link--plum { background:var(--color-plum-surface); }
.leistungen-page .perspective-link span { color:var(--color-silver-mist); font-size:var(--font-size-small); font-weight:600; letter-spacing:var(--letter-spacing-small); }
.leistungen-page .perspective-link p { max-width:36ch; }
.leistungen-page .perspective-link strong { margin-top:auto; color:var(--color-muted-rose); }
.leistungen-page .final-cta__grid { display:grid; grid-template-columns:minmax(0,6fr) minmax(0,3fr); justify-content:space-between; gap:24px; align-items:end; }
.leistungen-page .final-cta__copy { min-width:0; }
.leistungen-page .final-cta__copy p { max-width:40ch; }
.leistungen-page .final-cta__actions { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-4); }
@media (max-width:65.625rem) { .leistungen-page .leistungen-hero__grid { grid-template-columns:repeat(6,minmax(0,1fr)); } .leistungen-page .leistungen-hero__content { grid-column:1 / span 4; } .leistungen-page .leistungen-hero__media { grid-column:5 / span 2; } .leistungen-page .leistungen-reading__head { width:66.666%; margin-left:16.666%; } .leistungen-page .leistungen-reading__modules,.leistungen-page .occasion-grid,.leistungen-page .guest-phases { grid-template-columns:repeat(6,minmax(0,1fr)); } .leistungen-page .reading-module--occasion { grid-column:1 / span 3; } .leistungen-page .reading-module--place { grid-column:4 / span 3; margin-top:var(--space-6); } .leistungen-page .reading-module--guests { grid-column:1 / span 6; margin-top:var(--space-4); } .leistungen-page .leistungen-fields__head { width:66.666%; } .leistungen-page .service-line { grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,3fr); } .leistungen-page .service-line__details { grid-column:2 / span 2; } .leistungen-page .leistungen-tables__grid { grid-template-columns:repeat(6,minmax(0,1fr)); } .leistungen-page .leistungen-tables__media { grid-column:1 / span 3; } .leistungen-page .leistungen-tables__content { grid-column:4 / span 3; } .leistungen-page .occasion-section__head,.leistungen-page .guest-section__head,.leistungen-page .process-section__head { width:66.666%; } .leistungen-page .occasion-card:nth-child(1),.leistungen-page .occasion-card:nth-child(2) { grid-column:span 3; } .leistungen-page .occasion-card:nth-child(3) { grid-column:1 / span 6; } .leistungen-page .occasion-card--vip { grid-column:1 / span 3; } .leistungen-page .occasion-card--wide { grid-column:4 / span 3; } .leistungen-page .atmosphere-section__copy { grid-template-columns:repeat(6,minmax(0,1fr)); } .leistungen-page .atmosphere-section__copy > div { grid-column:1 / span 4; } .leistungen-page .atmosphere-section__copy aside { grid-column:4 / span 3; margin-top:var(--space-5); } .leistungen-page .guest-phase { grid-column:1 / span 3; } .leistungen-page .guest-phase:nth-child(2) { grid-column:4 / span 3; margin-top:0; } .leistungen-page .guest-phase--wide { grid-column:1 / span 6; } .leistungen-page .process-step { grid-template-columns:minmax(0,1fr) minmax(0,5fr); } .leistungen-page .process-step aside { grid-column:2; } .leistungen-page .perspective-grid { grid-template-columns:repeat(6,minmax(0,1fr)); } .leistungen-page .perspective-link:nth-child(1),.leistungen-page .perspective-link:nth-child(2) { grid-column:span 3; } .leistungen-page .perspective-link:nth-child(3) { grid-column:1 / span 6; } .leistungen-page .final-cta__grid { grid-template-columns:minmax(0,4fr) minmax(0,2fr); } }
@media (max-width:51.25rem) { .leistungen-page .leistungen-hero__grid,.leistungen-page .leistungen-tables__grid { grid-template-columns:1fr; } .leistungen-page .leistungen-hero__content,.leistungen-page .leistungen-hero__media,.leistungen-page .leistungen-tables__media,.leistungen-page .leistungen-tables__content { grid-column:1; } .leistungen-page .leistungen-hero__media { margin:var(--space-5) 0 0; } .leistungen-page .leistungen-hero h1 { max-width:10ch; font-size:clamp(3rem,15vw,4.6rem); } .leistungen-page .leistungen-tables__content { margin-top:var(--space-6); } }
@media (max-width:43.75rem) { .leistungen-page .leistungen-reading__head,.leistungen-page .leistungen-fields__head,.leistungen-page .occasion-section__head,.leistungen-page .guest-section__head,.leistungen-page .process-section__head { width:100%; margin-left:0; } .leistungen-page .leistungen-reading__modules,.leistungen-page .occasion-grid,.leistungen-page .guest-phases { grid-template-columns:1fr; gap:var(--space-5); } .leistungen-page .reading-module--occasion,.leistungen-page .reading-module--place,.leistungen-page .reading-module--guests,.leistungen-page .occasion-card:nth-child(n),.leistungen-page .guest-phase,.leistungen-page .guest-phase:nth-child(2),.leistungen-page .guest-phase--wide { grid-column:1; margin-top:0; } .leistungen-page .service-line { grid-template-columns:1fr; gap:var(--space-4); padding:var(--space-5); } .leistungen-page .service-line__details { grid-column:1; } .leistungen-page .service-line--light { padding-inline:0; } .leistungen-page .atmosphere-section__media { aspect-ratio:3 / 2; } .leistungen-page .atmosphere-section__copy { grid-template-columns:1fr; } .leistungen-page .atmosphere-section__copy > div,.leistungen-page .atmosphere-section__copy aside { grid-column:1; } .leistungen-page .atmosphere-section__copy aside { margin-top:var(--space-4); } .leistungen-page .process-step { grid-template-columns:1fr; gap:var(--space-3); padding:var(--space-5); } .leistungen-page .process-step aside { grid-column:1; } .leistungen-page .perspective-grid { grid-template-columns:1fr; gap:var(--space-4); } .leistungen-page .perspective-link:nth-child(n) { grid-column:1; } .leistungen-page .final-cta__grid { grid-template-columns:1fr; } .leistungen-page .final-cta__actions { width:100%; } .leistungen-page .final-cta__actions .button { width:100%; } .leistungen-page .leistungen-hero__action-row { flex-direction:column; align-items:stretch; } .leistungen-page .leistungen-hero__action-row .button { width:100%; } }
@media (prefers-reduced-motion:reduce) { .leistungen-page .perspective-link:hover { transform:none; } }


#anfrage-main {
  background: var(--color-warm-paper);
}

#anfrage-main .anfrage-index,
#anfrage-main .anfrage-principle__number,
#anfrage-main .anfrage-atlas__label,
#anfrage-main .anfrage-step__number,
#anfrage-main .anfrage-open__number,
#anfrage-main .anfrage-format-teaser__label {
  display: block;
  font-size: var(--font-size-utility);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-utility);
  line-height: var(--line-height-small);
  text-transform: uppercase;
}

#anfrage-main .anfrage-hero {
  padding-block-start: clamp(var(--space-9), 12vw, var(--space-11));
  overflow: visible;
}

#anfrage-main .anfrage-hero__grid,
#anfrage-main .anfrage-principles__grid,
#anfrage-main .anfrage-process__grid,
#anfrage-main .anfrage-form-section__grid,
#anfrage-main .anfrage-direct__grid,
#anfrage-main .anfrage-final__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
}

#anfrage-main .anfrage-hero__content {
  grid-column: 1 / span 7;
  min-width: 0;
}

#anfrage-main .anfrage-hero__content,
#anfrage-main .anfrage-hero__copy,
#anfrage-main .anfrage-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

#anfrage-main .anfrage-hero__content { gap: var(--space-7); }
#anfrage-main .anfrage-hero__copy { gap: var(--space-5); }
#anfrage-main .anfrage-hero__actions { gap: var(--space-4); }

#anfrage-main .anfrage-index {
  width: max-content;
  color: var(--color-silver-mist);
  padding-inline-start: var(--space-5);
  border-inline-start: 1px solid var(--color-muted-rose);
}

#anfrage-main .anfrage-hero h1 {
  max-width: 24ch;
  margin: 0;
}

#anfrage-main .anfrage-hero .intro {
  max-width: 38ch;
  margin: 0;
}

#anfrage-main .anfrage-hero__media {
  grid-column: 8 / span 5;
  align-self: end;
  width: 100%;
  min-width: 0;
  margin: 0 0 calc(-1 * var(--space-7));
}

#anfrage-main .anfrage-hero__media::after,
#anfrage-main .anfrage-reference-teaser figure::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgb(33 25 39 / 22%), rgb(156 101 120 / 8%));
  content: "";
}

#anfrage-main .anfrage-hero__media figcaption {
  position: absolute;
  z-index: 1;
  right: var(--space-4);
  bottom: var(--space-4);
  left: var(--space-4);
  margin: 0;
  color: var(--color-light-text);
}

#anfrage-main .anfrage-principles__intro {
  grid-column: 1 / span 5;
  min-width: 0;
}

#anfrage-main .anfrage-principles__intro h2 {
  max-width: 16ch;
}

#anfrage-main .anfrage-principles__intro .intro {
  max-width: 56ch;
}

#anfrage-main .anfrage-principles__list {
  display: flex;
  grid-column: 7 / span 6;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-6);
}

#anfrage-main .anfrage-principle {
  width: 100%;
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

#anfrage-main .anfrage-principle--offset { margin-inline-start: var(--space-5); width: calc(100% - var(--space-5)); }
#anfrage-main .anfrage-principle h3 { max-width: 18ch; }
#anfrage-main .anfrage-principle p { max-width: 38ch; }
#anfrage-main .anfrage-principle__number { margin-bottom: var(--space-3); color: var(--color-dark-text); }
#anfrage-main .anfrage-principle__number--rose { color: var(--color-muted-rose); }

#anfrage-main .anfrage-atlas__heading {
  width: min(100%, 35rem);
  min-width: 0;
}

#anfrage-main .anfrage-atlas__heading h2 { max-width: 18ch; }
#anfrage-main .anfrage-atlas__heading .intro { max-width: 42ch; }
#anfrage-main .anfrage-atlas__link { display: inline-flex; min-height: 3rem; align-items: center; }

#anfrage-main .anfrage-atlas__grid {
  display: grid;
  min-width: 0;
  margin-top: var(--space-8);
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6) var(--space-5);
}

#anfrage-main .anfrage-atlas__item {
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

#anfrage-main .anfrage-atlas__item h3 { max-width: 16ch; }
#anfrage-main .anfrage-atlas__item p { max-width: 36ch; }
#anfrage-main .anfrage-atlas__label { margin-bottom: var(--space-4); color: var(--color-muted-rose); }
#anfrage-main .anfrage-atlas__item--occasion { grid-column: 1 / span 4; }
#anfrage-main .anfrage-atlas__item--venue { grid-column: 5 / span 3; }
#anfrage-main .anfrage-atlas__item--featured {
  grid-column: 8 / span 5;
  padding: var(--space-6);
  border: 0;
  background: var(--color-plum-surface);
  color: var(--color-light-text);
}
#anfrage-main .anfrage-atlas__item--featured .anfrage-atlas__label { color: var(--color-focus-rose); }
#anfrage-main .anfrage-atlas__item--light { grid-column: 2 / span 4; margin-top: var(--space-4); }
#anfrage-main .anfrage-atlas__item--scenario { grid-column: 6 / span 6; margin-top: var(--space-4); }
#anfrage-main .anfrage-atlas__item--scenario p { max-width: 54ch; }

#anfrage-main .anfrage-process__heading { grid-column: 1 / span 3; min-width: 0; }
#anfrage-main .anfrage-process__heading h2 { max-width: 14ch; }
#anfrage-main .anfrage-process__link { display: inline-flex; min-height: 3rem; align-items: center; }

#anfrage-main .anfrage-process__steps {
  display: grid;
  grid-column: 4 / span 9;
  min-width: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
}

#anfrage-main .anfrage-step {
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border-on-dark);
}
#anfrage-main .anfrage-step__number { margin-bottom: var(--space-4); color: var(--color-silver-mist); }
#anfrage-main .anfrage-step__number--rose { color: var(--color-focus-rose); }
#anfrage-main .anfrage-step h3 { font-size: clamp(1.2rem, 1.7vw, 1.6rem); }
#anfrage-main .anfrage-step p { max-width: 32ch; }

#anfrage-main .anfrage-form-section__grid { row-gap: var(--space-7); }
#anfrage-main .anfrage-form-section__intro { grid-column: 1 / span 4; min-width: 0; }
#anfrage-main .anfrage-form-section__intro h2 { max-width: 12ch; }
#anfrage-main .anfrage-form-section__intro .intro { max-width: 52ch; }

#anfrage-main .anfrage-form {
  display: flex;
  grid-column: 3 / span 10;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-7);
  padding: clamp(var(--space-6), 5vw, var(--space-8));
  background: var(--color-warm-paper);
  color: var(--color-dark-text);
}

#anfrage-main .anfrage-form__status:empty { display: none; }
#anfrage-main .anfrage-form__status {
  padding: var(--space-4);
  border-left: 3px solid var(--color-muted-rose);
  background: rgb(156 101 120 / 10%);
  font-weight: 600;
}

#anfrage-main .anfrage-form__group {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0 0 var(--space-7);
  border: 0;
  border-bottom: 1px solid var(--color-border);
}
#anfrage-main .anfrage-form__group--last { padding-bottom: 0; border-bottom: 0; }
#anfrage-main .anfrage-form__group legend {
  max-width: 60ch;
  padding: 0;
  font-size: clamp(1.45rem, 2.4vw, 2.25rem);
  line-height: var(--line-height-h3);
  letter-spacing: var(--letter-spacing-h3);
}
#anfrage-main .anfrage-form__group-intro { max-width: 55ch; margin-top: var(--space-3); }

#anfrage-main .anfrage-form__fields {
  display: grid;
  min-width: 0;
  margin-top: var(--space-5);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--space-5);
}
#anfrage-main .anfrage-form__fields--top { margin-top: var(--space-5); }
#anfrage-main .anfrage-form__field--full { grid-column: 1 / -1; }
#anfrage-main .anfrage-form .form-field { min-width: 0; }
#anfrage-main .anfrage-form input,
#anfrage-main .anfrage-form textarea,
#anfrage-main .anfrage-form select { background: transparent; }
#anfrage-main .anfrage-form textarea { min-height: 10rem; }
#anfrage-main .anfrage-required,
#anfrage-main .anfrage-optional { margin-left: var(--space-2); font-size: var(--font-size-small); font-weight: 400; letter-spacing: 0; text-transform: none; }
#anfrage-main .anfrage-required { white-space: nowrap; }
#anfrage-main .anfrage-optional { color: rgb(26 27 31 / 68%); }
#anfrage-main .anfrage-form__label { display: inline-block; margin-bottom: var(--space-2); font-size: .875rem; font-weight: 600; line-height: 1.35; }

#anfrage-main .anfrage-checkgrid,
#anfrage-main .anfrage-table-formats {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2) var(--space-5);
}
#anfrage-main .anfrage-checkgrid { margin-top: var(--space-5); }
#anfrage-main .anfrage-table-formats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#anfrage-main .anfrage-check {
  display: flex;
  min-width: 0;
  min-height: 3rem;
  align-items: center;
  gap: var(--space-3);
  margin: 0;
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--color-border);
  font-size: .875rem;
  font-weight: 500;
}
#anfrage-main .anfrage-check input { flex: 0 0 1rem; width: 1rem; min-height: 1rem; }
#anfrage-main .anfrage-check:has(input:checked) { border-bottom-color: var(--color-muted-rose); }
#anfrage-main .anfrage-check input:disabled + span { opacity: .52; }
#anfrage-main .anfrage-consent { margin-top: var(--space-5); }
#anfrage-main .anfrage-consent__label { display: flex; min-width: 0; align-items: flex-start; gap: var(--space-3); margin: 0; font-weight: 400; }
#anfrage-main .anfrage-consent__label input { flex: 0 0 1rem; width: 1rem; min-height: 1rem; margin-top: .25rem; }
#anfrage-main .anfrage-form__submit { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; gap: var(--space-3); margin-top: var(--space-5); }
#anfrage-main .anfrage-form__submit-note { margin: 0; max-width: 55ch; font-size: var(--font-size-small); }
#anfrage-main .form-error:not(:empty) { min-height: 1.35em; }

#anfrage-main .anfrage-open__intro { width: min(100%, 35rem); min-width: 0; }
#anfrage-main .anfrage-open__intro h2 { max-width: 17ch; }
#anfrage-main .anfrage-open__intro .intro { max-width: 48ch; }
#anfrage-main .anfrage-open__grid {
  display: grid;
  min-width: 0;
  margin-top: var(--space-8);
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}
#anfrage-main .anfrage-open__item { min-width: 0; padding-top: var(--space-5); border-top: 1px solid var(--color-border); }
#anfrage-main .anfrage-open__item:nth-child(1) { grid-column: 3 / span 3; }
#anfrage-main .anfrage-open__item:nth-child(2) { grid-column: 6 / span 3; }
#anfrage-main .anfrage-open__item:nth-child(3) { grid-column: 9 / span 3; }
#anfrage-main .anfrage-open__item--lower { margin-top: var(--space-6); }
#anfrage-main .anfrage-open__item h3 { max-width: 15ch; }
#anfrage-main .anfrage-open__item p { max-width: 36ch; }
#anfrage-main .anfrage-open__number { margin-bottom: var(--space-3); }
#anfrage-main .anfrage-open__number--rose { color: var(--color-muted-rose); }
#anfrage-main .anfrage-open__link { display: inline-flex; min-height: 3rem; align-items: center; margin-top: var(--space-6); }

#anfrage-main .anfrage-direct__copy { grid-column: 1 / span 7; min-width: 0; }
#anfrage-main .anfrage-direct__copy h2 { max-width: 18ch; }
#anfrage-main .anfrage-direct__copy p { max-width: 46ch; }
#anfrage-main .anfrage-direct__actions { display: flex; grid-column: 9 / span 4; flex-direction: column; align-self: center; min-width: 0; gap: var(--space-3); }
#anfrage-main .anfrage-direct__actions .button { width: 100%; min-width: 0; justify-content: flex-start; }

#anfrage-main .anfrage-inspiration__heading { width: min(100%, 35rem); min-width: 0; }
#anfrage-main .anfrage-inspiration__heading h2 { max-width: 18ch; }
#anfrage-main .anfrage-inspiration__heading .intro { max-width: 50ch; }
#anfrage-main .anfrage-inspiration__grid {
  display: grid;
  min-width: 0;
  margin-top: var(--space-8);
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: end;
}
#anfrage-main .anfrage-reference-teaser { display: flex; grid-column: 1 / span 7; flex-direction: column; min-width: 0; gap: var(--space-5); }
#anfrage-main .anfrage-reference-teaser figure { width: 100%; min-width: 0; margin: 0; }
#anfrage-main .anfrage-reference-teaser figure figcaption { margin: var(--space-3) 0 0; }
#anfrage-main .anfrage-reference-teaser__copy { min-width: 0; }
#anfrage-main .anfrage-reference-teaser__copy h3 { max-width: 16ch; }
#anfrage-main .anfrage-reference-teaser__copy p { max-width: 40ch; }
#anfrage-main .anfrage-format-teaser { grid-column: 9 / span 4; min-width: 0; padding-block: var(--space-5); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
#anfrage-main .anfrage-format-teaser__label { margin-bottom: var(--space-4); color: var(--color-muted-rose); }
#anfrage-main .anfrage-format-teaser h3 { max-width: 15ch; }
#anfrage-main .anfrage-format-teaser p { max-width: 36ch; }
#anfrage-main .anfrage-reference-teaser .text-link,
#anfrage-main .anfrage-format-teaser .text-link { display: inline-flex; min-height: 3rem; align-items: center; }

#anfrage-main .anfrage-final__content { grid-column: 2 / span 7; min-width: 0; }
#anfrage-main .anfrage-final__rule { display: block; width: 4rem; height: 1px; margin-bottom: var(--space-5); background: var(--color-muted-rose); }
#anfrage-main .anfrage-final__content h2 { max-width: 18ch; }
#anfrage-main .anfrage-final__content .intro { max-width: 48ch; }

@media (max-width: 67.49rem) {
  #anfrage-main .anfrage-hero__grid,
  #anfrage-main .anfrage-principles__grid,
  #anfrage-main .anfrage-process__grid,
  #anfrage-main .anfrage-form-section__grid,
  #anfrage-main .anfrage-direct__grid,
  #anfrage-main .anfrage-final__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  #anfrage-main .anfrage-hero__content { grid-column: 1 / span 4; }
  #anfrage-main .anfrage-hero__media { grid-column: 5 / span 2; }
  #anfrage-main .anfrage-principles__intro { grid-column: 1 / -1; }
  #anfrage-main .anfrage-principles__list { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
  #anfrage-main .anfrage-principle--offset { width: 100%; margin-inline-start: 0; }
  #anfrage-main .anfrage-principle:nth-child(3) { grid-column: 1 / -1; }
  #anfrage-main .anfrage-atlas__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  #anfrage-main .anfrage-atlas__item--occasion,
  #anfrage-main .anfrage-atlas__item--venue { grid-column: span 3; }
  #anfrage-main .anfrage-atlas__item--featured,
  #anfrage-main .anfrage-atlas__item--scenario { grid-column: 1 / -1; margin-top: 0; }
  #anfrage-main .anfrage-atlas__item--light { grid-column: span 3; margin-top: 0; }
  #anfrage-main .anfrage-process__heading { grid-column: 1 / -1; }
  #anfrage-main .anfrage-process__steps { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6) var(--space-5); }
  #anfrage-main .anfrage-form-section__intro { grid-column: 1 / -1; }
  #anfrage-main .anfrage-form { grid-column: 1 / -1; }
  #anfrage-main .anfrage-open__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  #anfrage-main .anfrage-open__item:nth-child(1),
  #anfrage-main .anfrage-open__item:nth-child(2) { grid-column: span 3; }
  #anfrage-main .anfrage-open__item:nth-child(3) { grid-column: 2 / span 4; }
  #anfrage-main .anfrage-direct__copy { grid-column: 1 / span 4; }
  #anfrage-main .anfrage-direct__actions { grid-column: 5 / span 2; }
  #anfrage-main .anfrage-inspiration__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  #anfrage-main .anfrage-reference-teaser { grid-column: 1 / -1; }
  #anfrage-main .anfrage-format-teaser { grid-column: 1 / -1; }
  #anfrage-main .anfrage-final__content { grid-column: 1 / span 5; }
}

@media (max-width: 51.24rem) {
  #anfrage-main .anfrage-hero__grid,
  #anfrage-main .anfrage-principles__grid,
  #anfrage-main .anfrage-process__grid,
  #anfrage-main .anfrage-form-section__grid,
  #anfrage-main .anfrage-direct__grid,
  #anfrage-main .anfrage-final__grid { grid-template-columns: 1fr; row-gap: var(--space-6); }
  #anfrage-main .anfrage-hero__content,
  #anfrage-main .anfrage-hero__media,
  #anfrage-main .anfrage-principles__intro,
  #anfrage-main .anfrage-principles__list,
  #anfrage-main .anfrage-process__heading,
  #anfrage-main .anfrage-process__steps,
  #anfrage-main .anfrage-form-section__intro,
  #anfrage-main .anfrage-form,
  #anfrage-main .anfrage-direct__copy,
  #anfrage-main .anfrage-direct__actions,
  #anfrage-main .anfrage-final__content { grid-column: 1; }
  #anfrage-main .anfrage-hero { padding-block-end: var(--space-9); }
  #anfrage-main .anfrage-hero__content { gap: var(--space-5); }
  #anfrage-main .anfrage-hero h1 { max-width: 16ch; font-size: clamp(3rem, 14vw, 4.8rem); }
  #anfrage-main .anfrage-hero .intro { max-width: 34ch; }
  #anfrage-main .anfrage-hero__actions { width: 100%; }
  #anfrage-main .anfrage-hero__actions .button { width: 100%; }
  #anfrage-main .anfrage-hero__media { margin: 0; }
  #anfrage-main .anfrage-principles__list { grid-template-columns: 1fr; }
  #anfrage-main .anfrage-principle:nth-child(3) { grid-column: 1; }
  #anfrage-main .anfrage-atlas__grid,
  #anfrage-main .anfrage-open__grid,
  #anfrage-main .anfrage-inspiration__grid { grid-template-columns: 1fr; margin-top: var(--space-6); }
  #anfrage-main .anfrage-atlas__item--occasion,
  #anfrage-main .anfrage-atlas__item--venue,
  #anfrage-main .anfrage-atlas__item--featured,
  #anfrage-main .anfrage-atlas__item--light,
  #anfrage-main .anfrage-atlas__item--scenario,
  #anfrage-main .anfrage-open__item:nth-child(1),
  #anfrage-main .anfrage-open__item:nth-child(2),
  #anfrage-main .anfrage-open__item:nth-child(3),
  #anfrage-main .anfrage-reference-teaser,
  #anfrage-main .anfrage-format-teaser { grid-column: 1; }
  #anfrage-main .anfrage-atlas__item--featured { padding: var(--space-5); }
  #anfrage-main .anfrage-process__steps { grid-template-columns: 1fr; gap: 0; }
  #anfrage-main .anfrage-step { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); column-gap: var(--space-3); padding-block: var(--space-5); border-top: 0; border-left: 1px solid var(--color-border-on-dark); }
  #anfrage-main .anfrage-step:first-child { padding-top: 0; }
  #anfrage-main .anfrage-step__number { margin: 0; }
  #anfrage-main .anfrage-step__copy { min-width: 0; }
  #anfrage-main .anfrage-form { padding: var(--space-5); gap: var(--space-6); }
  #anfrage-main .anfrage-form__fields,
  #anfrage-main .anfrage-checkgrid,
  #anfrage-main .anfrage-table-formats { grid-template-columns: 1fr; }
  #anfrage-main .anfrage-form__field--full { grid-column: 1; }
  #anfrage-main .anfrage-check { min-height: 3rem; }
  #anfrage-main .anfrage-form__submit { align-items: stretch; }
  #anfrage-main .anfrage-form__submit .button { width: 100%; min-height: 3.25rem; }
  #anfrage-main .anfrage-open__item--lower { margin-top: 0; }
  #anfrage-main .anfrage-direct__actions { align-self: auto; }
  #anfrage-main .anfrage-direct__actions .button { justify-content: center; overflow-wrap: anywhere; }
  #anfrage-main .anfrage-final__content { width: 100%; }
  #anfrage-main .anfrage-final__content .button { width: 100%; min-height: 3.25rem; }
}

@media (prefers-reduced-motion: reduce) {
  #anfrage-main .anfrage-hero__media img,
  #anfrage-main .anfrage-reference-teaser img { transform: none; }
}


.home-page { overflow: hidden; }
.home-page .container { width: min(100% - (2 * var(--container-gutter)), var(--container-max)); }
.home-hero { padding-block: var(--space-8) var(--space-10); }
.home-hero__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; align-items: start; }
.home-hero__index { grid-column: 1 / span 2; min-width: 0; display: flex; flex-direction: column; gap: var(--space-5); color: var(--color-silver-mist); font-size: var(--font-size-utility); font-weight: 600; letter-spacing: var(--letter-spacing-utility); text-transform: uppercase; }
.home-hero__vertical { writing-mode: vertical-rl; transform: rotate(180deg); min-height: 15rem; }
.home-hero__copy { grid-column: 3 / span 10; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); padding-top: var(--space-7); }
.home-hero__copy > * { margin: 0; }
.home-hero__copy h1 { font-size: clamp(3rem, 5.7vw, 6.4rem); }
.home-hero__copy .intro { max-width: 34ch; }
.home-hero__actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; }
.home-hero__meta { max-width: 30ch; color: var(--color-silver-mist); font-size: var(--font-size-small); letter-spacing: var(--letter-spacing-small); text-transform: uppercase; }
.home-hero__media { position: relative; grid-column: 1 / -1; grid-row: 2; min-width: 0; padding-bottom: var(--space-7); }
.home-hero__image { aspect-ratio: 3 / 2; margin: 0; }
.home-hero__image::after, .home-venue__media::after, .home-gallery__item .media-frame::after, .home-tables__media::after { position: absolute; inset: 0; background: linear-gradient(110deg, rgb(33 25 39 / 28%), rgb(156 101 120 / 8%)); content: ""; pointer-events: none; }
.home-hero__image img { object-position: 68% center; }
.home-hero__labels { position: absolute; right: var(--space-4); bottom: var(--space-4); display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-2); margin: 0; color: var(--color-light-text); font-size: var(--font-size-small); letter-spacing: var(--letter-spacing-small); text-transform: uppercase; }
.home-hero__labels span { padding: var(--space-2) var(--space-3); border: 1px solid rgb(238 232 226 / 55%); background: rgb(33 25 39 / 62%); transition: border-color var(--transition-ui); }
.home-hero__labels span:hover { border-color: var(--color-muted-rose); }
.home-hero__detail { position: absolute; right: -1.5rem; bottom: 0; width: 22%; aspect-ratio: 4 / 5; border: 1px solid var(--color-border-on-dark); background: linear-gradient(160deg, rgb(156 101 120 / 65%), rgb(33 25 39 / 92%)); }
.home-layers__grid, .home-occasions__grid, .home-tables__grid, .home-venue__grid, .home-process__grid, .home-gallery__grid, .home-values__grid, .home-inquiry__grid, .home-faq__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; }
.home-layers__head { grid-column: 2 / span 5; min-width: 0; }
.home-layers__head .intro { max-width: 48ch; }
.home-layers__modules { grid-column: 6 / span 7; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); min-width: 0; padding-top: var(--space-8); }
.home-layer { min-width: 0; border-top: 1px solid var(--color-border); padding-top: var(--space-4); }
.home-layer:nth-child(2) { margin-top: var(--space-7); }
.home-layer:nth-child(3) { margin-top: var(--space-4); }
.home-layer > span, .home-venue__principles span, .home-inquiry__steps span, .home-values__list span { color: var(--color-muted-rose); font-family: var(--font-heading); font-size: 1.3rem; }
.home-layer p { max-width: 36ch; }
.home-occasions__head { grid-column: 1 / span 4; min-width: 0; }
.home-occasions__head p { max-width: 34ch; }
.home-occasions__panels { grid-column: 5 / span 8; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 24px; min-width: 0; }
.home-occasion { min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); }
.home-occasion > * { margin: 0; }
.home-occasion p { max-width: 38ch; }
.home-occasion--corporate { grid-column: 1 / span 5; background: var(--color-plum-surface); }
.home-occasion--private { grid-column: 1 / span 4; margin-top: var(--space-6); background: var(--color-warm-paper); color: var(--color-dark-text); }
.home-occasion--vip { grid-column: 6 / span 3; margin-top: var(--space-9); border-left: 1px solid var(--color-muted-rose); }
.home-panel-index { color: var(--color-muted-rose); font-family: var(--font-heading); font-size: 2rem; }
.home-occasions__link { grid-column: 5 / span 8; margin-top: var(--space-4); }
.home-tables__head { grid-column: 2 / span 8; min-width: 0; }
.home-tables__head .intro { max-width: 38ch; }
.home-tables__content { grid-column: 7 / span 6; display: flex; flex-direction: column; gap: var(--space-6); min-width: 0; }
.home-table-module { min-width: 0; border-top: 1px solid var(--color-border-on-dark); padding-top: var(--space-4); }
.home-table-module > span { color: var(--color-muted-rose); font-family: var(--font-heading); }
.home-table-module p { max-width: 34ch; }
.home-table-module-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.home-table-module-row > * { min-width: 0; }
.home-tables__closing { border-left: 1px solid var(--color-muted-rose); padding-left: var(--space-5); }
.home-tables__closing p { max-width: 36ch; }
.home-tables__media { grid-column: 1 / span 5; grid-row: 2; min-width: 0; margin: var(--space-7) 0 0; }
.home-tables__media img { object-position: 68% center; }
.home-venue__head { grid-column: 1 / span 6; min-width: 0; }
.home-venue__head .intro { max-width: 48ch; }
.home-venue__media { grid-column: 3 / span 10; min-width: 0; margin: var(--space-6) 0 0; }
.home-venue__media img { object-position: center; }
.home-venue__principles { grid-column: 1 / span 7; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); min-width: 0; margin-top: var(--space-5); }
.home-venue__principles article { min-width: 0; border-top: 1px solid var(--color-border); padding-top: var(--space-4); }
.home-venue__principles p { max-width: 34ch; }
.home-venue__cta { grid-column: 10 / span 3; align-self: end; min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); }
.home-venue__cta > * { margin: 0; }
.home-process__head { grid-column: 2 / span 5; min-width: 0; }
.home-process__head .intro { max-width: 40ch; }
.home-process__timeline { grid-column: 4 / span 9; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; margin-top: var(--space-6); }
.home-process-step { min-width: 0; border-top: 1px solid var(--color-dark-text); }
.home-process-step:nth-child(even) { margin-top: var(--space-6); }
.home-process-step button, .home-faq__list button { width: 100%; min-height: 3rem; border: 0; border-radius: 0; background: transparent; text-align: left; }
.home-process-step button { display: grid; grid-template-columns: auto 1fr; gap: var(--space-3); align-items: start; padding: var(--space-4) 0; }
.home-process-step button span { color: var(--color-muted-rose); font-family: var(--font-heading); }
.home-process-step button strong { font-family: var(--font-heading); line-height: 1.15; }
.home-process-step button em { grid-column: 2; color: var(--color-muted-rose); font-size: var(--font-size-small); font-style: normal; letter-spacing: var(--letter-spacing-small); text-transform: uppercase; }
.home-process-step__detail { max-width: 44ch; }
.home-process-step__detail[hidden] { display: none; }
.home-cases h2 { max-width: 44ch; }
.home-cases__note { color: var(--color-silver-mist); font-size: var(--font-size-small); letter-spacing: var(--letter-spacing-small); text-transform: uppercase; }
.home-cases__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; min-width: 0; margin-top: var(--space-7); }
.home-case { min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); }
.home-case > * { margin: 0; }
.home-case > span { color: var(--color-silver-mist); font-size: var(--font-size-small); letter-spacing: var(--letter-spacing-small); text-transform: uppercase; }
.home-case p { max-width: 36ch; }
.home-case--corporate { grid-column: 1 / span 5; background: var(--color-plum-surface); }
.home-case--private { grid-column: 6 / span 4; margin-top: var(--space-7); background: var(--color-warm-paper); color: var(--color-dark-text); }
.home-case--vip { grid-column: 10 / span 3; margin-top: var(--space-4); border-left: 1px solid var(--color-muted-rose); background: var(--color-plum-surface); }
.home-cases__link { display: inline-block; margin-top: var(--space-6); }
.home-gallery__head { grid-column: 2 / span 5; min-width: 0; }
.home-gallery__intro { grid-column: 8 / span 4; min-width: 0; padding-top: var(--space-6); }
.home-gallery__intro .intro { max-width: 42ch; }
.home-gallery__items { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; min-width: 0; margin-top: var(--space-6); }
.home-gallery__item { min-width: 0; margin: 0; }
.home-gallery__item--room { grid-column: 1 / span 4; }
.home-gallery__item--host { grid-column: 5 / span 5; }
.home-gallery__item--guests { grid-column: 10 / span 3; margin-top: var(--space-8); }
.home-gallery__open { width: 100%; padding: 0; border: 0; background: transparent; }
.home-gallery__open .media-frame { width: 100%; }
.home-gallery__item figcaption { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.home-gallery__item figcaption .text-link { padding: 0; border: 0; background: transparent; font-size: inherit; }
.home-values__statement { grid-column: 2 / span 5; min-width: 0; }
.home-values__statement .intro { max-width: 48ch; }
.home-values__list { grid-column: 7 / span 6; display: flex; flex-direction: column; gap: var(--space-6); min-width: 0; }
.home-values__list article { min-width: 0; border-left: 1px solid var(--color-muted-rose); padding-left: var(--space-5); }
.home-values__list p { max-width: 36ch; }
.home-inquiry__head { grid-column: 1 / span 4; min-width: 0; }
.home-inquiry__head .intro { max-width: 40ch; }
.home-inquiry__steps { grid-column: 5 / span 8; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.home-inquiry__steps article { min-width: 0; border-top: 1px solid var(--color-border); padding-top: var(--space-4); }
.home-inquiry__steps p { max-width: 38ch; }
.home-inquiry__cta { grid-column: 9 / span 4; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; margin-top: var(--space-5); }
.home-inquiry__cta > * { margin: 0; }
.home-inquiry__cta p { max-width: 24ch; font-family: var(--font-heading); font-size: var(--font-size-h3); line-height: var(--line-height-h3); letter-spacing: var(--letter-spacing-h3); }
.home-faq__head { grid-column: 2 / span 4; min-width: 0; }
.home-faq__head .intro { max-width: 40ch; }
.home-faq__list { grid-column: 5 / span 7; min-width: 0; }
.home-faq__list article { border-top: 1px solid var(--color-border); }
.home-faq__list button { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-4); align-items: center; padding: var(--space-4) 0; font-family: var(--font-heading); font-weight: 600; line-height: 1.2; }
.home-faq__list button em { color: var(--color-muted-rose); font-family: var(--font-body); font-size: var(--font-size-small); font-style: normal; font-weight: 600; letter-spacing: var(--letter-spacing-small); text-transform: uppercase; }
.home-faq__list article > div { max-width: 54ch; }
.home-faq__list article > div[hidden] { display: none; }
.home-final__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; }
.home-final__grid > div { grid-column: 2 / span 7; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.home-final__grid > div > * { margin: 0; }
.home-final .display { max-width: 9ch; font-size: clamp(3rem, 8vw, 8.6rem); }
.home-final .intro { max-width: 34ch; }
.home-lightbox { position: fixed; z-index: 2000; inset: 0; display: grid; place-items: center; padding: var(--space-5); background: rgb(26 27 31 / 92%); }
.home-lightbox[hidden] { display: none; }
.home-lightbox__dialog { width: min(100%, 70rem); max-height: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-rows: auto minmax(0, 1fr); gap: var(--space-4); color: var(--color-light-text); }
.home-lightbox__close { grid-column: 3; min-height: 3rem; padding: var(--space-3) var(--space-4); border: 1px solid var(--color-border-on-dark); background: transparent; color: inherit; }
.home-lightbox__previous, .home-lightbox__next { align-self: center; min-height: 3rem; padding: var(--space-3); border: 1px solid var(--color-border-on-dark); background: transparent; color: inherit; }
.home-lightbox__image { grid-column: 2; min-width: 0; max-height: 75vh; width: 100%; object-fit: contain; }
.home-lightbox__caption { grid-column: 2; margin: 0; color: var(--color-silver-mist); }
body.home-lightbox-open { overflow: hidden; }
@media (max-width: 73.75rem) { .home-hero__copy { grid-column: 3 / span 10; } .home-hero__media { grid-column: 1 / -1; grid-row: 2; } .home-hero__detail { display: none; } .home-layers__modules { grid-column: 5 / span 8; } .home-occasions__head { grid-column: 1 / span 12; } .home-occasions__panels { grid-column: 1 / span 12; } .home-tables__head { grid-column: 1 / span 7; } .home-tables__content { grid-column: 7 / span 6; } }
@media (max-width: 67.5rem) { .home-layers__grid, .home-occasions__grid, .home-tables__grid, .home-venue__grid, .home-process__grid, .home-gallery__grid, .home-values__grid, .home-inquiry__grid, .home-faq__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } .home-layers__head { grid-column: 1 / span 3; } .home-layers__modules { grid-column: 4 / span 3; grid-template-columns: 1fr; padding-top: 0; } .home-layer:nth-child(2), .home-layer:nth-child(3) { margin-top: 0; } .home-tables__head { grid-column: 1 / span 6; } .home-tables__content { grid-column: 4 / span 3; grid-row: 2; } .home-tables__media { grid-column: 1 / span 3; } .home-venue__head { grid-column: 1 / span 6; } .home-venue__media { grid-column: 1 / span 6; } .home-venue__principles { grid-column: 1 / span 4; } .home-venue__cta { grid-column: 5 / span 2; } .home-process__head { grid-column: 1 / span 6; } .home-process__timeline { grid-column: 1 / span 6; grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-process-step:nth-child(even) { margin-top: 0; } .home-gallery__head { grid-column: 1 / span 3; } .home-gallery__intro { grid-column: 4 / span 3; padding-top: 0; } .home-gallery__items { grid-template-columns: repeat(6, minmax(0, 1fr)); } .home-gallery__item--room { grid-column: 1 / span 3; } .home-gallery__item--host { grid-column: 4 / span 3; } .home-gallery__item--guests { grid-column: 1 / span 6; margin-top: 0; } .home-values__statement { grid-column: 1 / span 6; } .home-values__list { grid-column: 1 / span 6; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-values__list > * { min-width: 0; } .home-values__list a { grid-column: 1 / span 2; } .home-inquiry__head { grid-column: 1 / span 6; } .home-inquiry__steps { grid-column: 1 / span 6; } .home-inquiry__cta { grid-column: 3 / span 4; } .home-faq__head { grid-column: 1 / span 6; } .home-faq__list { grid-column: 1 / span 6; } }
@media (max-width: 56.25rem) { .home-hero__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } .home-hero__index { grid-column: 1 / span 6; flex-direction: row; } .home-hero__vertical { writing-mode: horizontal-tb; transform: none; min-height: 0; } .home-hero__copy { grid-column: 1 / -1; padding-top: var(--space-4); } .home-hero__media { grid-column: 1 / -1; padding-bottom: 0; } .home-hero__copy h1 { font-size: clamp(3rem, 8vw, 4.7rem); } .home-occasions__panels { grid-template-columns: repeat(6, minmax(0, 1fr)); } .home-occasion--corporate { grid-column: 1 / span 6; } .home-occasion--private { grid-column: 1 / span 3; } .home-occasion--vip { grid-column: 4 / span 3; margin-top: var(--space-6); } .home-cases__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } .home-case--corporate { grid-column: 1 / span 6; } .home-case--private { grid-column: 1 / span 3; margin-top: 0; } .home-case--vip { grid-column: 4 / span 3; margin-top: var(--space-5); } }
@media (max-width: 47.99rem) { .home-hero { padding-block: var(--space-7) var(--space-8); } .home-hero__grid, .home-layers__grid, .home-occasions__grid, .home-tables__grid, .home-venue__grid, .home-process__grid, .home-gallery__grid, .home-values__grid, .home-inquiry__grid, .home-faq__grid, .home-cases__grid { grid-template-columns: 1fr; gap: var(--space-6); } .home-hero__index, .home-hero__copy, .home-hero__media, .home-layers__head, .home-layers__modules, .home-occasions__head, .home-occasions__panels, .home-occasions__link, .home-tables__head, .home-tables__content, .home-tables__media, .home-venue__head, .home-venue__media, .home-venue__principles, .home-venue__cta, .home-process__head, .home-process__timeline, .home-gallery__head, .home-gallery__intro, .home-gallery__items, .home-values__statement, .home-values__list, .home-inquiry__head, .home-inquiry__steps, .home-inquiry__cta, .home-faq__head, .home-faq__list { grid-column: 1; grid-row: auto; } .home-hero__copy { gap: var(--space-4); } .home-hero__copy h1 { font-size: clamp(3rem, 14vw, 4.7rem); } .home-hero__media { margin-top: 0; } .home-hero__image { aspect-ratio: 4 / 5; } .home-hero__actions { width: 100%; } .home-hero__actions .button { width: 100%; } .home-layers__modules, .home-occasions__panels, .home-tables__content, .home-venue__principles, .home-process__timeline, .home-gallery__items, .home-values__list, .home-inquiry__steps { grid-template-columns: 1fr; gap: var(--space-6); } .home-occasion--corporate, .home-occasion--private, .home-occasion--vip, .home-case--corporate, .home-case--private, .home-case--vip, .home-gallery__item--room, .home-gallery__item--host, .home-gallery__item--guests { grid-column: 1; margin-top: 0; } .home-occasion, .home-case { padding: var(--space-5); } .home-tables__media { order: 3; margin-top: 0; } .home-table-module-row { grid-template-columns: 1fr; } .home-venue__principles { gap: var(--space-5); } .home-venue__cta .button, .home-inquiry__cta .button { width: 100%; } .home-process__timeline { border-left: 1px solid var(--color-border); padding-left: var(--space-4); } .home-process-step { position: relative; } .home-process-step::before { position: absolute; top: 1.5rem; left: calc(-1 * var(--space-4) - 0.2rem); width: 0.4rem; height: 0.4rem; border-radius: 50%; background: var(--color-muted-rose); content: ""; } .home-values__list a { grid-column: 1; } .home-final__grid { grid-template-columns: 1fr; } .home-final__grid > div { grid-column: 1; } .home-final .display { max-width: 10ch; font-size: clamp(2.8rem, 13vw, 4.2rem); } .home-lightbox__dialog { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto auto; } .home-lightbox__close, .home-lightbox__previous, .home-lightbox__next, .home-lightbox__image, .home-lightbox__caption { grid-column: 1; } .home-lightbox__previous, .home-lightbox__next { width: 50%; } .home-lightbox__next { justify-self: end; margin-top: -3.5rem; } }


.thank-you {
  display: grid;
  min-height: clamp(38rem, 72vh, 52rem);
  align-items: center;
  padding-block: clamp(var(--space-9), 12vw, var(--space-11));
}

.thank-you__content {
  display: flex;
  width: min(100%, 48rem);
  flex-direction: column;
  align-items: center;
  margin-inline: auto;
  text-align: center;
}

.thank-you__content > * {
  margin-block: 0;
}

.thank-you__content > * + * {
  margin-block-start: var(--space-5);
}

.thank-you__index {
  color: var(--color-muted-rose);
  font-family: var(--font-heading);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-utility);
  line-height: 1;
}

.thank-you h1 {
  max-width: 12ch;
}

.thank-you__copy {
  width: min(100%, 38.75rem);
  margin-inline: auto;
  color: var(--color-light-text);
  text-align: center;
}

.thank-you__copy > *:last-child {
  margin-block-end: 0;
}

.thank-you__copy .intro {
  max-width: 35rem;
  margin-inline: auto;
}

.thank-you__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
}

.thank-you__contact {
  max-width: 38.75rem;
  margin-inline: auto;
  color: var(--color-silver-mist);
  font-size: var(--font-size-small);
  text-align: center;
}

@media (max-width: 47.99rem) {
  .thank-you {
    min-height: auto;
  }

  .thank-you__content > * + * {
    margin-block-start: var(--space-4);
  }

  .thank-you__actions {
    width: 100%;
  }

  .thank-you__actions .button {
    width: 100%;
  }
}