/* ╔═══════════════════════════════════════════════════════════════╗
   ║  BRIAN Stories — gekapselte Komponente                          ║
   ║  · alle Klassen st-* (kollisionsfrei via Prefix)               ║
   ║  · nutzt Host-:root-Variablen (--ink/--red/--mut/--line/...)   ║
   ║  · zwei Modi:                                                  ║
   ║      Standalone  → #stories (nativer Scroll, sticky Pin)        ║
   ║      data-driven → fixe Overlay-Bühne, frame(p) von außen       ║
   ╚═══════════════════════════════════════════════════════════════╝ */

#stories{position:relative;height:700vh;font-family:var(--sans);color:var(--ink)}
#stories[data-driven]{position:fixed;inset:0;height:100%;z-index:50;opacity:0;pointer-events:none;background:#fcfcfd}
#stories:not([data-driven]) .st-pin{position:sticky;top:0;height:100vh;overflow:hidden}
#stories[data-driven] .st-pin{position:absolute;inset:0;overflow:hidden}
#stories[data-driven] .st-eyebrow{display:none}   /* Kapitel-Label der Host-Navbar übernimmt das */

/* Header */
/* gleiche Band-Geometrie wie die Journey-Narration (.narr), damit die Überschrift
   auf derselben Höhe sitzt wie die Titel in der Journey */
.st-intro{position:absolute;left:0;right:0;top:0;height:25vh;z-index:40;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:13px;text-align:center;padding:54px 30px 0;will-change:transform,opacity}
.st-eyebrow{display:inline-flex;align-items:center;gap:11px;font-family:var(--mono);font-size:12.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink)}
.st-eyebrow .st-d{width:18px;height:2.5px;border-radius:2px;background:var(--red)}
/* Typo exakt wie die Journey-Narration (.narr .say) — die Überschrift sitzt im selben
   Band und soll dieselbe Stimme haben (groß wirkt sie über die Scale-Transition) */
.st-intro h1{font-size:clamp(20px,2.3vw,30px);font-weight:600;letter-spacing:-.03em;line-height:1.22;max-width:740px;min-height:0}

/* Referenz — bewegte Teile NUR per transform/opacity */
.st-ref{position:absolute;inset:0;z-index:1;opacity:0;will-change:opacity;pointer-events:none}
.st-card{position:absolute;left:0;top:0;transform-origin:0 0;border-radius:22px;overflow:hidden;background:#dfe6ec;cursor:pointer;will-change:transform;pointer-events:none;
  box-shadow:0 34px 80px -42px rgba(14,56,85,.5), inset 0 0 0 1px rgba(255,255,255,.14);
  transition:box-shadow .45s cubic-bezier(.16,1,.3,1)}
.st-card:hover,.st-card.st-hot{box-shadow:0 46px 100px -40px rgba(14,56,85,.58), inset 0 0 0 1px rgba(255,255,255,.3)}
/* Bild bewegt sich im Rahmen — der Rahmen selbst wird von JS getrieben, den fassen wir nicht an.
   Grau ist nur der Zustand „drei Karten nebeneinander" (Klasse st-gray von JS), Hover zeigt Farbe. */
.st-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 24%;
  filter:none;transform:translateY(var(--zoomy,0)) scale(var(--zoom,1.001));transform-origin:var(--zoomorg,center 30%);
  transition:filter .55s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.st-card.st-gray .st-img{filter:grayscale(1) contrast(1.02) brightness(1.06)}
.st-card:hover .st-img,.st-card.st-hot .st-img{transform:translateY(var(--zoomy,0)) scale(calc(var(--zoom,1) * 1.05))}
.st-card.st-gray:hover .st-img,.st-card.st-gray.st-hot .st-img{filter:grayscale(0) contrast(1.02) saturate(1.04)}
.st-duoover{position:absolute;inset:0;background:#0e3855;opacity:0;pointer-events:none;transition:opacity .55s ease}
.st-card.st-gray .st-duoover{opacity:.16}
.st-card.st-gray:hover .st-duoover,.st-card.st-gray.st-hot .st-duoover{opacity:.04}
.st-scrim{position:absolute;inset:0;opacity:0;pointer-events:none;
  background:linear-gradient(to top,rgba(6,22,38,.93) 0%,rgba(6,22,38,.62) 26%,rgba(6,22,38,.16) 54%,transparent 74%)}
/* Laufende Nummer — sitzt IM Scrim, blendet also mit ihm ein */
.st-num{position:absolute;top:16px;left:18px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  color:rgba(255,255,255,.92);padding:5px 9px;border-radius:100px;
  border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);backdrop-filter:blur(6px)}

/* EXPANDED Textblock — feste Breite + Schriftgröße → NIE Reflow */
.st-exp{position:absolute;left:0;top:0;transform-origin:0 50%;text-align:left;will-change:transform,opacity;pointer-events:none}
.st-idx{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--red);margin-bottom:14px}
.st-q{font-weight:600;letter-spacing:-.03em;line-height:1.28;color:var(--ink)}
.st-meta{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;margin-top:18px;color:var(--mut)}
/* „Story lesen" im großen Textblock — nur Kontur in Pink; Füllung erst bei Hover/Klick */
.st-lk{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:10px 17px;border-radius:100px;
  font-size:13.5px;font-weight:600;letter-spacing:-.01em;color:var(--red);
  border:1px solid rgba(226,14,55,.34);background:transparent;cursor:pointer;
  transition:background .3s,border-color .3s,color .3s,padding-right .3s cubic-bezier(.16,1,.3,1)}
.st-lk span{transition:transform .3s cubic-bezier(.16,1,.3,1)}
.st-lk:hover,.st-lk:active{background:var(--red);border-color:var(--red);color:#fff;padding-right:21px}
.st-lk:hover span,.st-lk:active span{transform:translateX(3px)}

/* TILE Textblock — Overlay auf dem Foto.
   Basis-Schriftgröße setzt JS gegen die Kachel-Skalierung, alle Kinder rechnen in em,
   damit Text und Abstände im zusammengesetzten Zustand exakt die Zielgröße treffen. */
/* Spalte mit fester Höhe (JS: höchste Kachel): Badge oben, Zitat/Name/Button unten.
   .st-tgap frisst den Rest, damit „Story lesen" auf allen Karten auf einer Linie
   sitzt und überall gleich weit von der Kartenkante entfernt bleibt. */
.st-tile{position:absolute;left:0;top:0;transform-origin:0 0;text-align:left;pointer-events:none;will-change:transform,opacity;opacity:0;font-size:16px;
  display:flex;flex-direction:column}
.st-tgap{flex:1 1 auto}
/* Ergebnis-Badge: gibt der Karte einen Grund, angeklickt zu werden */
.st-tbadge{display:inline-flex;align-self:flex-start;align-items:baseline;gap:.5em;margin-bottom:.8em;padding:.42em .75em;border-radius:100px;
  font-family:var(--mono);font-size:.63em;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.84);
  border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);backdrop-filter:blur(6px)}
.st-tbadge b{font-family:var(--sans);font-size:1.45em;font-weight:700;letter-spacing:-.02em;color:#fff;text-transform:none}
.st-tq{font-size:1.06em;font-weight:600;letter-spacing:-.02em;line-height:1.34;color:#fff;text-shadow:0 1px 14px rgba(8,26,44,.5)}
.st-tname{font-family:var(--mono);font-size:.66em;letter-spacing:.05em;text-transform:uppercase;margin-top:.7em;color:rgba(255,255,255,.72)}
/* „Story lesen" auf dem Foto — nur Kontur; erst beim Hover vollflächig pink */
.st-tlk{display:inline-flex;align-self:flex-start;align-items:center;gap:.55em;margin-top:.95em;padding:.6em 1.05em;border-radius:100px;
  font-size:.82em;font-weight:600;letter-spacing:-.01em;color:#fff;
  border:1px solid rgba(255,255,255,.3);background:transparent;
  opacity:0;cursor:pointer;pointer-events:auto;
  transition:background .3s,border-color .3s,padding-right .3s cubic-bezier(.16,1,.3,1)}
.st-tlk span{transition:transform .3s cubic-bezier(.16,1,.3,1)}
.st-tlk:hover,.st-tlk:active{background:var(--red);border-color:var(--red);padding-right:1.3em}
.st-tlk:hover span,.st-tlk:active span{transform:translateX(3px)}

/* fliegender Bild-Klon + Story-Modal (hohe z; #stories erzeugt keinen blockenden Kontext) */
.st-svfly{position:fixed;z-index:9996;object-fit:cover;object-position:center 18%;display:none;border-radius:16px;box-shadow:0 40px 110px -45px rgba(14,56,85,.55);will-change:top,left,width,height}
.st-sv{position:fixed;inset:0;z-index:9990;background:#fcfcfd;display:none;opacity:0}
/* Lesefortschritt oben über der ganzen Breite */
.st-sv-prog{position:absolute;left:0;top:0;height:2px;width:100%;z-index:3;background:var(--red);
  transform:scaleX(0);transform-origin:left center}
.st-sv-photo{position:absolute;left:0;top:0;width:min(44vw,560px);height:100vh;overflow:hidden;background:#dfe6ec}
.st-sv-photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
/* Name direkt auf dem Foto — das Bild ist damit nicht mehr nur eine stumme Fläche */
.st-sv-cap{position:absolute;left:0;right:0;bottom:0;padding:44px 40px 38px;display:flex;flex-direction:column;gap:6px;
  background:linear-gradient(to top,rgba(6,22,38,.82),rgba(6,22,38,.34) 46%,transparent)}
.st-sv-capname{font-size:clamp(22px,2.4vw,30px);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:#fff}
.st-sv-caprole{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.st-sv-scroll{position:absolute;left:min(44vw,560px);right:0;top:0;height:100vh;overflow-y:auto;scrollbar-width:none}
.st-sv-scroll::-webkit-scrollbar{display:none}
/* Zurück zur Übersicht — sitzt als Glas-Pille oben links auf dem Foto */
.st-sv-close{position:fixed;top:22px;left:24px;z-index:9998;display:none;align-items:center;gap:9px;
  padding:11px 18px 11px 15px;border-radius:100px;
  border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.16);backdrop-filter:blur(10px);
  font-family:var(--sans);font-size:13.5px;font-weight:600;letter-spacing:-.01em;color:#fff;cursor:pointer;
  transition:background .3s,border-color .3s,padding-left .3s cubic-bezier(.16,1,.3,1)}
.st-sv-close span{font-size:15px;line-height:1;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.st-sv-close:hover{background:rgba(255,255,255,.3);border-color:rgba(255,255,255,.55);padding-left:19px}
.st-sv-close:hover span{transform:translateX(-3px)}
.st-sv-content{max-width:620px;margin:0 auto;padding:13vh 56px 96px;opacity:0;transform:translateY(22px)}
.st-smeta{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);
  display:flex;align-items:center;gap:10px}
.st-smeta::before{content:"";width:20px;height:2px;border-radius:2px;background:var(--red);flex-shrink:0}
.st-sname{font-size:clamp(30px,3.4vw,46px);font-weight:700;letter-spacing:-.04em;line-height:1.05;margin-top:14px}
/* Zitat: großes Anführungszeichen statt Balken links */
.st-squote{position:relative;font-size:clamp(21px,2.3vw,29px);font-weight:600;letter-spacing:-.025em;line-height:1.34;
  margin:30px 0;padding-top:46px;color:var(--ink)}
/* dekoratives Zitatzeichen — U+201C sitzt oben im Em-Feld und kollidiert so nicht mit dem Text */
.st-squote::before{content:"\201C";position:absolute;top:-2px;left:-6px;font-size:96px;line-height:1;
  font-weight:700;color:var(--red);opacity:.15;pointer-events:none}
/* Lead-Absatz etwas größer — gibt dem Text einen Einstieg */
.st-sbody p{font-size:16px;line-height:1.72;color:rgba(14,56,85,.76);margin-bottom:18px}
/* Der erste Absatz war früher ein größerer Anleser — alle Absätze tragen jetzt
   dieselbe Schriftgröße, nur die Farbe setzt ihn noch leicht ab. */
.st-sbody p:first-child{color:rgba(14,56,85,.9)}
/* Kennzahlen: nur Zahl, kurzer Text darunter, Haarlinien dazwischen */
.st-smetrics{display:grid;grid-template-columns:repeat(3,1fr);margin-top:46px}
.st-m{position:relative;padding:0 22px;text-align:left}
.st-m:first-child{padding-left:0}
.st-m:last-child{padding-right:0}
.st-m+.st-m::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:1px;background:var(--line)}
.st-mv{font-size:clamp(25px,2.7vw,33px);font-weight:700;color:var(--red);letter-spacing:-.04em;
  white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.05}
.st-ml{font-size:12.5px;color:var(--mut);margin-top:10px;line-height:1.45;letter-spacing:-.005em}

/* CTA-Abschluss — taucht aus der Tiefe auf, während die Kacheln ausblenden.
   .st-live (JS, sobald der Abschluss im Blick ist) startet Auftritts-Stagger der
   Kinder + Puls/Glanz des Buchen-Buttons — der Screen soll einladen, nicht nur dastehen */
.st-cta{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:44px;padding:0 30px;opacity:0;pointer-events:none;transform-origin:50% 50%;will-change:transform,opacity}
/* der frühere radiale Lichtkegel (::before) ist bewusst raus — weniger ist hier
   mehr, der Abschluss soll vom Weißraum leben */
/* Kinder treten gestaffelt auf, sobald .st-live gesetzt ist */
.st-cta>*{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s cubic-bezier(.16,1,.3,1)}
.st-cta.st-live>*{opacity:1;transform:none}
.st-cta.st-live>:nth-child(2){transition-delay:.08s}
.st-cta.st-live>:nth-child(3){transition-delay:.16s}
.st-cta.st-live>:nth-child(4){transition-delay:.24s}
.st-cta.st-live>:nth-child(5){transition-delay:.34s}
/* Kicker über der Headline: editorialer Kapitel-Stil (Mono zwischen zwei roten
   Strichen — dieselbe Sprache wie das Kapitel-Label in der Navbar), keine Pille */
.st-cta-kick{display:inline-flex;align-items:center;gap:14px;font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
.st-cta-kick::before,.st-cta-kick::after{content:"";width:22px;height:2px;border-radius:2px;background:var(--red);flex-shrink:0}
.st-cta h2{font-family:var(--sans);font-size:clamp(28px,3.6vw,50px);font-weight:700;letter-spacing:-.04em;line-height:1.08;max-width:18ch;color:var(--ink)}
/* Schlüsselwort in Rot, mit Marker-Strich der sich nach dem Auftritt aufzieht */
/* inline-block: das em darf nicht über zwei Zeilen fragmentieren — sonst rendert
   der absolute Marker-Strich an einer 0-Breite-Fragmentkante als Streupixel */
.st-cta h2 em{font-style:normal;color:var(--red);position:relative;display:inline-block}
.st-cta h2 em::after{content:"";position:absolute;left:0;right:0;bottom:.03em;height:.1em;border-radius:4px;background:rgba(226,14,55,.22);transform:scaleX(0);transform-origin:left center;transition:transform .7s cubic-bezier(.16,1,.3,1) .55s}
.st-cta.st-live h2 em::after{transform:scaleX(1)}
.st-cta-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:17px;font-weight:600;color:#fff;background:var(--red);border:none;border-radius:100px;padding:18px 36px;cursor:pointer;box-shadow:0 14px 34px -12px rgba(226,14,55,.5);transition:transform .2s}
.st-cta-btn:hover{transform:translateY(-2px) scale(1.02)}
.st-cta-btn s{text-decoration:none;font-style:normal;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.st-cta-btn:hover s{transform:translateX(4px)}
/* kein Dauer-Puls/Glanz mehr: der rosa Halo fraß den Weißraum um den Button
   und wirkte generisch — der Button trägt über Farbe, Größe und Hover */
/* Vertrauens-Zeile unter den Buttons */
.st-cta-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 28px}
.st-cta-trust span{font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:-.005em;color:var(--mut)}
.st-cta-trust span::before{content:"✓";color:var(--red);font-weight:700;margin-right:7px}
/* Personalisierter Abschluss: die gebaute Konfiguration als Chips */
.st-cta-cfg{display:flex;flex-direction:column;align-items:center;gap:14px}
.st-cta-cfg[hidden]{display:none}
.st-cfg-t{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.st-cfg-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:680px}
.st-cfg-chips i{font-family:var(--sans);font-style:normal;font-size:12.5px;font-weight:600;letter-spacing:-.01em;color:var(--ink-2);
  border:1px solid var(--line);background:#fff;border-radius:100px;padding:6px 14px}
.st-cta-row{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.st-cta-sec{font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--ink-2);
  background:#fff;border:1px solid var(--line);border-radius:100px;padding:15px 28px;cursor:pointer;
  transition:color .2s,border-color .2s,transform .2s}
.st-cta-sec:hover{color:var(--red);border-color:rgba(226,14,55,.45);transform:translateY(-2px)}

/* Buchungs-Popup (Embed-Code folgt später) */
.st-pop{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;background:rgba(8,26,44,.55);backdrop-filter:blur(4px)}
.st-pop.open{display:flex}
.st-pop-box{position:relative;width:min(640px,92vw);height:min(680px,86vh);display:flex;flex-direction:column;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 50px 120px -40px rgba(8,26,44,.6)}
/* Konfigurations-Block über dem Buchungs-Embed */
.st-pop-cfg{padding:24px 60px 18px 26px;border-bottom:1px solid var(--line)}
.st-pop-cfg[hidden]{display:none}
.st-pop-cfg b{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut-2);margin-bottom:10px}
.st-pop-chips{display:flex;flex-wrap:wrap;gap:7px}
.st-pop-chips i{font-style:normal;font-size:11.5px;font-weight:600;letter-spacing:-.01em;color:var(--ink-2);border:1px solid var(--line);border-radius:100px;padding:4px 11px}
.st-pop-chips i.br{background:var(--red);border-color:var(--red);color:#fff}
.st-pop-close{position:absolute;top:14px;right:14px;z-index:2;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:16px;color:var(--ink)}
.st-pop-body{width:100%;flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:40px;color:var(--mut-2);font-family:var(--mono);font-size:13px;letter-spacing:.04em}

/* ── Mobil (< 760 px) ──
   Geometrie kommt aus stories.js (narrow-Zweig): Karte quer über die volle
   Breite, Text darunter, am Ende drei Karten UNTEREINANDER. Hier nur Typo,
   Zuschnitt und die Leseansicht. */
@media(max-width:760px){
  /* Kopfband: gleiche Höhe wie .narr der Journey auf dem Handy */
  .st-intro{height:auto;min-height:0;padding:80px 20px 0}
  .st-intro h1{font-size:19px}
  /* Querformat-Karte: Zoom der Hochkant-Karte passt hier nicht — das Bild
     füllt den Rahmen über object-fit, die Position bleibt aus den Daten */
  .st-card{border-radius:16px}
  /* Zuschnitt der Querkarte kommt aus den Story-Daten (--mcpos/--mzoom, stories.js):
     Zoom mit Ursprung im Gesicht, damit das Gesicht groß im Rahmen sitzt statt viel
     Hintergrund darüber */
  .st-card .st-img{object-position:var(--mcpos,center 30%)!important;transform-origin:var(--mcpos,center 30%);transform:scale(var(--mzoom,1))!important}
  .st-card:hover .st-img,.st-card.st-hot .st-img{transform:scale(calc(var(--mzoom,1) * 1.04))!important}
  .st-num{top:10px;left:12px;font-size:10px;padding:4px 8px}
  /* ausgeklappter Text unter der Karte: kompakter */
  .st-idx{font-size:11px;margin-bottom:8px}
  .st-q{line-height:1.3}
  .st-meta{font-size:10.5px;margin-top:10px}
  .st-lk{margin-top:12px;padding:9px 15px;font-size:13px}
  /* Kachel-Text auf der Querkarte: Badge fällt weg (kein Platz), Zitat kürzer */
  .st-tbadge{display:none}
  .st-tq{font-size:1em;line-height:1.3;text-shadow:0 1px 10px rgba(8,26,44,.6);
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}   /* max. 3 Zeilen — der Rest steht in der Story */
  .st-tname{font-size:.7em;margin-top:.5em}
  .st-tlk{margin-top:.7em;padding:.5em .95em;font-size:.8em}
  .st-scrim{background:linear-gradient(to top,rgba(6,22,38,.94) 0%,rgba(6,22,38,.7) 40%,rgba(6,22,38,.25) 70%,transparent 90%)}
  /* Abschluss-CTA: Knöpfe untereinander, volle Breite */
  .st-cta{gap:22px;padding:0 22px}
  .st-cta h2{font-size:clamp(26px,7.4vw,32px)}
  .st-cta-row{flex-direction:column;width:100%;gap:10px}
  .st-cta-btn,.st-cta-sec{width:100%;justify-content:center;text-align:center}
  .st-cta-btn{font-size:15.5px;padding:16px 26px}
  .st-cta-sec{font-size:14px;padding:13px 22px}
  .st-cta-trust{gap:6px 16px}
  .st-cta-trust span{font-size:12px}
  .st-cfg-chips i{font-size:11.5px;padding:5px 11px}
  /* Leseansicht: Foto oben, Text darunter */
  .st-sv-photo{width:100vw;height:40vh;height:40svh}
  .st-sv-cap{padding:32px 20px 20px}
  .st-sv-capname{font-size:22px}
  .st-sv-scroll{left:0;top:40vh;top:40svh;height:60vh;height:60svh}
  .st-sv-content{padding:30px 22px 70px}
  .st-sname{font-size:clamp(26px,7.5vw,32px)}
  .st-squote{font-size:18px;margin:22px 0;padding-top:34px}
  .st-squote::before{font-size:72px}
  .st-sbody p{font-size:15px}
  .st-smetrics{grid-template-columns:1fr;margin-top:30px}
  .st-m,.st-m:first-child,.st-m:last-child{padding:14px 0}
  .st-m+.st-m::before{left:0;right:0;top:0;bottom:auto;width:auto;height:1px}
  .st-sv-close{top:14px;left:14px;padding:9px 14px 9px 12px;font-size:12.5px}
  /* Buchungs-Popup: nutzt den ganzen Schirm */
  .st-pop-box{width:calc(100vw - 20px);height:calc(100vh - 24px);height:calc(100svh - 24px);border-radius:16px}
  .st-pop-cfg{padding:18px 56px 14px 18px}
}

/* Bewegungsarme Darstellung: Abschluss ohne Puls, Glanz und Stagger */
@media(prefers-reduced-motion:reduce){
  .st-cta>*{opacity:1;transform:none;transition:none}
  .st-cta h2 em::after{transform:scaleX(1);transition:none}
}
