/* EES Vital – Startseite */

/* ================================================================ Start -- */
.held__buehne { background: var(--nacht); }
.held__bild {
  --k: var(--cw-p, 0);
  position: absolute; left: 50%; top: 50%;
  width: max(100vw, 143svh);
  aspect-ratio: 4936 / 3456;
  transform-origin: 50% 36%;
  transform: translate(-50%, -50%) scale(calc(1.02 + var(--k) * 0.16));
  will-change: transform;
}
.held__raum { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; }
.held__schirm { position: absolute; display: block; max-width: none; pointer-events: none; }
.held__glut {
  position: absolute; width: 22%; aspect-ratio: 1; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, rgb(214 92 255 / 0.30) 0%, rgb(230 70 190 / 0.12) 34%, transparent 68%);
  mix-blend-mode: screen;
  opacity: var(--glut, 0.7);
  translate: -50% -50%;
}
.held__glut--l { left: 32.3%; top: 37%; }
.held__glut--r { left: 63.5%; top: 37%; }
/* Nahe Ebene: die vorderen Sessel gleiten beim Hineinfahren nach aussen */
.held__sessel {
  position: absolute; pointer-events: none;
  will-change: transform;
}
.held__sesselbild { position: relative; display: block; width: 100%; height: auto; max-width: none; }
.held__schatten { position: absolute; height: auto; max-width: none; }
.held__sessel--l { transform-origin: 30% 100%; transform: translate(calc(var(--k, 0) * -34%), calc(var(--k, 0) * 16%)) scale(calc(1 + var(--k, 0) * 0.22)); }
.held__sessel--r { transform-origin: 70% 100%; transform: translate(calc(var(--k, 0) * 34%), calc(var(--k, 0) * 16%)) scale(calc(1 + var(--k, 0) * 0.22)); }
.held { --k: var(--cw-p, 0); }

.held__schleier {
  position: absolute; inset: 0; pointer-events: none; z-index: 2;
  background:
    linear-gradient(to top, rgb(10 27 29 / 0.92) 0%, rgb(10 27 29 / 0.70) 24%, rgb(10 27 29 / 0.18) 46%, transparent 60%),
    linear-gradient(to bottom, rgb(10 27 29 / 0.55) 0%, transparent 18%);
}
.held__text {
  position: absolute; z-index: 3;
  left: 50%; bottom: clamp(2.5rem, 9vh, 6.5rem);
  translate: -50% 0;
  width: min(54rem, 88vw);
  text-align: center;
  color: var(--mond);
}
.held__text .titel { font-weight: 300; text-shadow: 0 2px 30px rgb(10 27 29 / 0.5); font-size: clamp(2.1rem, 1.2rem + 2.9vw, 4.4rem); line-height: 1.08; }
.held__text .ueberzeile { color: var(--mond-2); }
.held__text .lead { margin: 1.2rem auto 0; max-width: 44ch; color: var(--mond); }
.held__text .knoepfe { justify-content: center; margin-top: 1.8rem; }
.held .knopf { background: var(--minze); color: var(--nacht); }
.held .knopf:hover { background: var(--minze-hover); }
.held .knopf--linie { background: rgb(10 27 29 / 0.25); color: var(--mond); border-color: rgb(233 241 236 / 0.45); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.held .knopf--linie:hover { background: rgb(233 241 236 / 0.12); border-color: var(--mond); }
.held__vermerk {
  position: absolute; z-index: 3; right: clamp(1rem, 3vw, 2.5rem); bottom: 1rem; margin: 0;
  font-size: 0.78rem; color: rgb(233 241 236 / 0.62); max-width: 30ch; text-align: right;
}
/* Sessel liegen vor der Schrift, aber nie über ihr: Schrift steht mittig zwischen ihnen */
.held__sessel { z-index: 4; }
.held__bild { z-index: 1; }

/* Handy und Tablet hoch (quer gilt die breite Aufteilung): der Raum steht oben unter der Leiste (Decke hinter der Leiste, beide Türme ganz im Bild),
   die Schrift unten auf dem leeren Holzboden. Vorher lag die Schrift über Türmen und Sesseln. */
@media (max-width: 860px) and (orientation: portrait) {
  /* beim Scrollen in den Raum hinein: das Bild wächst von oben her (oben nie eine Lücke), der Schleier zieht sich mit der Schrift zurück */
  .held__bild { width: clamp(120vw, 100svh, 230vw); top: 0; transform-origin: 47.7% 8%; transform: translate(-47.7%, 0) scale(calc(1 + var(--k) * 0.2)); }
  /* 47,7 % = Mitte zwischen den beiden Türmen (28,9–35,6 % und 60,2–66,6 %), so bleiben beide bis zum Ende der Fahrt ganz im Bild */
  /* Unterkante des Bildes läuft im Bild selbst weich in die Nacht aus und wandert mit */
  .held__bild::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 34%; z-index: 5; pointer-events: none; background: linear-gradient(to bottom, rgb(10 27 29 / 0) 0%, rgb(10 27 29 / 0.55) 45%, var(--nacht) 100%); }
  .held__schleier {
    background:
      linear-gradient(to top, var(--nacht) 0%, var(--nacht) 36%, rgb(10 27 29 / 0.78) 45%, rgb(10 27 29 / 0.3) 54%, transparent 62%),
      linear-gradient(to bottom, rgb(10 27 29 / 0.6) 0%, transparent 15%);
    opacity: calc(1 - var(--k) * 1.4);
  }
  .held__text { top: auto; bottom: 4.6rem; text-align: left; left: var(--cw-gutter); translate: none; width: auto; right: var(--cw-gutter); }
  .held__text .lead { margin-left: 0; }
  .held__text .knoepfe { justify-content: flex-start; }
  .held__text .titel { font-size: clamp(1.55rem, 7.4vw, 2.6rem); }
  .held__vermerk { left: var(--cw-gutter); right: auto; text-align: left; }
  /* vordere Sessel bleiben stehen (die Platte hat sie nicht), nur das ganze Bild fährt sanft näher */
  .held__sessel--l, .held__sessel--r { transform: none; }
}
/* Handy quer: zu niedrig für die Einleitung */
@media (max-width: 860px) and (max-height: 500px) {
  .held__text .lead { display: none; }
}
/* Handy hochkant: Knöpfe schlanker, damit beide in eine Reihe passen; auf niedrigen Handys (iPhone SE) die Einleitung kleiner statt weg */
@media (max-width: 860px) and (orientation: portrait) {
  .held .knopf { min-height: 46px; padding-inline: 1.15rem; font-size: 0.98rem; }
  .held__text .knoepfe { gap: 0.6rem; margin-top: 1.4rem; }
}
@media (max-width: 860px) and (orientation: portrait) and (max-height: 700px) {
  .held__text .lead { font-size: 0.98rem; line-height: 1.45; margin-top: 0.8rem; }
}
/* niedrige Fenster (Handy quer): Schrift über den Bildvermerk heben */
@media (max-height: 500px) and (orientation: landscape) {
  .held__text { bottom: 3.8rem; }
  .held__text .titel { font-size: clamp(1.6rem, 1rem + 4.2vh, 2.4rem); }
}
@media (prefers-reduced-motion: reduce) {
  .held__bild { transform: translate(-50%, -50%) scale(1.02); }
  .held__sessel--l, .held__sessel--r { transform: none; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 860px) and (orientation: portrait) {
  .held__bild { transform: translate(-47.7%, 0); }
  .held__schleier { opacity: 1; }
}

/* ================================================================ Pausen -- */
.pause__satz em { font-style: normal; color: var(--minze); }
.pause--alltag { min-height: 82svh; }
.pause--still { min-height: 70svh; padding-block: clamp(4rem, 10vw, 8rem); }
/* Zitat-Pause: ein langer Satz, deshalb kleiner und breiter als die übrigen Pausen */
.pause--zitat { min-height: 72svh; }
.zitatpause { margin: 0; display: grid; justify-items: center; gap: clamp(1.2rem, 2.5vw, 2rem); }
.pause__satz--zitat { font-size: clamp(1.55rem, 1.05rem + 2.1vw, 2.9rem); line-height: 1.22; max-width: 30ch; }
.pause__satz--zitat p { margin: 0; }
.zitatpause__quelle { display: flex; align-items: center; gap: 0.8rem; font-size: var(--cw-t-sm); letter-spacing: 0.08em; text-transform: uppercase; color: var(--mond-2); white-space: nowrap; }
@media (max-width: 360px) { .zitatpause__quelle { letter-spacing: 0.04em; gap: 0.6rem; } .zitatpause__quelle::before { width: 1.4rem; } }
.zitatpause__quelle::before { content: ""; width: 2.2rem; height: 1px; background: color-mix(in oklab, var(--minze) 70%, transparent); }

/* ============================================================ Willkommen -- */
.willkommen__raster { display: grid; gap: clamp(2.5rem, 5vw, 6rem); align-items: center; grid-template-columns: 1fr; }
@media (min-width: 980px) { .willkommen__raster { grid-template-columns: 1fr 1.08fr; } }
.willkommen__bild img { aspect-ratio: 10 / 7; object-fit: cover; box-shadow: var(--cw-e3); }
.dreiklang {
  list-style: none; padding: 0; margin: 2rem 0 0;
  display: flex; flex-wrap: wrap; gap: 0.6rem 2rem;
  font-family: var(--cw-font-display); font-weight: 400; font-size: var(--cw-t-lg); letter-spacing: -0.01em;
}
.dreiklang li { display: flex; align-items: center; gap: 0.7rem; }
.dreiklang li::before { content: ""; width: 0.55rem; height: 0.55rem; border-radius: 50%; background: var(--petrol); }

/* ================================================================== Raum -- */
.raum__raster { display: grid; gap: clamp(2.5rem, 5vw, 6rem); align-items: start; grid-template-columns: 1fr; }
@media (min-width: 980px) { .raum__raster { grid-template-columns: 0.95fr 1fr; } .raum__bild { position: sticky; top: calc(var(--leiste-h) + 2rem); } }
.raum__bild img { aspect-ratio: 10 / 7; object-fit: cover; box-shadow: var(--cw-e2); }
.fakten {
  margin: 2.2rem 0 1rem; padding: 0;
  display: flex; flex-wrap: wrap;
  border-top: 1px solid color-mix(in oklab, var(--tinte) 14%, transparent);
}
.fakten > div { flex: 1 1 7.5rem; padding: 1.1rem 1rem 1.2rem 0; border-bottom: 1px solid color-mix(in oklab, var(--tinte) 14%, transparent); }
.fakten dt { font-size: var(--cw-t-sm); color: var(--tinte-2); order: 2; }
.fakten dd { margin: 0 0 0.3rem; font-family: var(--cw-font-display); font-weight: 300; font-size: clamp(2.2rem, 1.7rem + 1.8vw, 3.2rem); line-height: 1; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; color: var(--tinte); }
.fakten > div { display: flex; flex-direction: column-reverse; }

/* ============================================================== Mitatmen -- */
.atem__buehne { background: var(--nacht); color: var(--mond); display: grid; place-items: center; }
.atem__feld { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; }
.atem__mitte {
  position: absolute; left: 50%; top: 45%; translate: -50% -50%;
  width: min(46vmin, 430px); aspect-ratio: 1;
  pointer-events: none;
}
.atem__zeichen { width: 100%; height: 100%; overflow: visible; }
.atem__teil { transform-box: view-box; transform-origin: 122.7px 122.6px; }
.atem__dreh { transform-box: view-box; transform-origin: 122.7px 122.6px; }
.atem__saetze { position: absolute; left: 0; right: 0; top: calc(var(--leiste-h) + clamp(1.5rem, 5vh, 3.5rem)); height: 5rem; }
.atem__satz {
  position: absolute; left: 50%; top: 0; translate: -50% 0; margin: 0;
  width: min(40rem, 90vw); text-align: center;
  font-family: var(--cw-font-display); font-weight: 300;
  font-size: clamp(1.45rem, 1.1rem + 1.4vw, 2.3rem); line-height: 1.2; letter-spacing: -0.018em;
}
.atem__steuerung {
  position: absolute; left: 50%; bottom: clamp(1.5rem, 6vh, 4rem); translate: -50% 0;
  display: grid; justify-items: center; gap: 0.9rem; width: min(30rem, 90vw); text-align: center;
}
.atem__knopf {
  position: relative; width: 112px; height: 112px; border-radius: 50%;
  border: 0; padding: 0; background: rgb(143 217 199 / 0.08); color: var(--mond);
  cursor: pointer; touch-action: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none;
  display: grid; place-items: center;
  transition: background-color 200ms var(--cw-ease-out), transform 160ms var(--cw-ease-out);
}
.atem__knopf:hover { background: rgb(143 217 199 / 0.14); }
.atem__knopf[data-zustand="ein"] { background: rgb(143 217 199 / 0.2); transform: scale(0.97); }
.atem__knopf:focus-visible { outline: 2px solid var(--minze); outline-offset: 4px; border-radius: 50%; }
.atem__ring { position: absolute; inset: 0; width: 100%; height: 100%; rotate: -90deg; }
.atem__ring circle { fill: none; stroke: rgb(233 241 236 / 0.22); stroke-width: 2; }
.atem__ring .atem__ring-voll { stroke: var(--minze); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--atem-fuell, 0)); }
.atem__wort { position: relative; font-size: 0.92rem; font-weight: 500; line-height: 1.2; max-width: 6.5rem; }
.atem__anleitung { margin: 0; font-size: var(--cw-t-sm); color: var(--mond-2); min-height: 3em; }
.atem__zaehler { list-style: none; display: flex; gap: 0.6rem; margin: 0; padding: 0; }
.atem__zaehler li { width: 10px; height: 10px; border-radius: 50%; border: 1px solid rgb(233 241 236 / 0.45); transition: background-color 300ms var(--cw-ease-out), border-color 300ms; }
.atem__zaehler li.ist-voll { background: var(--minze); border-color: var(--minze); }
.atem__danach {
  position: absolute; left: 50%; bottom: clamp(1.5rem, 6vh, 4rem); translate: -50% 0;
  display: grid; justify-items: center; gap: 1.4rem; text-align: center; width: min(36rem, 90vw);
  opacity: 0; visibility: hidden; transform: translateY(10px);
  transition: opacity 700ms var(--cw-ease-out), transform 700ms var(--cw-ease-out), visibility 0s linear 700ms;
}
.atem[data-fertig="ja"] .atem__danach { opacity: 1; visibility: visible; transform: none; transition: opacity 900ms var(--cw-ease-out) 400ms, transform 900ms var(--cw-ease-out) 400ms, visibility 0s; }
.atem[data-fertig="ja"] .atem__steuerung { opacity: 0; visibility: hidden; transition: opacity 400ms var(--cw-ease-out), visibility 0s linear 400ms; }
@media (max-width: 860px) {
  .atem__mitte { width: min(62vw, 340px); top: 46%; }
  .atem__knopf { width: 100px; height: 100px; }
}
@media (max-height: 640px) {
  .atem__mitte { width: 34vmin; top: 44%; }
  .atem__anleitung { display: none; }
}

/* =========================================================== Tag/Nacht -- */
.tagnacht__kopf { display: grid; gap: 1.2rem; margin-bottom: clamp(2rem, 4vw, 3rem); }
@media (min-width: 980px) { .tagnacht__kopf { grid-template-columns: 1fr 1fr; align-items: end; } .tagnacht__kopf .lead { justify-self: end; } }
.vergleich {
  position: relative; border-radius: var(--rund); overflow: hidden;
  aspect-ratio: 16 / 9; max-height: calc(100svh - var(--leiste-h) - 4rem); width: 100%; background: var(--nacht);
  box-shadow: var(--cw-e3);
  isolation: isolate;
}
.vergleich img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 66%; }
@media (max-width: 720px) { .vergleich { aspect-ratio: 4 / 3.4; } }
.vergleich__nacht { clip-path: inset(0 0 0 var(--teil)); }
.vergleich__linie {
  position: absolute; top: 0; bottom: 0; left: var(--teil); width: 2px; translate: -1px 0;
  background: rgb(255 255 255 / 0.9); box-shadow: 0 0 0 1px rgb(10 27 29 / 0.15);
  pointer-events: none; z-index: 2;
}
.vergleich__griff {
  position: absolute; top: 50%; left: 50%; translate: -50% -50%;
  width: 56px; height: 56px; border-radius: 50%;
  background: #fff; box-shadow: var(--cw-e2);
  display: grid; place-items: center;
}
.vergleich__griff::before, .vergleich__griff::after {
  content: ""; position: absolute; top: 50%; width: 0; height: 0; translate: 0 -50%;
  border-block: 6px solid transparent;
}
.vergleich__griff::before { left: 13px; border-right: 8px solid var(--tinte); }
.vergleich__griff::after { right: 13px; border-left: 8px solid var(--tinte); }
.vergleich__regler {
  position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0;
  cursor: ew-resize; z-index: 3; touch-action: pan-y;
}
.vergleich__regler:focus-visible ~ .vergleich__linie .vergleich__griff { outline: 3px solid var(--petrol); outline-offset: 3px; }
.vergleich__marke {
  position: absolute; top: 1.1rem; z-index: 2; padding: 0.45rem 0.95rem; border-radius: 999px;
  font-size: 0.92rem; font-weight: 500; pointer-events: none;
}
.vergleich__marke--tag { left: 1.1rem; background: rgb(255 255 255 / 0.88); color: var(--tinte); }
.vergleich__marke--nacht { right: 1.1rem; background: rgb(10 27 29 / 0.78); color: var(--mond); }
.vergleich__vermerk { margin: 0.8rem 0 0; }
.tagnacht__spalten { display: grid; gap: clamp(1.5rem, 3vw, 3rem); grid-template-columns: 1fr; margin-top: clamp(2.5rem, 5vw, 4rem); }
@media (min-width: 900px) { .tagnacht__spalten { grid-template-columns: 1fr 1fr; } }
.sitzung { display: grid; gap: 1rem; align-content: start; padding-top: 1.6rem; border-top: 1px solid color-mix(in oklab, var(--tinte) 16%, transparent); }
.sitzung > .knopf { justify-self: start; margin-top: 0.6rem; }
.sitzung__wo { margin: -0.4rem 0 0; color: var(--tinte-2); font-size: var(--cw-t-lg); }
.sitzung__daten { margin: 0.4rem 0 0; display: grid; gap: 0.9rem; }
.sitzung__daten > div { display: grid; grid-template-columns: 5rem 1fr; gap: 1rem; }
.sitzung__daten dt { color: var(--tinte-2); font-size: var(--cw-t-sm); padding-top: 0.15rem; }
.sitzung__daten dd { margin: 0; }
.sitzung__daten strong { font-weight: 500; font-size: 1.15em; }
.staffel { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.25rem; }
.staffel li { display: flex; justify-content: space-between; gap: 1rem; max-width: 22rem; }
.staffel li > span:first-child { color: var(--tinte-2); }
.tagnacht__fuss { margin-top: clamp(2rem, 4vw, 3rem); display: flex; flex-wrap: wrap; gap: 1rem 2.5rem; justify-content: space-between; align-items: center; }

/* ================================================================= Mehr -- */
.mehr__kopf { display: grid; gap: 1.2rem; margin-bottom: clamp(2rem, 4vw, 3rem); }
@media (min-width: 980px) { .mehr__kopf { grid-template-columns: 1fr 1fr; align-items: end; } .mehr__kopf .lead { justify-self: end; } }
.mehr__raster { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 720px) { .mehr__raster { grid-template-columns: repeat(2, 1fr); } }
/* zweispaltig (Tablet): grosse Kachel über die ganze Reihe, die übrigen vier gehen in zwei Reihen auf (sonst stand „Raum mieten“ allein) */
@media (min-width: 720px) and (max-width: 1099px) { .kachel--gross { grid-column: 1 / -1; } }
@media (min-width: 1100px) {
  .mehr__raster { grid-template-columns: 1fr 1fr 0.95fr 1fr; grid-template-rows: auto auto; }
  .kachel--gross { grid-column: 1 / 3; grid-row: 1; }
  .kachel--plakat { grid-column: 3; grid-row: 1 / 3; }
  .kachel--ruhig:nth-of-type(3) { grid-column: 4; grid-row: 1; }
  .kachel--ruhig:nth-of-type(4) { grid-column: 4; grid-row: 2; }
  .kachel--bild { grid-column: 1 / 3; grid-row: 2; }
}
.kachel {
  position: relative; display: flex; flex-direction: column; justify-content: flex-end;
  min-height: 15rem; padding: clamp(1.3rem, 2.4vw, 2rem);
  border-radius: var(--rund); overflow: hidden; text-decoration: none; color: var(--mond);
  background: var(--nacht-2);
  box-shadow: var(--cw-e1);
  transition: transform 260ms var(--cw-ease-out), box-shadow 260ms var(--cw-ease-out);
}
.kachel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 600ms var(--cw-ease-out); }
.kachel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgb(10 27 29 / 0.9) 0%, rgb(10 27 29 / 0.55) 38%, transparent 70%); }
.kachel__text { position: relative; z-index: 1; display: grid; gap: 0.45rem; max-width: 32ch; }
.kachel__titel { font-family: var(--cw-font-display); font-weight: 400; font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.9rem); letter-spacing: -0.015em; line-height: 1.1; }
.kachel__titel::after { content: " →"; font-family: var(--cw-font-text); font-weight: 300; opacity: 0.7; transition: margin-left 200ms var(--cw-ease-out); }
.kachel__satz { color: rgb(233 241 236 / 0.85); font-size: var(--cw-t-sm); }
.kachel--gross, .kachel--bild { min-height: clamp(15rem, 20vw, 18rem); }
.kachel--plakat { min-height: clamp(22rem, 30vw, 30rem); }
.kachel--plakat img { object-position: 50% 20%; }
.kachel--ruhig { background: #fff; color: var(--tinte); min-height: 13rem; justify-content: space-between; }
.kachel--ruhig::after { display: none; }
.kachel--ruhig .kachel__satz { color: var(--tinte-2); }
.kachel__zeichen { width: 52px; height: 52px; }
.kachel__zeichen svg { width: 100%; height: 100%; }
@media (hover: hover) and (pointer: fine) {
  .kachel:hover { transform: translateY(-3px); box-shadow: var(--cw-e3); }
  .kachel:hover img { transform: scale(1.035); }
  .kachel:hover .kachel__titel::after { margin-left: 0.25em; }
}

/* ======================================================== Gründerinnen -- */
.gruenderinnen__raster { display: grid; gap: clamp(2.5rem, 5vw, 6rem); align-items: center; grid-template-columns: 1fr; }
@media (min-width: 980px) { .gruenderinnen__raster { grid-template-columns: 1.1fr 1fr; } }
.gruenderinnen__bild img { aspect-ratio: 1400 / 861; object-fit: cover; box-shadow: var(--cw-e3); }
.zitat { margin: 2rem 0 0; padding: 0 0 0 1.4rem; border-left: 1px solid var(--petrol); }
.zitat p { margin: 0; font-family: var(--cw-font-display); font-weight: 300; font-size: var(--cw-t-lg); line-height: 1.4; letter-spacing: -0.01em; }
.zitat footer { margin-top: 0.6rem; font-size: var(--cw-t-sm); color: var(--tinte-2); }

/* ============================================================== Stimmen -- */
.stimmen__buehne { background: var(--nacht); color: var(--mond); display: grid; place-items: center; }
.stimmen__titel { position: absolute; top: calc(var(--leiste-h) + 2rem); left: 50%; translate: -50% 0; margin: 0; font-size: var(--cw-t-sm); font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mond-2); white-space: nowrap; }
.stimme { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: min(52rem, 88vw); margin: 0; text-align: center; }
.stimme blockquote { margin: 0; }
.stimme p { margin: 0; font-family: var(--cw-font-display); font-weight: 300; font-size: clamp(1.45rem, 1.05rem + 1.7vw, 2.55rem); line-height: 1.28; letter-spacing: -0.018em; text-wrap: balance; }
.stimme p::before { content: "«"; } .stimme p::after { content: "»"; }
.stimme figcaption { margin-top: 1.4rem; color: var(--minze); font-size: var(--cw-t-sm); font-weight: 500; letter-spacing: 0.02em; }
.stimmen__mehr { position: absolute; bottom: clamp(2rem, 7vh, 4rem); left: 50%; translate: -50% 0; margin: 0; }

/* =============================================================== Schluss -- */
.schluss__raster { display: grid; gap: clamp(2.5rem, 5vw, 6rem); align-items: center; grid-template-columns: 1fr; }
@media (min-width: 980px) { .schluss__raster { grid-template-columns: 0.9fr 1.1fr; } }
.schluss__bild img { aspect-ratio: 1100 / 1024; object-fit: cover; box-shadow: var(--cw-e3); }
.schluss__tel { margin-top: 2rem !important; display: grid; gap: 0.3rem; }
.schluss__tel a { color: var(--tinte); text-decoration: none; }
.schluss__tel > a { font-family: var(--cw-font-display); font-weight: 300; font-size: clamp(1.8rem, 1.4rem + 1.6vw, 2.8rem); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.schluss__tel span a { color: var(--petrol); text-decoration: underline; text-underline-offset: 0.22em; }
.anfahrt-kurz { list-style: none; margin: 1.8rem 0 0; padding: 0; display: grid; gap: 0.5rem; color: var(--tinte-2); }
.anfahrt-kurz strong { color: var(--tinte); font-weight: 500; }
.anfahrt-kurz li { padding-left: 1.3rem; position: relative; }
.anfahrt-kurz li::before { content: ""; position: absolute; left: 0; top: 0.72em; width: 0.45rem; height: 0.45rem; border-radius: 50%; background: var(--petrol); }
