/* ============================================================
   Fahrschule Bernert — v19 Design-System
   Referenz: marcelstegmann.de (Rubens Pick K2, exakt vermessen)
   Quelle der Wahrheit: ../design-dna-v19.md — KEINE freien Werte.
   Laed NACH style.css; alte Sektionen bleiben unberuehrt,
   neue Sektionen tragen die Klasse .v19.
   ============================================================ */

/* ============================================================
   v23 KONSOLIDIERUNG — Basis portiert aus style.css (Phase 1)
   Damit index + klasse-pkw ohne style.css laufen. Effektive
   (post-v17-override) Werte. Dieser Block steht VOR den v19-Regeln,
   damit v19 wie bisher ueberschreibt (No-Op-Garantie).
   Wird in Phase 5 zur alleinigen Basis, wenn style.css geloescht wird.
   ============================================================ */
:root{
  --canvas:#F0F1EC; --weiss:#FFFFFF; --salbei:#E4F1E6; --salbei-tief:#CDE5D4;
  --gruen:#22B14C; --gruen-tief:#157A34; --gruen-hell:#35C463;
  --tanne:#22302A; --tanne-2:#2C3D34; --creme:#F6F1E9;
  --text:#2A3230; --text-hell:#F2F6F1; --akzent-sage:#8FBBA0;
  --font-head:'Lexend',sans-serif; --font-body:'Source Sans 3',sans-serif;
  --ease:cubic-bezier(0.3,0.9,0.3,1); --ease-reveal:cubic-bezier(0.2,0.75,0.25,1);
  --schatten-gross:0 44px 90px -40px rgba(15,24,20,.55);
  --schatten-klein:0 16px 40px -20px rgba(34,48,42,.26);
  --radius-karte:18px; --radius-btn:8px;
}
*,*::before,*::after{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ font-family:var(--font-body); font-size:17px; line-height:1.6; color:var(--text); background:var(--canvas); -webkit-font-smoothing:antialiased; }
img{ max-width:100%; display:block; }
a{ color:var(--gruen-tief); }
:focus-visible{ outline:2px solid var(--gruen); outline-offset:3px; border-radius:4px; }
h1,h2,h3{ font-family:var(--font-head); font-weight:600; line-height:1.12; }
h1{ font-weight:700; font-size:clamp(2.6rem,4.6vw,3.9rem); line-height:1.08; letter-spacing:-.015em; }
h2{ font-size:clamp(1.9rem,3vw,2.6rem); letter-spacing:-.01em; }
h2 em,h1 em{ font-style:normal; color:var(--gruen); }
.on-dark h2 em{ color:var(--gruen-hell); }
.container{ max-width:1240px; margin:0 auto; padding:0 28px; }
.kicker{ font-family:var(--font-head); font-weight:600; font-size:.85rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gruen-tief); display:flex; align-items:center; gap:10px; }
.kicker::before{ content:""; width:26px; height:2px; background:var(--gruen); flex-shrink:0; }
.on-dark .kicker{ color:var(--gruen-hell); }
.on-dark .kicker::before{ background:var(--gruen-hell); }
.sub{ font-size:1.12rem; font-weight:500; color:rgba(42,50,48,.9); line-height:1.55; }
.on-dark .sub{ color:rgba(242,246,241,.86); }
.micro{ font-size:.85rem; color:rgba(42,50,48,.7); margin-top:12px; }
.on-dark .micro{ color:rgba(242,246,241,.7); }

/* Buttons (bare — v19 ueberschreibt in .v19; Rechtsseiten nutzen diese bis Phase 5) */
.btn{ display:inline-block; background:var(--gruen); color:#fff; font-family:var(--font-head); font-weight:600; font-size:1rem; padding:15px 28px; border-radius:var(--radius-btn); text-decoration:none; border:0; cursor:pointer; box-shadow:0 10px 24px -10px rgba(34,177,76,.65); transition:background .25s var(--ease), box-shadow .25s var(--ease); }
.btn:hover{ background:var(--gruen-tief); box-shadow:0 6px 14px -8px rgba(21,122,52,.7); }
.btn-ghost{ display:inline-block; font-family:var(--font-head); font-weight:600; font-size:1rem; padding:14px 26px; border-radius:var(--radius-btn); text-decoration:none; color:var(--text); border:1.5px solid rgba(42,50,48,.28); transition:border-color .25s var(--ease), background .25s var(--ease); }
.btn-ghost:hover{ border-color:var(--gruen); background:rgba(34,177,76,.06); }
.btn-wa{ background:var(--gruen-tief); display:inline-flex; align-items:center; gap:9px; box-shadow:0 10px 24px -12px rgba(21,122,52,.6); }
.btn-wa:hover{ background:#0f5f28; box-shadow:0 6px 14px -8px rgba(15,95,40,.7); }
.btn-wa svg{ flex-shrink:0; }
.final .btn-ghost{ color:var(--text-hell); border-color:rgba(255,255,255,.32); }
.final .btn-ghost:hover{ border-color:var(--gruen-hell); background:rgba(255,255,255,.06); }

/* Nav + Burger (Struktur — v19 stylet nur Optik obendrauf) */
.nav{ position:sticky; top:0; z-index:50; background:var(--canvas); border-bottom:1px solid rgba(42,50,48,.12); transition:box-shadow .3s var(--ease); }
.nav.scrolled{ box-shadow:0 6px 24px -12px rgba(34,48,42,.18); }
.nav-inner{ max-width:1240px; margin:0 auto; padding:16px 28px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.nav-logo{ display:flex; align-items:center; gap:11px; text-decoration:none; font-family:var(--font-head); font-weight:700; font-size:1.1rem; color:var(--text); }
.nav-siegel{ width:42px; height:42px; border-radius:50%; object-fit:cover; flex-shrink:0; box-shadow:0 2px 8px rgba(34,48,42,.18); }
.nav-links{ display:flex; gap:26px; }
.nav-links a{ font-family:var(--font-head); font-weight:500; font-size:.94rem; color:var(--text); text-decoration:none; border-bottom:2px solid transparent; padding-bottom:2px; transition:border-color .2s var(--ease); }
.nav-links a:hover{ border-color:var(--gruen); }
.nav-right{ display:flex; align-items:center; gap:18px; }
.nav-phone{ font-family:var(--font-head); font-weight:600; font-size:.95rem; color:var(--text); text-decoration:none; }
.nav-right .btn{ padding:12px 20px; font-size:.92rem; }
.nav-toggle{ display:none; flex-direction:column; justify-content:center; gap:5px; width:44px; height:44px; padding:0; border:0; background:transparent; cursor:pointer; }
.nav-toggle span{ display:block; width:24px; height:2px; margin:0 auto; background:var(--text); border-radius:2px; transition:transform .25s var(--ease), opacity .2s; }
.nav.open .nav-toggle span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav.open .nav-toggle span:nth-child(2){ opacity:0; }
.nav.open .nav-toggle span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.nav-links-cta{ display:none; }

/* .haken-Basis (versteckt Literal-Haken, ::before-Box; v19-Kontexte faerben nur die Grafik) */
.haken{ position:relative; font-size:0 !important; }
.haken::before{ content:""; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 5.66L5.0 8.06L9.4 3.06' fill='none' stroke='%23FFFFFF' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 62% no-repeat; }

/* Foto-Grade (v19-Kontexte setzen Geometrie, nicht den Farb-Grade) */
.foto{ filter:saturate(.94) contrast(1.04); border-radius:12px; display:block; width:100%; object-fit:cover; }

/* Footer-Struktur (v19 setzt nur bg + font-family obendrauf) */
.footer{ background:#1B2621; color:rgba(242,246,241,.8); padding:56px 0 90px; }
.footer-grid{ display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr; gap:36px; }
.footer h4{ font-family:var(--font-head); font-weight:600; font-size:.9rem; color:var(--text-hell); margin-bottom:14px; }
.footer ul{ list-style:none; display:grid; gap:8px; font-size:.92rem; }
.footer a{ color:rgba(242,246,241,.8); text-decoration:none; }
.footer a:hover{ color:var(--gruen-hell); }
.footer-brand img{ width:110px; margin-bottom:14px; }
.footer-brand p{ font-size:.9rem; max-width:30ch; }
.footer-bottom{ max-width:1240px; margin:44px auto 0; padding:20px 28px 0; border-top:1px solid rgba(255,255,255,.08); font-size:.82rem; color:rgba(242,246,241,.6); display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }

/* Standort-Karte (Final-CTA index) — effektive Werte inkl. v17-Overrides */
.standort-split{ max-width:1040px; margin:52px auto 0; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; }
.de-mapwrap{ position:relative; }
.de-map{ position:relative; display:block; width:100%; height:auto; max-width:560px; margin:0 auto; }
.kr-nb{ fill:none; stroke:#4f6158; stroke-width:1.1; }
.kr-mr{ fill:#33463C; stroke:var(--gruen-hell); stroke-width:1.6; }
.reg-loc .reg-ring{ fill:none; stroke:#ffffff; stroke-width:2; transform-box:fill-box; transform-origin:center; animation:regPuls 2.4s ease-out infinite; }
@keyframes regPuls{ 0%{ transform:scale(1); opacity:.75 } 100%{ transform:scale(2.6); opacity:0 } }
.reg-lbl{ font-family:var(--font-head); font-weight:600; font-size:27px; fill:#ffffff; paint-order:stroke; stroke:rgba(12,22,16,.6); stroke-width:4px; }
.reg-lbl-faint{ font-family:var(--font-head); font-weight:500; font-size:22px; fill:rgba(242,246,241,.62); paint-order:stroke; stroke:rgba(12,22,16,.5); stroke-width:3px; }
.standort-info{ position:relative; z-index:2; margin-left:-56px; background:var(--tanne-2); border:1px solid rgba(255,255,255,.12); border-radius:18px; box-shadow:inset 0 1px 0 rgba(255,255,255,.06), var(--schatten-klein); padding:26px 28px; display:grid; gap:16px; }
.si-brand{ display:flex; align-items:center; gap:14px; padding-bottom:14px; border-bottom:1px solid rgba(255,255,255,.10); }
.si-brand img{ width:52px; height:52px; border-radius:50%; flex-shrink:0; }
.si-brand b{ font-family:var(--font-head); font-size:1.1rem; display:block; }
.si-brand span{ font-size:.86rem; color:rgba(242,246,241,.66); }
.si-ort{ display:flex; gap:12px; align-items:flex-start; }
.si-ort .so-pin{ margin-top:2px; }
.si-ort b{ font-family:var(--font-head); font-size:1.02rem; display:block; margin-bottom:2px; }
.si-ort span{ font-size:.88rem; color:rgba(242,246,241,.78); line-height:1.5; }
.so-pin{ width:26px; height:26px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:var(--gruen-tief); flex-shrink:0; display:grid; place-items:center; }
.so-pin::after{ content:""; width:9px; height:9px; border-radius:50%; background:var(--tanne); }

/* Responsive (nur portierte Komponenten) */
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } .reg-loc .reg-ring{ animation:none; opacity:0; } }
@media (max-width: 900px){
  .standort-split{ grid-template-columns:1fr; }
  .standort-info{ margin-left:0; margin-top:26px; }
  .de-map{ height:300px; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .nav-toggle{ display:flex; }
  .nav-right{ display:none; }
  .nav-links{ display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:0; background:var(--canvas); border-top:1px solid rgba(42,50,48,.1); box-shadow:var(--schatten-klein); padding:6px 0 14px; }
  .nav.open .nav-links{ display:flex; }
  .nav-links a{ padding:14px 28px; font-size:1.02rem; border-bottom:0; }
  .nav-links a:hover{ border-color:transparent; background:rgba(34,177,76,.06); }
  .nav-links-cta{ display:inline-block; margin:12px 28px 2px; text-align:center; }
}
@media (max-width: 640px){
  body{ font-size:16px; }
  .nav-phone{ display:none; }
  .nav-right .btn{ display:none; }
}
/* ==== Ende Basis-Port (Phase 1) ==== */

:root{
  --v19-tinte:   #101311;   /* Headlines (Stegmann #010101, minimal waermer) */
  --v19-body:    #1B201C;   /* Fliesstext */
  --v19-muted:   #57605A;   /* Microcopy/Labels */
  --v19-weiss:   #FFFFFF;   /* Canvas 1 + Karten */
  --v19-canvas2: #F5F6F8;   /* Canvas 2 (Wechsel-Rhythmus, Stegmann-Helligkeit + Hauch KUEHL — nie warm/beige) */
  --v19-grau:    #F0F1F0;   /* neutrale Tint-Flaeche fuer kleine Wiederhol-Elemente */
  --v19-gruen:   #22B14C;   /* Logo-Gruen: NUR CTA, Akzentwoerter, Haken */
  --v19-gruen-tief: #157A34;/* Hover + Text auf hellen Tint-Flaechen */
  --v19-tanne:   #22302A;   /* dunkle Baender */
  --v19-tint:    rgba(34,177,76,.08);
  --v19-ring:    rgba(34,177,76,.22);
  --v19-schatten: 0 1px 4px rgba(17,17,26,.05), 0 0 8px rgba(17,17,26,.10);
  --v19-font: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ---------- Nav: hell, ruhig, Pill-CTA (Stegmann: 64px, weiss) ---------- */
.nav{
  background:var(--v19-weiss);
  border-bottom:1px solid #ECEEEB;
  font-family:var(--v19-font);
}
.nav.scrolled{ box-shadow:0 4px 18px -12px rgba(16,19,17,.16); }
.nav-logo{ font-family:var(--v19-font); font-weight:800; color:var(--v19-tinte); }
.nav-links a{
  font-family:var(--v19-font); font-weight:600; font-size:.94rem;
  color:var(--v19-body);
}
.nav-links a:hover{ color:var(--v19-gruen-tief); border-color:transparent; }
.nav-phone{ font-family:var(--v19-font); font-weight:700; color:var(--v19-tinte); }
.nav .btn{
  background:var(--v19-gruen); color:#fff;
  border-radius:100px; box-shadow:none;
  font-family:var(--v19-font); font-weight:700; font-size:.9rem; letter-spacing:-.2px;
  padding:10px 22px;
  transition:background-color .3s ease;
}
.nav .btn:hover{ background:var(--v19-gruen-tief); box-shadow:none; }

/* Body auf Weiss (nur index + klasse-pkw laden diese Datei) — killt das alte
   beige #F0F1EC, das bisher in margins + border-radius-Ecken durchschien
   (Handoff-Lesson: Beige-Falle). Rechtsseiten laden style-v19.css NICHT. */
body{ background:var(--v19-weiss); }

/* ---------- v19-Basis ---------- */
.v19{ font-family:var(--v19-font); color:var(--v19-body); }
.v19 .container{ max-width:1200px; margin:0 auto; padding:0 32px; }

/* Buttons (Stegmann: Pill 100px, 14px/700, KEIN Schatten) */
.v19 .btn{
  display:inline-block; background:var(--v19-gruen); color:#fff;
  border:none; border-radius:100px; box-shadow:none;
  font-family:var(--v19-font); font-weight:700; font-size:.95rem; letter-spacing:-.2px;
  padding:13px 28px; text-decoration:none; cursor:pointer;
  transition:background-color .3s ease;
}
.v19 .btn:hover{ background:var(--v19-gruen-tief); box-shadow:none; transform:none; }
.v19 .btn-ghost{
  background:var(--v19-tint); color:var(--v19-gruen-tief);
  box-shadow:inset 0 0 0 1px var(--v19-ring); border:none;
}
.v19 .btn-ghost:hover{ background:rgba(34,177,76,.16); }

/* Eyebrow-Pill (Stegmann: Gruen-Tint-Flaeche, radius 100px) */
/* v22: Eyebrow-Badge = Voll-Grün-Pill (Ruben-Wahl Variante 2) — kräftig statt blasse Tint-Fläche */
.v19-pill{
  display:inline-flex; align-items:center;
  background:var(--v19-gruen); color:#fff;
  border-radius:100px; padding:8px 20px;
  font-size:.74rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
}

/* ---------- Hero (Stegmann-Aufbau: Pill > H1 > Haken > CTA | Foto-Karte + Bewertung) ---------- */
.v19-hero{ background:var(--v19-weiss); }
.v19-hero .container{
  display:grid; grid-template-columns:1.04fr .96fr; gap:64px; align-items:center;
  padding-top:76px; padding-bottom:88px;
}
.v19-hero h1{
  font-family:var(--v19-font);
  font-size:clamp(1.9rem, 3.4vw, 2.6rem);   /* Stegmann: 38px — bewusst moderat */
  line-height:1.2; font-weight:800; letter-spacing:-.01em;
  color:var(--v19-tinte); margin:18px 0 14px; text-wrap:balance;
}
.v19-hero h1 em{ font-style:normal; color:var(--v19-gruen); }
.v19-sub{
  font-size:1.02rem; line-height:1.6; font-weight:500; color:var(--v19-body);
  max-width:54ch; margin:0 0 18px;
}
.v19-checks{ list-style:none; margin:0 0 26px; padding:0; display:grid; gap:12px; }
.v19-checks li{
  display:flex; align-items:flex-start; gap:11px;
  font-size:1rem; line-height:1.5; font-weight:500; color:var(--v19-body);
}
.v19-checks li b{ font-weight:750; color:var(--v19-tinte); }
.v19-check{
  flex:none; width:22px; height:22px; margin-top:1px;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--v19-grau); border-radius:50%;
}
.v19-check svg{ display:block; }
.v19-cta-row{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.v19-cta-row .hero-phone,
.v19-tel{
  font-family:var(--v19-font); font-weight:700; font-size:.95rem;
  color:var(--v19-gruen-tief); text-decoration:none; border:none;
}
.v19-cta-row .hero-phone:hover, .v19-tel:hover{ text-decoration:underline; }
.v19-micro{ font-size:.84rem; color:var(--v19-muted); margin:14px 0 0; }

/* Hero-Variante: Foto full-bleed rechts + weisser Verlauf von links (Ruben-Wunsch, Tom-Kova-Muster) */
.v19-hero--bleed{ position:relative; overflow:hidden; }
.v19-hero--bleed .container{
  grid-template-columns:minmax(0, 600px) 1fr; gap:0;
  position:relative; z-index:2; /* Text liegt UEBER dem Foto-Verlauf */
  min-height:720px; /* Hero hoch genug, damit die Personen im Foto NICHT beschnitten werden */
}
.v19-bleed-foto{
  position:absolute; top:0; right:0; bottom:0; width:54%;
}
.v19-bleed-foto img{
  display:block; width:100%; height:100%;
  object-fit:cover; object-position:60% 50%;
}
/* Uebergang: Hero-Weiss laeuft ins Foto (Verlaufsfarbe = Sektions-BG, exakt) */
.v19-bleed-foto::before{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, #FFFFFF 0%, rgba(255,255,255,.88) 16%, rgba(255,255,255,0) 56%);
}
.v19-hero--bleed .v19-rating{ margin-top:22px; padding-left:0; }
@media (max-width: 980px){
  .v19-hero--bleed .container{ grid-template-columns:1fr; padding-bottom:0; }
  .v19-bleed-foto{ position:static; width:100%; height:340px; margin-top:36px; }
  .v19-bleed-foto::before{ display:none; }
}

/* Foto-Karte rechts (Stegmann: 16px Radius, weicher Doppel-Schatten, Bild randlos) */
.v19-fotokarte{ max-width:560px; justify-self:end; width:100%; }
.v19-fotokarte figure{
  margin:0; background:var(--v19-weiss);
  border-radius:16px; box-shadow:var(--v19-schatten); overflow:hidden;
}
.v19-fotokarte img{
  display:block; width:100%; height:auto; aspect-ratio:5/4;
  object-fit:cover;
}
.v19-rating{
  display:flex; align-items:center; gap:10px;
  margin-top:16px; padding-left:4px;
}
.v19-sterne{ display:inline-flex; gap:2px; }
.v19-sterne svg{ display:block; }
.v19-rating b{ font-size:1rem; font-weight:800; color:var(--v19-tinte); }
.v19-rating span{ font-size:.9rem; font-weight:500; color:var(--v19-muted); }

/* ---------- Stat-Band: schwebende dunkle Karte, ragt ueber die Hero-Kante (v10-Pattern) ---------- */
.v19-band{ background:var(--v19-weiss); padding-bottom:6px; }
.v19-band .container{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:28px;
  background:var(--v19-tanne); border-radius:16px;
  max-width:1140px; margin-top:-52px; position:relative; z-index:3;
  padding:36px 48px;
  box-shadow:0 26px 52px -26px rgba(16,25,20,.45);
}
.v19-band-item{ text-align:left; }
.v19-band-item b{
  display:block; font-size:1.55rem; font-weight:800; letter-spacing:-.01em;
  color:#fff; line-height:1.2;
}
.v19-band-item b em{ font-style:normal; color:var(--v19-gruen); }
.v19-band-item span{
  display:block; margin-top:3px;
  font-size:.88rem; font-weight:500; color:rgba(255,255,255,.72);
}

/* ---------- Responsive ---------- */
@media (max-width: 980px){
  .v19-hero .container{ grid-template-columns:1fr; gap:40px; padding-top:48px; padding-bottom:60px; }
  .v19-fotokarte{ justify-self:stretch; max-width:640px; margin:0 auto; }
}
@media (max-width: 700px){
  .v19 .container{ padding:0 20px; }
  .v19-hero .container{ padding-top:36px; padding-bottom:48px; }
  .v19-band .container{ grid-template-columns:repeat(2, 1fr); gap:22px; padding:26px 24px; }
  .v19-cta-row .btn{ width:100%; text-align:center; }
}

/* ============================================================
   v19 ROLLOUT — alle Sektionen (Stegmann-System)
   ============================================================ */
:root{ --v19-gruen-hell:#35C463; --v19-kurve:24px 140px 24px 24px; }

/* Basis fuer alle v19-Sektionen */
.v19 h1,.v19 h2,.v19 h3,.v19 h4{ font-family:var(--v19-font); color:var(--v19-tinte); }
.v19 p{ color:var(--v19-body); }
.v19-block{ padding:96px 0 104px; background:var(--v19-weiss); } /* Default weiss — alter Body-BG (#F0F1EC) darf nie durchscheinen */
/* Sektions-Hintergruende komplett weiss (Ruben: getoenter BG wirkt beige).
   Der Grau-Ton lebt nur noch in kleinen Karten-Fuellungen. */
/* v20: Grau-Rhythmus zurueck (Ruben-Wahl Stegmann-Weg) — kuehl-neutraler Wechselton,
   weisse Karten poppen darauf. Rhythmus: Weiss(Sim) → Grau(Klassen) → Tanne(Orbital)
   → Weiss(Fahrplan) → Tanne(Ueber) → Grau(Fuhrpark) → Weiss(Stimmen) → Grau(Eltern)
   → Weiss(FAQ) → Tanne(Final). Nie zweimal gleich hintereinander. */
.v19-canvas2{ background:var(--v19-canvas2); }
.v19-weissbg{ background:var(--v19-weiss); }
.v19-kopf{ max-width:760px; margin-bottom:46px; }
.v19-kopf.mitte{ margin-left:auto; margin-right:auto; text-align:center; }
.v19 h2{
  font-size:clamp(1.8rem, 3.2vw, 2.5rem); line-height:1.18; font-weight:800;
  letter-spacing:-.015em; margin:16px 0 12px; text-wrap:balance;
}
.v19 h2 em{ font-style:normal; color:var(--v19-gruen); }
.v19-lead{ font-size:1.02rem; line-height:1.6; font-weight:500; max-width:62ch; }
.v19-kopf.mitte .v19-lead{ margin-left:auto; margin-right:auto; }
.v19-karte{ background:var(--v19-weiss); border-radius:16px; box-shadow:var(--v19-schatten); border:none; }
.kurve{ border-radius:var(--v19-kurve); }
.v19-schlusszeile{ text-align:center; margin-top:40px; font-size:1rem; }

/* ---------- Kopfkino: dunkle Frage-Karte (Stegmann pain-Karte) ---------- */
.v19-frage-karte{
  background:var(--v19-tanne); border-radius:16px;
  display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center;
  padding:56px;
}
.v19-frage-karte h3{ color:#fff; font-size:1.45rem; line-height:1.3; font-weight:800; margin-bottom:14px; }
.v19-frage-karte h3 em{ font-style:normal; color:var(--v19-gruen-hell); }
.v19-frage-karte p{ color:rgba(242,246,241,.85); font-size:1rem; line-height:1.6; margin-bottom:22px; }
.v19-frage-karte .v19-micro{ color:rgba(242,246,241,.6); margin-top:12px; }
.fk19-foto{ margin:0; }
.fk19-foto img{ display:block; width:100%; height:380px; object-fit:cover; border-radius:var(--v19-kurve); }
.fk19-foto figcaption{ font-size:.84rem; color:rgba(242,246,241,.6); margin-top:10px; }

/* ---------- Klassen ---------- */
.klf19{ display:grid; grid-template-columns:1.25fr .75fr; gap:48px; padding:52px 56px; margin-bottom:26px; position:relative; overflow:hidden; }
.klf19-eyebrow{
  display:inline-block; font-size:.76rem; font-weight:700; letter-spacing:.05em;
  text-transform:uppercase; color:var(--v19-gruen-tief); margin-bottom:10px;
}
.klf19 h3{ font-size:1.5rem; font-weight:800; margin-bottom:10px; }
.klf19 h3 .klf-code{ color:var(--v19-gruen); }
.klf19 > .klf19-lese > p{ max-width:56ch; margin-bottom:20px; }
.v19 .b197{ display:flex; align-items:stretch; gap:14px; margin:6px 0 18px; }
.v19 .b197-box{
  flex:1; display:grid; justify-items:center; gap:4px; text-align:center;
  background:var(--v19-canvas2); border:1px solid #E7E9E4; border-radius:12px; padding:16px 12px;
  color:var(--v19-body);
}
.v19 .b197-box-win{ background:var(--v19-tint); border-color:var(--v19-ring); }
.v19 .b197-tag{ font-size:.72rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--v19-muted); }
.v19 .b197-box-win .b197-tag{ color:var(--v19-gruen-tief); }
.v19 .b197-ico{ width:30px; height:36px; color:var(--v19-tinte); }
.v19 .b197-doppel{ display:flex; align-items:center; gap:8px; }
.v19 .b197-doppel .b197-ico{ width:26px; height:30px; }
.v19 .b197-plus{ font-weight:800; color:var(--v19-gruen-tief); }
.v19 .b197-box b{ font-size:.92rem; font-weight:750; color:var(--v19-tinte); }
.v19 .b197-sub{ font-size:.78rem; color:var(--v19-muted); }
.v19 .b197-pfeil{ width:26px; align-self:center; color:var(--v19-gruen); flex:none; }
.v19 .bk-hinweis{ font-size:.9rem; color:var(--v19-muted); margin-bottom:14px; }
.v19 .klf-link{
  font-weight:700; font-size:.95rem; color:var(--v19-gruen-tief); text-decoration:none;
}
.v19 .klf-link:hover{ text-decoration:underline; }
/* Rechte Spalte: Golf-Foto blutet in die Kartenecke, Bogen-Anschnitt unten links
   (gleiche Bildsprache wie die Pitch-Buehne), Fakten kompakt darunter */
.klf19-seite{ display:flex; flex-direction:column; }
.klf19-foto{ margin:-52px -56px 26px 0; border-radius:0 0 0 170px; overflow:hidden; height:230px; flex:none; }
.klf19-foto img{ width:100%; height:100%; object-fit:cover; display:block; }
.klf19-fakten{ display:grid; gap:14px; align-content:center; flex:1; }
.klf19-fakten span{ display:flex; gap:10px; align-items:flex-start; font-size:.98rem; font-weight:500; }
.klg19{ display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.klg19 .kl-gruppe{ background:var(--v19-weiss); border-radius:16px; box-shadow:var(--v19-schatten); border:none; overflow:hidden; padding:0 0 12px; }
.klg19 .kl-gruppe > .foto{ width:100%; height:190px; object-fit:cover; object-position:center 60%; border-radius:0; margin:0 0 18px; }
.klg19 .kl-gruppe h3{ font-size:1.15rem; font-weight:800; margin:0 26px 10px; }
.klg19 .kl-gruppe ul{ list-style:none; margin:0; padding:0 26px; display:grid; }
.klg19 .kl-gruppe li{ display:flex; align-items:center; gap:14px; padding:11px 0; border-top:1px solid #F0F1EE; }
.v19 .kg-kuerzel{
  flex:none; min-width:52px; text-align:center; clip-path:none;
  background:var(--v19-grau); color:var(--v19-tinte);
  font-size:.8rem; font-weight:800; padding:6px 8px; border-radius:8px;
}
.v19 .kg-text{ flex:1; } .v19 .kg-text b{ display:block; font-size:.95rem; color:var(--v19-tinte); }
.v19 .kg-text span{ font-size:.84rem; color:var(--v19-muted); }
.v19 .kg-alter{ flex:none; font-size:.8rem; font-weight:700; color:var(--v19-muted); }

/* ---------- Orbital (Stegmann-Star: Kreis in der Mitte, 4 Satelliten) ---------- */
.orbital{ position:relative; height:600px; margin:10px 0 8px; }
.orbit{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  border:1.5px dashed #DCE0DA; border-radius:50%;
}
.orbit-a{ width:400px; height:400px; }
.orbit-b{ width:600px; height:600px; }
.orbital-zentrum{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:216px; height:216px; border-radius:50%;
  background:var(--v19-tanne); color:#fff;
  display:grid; place-content:center; text-align:center; gap:6px;
  box-shadow:0 22px 44px -18px rgba(34,48,42,.45), 0 0 0 10px rgba(34,177,76,.08);
}
.orbital-zentrum b{ font-size:1.22rem; font-weight:800; line-height:1.25; }
.orbital-zentrum span{ font-size:.78rem; letter-spacing:.05em; text-transform:uppercase; color:var(--v19-gruen-hell); font-weight:700; }
.orbital-sat{
  position:absolute; width:264px;
  background:var(--v19-weiss); border-radius:16px; box-shadow:var(--v19-schatten);
  padding:18px 20px; display:grid; grid-template-columns:auto 1fr; gap:4px 14px; align-items:center;
  animation:v19-float 7s ease-in-out infinite alternate; /* Schwebe: ganz langsam, ganz weich (Ruben 11.07.) */
}
.orbital-sat .sat-ico{
  grid-row:span 2; width:46px; height:46px; border-radius:12px;
  background:rgba(34,177,76,.12); color:var(--v19-gruen); /* v20: Marken-Gruen statt blassgrau */
  display:grid; place-items:center;
}
.orbital-sat b{ font-size:.98rem; font-weight:800; color:var(--v19-tinte); }
.orbital-sat span:not(.sat-ico){ font-size:.85rem; color:var(--v19-muted); line-height:1.45; }
.sat-1{ left:4%;  top:9%;     animation-duration:7.4s; animation-delay:-1.2s; }
.sat-2{ right:3%; top:14%;    animation-duration:6.6s; animation-delay:-3.6s; }
.sat-3{ right:6%; bottom:8%;  animation-duration:8.1s; animation-delay:-2.4s; }
.sat-4{ left:5%;  bottom:12%; animation-duration:7s;   animation-delay:-4.8s; }
/* Auf-und-ab-Drift der Satelliten — bewusste Ausnahme von der v19-Regel "nur 0.3s-Hover" (Ruben-Wunsch) */
@keyframes v19-float{
  from{ transform:translateY(-5px); }
  to{ transform:translateY(6px); }
}
@media (prefers-reduced-motion: reduce){
  .orbital-sat{ animation:none; }
}
.orbital-punkt{ position:absolute; width:13px; height:13px; border-radius:50%; background:var(--v19-gruen); box-shadow:0 0 0 5px rgba(34,177,76,.14); }
.punkt-1{ left:calc(50% - 212px); top:calc(50% - 96px); }
.punkt-2{ left:calc(50% + 128px); top:calc(50% - 156px); }
.punkt-3{ left:calc(50% + 168px); top:calc(50% + 118px); }
.punkt-4{ left:calc(50% - 186px); top:calc(50% + 138px); }
.orbital-dabei{
  list-style:none; margin:34px auto 0; padding:18px 28px; max-width:920px;
  display:flex; flex-wrap:wrap; justify-content:center; gap:12px 26px;
  background:var(--v19-canvas2); border-radius:100px;
}
.orbital-dabei li{ display:flex; align-items:center; gap:8px; font-size:.9rem; font-weight:600; color:var(--v19-body); }

/* ---------- Fahrplan: Zigzag-Zeitstrahl (Linie mittig, Schritte links/rechts, Boegen als Fortschritt) ---------- */
.fp19-zick{ list-style:none; margin:0 auto; padding:14px 0 0; position:relative; max-width:960px; }
.fp19-zick::before{
  content:""; position:absolute; left:50%; top:6px; bottom:-14px; width:2px;
  background:#E0E2DF; border-radius:2px; transform:translateX(-50%);
}
.fp19-zick li{ position:relative; width:calc(50% - 52px); padding-bottom:52px; }
.fp19-zick li:nth-child(odd){ margin-right:auto; }
.fp19-zick li:nth-child(even){ margin-left:auto; }
.fp19-zick li:last-child{ padding-bottom:8px; }
.fp19-zick li::before{
  content:""; position:absolute; top:2px;
  width:16px; height:16px; border-radius:50%;
  background:#fff; border:3px solid var(--v19-gruen);
}
/* v21-Fix: Dot exakt auf die Mittellinie (Dot ist 16px border-box, halb=8; 52+8=60, vorher 63) */
.fp19-zick li:nth-child(odd)::before{ right:-60px; }
.fp19-zick li:nth-child(even)::before{ left:-60px; }
.fpz-kopf{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:6px; }
.fpz-gauge{ width:46px; height:27px; flex:none; }
.fp19-num{ font-size:.9rem; font-weight:800; color:var(--v19-gruen); letter-spacing:.02em; }
.fp19-zick h3{ font-size:1.12rem; font-weight:800; margin-bottom:6px; }
.fp19-zick p{ font-size:.95rem; line-height:1.6; color:var(--v19-body); }
.fp19-zick .foto{ width:100%; height:150px; object-fit:cover; border-radius:12px; margin-top:14px; }
.fp19-zick .fs-lappen{ display:block; width:100%; max-width:230px; height:auto; margin-top:14px; } /* altes CSS blendet .fs-lappen global aus */

/* (Zielflaggen-Trenner entfernt — Ruben-Reject 2026-07-11; Rhythmus kommt aus den Tanne-Panels) */

/* ---------- Orbital-Sektion: full-bleed Tanne-Band (v20 — Ruben: "bis an den Rand";
   Design-DNA: dunkle Baender = Vollflaechen, radius 0) ---------- */
.v19-orbital-dunkel{ background:var(--v19-tanne); }
.v19-orbital-dunkel h2{ color:#fff; }
.v19-orbital-dunkel h2 em{ color:var(--v19-gruen-hell); }
.v19-orbital-dunkel .v19-pill{ background:var(--v19-gruen); color:#fff; }
.v19-orbital-dunkel .orbit{ border-color:rgba(53,196,99,.26); } /* v20: gruene Umlaufbahnen statt blass-weiss */
.v19-orbital-dunkel .orbital-punkt{ background:var(--v19-gruen-hell); box-shadow:0 0 0 5px rgba(53,196,99,.16); }
.v19-orbital-dunkel .orbital-zentrum{
  background:#fff; color:var(--v19-tinte);
  box-shadow:0 22px 44px -18px rgba(0,0,0,.5), 0 0 0 12px rgba(34,177,76,.16), 0 0 70px rgba(34,177,76,.22); /* v20: gruener Glow-Ring */
}
.v19-orbital-dunkel .orbital-zentrum b{ color:var(--v19-tinte); }
.v19-orbital-dunkel .orbital-zentrum span{ color:var(--v19-gruen-tief); }
.v19-orbital-dunkel .orbital-sat{ border:none; }
.v19-orbital-dunkel .orbital-dabei{ background:rgba(255,255,255,.07); }
.v19-orbital-dunkel .orbital-dabei li{ color:rgba(242,246,241,.88); }
.v19-orbital-dunkel .orbital-dabei .haken{ background:rgba(255,255,255,.12); }
.v19-orbital-dunkel .orbital-dabei .haken::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 5.66L5.0 8.06L9.4 3.06' fill='none' stroke='%2335C463' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ---------- Ueber uns: Stegmann-Pitch FULL-BLEED (Tanne ueber volle Breite,
   Foto GROSS buendig an der Viewport-Kante, Riesen-Bogen, Kopf ragt ueber die Sektionskante,
   Text hell + vertikal mittig, Strassen-Illustration) ---------- */
.ueber19-voll{
  position:relative; background:var(--v19-tanne);
  /* KEIN margin-top: sonst scheint der alte Body-BG (beige) durch — der Kopf ragt
     stattdessen in das weisse padding-bottom der Fahrplan-Sektion darueber */
  min-height:610px;
  /* Spalte 1 spiegelt exakt die Buehnen-Breite (width 57.5% + Deckel 840px) —
     der Text beginnt direkt an der Fotokante, kein toter Spalt auf breiten Screens */
  display:grid; grid-template-columns:min(57.5%, 840px) 1fr; align-items:center;
}
.ueber19-voll h2{ color:#fff; font-size:clamp(1.8rem, 3vw, 2.4rem); }
.ueber19-voll h2 em{ color:var(--v19-gruen-hell); }
.ueber19-voll .v19-pill{ background:var(--v19-gruen); color:#fff; }
/* max-width deckelt die Bildgroesse auf breiten Screens — sonst waechst der
   Kopf-Ueberstand mit der Viewport-Breite und ueberdeckt die Sektion darueber */
.up-buehne{ position:absolute; left:0; bottom:0; width:57.5%; max-width:840px; z-index:2; }
/* Freisteller: In-Flow (definiert Buehnen-Hoehe), groesser skaliert als die Buehne —
   ragt dadurch oben ueber die Sektionskante ins Weiss (Stegmann-Effekt) */
.up-cutout{
  position:relative; display:block; width:141%; max-width:none; margin-left:-20.5%; height:auto; z-index:1;
  filter:drop-shadow(0 16px 22px rgba(16,25,20,.35));
}
/* Bogen-Maske: haengt an der BILD-Hoehe (Buehne), nicht an der Sektion —
   der Bogen endet am Bild, kein leerer Bogenraum */
.up-foto{
  position:absolute; left:0; bottom:0; width:100%; height:74%;
  border-radius:0 340px 340px 0; overflow:hidden;
  background:rgba(255,255,255,.04);
}
/* WICHTIG: exakt gleiche Skalierung/Position wie .up-cutout (141% / -20.5%), sonst Doppelkontur */
.up-foto img{ position:absolute; bottom:0; left:-20.5%; width:141%; max-width:none; height:auto; display:block; filter:brightness(.9) saturate(.9); }
.up-foto::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(34,48,42,.42), rgba(34,48,42,.14));
}
.up-text{
  grid-column:2; position:relative; z-index:1;
  padding:56px clamp(28px, 6vw, 96px) 56px 36px;
}
.up-text p{ color:rgba(242,246,241,.88); max-width:54ch; margin-bottom:16px; font-size:1.05rem; }
.up-strasse{
  position:absolute; right:0; bottom:0; width:52%; height:auto; z-index:0;
  pointer-events:none;
}
/* Logo als Signatur unter dem Text (v20) — vorher lose rechts unten in der Ecke */
.up-signatur{ display:flex; align-items:center; gap:16px; margin-top:30px; }
.up-signatur img{
  width:76px; height:76px; flex:none;
  background:#fff; border-radius:50%; padding:8px; box-shadow:var(--v19-schatten);
}
.up-signatur b{ display:block; color:#fff; font-size:1rem; font-weight:800; }
.up-sig-sub{ display:block; color:rgba(242,246,241,.66); font-size:.88rem; margin-top:2px; }

/* ---------- Fuhrpark ---------- */
.fuhr19{ display:grid; grid-template-columns:repeat(4, 1fr); gap:22px; }
.fuhr19 article{ background:var(--v19-weiss); border-radius:16px; box-shadow:var(--v19-schatten); border:none; overflow:hidden; }
.fuhr19 .foto{ display:block; width:100%; height:170px; object-fit:cover; border-radius:0; margin:0; }
.fuhr19 .fz-cap{ padding:14px 18px 16px; }
.fuhr19 .fz-cap b{ display:block; font-size:.98rem; font-weight:800; color:var(--v19-tinte); }
.fuhr19 .fz-cap span{ font-size:.84rem; color:var(--v19-muted); }

/* ---------- Stimmen ---------- */
.st19-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; }
.st19-grid figure{
  margin:0; background:var(--v19-canvas2); border-radius:16px; padding:26px 26px 22px;
  display:flex; flex-direction:column; gap:12px;
}
.st19-grid figure.st19-lead{ background:var(--v19-tanne); }
.st19-stars{ color:#F5B301; font-size:.95rem; letter-spacing:2px; }
.st19-grid blockquote{ margin:0; font-size:.95rem; line-height:1.6; color:var(--v19-body); }
.st19-lead blockquote{ color:rgba(242,246,241,.92); font-size:1.05rem; }
.st19-autor{ display:flex; align-items:center; gap:10px; margin-top:auto; font-size:.86rem; color:var(--v19-muted); }
.st19-lead .st19-autor{ color:rgba(242,246,241,.65); }
.st19-autor .st19-ini{
  width:34px; height:34px; border-radius:50%; background:var(--v19-grau);
  color:var(--v19-muted); font-size:.78rem; font-weight:800;
  display:grid; place-items:center; flex:none;
}
.st19-lead .st19-ini{ background:rgba(53,196,99,.18); color:var(--v19-gruen-hell); }
.st19-autor b{ color:inherit; font-weight:700; }

/* ---------- Eltern: helle Karte (v20 — vorher dunkles Tanne-Panel; aufgehellt weil
   nach dem Reorder die dunkle CTA-Insel direkt davor sitzt, sonst zwei Dunkel-Panels) ---------- */
.eltern19{
  max-width:980px; margin:0 auto;
  background:var(--v19-weiss); border-radius:16px;
  padding:56px; border:none; box-shadow:var(--v19-schatten);
}
.eltern19 h2{ margin-bottom:20px; }
.eltern19-liste{ list-style:none; margin:0 0 22px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:14px 34px; }
.eltern19-liste li{ display:flex; gap:11px; align-items:flex-start; font-size:.97rem; line-height:1.55; color:var(--v19-body); }
.v19 p.eltern19-tel{ font-size:.95rem; color:var(--v19-muted); }
.eltern19-tel a{ color:var(--v19-gruen-tief); font-weight:700; text-decoration:none; }
/* Haken gruen auf hell (vorher lieferte .v19-panel-dunkel den Haken) */
.eltern19 .haken{ background:rgba(34,177,76,.12); }
.eltern19 .haken::before{
  content:""; position:absolute; inset:0; background-repeat:no-repeat; background-position:center; background-size:64%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 5.66L5.0 8.06L9.4 3.06' fill='none' stroke='%23157A34' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.eltern19-liste .haken{ position:relative; }
.eltern19-tel a:hover{ text-decoration:underline; }
/* Haken auf dunklen Panels generell hell */
.v19-panel-dunkel .haken{ background:rgba(255,255,255,.12); }
.v19-panel-dunkel .haken::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 5.66L5.0 8.06L9.4 3.06' fill='none' stroke='%2335C463' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.eltern19-liste .haken{ flex:none; display:inline-block; width:20px; height:20px; margin-top:2px; border-radius:50%; }

/* ---------- FAQ (2-spaltig wie Stegmann) ---------- */
.faq19-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
/* FAQ-Sektion ist wieder weiss (Ruben) -> graue Karten poppen auf Weiss */
.faq19-grid article{ background:var(--v19-canvas2); border-radius:16px; padding:24px 26px; }
.faq19-grid h3{ font-size:1.02rem; font-weight:800; margin-bottom:8px; }
.faq19-grid p{ font-size:.92rem; line-height:1.6; color:var(--v19-body); }

/* ---------- Final: Tanne-Vollflaeche mit kurviger Kante ---------- */
/* v20: Final/CTA mittig, KANTIG (Ruben) — full-bleed dunkles Band, radius 0,
   kein margin (wie die Orbital-Sektion, DNA-konform: dunkle Baender = Vollflaechen) */
.v19-final{
  background:var(--v19-tanne); color:#fff;
  border-radius:0;
  padding:88px 0; margin:0;
}
.v19-final .v19-pill{ background:var(--v19-gruen); color:#fff; }
.v19-final h2{ color:#fff; }
.v19-final h2 em{ color:var(--v19-gruen-hell); }
.v19-final .v19-lead{ color:rgba(242,246,241,.85); }
.v19-final .v19-kopf{ text-align:center; margin-left:auto; margin-right:auto; margin-bottom:30px; }
.final19-cta{ display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }
.v19-final .v19-micro{ text-align:center; color:rgba(242,246,241,.55); margin-top:14px; }
.v19-final .btn-wa{
  background:rgba(255,255,255,.08); color:#fff; border-radius:100px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
  display:inline-flex; align-items:center; gap:9px;
  font-weight:700; font-size:.95rem; padding:13px 26px; text-decoration:none;
  transition:background-color .3s ease;
}
.v19-final .btn-wa:hover{ background:rgba(255,255,255,.14); box-shadow:inset 0 0 0 1px rgba(255,255,255,.22); }
.v19-final .standort-split{ margin-top:64px; }
.v19-final .si-brand b, .v19-final .si-ort b{ font-family:var(--v19-font); }

/* Haken in v19-Kontexten: eigene Box (altes .haken hat nur ::before, Groesse kam vom Kontext) */
.klf19-fakten .haken, .orbital-dabei .haken, .eltern19-liste .haken{
  flex:none; display:inline-block; width:20px; height:20px; margin-top:2px;
  border-radius:50%; background:var(--v19-grau);
}
.klf19-fakten .haken::before, .orbital-dabei .haken::before, .eltern19-liste .haken::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 5.66L5.0 8.06L9.4 3.06' fill='none' stroke='%23157A34' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.orbital-dabei .haken{ margin-top:0; }

/* ---------- PKW-Unterseite (v19) ---------- */
.k19-crumb{ font-size:.82rem; color:var(--v19-muted); margin:0 0 16px; }
.k19-crumb a{ color:var(--v19-muted); text-decoration:none; }
.k19-crumb a:hover{ color:var(--v19-gruen-tief); text-decoration:underline; }
.v19-panel-dunkel, .v19 .container.v19-panel-dunkel{
  background:var(--v19-tanne); border-radius:28px;
  padding:64px 56px 56px;
  box-shadow:0 30px 60px -30px rgba(16,25,20,.4);
}
.v19-panel-dunkel .v19-pill{ background:var(--v19-gruen); color:#fff; }
.v19-panel-dunkel h2{ color:#fff; }
.v19-panel-dunkel h2 em{ color:var(--v19-gruen-hell); }
.v19-panel-dunkel .v19-lead{ color:rgba(242,246,241,.85); }
.v19-panel-sektion{ padding:44px 0 60px; background:var(--v19-weiss); }

/* v23: EINE Dunkel-Band-Sprache — full-bleed, radius 0 (DNA: dunkle Baender = Vollflaechen).
   Ersetzt die runden Insel-Panels (v19-panel-dunkel / mitbr-panel) auf klasse-pkw,
   damit Startseite (Orbital/Ueber/Final) und PKW-Seite DIESELBE Dunkel-Handschrift haben. */
.v19-dunkelband{ background:var(--v19-tanne); }
.v19-dunkelband h2{ color:#fff; }
.v19-dunkelband h2 em{ color:var(--v19-gruen-hell); }
.v19-dunkelband .v19-pill{ background:var(--v19-gruen); color:#fff; }
.v19-dunkelband .v19-lead{ color:rgba(242,246,241,.85); }
.v19-dunkelband .k19-foot{ color:rgba(242,246,241,.7); }
.k19-stats{ display:grid; grid-template-columns:repeat(3, 1fr); gap:30px; margin:36px 0 10px; }
.k19-stat b{ display:block; font-size:2.7rem; font-weight:800; color:#fff; line-height:1.1; }
.k19-stat b em{ font-style:normal; color:var(--v19-gruen-hell); }
.k19-stat span{ display:block; font-size:.98rem; font-weight:700; color:#fff; margin-top:4px; }
.k19-stat small{ display:block; font-size:.85rem; color:rgba(242,246,241,.82); margin-top:3px; }
.v19 p.k19-foot{ font-size:.9rem; color:rgba(242,246,241,.7); margin-top:20px; max-width:70ch; }
.k19-grid4{ display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; list-style:none; margin:0; padding:0; }
.k19-grid4 li{ background:var(--v19-weiss); border:none; border-radius:16px; box-shadow:var(--v19-schatten); padding:24px 22px; }
.k19-grid4 .fp19-num{ display:block; margin-bottom:10px; }
.k19-grid4 .v19-check{ margin-bottom:12px; }
.k19-grid4 b{ display:block; font-size:1rem; font-weight:800; color:var(--v19-tinte); margin-bottom:6px; }
.k19-grid4 span:not(.v19-check), .k19-grid4 small{ font-size:.88rem; line-height:1.55; color:var(--v19-muted); }

/* v20-Muster: Fahrzeug-Karten mit Icon-Chip (statt nackter Nummern) — mehr Charakter */
.k19-fahr{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; list-style:none; margin:0; padding:0; }
.k19-fahr li{ background:var(--v19-weiss); border:none; border-radius:16px; box-shadow:var(--v19-schatten); padding:28px 24px; display:flex; flex-direction:column; }
.k19-fahr-ico{ width:56px; height:56px; border-radius:15px; background:rgba(34,177,76,.12); color:var(--v19-gruen); display:grid; place-items:center; margin-bottom:18px; }
.k19-fahr-ico svg{ width:31px; height:31px; }
.k19-fahr b{ display:block; font-size:1.06rem; font-weight:800; color:var(--v19-tinte); margin-bottom:7px; }
.k19-fahr span{ font-size:.9rem; line-height:1.55; color:var(--v19-body); }
@media (max-width:1060px){ .k19-fahr{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ .k19-fahr{ grid-template-columns:1fr; } }
.k19-var-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; }
.k19-var{ background:var(--v19-weiss); border:none; border-radius:16px; box-shadow:var(--v19-schatten); padding:28px 26px; }
.k19-tag{
  display:inline-block; background:var(--v19-tint); color:var(--v19-gruen-tief);
  border-radius:100px; padding:5px 13px; margin-bottom:12px;
  font-size:.74rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
}
.k19-var h3{ font-size:1.12rem; font-weight:800; margin-bottom:8px; }
.k19-var p{ font-size:.92rem; line-height:1.6; color:var(--v19-body); }
@media (max-width: 1060px){
  .k19-grid4{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 900px){
  .v19-panel-dunkel, .v19 .container.v19-panel-dunkel{ padding:44px 24px 40px; border-radius:20px; }
  .k19-stats{ grid-template-columns:1fr; gap:20px; }
  .k19-var-grid{ grid-template-columns:1fr; }
}
@media (max-width: 620px){
  .k19-grid4{ grid-template-columns:1fr; }
}

/* ---------- Footer an v19 angleichen ---------- */
.footer, .footer h4{ font-family:var(--v19-font); }
.footer{ background:#1B2620; }

/* ---------- Responsive Rollout ---------- */
@media (max-width: 1200px){
  .v19-band .container{ margin-left:20px; margin-right:20px; }
}
@media (max-width: 1060px){
  .fuhr19{ grid-template-columns:repeat(2, 1fr); }
  .st19-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 900px){
  .v19-block{ padding:64px 0 72px; }
  .v19-frage-karte{ grid-template-columns:1fr; padding:34px 26px; gap:28px; }
  .fk19-foto img{ height:280px; }
  .klf19{ grid-template-columns:1fr; padding:32px 26px; }
  .klf19-foto{ margin:0 0 18px; border-radius:14px; height:180px; }
  .klg19{ grid-template-columns:1fr; }
  /* Orbital: statisch stapeln */
  .orbital{ height:auto; display:grid; gap:16px; justify-items:center; }
  .orbit, .orbital-punkt{ display:none; }
  .orbital-zentrum{ position:static; transform:none; margin-bottom:8px; }
  .orbital-sat{ position:static; width:100%; max-width:460px; animation:none; }
  .orbital-dabei{ border-radius:20px; padding:18px 20px; }
  /* Zigzag am Handy: Linie links, alles untereinander */
  .fp19-zick{ padding-left:34px; }
  .fp19-zick::before{ left:7px; transform:none; bottom:6px; }
  .fp19-zick li{ width:100%; padding-bottom:38px; }
  .fp19-zick li:nth-child(odd)::before, .fp19-zick li:nth-child(even)::before{ left:-34px; right:auto; }
  .fp19-zick .foto, .fp19-zick .fs-lappen{ max-width:340px; }
  /* Ueber-Pitch am Handy: Foto-Buehne oben (in-flow), Text darunter */
  .ueber19-voll{ grid-template-columns:1fr; min-height:0; margin-top:40px; }
  .up-buehne{ position:relative; width:100%; }
  .up-cutout{ width:112%; margin-left:-6%; }
  .up-foto img{ left:-6%; width:112%; }
  .up-foto{ border-radius:0 220px 160px 0; }
  .up-text{ grid-column:1; padding:26px 22px 40px; }
  .up-strasse{ width:80%; opacity:.7; }
  .up-signatur{ gap:14px; margin-top:24px; }
  .up-signatur img{ width:62px; height:62px; }
  .eltern19-liste{ grid-template-columns:1fr; }
  .faq19-grid{ grid-template-columns:1fr; }
  .v19-final{ border-radius:32px 32px 0 0; }
}
@media (max-width: 620px){
  .fuhr19{ grid-template-columns:1fr; }
  .st19-grid{ grid-template-columns:1fr; }
  .eltern19{ padding:30px 22px; }
}

/* ============ v21: klasse-pkw Layouts (weg von Container-Grids) ============ */
/* Foto-Split (Variante A, Ruben-Wahl) */
.fahrA{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.fahrA-foto{ margin:0; border-radius:16px 16px 16px 130px; overflow:hidden; box-shadow:var(--v19-schatten); }
.fahrA-foto img{ display:block; width:100%; height:100%; object-fit:cover; aspect-ratio:1/1; }
.fahrA-liste{ list-style:none; margin:0; padding:0; }
.fahrA-liste li{ display:flex; align-items:center; gap:18px; padding:20px 0; border-bottom:1px solid #E4E6E1; }
.fahrA-liste li:last-child{ border-bottom:none; }
.fahrA-ico{ flex:none; width:50px; height:50px; border-radius:14px; background:rgba(34,177,76,.12); display:grid; place-items:center; }
.fahrA-ico svg{ stroke:var(--v19-gruen); }
.fahrA-tx b{ display:block; font-size:1.12rem; font-weight:800; color:var(--v19-tinte); margin-bottom:3px; }
.fahrA-tx small{ font-size:.92rem; line-height:1.5; color:var(--v19-body); }

/* Dunkle Checklisten-Insel (Was du mitbringst) — Kontrast zur hellen Foto-Split */
.mitbr-panel{ background:var(--v19-tanne); border-radius:28px; padding:56px 56px 50px; box-shadow:0 30px 60px -30px rgba(16,25,20,.4); }
.mitbr-kopf{ margin-bottom:28px; }
.mitbr-panel .v19-pill{ background:var(--v19-gruen); color:#fff; }
.mitbr-panel h2{ color:#fff; }
.mitbr-panel h2 em{ color:var(--v19-gruen-hell); }
.mitbr-panel .v19-lead{ color:rgba(242,246,241,.85); }
.mitbr-liste{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }
.mitbr-liste li{ display:flex; align-items:flex-start; gap:14px; padding:18px 0; border-top:1px solid rgba(255,255,255,.1); }
.mitbr-hk{ flex:none; width:34px; height:34px; border-radius:9px; background:rgba(53,196,99,.18); color:var(--v19-gruen-hell); display:grid; place-items:center; margin-top:1px; }
.mitbr-liste b{ display:block; font-size:1.04rem; font-weight:800; color:#fff; margin-bottom:2px; }
.mitbr-liste small{ font-size:.9rem; line-height:1.5; color:rgba(242,246,241,.8); }

/* Vergleichstabelle (Die drei Wege) */
.vgl-wrap{ overflow-x:auto; }
.vgl-tab{ width:100%; border-collapse:collapse; min-width:640px; background:var(--v19-weiss); border-radius:16px; box-shadow:var(--v19-schatten); border:none; overflow:hidden; }
.vgl-tab th, .vgl-tab td{ padding:16px 22px; text-align:left; border-bottom:1px solid #EBEDE9; vertical-align:top; }
.vgl-tab thead th{ font-size:1.06rem; font-weight:800; color:var(--v19-tinte); border-bottom:2px solid #DDE0DB; }
.vgl-tab thead th span{ font-size:.7rem; font-weight:700; color:var(--v19-gruen-tief); letter-spacing:.02em; }
.vgl-tab tbody th{ font-weight:700; color:var(--v19-muted); font-size:.9rem; width:180px; }
.vgl-tab td{ font-size:.96rem; color:var(--v19-body); font-weight:500; }
.vgl-tab tbody tr:last-child th, .vgl-tab tbody tr:last-child td{ border-bottom:none; }
.vgl-tab .vgl-hl{ background:rgba(34,177,76,.10); }
.vgl-tab thead .vgl-hl{ color:var(--v19-gruen-tief); border-bottom:2px solid var(--v19-gruen); }

@media (max-width:900px){
  .fahrA{ grid-template-columns:1fr; gap:26px; }
  .fahrA-foto{ border-radius:16px 16px 16px 90px; max-width:460px; }
  .mitbr-panel{ padding:40px 26px 34px; border-radius:20px; }
  .mitbr-liste{ grid-template-columns:1fr; }
}
