/* Typo-Skalierung: rem-Basis 90% — Sektionen (vh) bleiben voll groß */
html{ font-size:14.4px; }
/* ===================================================================
   ERFOLGSPLANER v11 — "Clean Precision"
   Apple-Stil: viel Weiß, große tight-getrackte Typo, weiche Tiefe,
   ruhige Motion. Eine Akzentfarbe: Tannengrün.
   =================================================================== */

/* Hausschrift: General Sans (Variable Font, selbst gehostet — Fontshare) */
@font-face{ font-family:"General Sans"; font-weight:200 700; font-style:normal; font-display:swap;
  src:url("assets/fonts/GeneralSans-Variable.woff2") format("woff2-variations"), url("assets/fonts/GeneralSans-Variable.ttf") format("truetype-variations"); }

/* Poppins + Caveat selbst gehostet — vorher kamen sie von Google, wodurch bei
   jedem Seitenaufruf die IP des Besuchers ungefragt an Google ging. */
@font-face{ font-family:"Poppins"; font-weight:600; font-style:normal; font-display:swap;
  src:url("assets/fonts/Poppins-600.woff2") format("woff2"); }
@font-face{ font-family:"Poppins"; font-weight:700; font-style:normal; font-display:swap;
  src:url("assets/fonts/Poppins-700.woff2") format("woff2"); }
@font-face{ font-family:"Caveat"; font-weight:600; font-style:normal; font-display:swap;
  src:url("assets/fonts/Caveat-600.woff2") format("woff2"); }

/* Hausschrift: Inter (Variable Font, selbst gehostet) */
@font-face{ font-family:"Inter"; font-weight:100 900; font-style:normal; font-display:swap;
  src:url("assets/fonts/Inter-Variable.woff2") format("woff2-variations"), url("assets/fonts/Inter-Variable.ttf") format("truetype-variations"); }

:root{
  --bg:      #ffffff;
  --bg-soft: #f5f5f7;           /* Apple-Grau */
  --card:    #ffffff;
  --ink:     #1d1d1f;
  --muted:   #6e6e73;
  --hair:    rgba(29,29,31,.10);
  --green:   #1C3654;          /* Deep Navy (Primärfarbe) */
  --green-d: #142840;
  --green-soft: rgba(28,54,84,.08);
  --serif: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --maxw: 1080px;
  --e: cubic-bezier(.23,1,.32,1);
  --r: 22px;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; scroll-behavior:smooth; background:#F7F4F0; }
body{
  font-family:var(--sans); font-size:1.05rem; line-height:1.62;
  color:var(--ink); background:#F7F4F0; overflow-x:clip;
}
img,svg,video{ display:block; max-width:100%; }
a{ color:inherit; }
::selection{ background:rgba(28,54,84,.16); }
:focus-visible{ outline:2px solid var(--green); outline-offset:3px; border-radius:6px; }

.container{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 28px; }
section{ position:relative; }

.skip-link{
  position:fixed; top:-64px; left:20px; z-index:200;
  background:var(--ink); color:#fff; font-weight:500; font-size:.9rem;
  padding:10px 20px; border-radius:100px; text-decoration:none; transition:top .25s var(--e);
}
.skip-link:focus{ top:14px; }

/* ---------- Typografie ---------- */
h1,h2,h3{ font-weight:600; letter-spacing:-.022em; line-height:1.08; color:var(--ink); text-wrap:balance; }
h1{ font-size:clamp(2.6rem,6vw,4.6rem); font-weight:700; letter-spacing:-.03em; }
h2{ font-size:clamp(2rem,4.2vw,3.2rem); font-weight:700; letter-spacing:-.025em; }
h3{ font-size:1.35rem; letter-spacing:-.015em; line-height:1.25; }
p{ text-wrap:pretty; }
.grad{
  background:linear-gradient(96deg, var(--green) 20%, #3A6390 55%, #7C9DC4 85%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.eyebrow{
  display:inline-block; font-size:.86rem; font-weight:600; letter-spacing:.02em;
  color:var(--green); margin-bottom:18px;
}
.sect-head{ max-width:720px; margin:0 auto 64px; text-align:center; }
.sect-head.left{ margin-left:0; text-align:left; }
.sect-head h2{ margin-bottom:18px; }
.sect-head p{ font-size:1.15rem; color:var(--muted); line-height:1.6; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--sans); font-weight:500; font-size:1.02rem; letter-spacing:-.01em;
  padding:14px 28px; border-radius:100px; cursor:pointer; text-decoration:none;
  border:1px solid transparent; white-space:nowrap;
  transition:transform .16s var(--e), background .2s var(--e), box-shadow .2s var(--e), border-color .2s var(--e);
}
.btn:active{ transform:scale(.97); }
.btn-primary{
  background:var(--green); color:#fff;
  box-shadow:0 10px 26px -12px rgba(28,54,84,.5);
}
.btn-primary:hover{ background:var(--green-d); transform:translateY(-1px); box-shadow:0 14px 30px -12px rgba(28,54,84,.55); }
.btn-primary:hover:active{ transform:translateY(-1px) scale(.97); }
.btn-quiet{ background:rgba(29,29,31,.05); color:var(--ink); }
.btn-quiet:hover{ background:rgba(29,29,31,.09); }
.link-arrow{
  display:inline-flex; align-items:center; gap:6px;
  color:var(--green); font-weight:500; text-decoration:none; font-size:1.02rem;
}
.link-arrow svg{ width:14px; height:14px; transition:transform .2s var(--e); }
.link-arrow svg path{ fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.link-arrow:hover svg{ transform:translateX(3px); }

/* Motion-Basis: Inhalte sichtbar ohne JS; GSAP setzt Startzustände selbst */
.gs-up, .gs-fade{ will-change:transform,opacity; }

/* ===================================================================
   NAV — Glas, minimal
   =================================================================== */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:90;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:border-color .3s var(--e), background .3s var(--e), backdrop-filter .3s var(--e);
}
.nav.scrolled{
  background:rgba(255,255,255,.72);
  backdrop-filter:saturate(180%) blur(18px); -webkit-backdrop-filter:saturate(180%) blur(18px);
  border-bottom-color:rgba(29,29,31,.07);
}
.nav.scrolled{ border-bottom-color:var(--hair); }
.nav-inner{
  margin:0 auto; padding:20px 56px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
@media (max-width:900px){ .nav-inner{ padding:16px 24px; } }
.brand{ display:flex; align-items:center; gap:10px; text-decoration:none; }
.brand-seal{ width:28px; height:28px; flex-shrink:0; }
/* Wortmarke "erfolgsplan." — zweifarbig */
.brand-name{
  font-family:"Poppins", var(--sans); font-weight:700; font-size:1.5rem;
  letter-spacing:-.02em; line-height:1; display:inline-flex; align-items:baseline;
}
.wm-a{ color:#132A5C; }
.wm-b{ color:#2A61C4; }
.wm-dot{ color:#2A61C4; }
.brand-lockup{ flex-direction:column; align-items:flex-start; gap:3px; }
.wm-sub{ font-family:var(--sans); font-weight:450; font-size:.72rem; letter-spacing:.01em; color:#8A8D93; }
.nav-links{ display:flex; align-items:center; gap:44px; }
.nav-links a:not(.btn){ font-size:1rem; font-weight:450; color:var(--muted); text-decoration:none; transition:color .2s var(--e); }
.nav-links a:not(.btn):hover{ color:var(--ink); }
.btn-outline-nav{
  padding:11px 30px!important; font-size:1rem!important; border-radius:8px;
  background:#fff; color:#1d1d1f!important; border:1px solid rgba(29,29,31,.22); box-shadow:none;
}
.btn-outline-nav:hover{ border-color:#152A42; transform:none; box-shadow:none; }

/* ===================================================================
   HERO — 1:1 nach Screenshot: Buch-Szene füllt den Viewport
   =================================================================== */
.hero{
  position:relative; overflow:hidden;
  background:linear-gradient(180deg, #F7F4F0 0%, #EFEAE3 100%);
  min-height:100svh;
}
/* Video rechts; Übergang übernimmt der verwischte Wellen-Schleier (.hero-fade) */
.hero-media{
  position:absolute; top:0; right:0; bottom:0; width:70%; z-index:0;
  -webkit-mask-image:linear-gradient(90deg, transparent 2%, #000 30%);
  mask-image:linear-gradient(90deg, transparent 2%, #000 30%);
}
.hero-video{ width:100%; height:100%; object-fit:cover; display:block; filter:brightness(.87) saturate(1.02); }
/* Marmor-Schleier mit turbulenter Verzerrung → weiche, kurvige, verwischte Kante statt Linie */
.hero-fade{
  position:absolute; top:-60px; bottom:-60px; left:-60px; z-index:0; pointer-events:none;
  width:75%;
  background:linear-gradient(90deg, #F5F1EB 46%, rgba(245,241,235,0.55) 66%, rgba(245,241,235,0) 82%);
  filter:url(#heroWisp);
}
.hero::before{ /* dezenter Basis-Schleier, damit die linke Textseite ruhig bleibt */
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(90deg, #F5F1EB 22%, rgba(245,241,235,0) 46%);
}
.hero::after{ /* Unterkante weich in die nächste Sektion überblenden */
  content:""; position:absolute; left:0; right:0; bottom:0; height:140px; pointer-events:none; z-index:1;
  background:linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.7) 72%, #fff 100%);
}
.hero-inner{ position:relative; z-index:1; min-height:100svh; box-sizing:border-box; padding:120px 56px 44px;
  display:flex; flex-direction:column; justify-content:center; }
.hero-copy{ max-width:700px; }
.hero h1{
  font-family:var(--serif); font-weight:700; letter-spacing:-.02em; line-height:1.08;
  font-size:clamp(2.5rem,4.4vw,4.05rem); margin:0 0 34px; color:#16283F; max-width:15ch;
}
/* Headline zeilenweise animierbar: Wrapper klippt die von links einlaufende Zeile */
.hero-h1 .hl{ display:block; overflow:hidden; padding-bottom:.08em; margin-bottom:-.08em; }
.hero-h1 .hl > span{ display:block; }
.eyebrow-caps{
  font-size:.82rem; font-weight:650; letter-spacing:.14em; text-transform:uppercase;
  color:#27476E; margin-bottom:28px;
}
.hero .lead{
  font-size:clamp(1.05rem,1.35vw,1.22rem); color:#3b3d42; line-height:1.65;
  max-width:40ch; margin:0 0 28px;
}
.hero-actions{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.hero .btn{ border-radius:8px; padding:16px 30px; font-size:1.02rem; gap:14px; }
.btn .chev{ width:11px; height:11px; }
.btn .chev path{ fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.btn-white{
  background:rgba(255,255,255,.92); color:var(--ink); border:1px solid rgba(29,29,31,.16);
}
.btn-white:hover{ background:#fff; border-color:rgba(29,29,31,.32); }

/* Trust-Zeile */
.trust-row{ list-style:none; display:flex; gap:52px; flex-wrap:wrap; margin-top:44px; }
.trust-row li{ display:flex; align-items:center; gap:12px; font-size:1.05rem; font-weight:450; color:#1d1d1f; }
.trust-row svg{ width:26px; height:26px; }
.trust-row svg path, .trust-row svg circle{ fill:none; stroke:#16283F; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }

/* Bottom-Block: kompakter „Bekannt aus"-Streifen, unten links */
.hero-bottom{
  position:static; margin-top:clamp(44px,7vh,84px); z-index:1; width:auto; max-width:100%;
}
.hero-press{ margin-bottom:16px; display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.hero-press-label{
  font-size:.72rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:#7a7c82;
  flex-shrink:0;
}
.hero-press-logos{ display:flex; align-items:center; gap:26px; flex-wrap:nowrap; }
.hero-press-logos a{
  display:block; opacity:1; filter:none;
  cursor:pointer; user-select:none; -webkit-user-select:none;
  transition:transform .22s var(--e);
}
.hero-press-logos a img{ cursor:pointer; pointer-events:none; }
.hero-press-logos a:hover{ transform:scale(1.03); }
.hero-press-logos img{ height:50px; width:auto; }        /* gestapelte Logos (Icon + Text) */
.hero-press-logos img.wide{ height:24px; }               /* horizontale Wortmarken */

/* Glas-Box im Hero: „Bekannt aus" + Presse-Logos in einer Reihe */
.statbar.statbar-press{
  width:auto; max-width:none; margin:0;
  display:inline-flex; align-items:center; gap:26px; flex-wrap:nowrap;
  padding:26px 30px; grid-template-columns:none;
  /* voll deckend weiß, damit die Logos zu 100 % klar sichtbar sind (kein Video-Durchscheinen) */
  background:#ffffff;
  box-shadow:0 20px 50px -30px rgba(21,42,66,.35);
  border:1px solid rgba(29,29,31,.06);
}
.statbar-press .hero-press-label{ margin:0; border-right:1px solid rgba(29,29,31,.14); padding-right:26px; }

.statbar{
  width:100%;
  background:rgba(255,255,255,.72); border:1px solid rgba(255,255,255,.95); border-radius:16px;
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  padding:30px 10px; display:grid; grid-template-columns:repeat(3,1fr);
  box-shadow:0 20px 48px -28px rgba(21,42,66,.3);
}
.statbar-item{ display:flex; align-items:center; gap:16px; padding:6px 26px; }
.statbar-item + .statbar-item{ border-left:1px solid rgba(29,29,31,.1); }
.statbar-ico{
  width:52px; height:52px; border-radius:50%; flex-shrink:0;
  background:#fff; border:1px solid rgba(29,29,31,.1);
  display:flex; align-items:center; justify-content:center;
}
.statbar-ico svg{ width:24px; height:24px; }
.statbar-ico svg path, .statbar-ico svg circle{ fill:none; stroke:#16283F; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.statbar-item b{
  display:block; font-size:1.55rem; font-weight:700; letter-spacing:-.01em; line-height:1.15;
  font-variant-numeric:tabular-nums; color:#16283F;
}
.statbar-item b span{ font-size:inherit; color:inherit; }
.statbar-item div > span{ font-size:.92rem; color:#55575c; }
@media (max-width:980px){
  .hero{ height:auto; max-height:none; }
  .hero-inner{ padding:0 24px 40px; }
  .hero-bottom{ position:static; width:100%; margin-top:40px; }
  .statbar{ grid-template-columns:1fr; gap:14px; padding:20px; }
  .statbar-item{ padding:6px 4px; }
  .statbar-item + .statbar-item{ border-left:none; border-top:1px solid rgba(29,29,31,.1); padding-top:16px; }
}

/* Unterseiten-Kopf */
.page-hero{ padding:84px 0 8px; text-align:center; }
.page-hero h1{ font-size:clamp(2.3rem,4.4vw,3.4rem); max-width:20ch; margin:0 auto 18px; }
.page-hero-p{ font-size:1.12rem; color:var(--muted); max-width:52ch; margin:0 auto; }

/* Trust-Zeile */
.trust-row{ list-style:none; display:flex; gap:38px; flex-wrap:wrap; margin-top:34px; }
.trust-row li{ display:flex; align-items:center; gap:11px; font-size:1rem; font-weight:500; color:#1d1d1f; }
.trust-row svg{ width:24px; height:24px; }
.trust-row svg path, .trust-row svg circle{ fill:none; stroke:#1C3654; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }

/* Stat-Bar (Glas, unten im Hero) */
.statbar{
  margin-top:64px; max-width:820px;
  background:rgba(255,255,255,.68); border:1px solid rgba(255,255,255,.9); border-radius:18px;
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  padding:22px 26px; display:grid; grid-template-columns:repeat(3,1fr); gap:10px;
  box-shadow:0 18px 44px -26px rgba(21,42,66,.28);
}
.statbar-item{ display:flex; align-items:center; gap:14px; padding:0 10px; }
.statbar-item + .statbar-item{ border-left:1px solid rgba(29,29,31,.1); }
.statbar-ico{
  width:46px; height:46px; border-radius:50%; flex-shrink:0;
  background:#fff; border:1px solid rgba(29,29,31,.08);
  display:flex; align-items:center; justify-content:center;
}
.statbar-ico svg{ width:22px; height:22px; }
.statbar-ico svg path, .statbar-ico svg circle{ fill:none; stroke:#1C3654; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.statbar-item b{
  display:block; font-size:1.45rem; font-weight:700; letter-spacing:-.02em; line-height:1.1;
  font-variant-numeric:tabular-nums; color:#152A42;
}
.statbar-item b span{ font-size:inherit; color:inherit; }
.statbar-item div > span{ font-size:.88rem; color:#5c5e63; }

/* Zusage-Karte */
.visual-card{
  position:relative;
  background:var(--card); border-radius:26px; padding:30px 34px 26px;
  box-shadow:0 1px 2px rgba(29,29,31,.05), 0 30px 70px -30px rgba(29,29,31,.22);
  border:1px solid var(--hair);
}
.vc-head{ display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:26px; }
.vc-title{ font-size:.95rem; font-weight:600; color:var(--muted); letter-spacing:.01em; }
.vc-badge{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.9rem; font-weight:600; color:var(--green);
  background:var(--green-soft); padding:8px 16px; border-radius:100px;
  opacity:0; transform:scale(.9);
}
.vc-badge svg{ width:15px; height:15px; }
.vc-badge svg path{ fill:none; stroke:var(--green); stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; }
.vc-chart{ width:100%; height:auto; }
.vc-chart .grid-l{ stroke:rgba(29,29,31,.06); stroke-width:1; }
.vc-chart .line{ fill:none; stroke:var(--green); stroke-width:3; stroke-linecap:round; }
.vc-chart .area{ fill:url(#areaFill); opacity:0; }
.vc-chart .dot{ fill:var(--green); opacity:0; }
.vc-labels{ display:flex; justify-content:space-between; margin-top:14px; font-size:.82rem; color:var(--muted); }
.vc-foot{ display:flex; gap:26px; margin-top:24px; padding-top:20px; border-top:1px solid var(--hair); flex-wrap:wrap; }
.vc-kpi{ flex:1; min-width:130px; }
.vc-kpi b{ display:block; font-size:1.3rem; font-weight:700; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.vc-kpi b span{ font-size:inherit; color:inherit; }
.vc-kpi > span{ font-size:.8rem; color:var(--muted); line-height:1.4; display:block; }

/* ===================================================================
   BEKANNT AUS — Presse-Leiste
   =================================================================== */
.press{ margin-top:76px; padding:28px 0 40px; border-top:1px solid var(--hair-soft, rgba(29,29,31,.06)); }
.press-label{
  text-align:center; font-size:.78rem; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted); margin-bottom:26px;
}
.press-marquee{
  overflow:hidden; width:100%; min-width:0; flex:1 1 auto;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}
.press-track{
  display:flex; align-items:center; gap:72px; width:max-content;
  padding-right:72px;
  animation:none;
}
.press-marquee:hover .press-track{ animation-play-state:paused; }
@keyframes pressScroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
/* Desktop: statische Reihe wie früher (eng, volle Größe), Duplikate aus; Karussell nur am Handy */
.press-track a[aria-hidden="true"]{ display:none; }
@media (min-width:901px){
  .press-track{ gap:26px; }
  .press-track img{ height:50px; }
  .press-track img.wide{ height:24px; }
}
.statbar-press{ position:relative; z-index:3; }
@media (max-width:900px){
  .press-track{ animation:pressScroll 30s linear infinite; width:max-content; }
  .press-track a[aria-hidden="true"]{ display:block; }
}
.press-track a{ display:block; flex-shrink:0; opacity:1; transition:transform .25s var(--e); }
.press-track a:hover{ transform:scale(1.03); }
.press-track img{ height:44px; width:auto; }
.press-track img.wide{ height:22px; }
@media (max-width:600px){
  .press-track{ gap:44px; padding-right:44px; }
  .press-track img{ height:34px; }
  .press-track img.wide{ height:17px; }
}
@media (prefers-reduced-motion:reduce){
  .press-track{ animation:none; }
}

/* ===================================================================
   PROBLEM — graue Bühne, drei Karten
   =================================================================== */
/* ===================================================================
   FÖRDER-CHECK — wiederverwendbarer Frage-Wizard (Modal)
   =================================================================== */
.quiz-overlay{
  position:fixed; inset:0; z-index:200; display:none;
  align-items:center; justify-content:center; padding:24px;
  background:rgba(14,31,53,.5); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}
.quiz-overlay.open{ display:flex; }
.quiz{
  position:relative; width:100%; max-width:720px; max-height:88vh; overflow-y:auto;
  background:#fff; border-radius:24px; padding:44px 48px 40px;
  box-shadow:0 40px 100px -30px rgba(14,31,53,.6);
  animation:quizIn .3s var(--e);
}
@keyframes quizIn{ from{ opacity:0; transform:translateY(14px) scale(.98); } to{ opacity:1; transform:none; } }
.quiz-close{
  position:absolute; top:20px; right:20px; width:40px; height:40px; border-radius:12px;
  background:var(--green); color:#fff; border:none; cursor:pointer; font-size:1.3rem; line-height:1;
  display:flex; align-items:center; justify-content:center; transition:background .2s var(--e);
}
.quiz-close:hover{ background:var(--green-d); }
.quiz-eyebrow{ font-size:.8rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-bottom:10px; }
.quiz h3{ font-size:1.7rem; letter-spacing:-.02em; color:var(--ink); margin-bottom:10px; }
.quiz-intro{ font-size:1.02rem; color:var(--muted); line-height:1.55; margin-bottom:26px; }

/* Fortschritt (Punkte) */
.quiz-dots{ display:flex; gap:7px; margin-bottom:26px; }
.quiz-dots span{ width:26px; height:5px; border-radius:100px; background:rgba(29,29,31,.12); transition:background .3s var(--e); }
.quiz-dots span.done{ background:var(--green); }
.quiz-dots span.current{ background:#2A61C4; }

/* beantwortete Fragen als Häkchen-Zusammenfassung */
.quiz-answered{ display:grid; gap:14px; margin-bottom:26px; }
.qa-row{ display:flex; gap:13px; align-items:flex-start; }
.qa-check{ width:24px; height:24px; border-radius:50%; background:#1f9d55; flex-shrink:0; display:flex; align-items:center; justify-content:center; margin-top:1px; }
.qa-check svg{ width:14px; height:14px; }
.qa-check svg path{ fill:none; stroke:#fff; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.qa-text{ font-size:1rem; color:var(--ink); line-height:1.45; }
.qa-text b{ font-weight:600; }

/* aktuelle Frage */
.quiz-q{ display:flex; gap:15px; align-items:flex-start; margin-bottom:22px; }
.quiz-q-ico{ width:42px; height:42px; border-radius:11px; flex-shrink:0; background:var(--green-soft);
  display:flex; align-items:center; justify-content:center; }
.quiz-q-ico svg{ width:23px; height:23px; }
.quiz-q-ico svg path, .quiz-q-ico svg circle, .quiz-q-ico svg rect{ fill:none; stroke:var(--green); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.quiz-q-text{ font-size:1.18rem; font-weight:600; color:var(--ink); line-height:1.4; padding-top:8px; }
.quiz-q-hint{ display:block; font-size:.9rem; font-weight:400; color:var(--muted); margin-top:5px; }

.quiz-opts{ display:grid; gap:12px; margin:0 0 30px 57px; }
.quiz-opt{
  display:flex; align-items:center; gap:14px; padding:16px 20px; cursor:pointer;
  border:1.5px solid var(--hair); border-radius:14px; transition:border-color .18s var(--e), background .18s var(--e);
}
.quiz-opt:hover{ border-color:rgba(28,54,84,.45); }
.quiz-opt.sel{ border-color:var(--green); background:var(--green-soft); }
.quiz-opt .radio{ width:22px; height:22px; border-radius:50%; border:2px solid rgba(29,29,31,.28); flex-shrink:0; position:relative; transition:border-color .18s var(--e); }
.quiz-opt.sel .radio{ border-color:var(--green); }
.quiz-opt.sel .radio::after{ content:""; position:absolute; inset:4px; border-radius:50%; background:var(--green); }
.quiz-opt-label{ font-size:1.05rem; color:var(--ink); }

.quiz-foot{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding-top:22px; border-top:1px solid var(--hair); }
.quiz-restart{ background:none; border:none; color:var(--green); font-size:.95rem; font-weight:500; cursor:pointer; padding:8px 4px; display:inline-flex; align-items:center; gap:6px; }
.quiz-restart:hover{ text-decoration:underline; }
.quiz-foot .spacer{ flex:1; }
.quiz .btn[disabled]{ opacity:.4; pointer-events:none; }

/* Ergebnis */
.quiz-result{ }
.qr-head{ display:flex; gap:16px; align-items:flex-start; padding:24px; border-radius:16px; background:var(--bg-soft); margin-bottom:24px; }
.qr-badge{ width:44px; height:44px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.qr-badge.ok{ background:#1f9d55; } .qr-badge.maybe{ background:#e0a300; }
.qr-badge svg{ width:24px; height:24px; } .qr-badge svg path{ fill:none; stroke:#fff; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.qr-head h4{ font-size:1.2rem; color:var(--ink); margin-bottom:6px; }
.qr-head p{ font-size:.98rem; color:var(--muted); line-height:1.5; }
.qr-programs{ list-style:none; display:grid; gap:12px; margin-bottom:26px; }
.qr-programs li{ display:flex; gap:13px; align-items:flex-start; padding:16px 18px; border:1px solid var(--hair); border-radius:14px; }
.qr-programs .qp-ico{ width:34px; height:34px; border-radius:9px; background:var(--green-soft); flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.qr-programs .qp-ico svg{ width:19px; height:19px; }
.qr-programs .qp-ico svg path, .qr-programs .qp-ico svg circle{ fill:none; stroke:var(--green); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.qp-name{ font-weight:600; color:var(--ink); font-size:1.02rem; display:block; margin-bottom:2px; }
.qp-note{ font-size:.92rem; color:var(--muted); line-height:1.45; }
.qr-cta{ display:flex; gap:16px; flex-wrap:wrap; align-items:center; }
.qr-disclaimer{ font-size:.85rem; color:var(--muted); line-height:1.5; margin-top:22px; padding-top:18px; border-top:1px solid var(--hair); }

@media (max-width:560px){
  .quiz{ padding:38px 24px 30px; }
  .quiz-opts{ margin-left:0; }
}

/* Intake-Formular (Erstgespräch vorbereiten) */
.intake{ max-width:680px; }
#intakeForm{ margin-top:4px; }
.if-section{ margin-bottom:28px; }
.if-section-title{ font-size:.78rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin:0 0 16px; padding-bottom:10px; border-bottom:1px solid var(--hair); }
.if-field{ margin-bottom:16px; }
.if-field > label{ display:block; font-size:.92rem; font-weight:600; color:var(--ink); margin-bottom:8px; }
.if-req{ color:#c0392b; margin-left:2px; }
.if-field input, .if-field select, .if-field textarea{
  width:100%; padding:13px 15px; font:inherit; font-size:1rem; color:var(--ink);
  background:#fff; border:1.5px solid var(--hair); border-radius:12px; transition:border-color .18s var(--e), box-shadow .18s var(--e);
}
.if-field input:focus, .if-field select:focus, .if-field textarea:focus{
  outline:none; border-color:var(--green); box-shadow:0 0 0 3px var(--green-soft);
}
.if-field textarea{ min-height:92px; resize:vertical; line-height:1.5; }
.if-field.invalid input, .if-field.invalid textarea{ border-color:#c0392b; }
.if-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.if-chips{ display:flex; gap:9px; flex-wrap:wrap; }
.if-chip{
  padding:10px 16px; border:1.5px solid var(--hair); border-radius:100px; cursor:pointer;
  font-size:.96rem; color:var(--ink); user-select:none; transition:border-color .16s var(--e), background .16s var(--e), color .16s var(--e);
}
.if-chip:hover{ border-color:rgba(28,54,84,.4); }
.if-chip.sel{ border-color:var(--green); background:var(--green-soft); color:var(--green); font-weight:600; }
.intake-foot{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding-top:22px; margin-top:6px; border-top:1px solid var(--hair); }
.intake-foot .if-note{ font-size:.88rem; color:var(--muted); }
.intake-foot .spacer{ flex:1; }
.intake-error{ color:#c0392b; font-size:.9rem; margin-right:6px; }
.cal-wrap{ margin-top:8px; border-radius:14px; overflow:hidden; border:1px solid var(--hair); }
.cal-embed{ width:100%; height:660px; border:0; display:block; }
@media (max-width:560px){ .if-row{ grid-template-columns:1fr; } .cal-embed{ height:580px; } }

/* ===================================================================
   PERSÖNLICH / GRÜNDER — Portrait links, Text rechts
   =================================================================== */
.founder{ padding:120px 0 110px; }
.founder-inner{
  max-width:1200px; margin:0 auto; padding:0 28px;
  display:grid; grid-template-columns:minmax(0,0.95fr) minmax(0,1.05fr); gap:64px; align-items:center;
}
.founder-media{ position:relative; }
.founder-photo{
  position:relative; aspect-ratio:4/5; width:100%; border-radius:26px; overflow:hidden;
  background:linear-gradient(160deg, #E9E4DB 0%, #DAD3C8 100%);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  box-shadow:0 40px 80px -40px rgba(21,42,66,.4);
}
.founder-photo::after{ /* feiner innerer Rand */
  content:""; position:absolute; inset:0; border-radius:26px; border:1px solid rgba(255,255,255,.5); pointer-events:none;
}
.fp-silhouette{ width:96px; height:96px; opacity:.5; }
.fp-silhouette circle, .fp-silhouette path{ fill:none; stroke:#16283F; stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; }
.fp-note{ font-size:.86rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:rgba(22,40,63,.5); }
/* falls echtes Bild eingesetzt wird */
.founder-media img{ width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:26px; box-shadow:0 40px 80px -40px rgba(21,42,66,.4); display:block; }
.founder-caption{
  position:absolute; left:22px; bottom:22px; z-index:2;
  background:rgba(255,255,255,.86); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.9); border-radius:14px; padding:12px 18px;
  display:flex; flex-direction:column; gap:2px; box-shadow:0 18px 40px -24px rgba(21,42,66,.35);
}
.fc-name{ font-weight:650; font-size:1.02rem; color:var(--ink); letter-spacing:-.01em; }
.fc-role{ font-size:.82rem; color:var(--muted); }

.founder-title{
  font-size:clamp(2rem,3.4vw,2.9rem); font-weight:700; letter-spacing:-.03em; line-height:1.1;
  color:#16283F; margin-bottom:28px;
}
.founder-copy > p:not(.eyebrow){ font-size:1.1rem; line-height:1.72; color:#3b3d42; margin-bottom:22px; }
.founder-copy > p:last-child{ margin-bottom:0; }

@media (max-width:860px){
  .founder{ padding:80px 0; }
  .founder-inner{ grid-template-columns:1fr; gap:36px; }
  .founder-photo{ aspect-ratio:4/4.4; max-width:460px; margin:0 auto; }
  .founder-media img{ max-width:460px; margin:0 auto; }
}

/* ===================================================================
   SITUATIONEN — dunkle, interaktive Aufklapp-Panels
   =================================================================== */
.usecases{ padding:20px 0 24px; }
.uc-prompt{
  max-width:1300px; margin:0 auto 34px; padding:0 20px;
  font-size:clamp(1.7rem,3vw,2.5rem); font-weight:700; color:var(--ink);
  letter-spacing:-.03em; line-height:1.15;
}
.uc-prompt span{ color:var(--muted); font-weight:600; }
@media (max-width:640px){ .uc-prompt span{ display:block; } }

.uc-panels{
  display:flex; gap:14px; height:440px;
  max-width:1340px; margin:0 auto; padding:0 20px;
}
.uc-panel{
  position:relative; flex:1 1 0; min-width:0; overflow:hidden;
  border-radius:26px; cursor:pointer;
  background:linear-gradient(160deg, #1C3654 0%, #0E1F35 100%);
  box-shadow:0 30px 60px -30px rgba(14,31,53,.6);
  transition:flex-grow .55s var(--e), box-shadow .55s var(--e);
  outline:none;
}
/* leichte Farbnuance je Panel + Akzentkante */
.uc-panel::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(120% 90% at 85% 0%, rgba(42,97,196,.32), transparent 55%);
  opacity:.7; transition:opacity .55s var(--e);
}
.uc-panel:nth-child(2)::before{ background:radial-gradient(120% 90% at 85% 0%, rgba(42,97,196,.20), transparent 55%); }
.uc-panel:nth-child(3)::before{ background:radial-gradient(120% 90% at 85% 0%, rgba(120,170,255,.22), transparent 55%); }
.uc-panel:nth-child(4)::before{ background:radial-gradient(120% 90% at 85% 0%, rgba(42,97,196,.26), transparent 55%); }
.uc-panel:nth-child(5)::before{ background:radial-gradient(120% 90% at 85% 0%, rgba(150,180,255,.18), transparent 55%); }

.uc-num{
  position:absolute; top:26px; left:26px; z-index:2;
  font-family:var(--serif); font-size:1.15rem; font-weight:600;
  color:rgba(255,255,255,.55); letter-spacing:.02em;
}
/* vertikaler Titel im eingeklappten Zustand */
.uc-vert{
  position:absolute; left:50%; bottom:34px; z-index:2;
  transform:translateX(-50%) rotate(180deg); writing-mode:vertical-rl;
  font-size:1.16rem; font-weight:600; letter-spacing:.01em; color:#fff;
  white-space:nowrap; transition:opacity .3s var(--e);
}
/* aufgeklappter Inhalt */
.uc-body{
  position:absolute; inset:auto 0 0 0; z-index:2;
  padding:38px 34px; opacity:0; transform:translateY(10px);
  transition:opacity .45s var(--e) .05s, transform .45s var(--e) .05s;
  pointer-events:none;
}
.uc-ico{
  display:flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:14px; margin-bottom:20px;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.16);
}
.uc-ico svg{ width:26px; height:26px; }
.uc-ico svg path, .uc-ico svg circle{ fill:none; stroke:#fff; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.uc-body h3{ color:#fff; font-size:1.6rem; letter-spacing:-.02em; margin-bottom:14px; }
.uc-body p{ color:rgba(255,255,255,.8); font-size:1.02rem; line-height:1.62; max-width:42ch; margin-bottom:20px; }
.uc-tag{
  display:inline-block; font-size:.82rem; font-weight:500; letter-spacing:.04em;
  color:rgba(255,255,255,.62); padding:8px 16px; border-radius:100px;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12);
}

/* Ausgewähltes (angeklicktes) Panel ist offen */
.uc-panel.active{ flex-grow:4.6; box-shadow:0 40px 80px -30px rgba(14,31,53,.7); }
.uc-panel.active::before{ opacity:1; }
.uc-panel.active .uc-body{ opacity:1; transform:none; pointer-events:auto; }
.uc-panel.active .uc-vert{ opacity:0; }
/* eingeklappte Panels: dezenter Hover-Hinweis */
.uc-panel:not(.active){ opacity:.94; transition:flex-grow .55s var(--e), opacity .3s var(--e), box-shadow .55s var(--e); }
.uc-panel:not(.active):hover{ opacity:1; }
.uc-panel:not(.active):hover .uc-vert{ transform:translateX(-50%) rotate(180deg) scale(1.04); }
.uc-panel:focus-visible{ box-shadow:0 0 0 3px rgba(42,97,196,.6), 0 40px 80px -30px rgba(14,31,53,.7); }

/* ===================================================================
   PLAN-KARTE + STICKY-SCROLL-STORY (zusammenhängend)
   Palette: Text #222831 · Dunkelblau #0F2744 · Blau #1D3B5C
            Linien #DDE2E8 · Sekundärtext #6D737C
   =================================================================== */
.usecase-detail{ padding:24px 0 28px; }
.uc-detail{ max-width:1240px; margin:0 auto; padding:0 24px; }
.pc-inner{
  position:relative; display:grid; grid-template-columns:55% 45%; align-items:stretch;
  background:#fff; border:1px solid #DDE2E8; border-radius:20px; overflow:hidden;
  box-shadow:0 8px 24px -18px rgba(15,39,68,.22);
  transition:opacity .35s var(--e), transform .35s var(--e);
}
.uc-detail.swap .pc-inner{ opacity:0; transform:translateY(8px); }
.pc-main{ padding:44px 48px; }
.pc-eyebrow{ font-size:.78rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:#1D3B5C; margin-bottom:18px; }
.pc-title{ font-size:1.7rem; letter-spacing:-.02em; line-height:1.16; color:#0F2744; margin-bottom:16px; }
.pc-desc{ font-size:1.05rem; color:#6D737C; line-height:1.62; max-width:38ch; margin-bottom:30px; }
.pc-cta{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.pc-link{ background:none; border:none; cursor:pointer; font:inherit; font-size:1rem; font-weight:600; color:#1D3B5C; padding:6px 2px; transition:color .18s var(--e); }
.pc-link:hover{ color:#0F2744; }
/* rechte Spalte: weiß mit feiner Trennlinie, minimal getönt */
.pc-side{ padding:44px 46px; border-left:1px solid #DDE2E8; background:#FBFBF9; display:flex; flex-direction:column; justify-content:center; }
.pc-inc{ font-size:.74rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:#8A8F98; margin-bottom:20px; }
.pc-list{ list-style:none; display:grid; gap:15px; }
.pc-list li{ display:flex; gap:12px; align-items:baseline; font-size:1.02rem; color:#222831; line-height:1.4; }
.pc-ck{ flex-shrink:0; width:18px; height:18px; transform:translateY(2px); }
.pc-ck svg{ width:18px; height:18px; }
.pc-ck svg path{ fill:none; stroke:#1D3B5C; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* ---- Editoriale Scrollytelling-Bühne (wachsende Linie, wechselnde Szenen) ---- */
.uc-weg{ margin:120px 0 0; transition:opacity .3s var(--e); }
.uc-weg.swap{ opacity:0; }

/* ===================================================================
   ED — Editoriale Weg-Sektion: jede Phase eine eigene Komposition
   =================================================================== */
.ed{ max-width:1240px; margin:0 auto; padding:0 40px; }
.ed-head{ max-width:760px; margin:0 auto 40px; text-align:center; }
.ed-head .wg2-eyebrow{ letter-spacing:.14em; }
.ed-title{ font-size:clamp(2.2rem,4vw,3.3rem); letter-spacing:-.03em; line-height:1.04; color:#14243c; margin:0 auto 16px; max-width:20ch; }
.ed-intro{ font-size:1.14rem; color:#6D737C; line-height:1.55; }

/* Zentrale Prozesslinie als Rückgrat */
.ed-track{ position:relative; }
.ed-line{ position:absolute; left:50%; transform:translateX(-50%); width:1px; background:rgba(22,61,104,.16); z-index:0; }
.ed-line-fill{ position:absolute; left:50%; top:0; width:2px; height:100%; background:#163D68; border-radius:2px;
  transform:translateX(-50%) scaleY(0); transform-origin:top center; transition:transform .1s linear; }
.ed-line-head{ position:absolute; left:50%; top:0; width:9px; height:9px; border-radius:50%; background:#163D68; z-index:2;
  transform:translate(-50%,-50%); box-shadow:0 0 0 3px rgba(22,61,104,.12); opacity:0;
  transition:opacity .3s var(--e), transform .1s linear; pointer-events:none; }

/* Kontrollierter Rhythmus: jede Phase ein 2-Spalten-Block, Seiten wechseln ab */
.ed-phase{ position:relative; margin-bottom:120px; min-height:340px; display:flex; align-items:center; }
.ed-phase:last-child{ margin-bottom:0; }
.ed-row{ display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; width:100%; position:relative; z-index:1; }

/* Prozesspunkt auf der Mittellinie */
.ed-dot{ position:absolute; left:50%; top:50%; width:12px; height:12px; border-radius:50%; z-index:3;
  background:#fff; border:1.5px solid #b9c3cf; opacity:.2; transform:translate(-50%,-50%) scale(.7);
  transition:transform .3s cubic-bezier(.22,1,.36,1), background .3s var(--e), border-color .3s var(--e), opacity .3s var(--e), box-shadow .3s var(--e); }
.ed-phase.is-active .ed-dot{ background:#163D68; border-color:#163D68; opacity:1; transform:translate(-50%,-50%) scale(1); box-shadow:0 0 0 6px rgba(22,61,104,.12); }
.ed-phase.is-done .ed-dot{ background:#163D68; border-color:#163D68; opacity:.75; transform:translate(-50%,-50%) scale(.85); box-shadow:none; }

/* Kurze Verbindungslinien von der Mitte zum Inhalt */
.ed-conn{ position:absolute; top:calc(50% - 1px); height:2px; width:30px; background:#dfe4ec; z-index:2;
  transform:scaleX(0); transition:transform .5s cubic-bezier(.22,1,.36,1), background .5s var(--e); }
.ed-conn-l{ right:50%; transform-origin:right center; }
.ed-conn-r{ left:50%; transform-origin:left center; }
.ed-phase.is-done .ed-conn,
.ed-phase.is-active .ed-conn{ transform:scaleX(1); background:#c3ccd6; }
.ed-phase.is-active .ed-conn{ background:#163D68; }

/* Phasen-Inhalte: vor Aktivierung fast unsichtbar (kein Ausgrauen), aktiv voll, abgeschlossen ruhiger.
   Transform NUR auf den Spalten, damit die Punkte messbar bleiben. */
.ed-col{ opacity:0; transform:translateY(28px); pointer-events:none;
  transition:opacity .55s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1); }
.ed-col:not(.ed-col-txt){ transform:translateY(36px) scale(.985); transition-duration:.66s; }
.ed-phase.is-active .ed-col,
.ed-phase.is-done .ed-col{ opacity:1; transform:none; pointer-events:auto; }
.ed-phase.is-done .ed-col{ opacity:.7; }
.ed-phase.is-active .ed-col:not(.ed-col-txt){ transition-delay:.1s; }
/* CTA erscheint zuletzt */
.ed-cta{ opacity:0; transform:translateY(12px); transition:opacity .4s cubic-bezier(.22,1,.36,1), transform .4s cubic-bezier(.22,1,.36,1); }
.ed-phase.is-active .ed-cta,
.ed-phase.is-done .ed-cta{ opacity:1; transform:none; transition-delay:.18s; }

.ed-mark{ display:flex; align-items:baseline; gap:16px; margin-bottom:20px; }
.ed-num{ font-family:"Poppins",var(--sans); font-weight:700; font-size:clamp(2.4rem,4vw,3.6rem); letter-spacing:-.03em; color:#dbe0e8; line-height:1; }
.ed-tab{ font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#2A61C4; }
.ed-h{ font-size:clamp(1.9rem,3vw,2.7rem); letter-spacing:-.03em; line-height:1.07; color:#14243c; margin-bottom:18px; }
.ed-lead{ font-size:1.1rem; color:#5b616a; line-height:1.6; max-width:44ch; }
.ed-cta{ margin-top:28px; }

/* ===== Dokument-System: jede Phase ein echtes Ergebnisdokument (Papier-Look) ===== */
.ed-doc{ position:relative; margin:0; max-width:436px; width:100%;
  background:#FCFBF8; border:1px solid #DDE3EA; border-radius:11px; padding:28px 34px 24px;
  box-shadow:0 12px 30px -18px rgba(15,39,68,.14); }
.ed-row > .ed-col:first-child .ed-doc{ margin-left:auto; }   /* linke Spalte → Dokument an die Mittellinie */
.ed-row > .ed-col:last-child .ed-doc{ margin-right:auto; }   /* rechte Spalte → Dokument an die Mittellinie */
.ed-doc-head{ display:flex; align-items:baseline; justify-content:space-between; gap:16px;
  font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#5b6472;
  padding-bottom:13px; border-bottom:1.5px solid #163D68; margin-bottom:4px; }
.ed-doc-page{ color:#a7adb5; font-weight:600; letter-spacing:.05em; font-variant-numeric:tabular-nums; }
.ed-doc-foot{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-top:18px;
  padding-top:11px; border-top:1px solid #EAEDF1; font-size:.64rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#a7adb5; }

/* gestaffelte Einblendung der Dokumentzeilen, sobald die Phase aktiv wird */
.ed-r{ opacity:0; transform:translateY(8px); transition:opacity .5s var(--e), transform .5s var(--e); }
.ed-phase.is-active .ed-r, .ed-phase.is-done .ed-r{ opacity:1; transform:none; }
.ed-phase.is-active .ed-doc-body > .ed-r:nth-child(1){ transition-delay:.10s; }
.ed-phase.is-active .ed-doc-body > .ed-r:nth-child(2){ transition-delay:.19s; }
.ed-phase.is-active .ed-doc-body > .ed-r:nth-child(3){ transition-delay:.28s; }
.ed-phase.is-active .ed-doc-body > .ed-r:nth-child(4){ transition-delay:.37s; }
.ed-phase.is-active .ed-doc-body > .ed-r:nth-child(5){ transition-delay:.46s; }
.ed-phase.is-active .ed-doc-body > .ed-r:nth-child(6){ transition-delay:.55s; }
.ed-phase.is-active .ed-doc-body > .ed-r:nth-child(7){ transition-delay:.64s; }

/* Phase 01 — Ergebnisprotokoll: Titel · Erläuterung · Status rechts */
.ed-doc-row{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid #EDEFF2; }
.ed-doc-body > .ed-doc-row:last-child{ border-bottom:0; }
.ed-doc-rt{ font-size:1rem; font-weight:600; color:#1f2d40; }
.ed-doc-rt em{ display:block; font-style:normal; font-size:.86rem; font-weight:400; color:#8a9098; margin-top:3px; }
.ed-doc-status2{ flex:0 0 auto; font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#2A61C4; white-space:nowrap; }

/* Phase 02 — Strategieblatt: asymmetrische Abschnitte, nur die Kopf-Akzentlinie */
.ed-doc-sec{ padding:13px 0; border-bottom:1px solid #EDEFF2; }
.ed-doc-body > .ed-doc-sec:last-child{ border-bottom:0; }
.ed-doc-sec:nth-child(even){ padding-left:22px; }
.ed-doc-sec h5{ font-size:.7rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#5b6472; margin-bottom:5px; }
.ed-doc-sec p{ font-size:1.02rem; color:#1f2d40; line-height:1.4; }

/* Phase 03 — Finanzplan: Diagramm mit Gridlines + Werten, Kennzahlen mit Summenzeile */
.ed-fin-cap{ font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#9aa0a8; margin:12px 0 20px; }
.ed-bars{ position:relative; display:flex; align-items:flex-end; gap:12px; height:118px; padding-bottom:20px; border-bottom:1px solid #e6e9ee; }
.ed-gl{ position:absolute; left:0; right:0; height:1px; background:#eef1f4; z-index:0; }
.ed-bar{ flex:1; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; height:100%; position:relative; z-index:1; }
.ed-bar-v{ position:absolute; top:-15px; font-size:.6rem; color:#8a9098; font-variant-numeric:tabular-nums; opacity:0; transform:translateY(4px); transition:opacity .35s var(--e), transform .35s var(--e); }
.ed-bar-fill{ width:100%; max-width:26px; height:var(--h); border-radius:3px 3px 0 0; background:linear-gradient(180deg,#3A6390,#163D68);
  transform:scaleY(0); transform-origin:bottom center; transition:transform .62s cubic-bezier(.22,1,.36,1); }
/* Balken wachsen einzeln von unten, sobald das Diagramm im Blick ist (.grown per Observer) */
.ed-bars.grown .ed-bar-fill{ transform:scaleY(1); }
.ed-bars.grown .ed-bar:nth-of-type(2) .ed-bar-fill{ transition-delay:.10s; }
.ed-bars.grown .ed-bar:nth-of-type(3) .ed-bar-fill{ transition-delay:.20s; }
.ed-bars.grown .ed-bar:nth-of-type(4) .ed-bar-fill{ transition-delay:.30s; }
.ed-bars.grown .ed-bar:nth-of-type(5) .ed-bar-fill{ transition-delay:.40s; }
.ed-bars.grown .ed-bar-v{ opacity:1; transform:none; }
.ed-bars.grown .ed-bar:nth-of-type(1) .ed-bar-v{ transition-delay:.34s; }
.ed-bars.grown .ed-bar:nth-of-type(2) .ed-bar-v{ transition-delay:.44s; }
.ed-bars.grown .ed-bar:nth-of-type(3) .ed-bar-v{ transition-delay:.54s; }
.ed-bars.grown .ed-bar:nth-of-type(4) .ed-bar-v{ transition-delay:.64s; }
.ed-bars.grown .ed-bar:nth-of-type(5) .ed-bar-v{ transition-delay:.74s; }
.ed-bar-x{ position:absolute; bottom:-19px; font-size:.64rem; color:#a7adb5; font-variant-numeric:tabular-nums; }
.ed-fin-table{ width:100%; border-collapse:collapse; font-size:.92rem; margin-top:22px; }
.ed-fin-table caption{ text-align:left; font-size:.66rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#9aa0a8; margin-bottom:6px; }
.ed-fin-table td{ padding:8px 0; border-bottom:1px solid #EDEFF2; color:#5b6472; }
.ed-fin-table td:last-child{ text-align:right; font-weight:600; font-variant-numeric:tabular-nums; }
.ed-fin-table td.pos{ color:#163D68; }
.ed-fin-table td.neg{ color:#9aa0a8; }
.ed-fin-table .ed-sum td{ border-top:1.5px solid #d7dde5; border-bottom:0; font-weight:700; background:rgba(22,61,104,.045); padding-top:9px; }
.ed-fin-table .ed-r{ transform:none; }   /* <tr> nur per Opacity einblenden (transform auf table-row rendert unzuverlässig) */
.ed-phase.is-active .ed-fin-table .ed-r:nth-child(1){ transition-delay:.22s; }
.ed-phase.is-active .ed-fin-table .ed-r:nth-child(2){ transition-delay:.30s; }
.ed-phase.is-active .ed-fin-table .ed-r:nth-child(3){ transition-delay:.38s; }
.ed-phase.is-active .ed-fin-table .ed-r:nth-child(4){ transition-delay:.46s; }
.ed-phase.is-active .ed-fin-table .ed-r:nth-child(5){ transition-delay:.54s; }

/* Phase 04 — Bankordner: Dateiliste mit einrastenden Häkchen + Stempel */
.ed-doc-proj{ display:block; font-size:.9rem; color:#5b6472; margin:12px 0 12px; }
.ed-doc-file{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:9px 0; border-bottom:1px solid #EDEFF2; font-size:.98rem; color:#1f2d40; }
.ed-doc-body > .ed-doc-file:last-child{ border-bottom:0; }
.ed-ck{ width:18px; height:18px; flex:0 0 auto; fill:none; stroke:#2A61C4; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.ed-doc-stamp{ position:absolute; top:42%; right:-10px; font-family:"Poppins",var(--sans); font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:#2A61C4; padding:6px 12px; border:2px solid rgba(42,97,196,.5); border-radius:5px; transform:rotate(-7deg); background:rgba(252,251,248,.85); box-shadow:0 6px 16px -10px rgba(21,42,66,.4); }

@media (max-width:860px){
  .ed{ padding:0 22px; }
  .ed-head{ margin-bottom:56px; }
  .ed-phase{ margin-bottom:80px; min-height:0; padding-left:52px; }
  .ed-row{ grid-template-columns:1fr; gap:26px; }
  .ed-col-txt{ order:-1; }
  .ed-doc{ margin:0 !important; max-width:460px; }
  .ed-bars{ height:150px; }
  /* Linie nach links, Punkte + Verbindung links ausrichten */
  .ed-line{ left:26px; transform:none; }
  .ed-dot{ left:26px; }
  .ed-conn-l{ display:none; }
  .ed-conn-r{ left:26px; width:22px; }
}
@media (prefers-reduced-motion: reduce){
  .ed-col{ transition:none; opacity:1; transform:none; pointer-events:auto; }
  .ed-r{ transition:none; opacity:1; transform:none; }
  .ed-bar-v{ opacity:1; }
  .ed-cta{ opacity:1; transform:none; }
  .ed-dot{ opacity:.75; }
  .ed-dot,.ed-conn,.ed-bar-fill{ transition:none; }
  .ed-line-fill{ transform:translateX(-50%) scaleY(1); }
  .ed-line-head{ display:none; }
}

/* ---- Intro: normaler Fluss, scrollt weg ---- */
.wg2-head{ max-width:1340px; margin:0 auto 6px; padding:0 40px; }
.wg2-eyebrow{ font-size:.78rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:#163D68; margin-bottom:18px; }
.wg2-h2{ font-size:clamp(2.4rem,4.4vw,3.6rem); letter-spacing:-.03em; line-height:1.02; color:#14243c; margin-bottom:18px; max-width:16ch; }
.wg2-intro{ font-size:1.18rem; color:#6D737C; line-height:1.55; max-width:52ch; }

/* ---- Bühne: klebt per position:sticky, während die hohe Track-Spur durchscrollt (2 Zonen) ---- */
.wg2-track{ position:relative; }
.wg2-stage{
  position:sticky; top:0; height:100vh;
  max-width:1340px; margin:0 auto; padding:0 40px;
  display:grid; grid-template-columns:28% 72%; align-items:center;
}

/* Linke Zone: die wachsende Prozesslinie ist das zentrale Element */
.wg2-rail{ position:relative; align-self:center; height:66vh; min-height:340px; padding-left:34px; }
.wg2-rail::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:#D8DEE6; border-radius:2px; }
.wg2-fill{ position:absolute; left:0; top:0; width:2px; height:0; background:#163D68; border-radius:2px; }
.wg2-chapters{ list-style:none; position:relative; height:100%; margin:0; padding:0; }
.wg2-ch{
  position:absolute; left:0; transform:translateY(-50%); padding-left:24px; max-width:16ch;
  cursor:pointer; opacity:.4; transition:opacity .5s var(--e), transform .5s var(--e);
}
.wg2-ch .ch-num{ display:block; font-family:"Poppins",var(--sans); font-weight:700; font-size:.82rem; letter-spacing:.02em; color:#8A94A2; margin-bottom:3px; transition:color .5s var(--e), font-size .5s var(--e); }
.wg2-ch .ch-name{ display:block; font-size:1.12rem; font-weight:600; letter-spacing:-.01em; color:#5b6472; transition:color .5s var(--e), font-size .5s var(--e); }
.wg2-ch.next{ opacity:.58; }
.wg2-ch.past{ opacity:.72; }
.wg2-ch.past .ch-num{ color:#5b6472; }
.wg2-ch.past .ch-name{ color:#3a4351; }
.wg2-ch.active{ opacity:1; transform:translateY(-50%) translateX(8px); }
.wg2-ch.active .ch-num{ color:#163D68; font-size:1.02rem; }
.wg2-ch.active .ch-name{ color:#14243c; font-size:1.8rem; }

/* Rechte Zone: eine Szene = Text + großes, angeschnittenes Dokument (gehören zusammen) */
.wg2-right{ position:relative; height:100vh; }
.wg2-scene{ position:absolute; inset:0; display:grid; grid-template-columns:minmax(0,1fr) 42%; align-items:center; gap:46px; pointer-events:none; }
.wg2-scene.active{ pointer-events:auto; }
.wg2-scene-k{ display:block; font-family:"Poppins",var(--sans); font-weight:700; font-size:.82rem; color:#A9B2BD; margin-bottom:16px; }

/* Text: kontrolliert ein-/ausblenden */
.wg2-txt{ opacity:0; transform:translateY(20px); filter:blur(2px); transition:opacity .5s var(--e), transform .5s var(--e), filter .5s var(--e); }
.wg2-scene.active .wg2-txt{ opacity:1; transform:none; filter:blur(0); }
.wg2-scene.past .wg2-txt{ opacity:0; transform:translateY(-14px); filter:blur(2px); transition:opacity .3s var(--e), transform .3s var(--e), filter .3s var(--e); }
.wg2-txt h3{ font-size:clamp(1.9rem,2.9vw,2.7rem); letter-spacing:-.03em; line-height:1.06; color:#14243c; margin-bottom:16px; max-width:100%; overflow-wrap:break-word; }
.wg2-lead{ font-size:1.08rem; color:#5b616a; line-height:1.55; max-width:42ch; margin-bottom:22px; }

/* Zeit/Kosten/Format als ruhige Badges */
.wg2-badges{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; }
.wg2-badge{ display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:999px;
  background:#eef1f6; font-size:.86rem; font-weight:600; color:#243a57; letter-spacing:-.005em; }
.wg2-badge svg{ width:16px; height:16px; fill:none; stroke:#2A61C4; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

/* „Sie erhalten" — verkaufende Deliverables mit Häkchen */
.wg2-get-h{ display:block; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#9aa0a8; margin-bottom:14px; }
.wg2-get ul{ list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:11px 26px; margin:0; }
.wg2-get li{ display:flex; align-items:flex-start; gap:10px; font-size:1rem; font-weight:500; color:#1f2d40; line-height:1.35;
  opacity:0; transform:translateY(8px); transition:opacity .45s var(--e), transform .45s var(--e); }
.wg2-scene.active .wg2-get li{ opacity:1; transform:none; }
.wg2-scene.active .wg2-get li:nth-child(1){ transition-delay:.14s; }
.wg2-scene.active .wg2-get li:nth-child(2){ transition-delay:.24s; }
.wg2-scene.active .wg2-get li:nth-child(3){ transition-delay:.34s; }
.wg2-scene.active .wg2-get li:nth-child(4){ transition-delay:.44s; }
.wg2-get-ck{ flex:0 0 auto; width:20px; height:20px; margin-top:1px; border-radius:50%; background:rgba(42,97,196,.1);
  display:inline-flex; align-items:center; justify-content:center; }
.wg2-get-ck svg{ width:12px; height:12px; fill:none; stroke:#2A61C4; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.wg2-cta{ margin-top:26px; }

/* Fortschritts-Punkte in der linken Schiene (auf der Linie) */
.wg2-ch .ch-dot{ position:absolute; left:-42px; top:9px; width:15px; height:15px; border-radius:50%;
  background:#fff; border:2px solid #cfd6df; box-sizing:border-box;
  transition:border-color .4s var(--e), background .4s var(--e), box-shadow .4s var(--e); }
.wg2-ch .ch-dot::after{ content:""; position:absolute; inset:0; margin:auto; width:5px; height:8px;
  border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(40deg) translateY(-1px);
  opacity:0; transition:opacity .3s var(--e); }
.wg2-ch.past .ch-dot{ border-color:#163D68; background:#163D68; }
.wg2-ch.past .ch-dot::after{ opacity:1; }
.wg2-ch.active .ch-dot{ border-color:#163D68; background:#163D68; box-shadow:0 0 0 5px rgba(22,61,104,.12); }

/* Status-Stempel auf der Akte */
.wg2-stamp{ position:absolute; top:-12px; right:-8px; z-index:3;
  font-family:"Poppins",var(--sans); font-size:.64rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:#2A61C4; padding:6px 11px; border:1.5px solid rgba(42,97,196,.45); border-radius:5px;
  transform:rotate(-6deg) scale(.9); background:#fff; box-shadow:0 6px 16px -10px rgba(21,42,66,.5);
  opacity:0; transition:opacity .45s var(--e) .25s, transform .45s var(--e) .25s; }
.wg2-scene.active .wg2-stamp{ opacity:1; transform:rotate(-6deg) scale(1); }

/* Dokument: groß, rechts angeschnitten, kaum Schatten, echte A4-Proportion, kein Papierstapel */
/* Ein einziges Dokumentblatt (kein Stapel), warm-weiß, kaum Schatten, komplett sichtbar.
   Größe robust über Breite + Viewport begrenzt (nicht über %-Höhe → sonst zu groß). */
.wg2-doc{ position:relative; justify-self:end; align-self:center;
  width:min(100%, 410px); max-height:74vh; aspect-ratio:210/297; transform:translateX(0); }
.wg2-doc-inner{
  position:relative; height:100%; overflow:hidden;
  display:flex; flex-direction:column;
  background:#FCFCFA; border:1px solid #E7EBF0; border-radius:2px;
  box-shadow:0 12px 34px -28px rgba(15,39,68,.4);
  padding:30px 34px;
  /* Emil: blur-maskierter Crossfade statt hartem clip-path-Wisch → flüssiger */
  opacity:0; transform:translateY(16px) scale(.985); filter:blur(3px);
  transition:opacity .5s var(--e), transform .5s var(--e), filter .5s var(--e);
}
.wg2-scene.active .wg2-doc-inner{ opacity:1; transform:none; filter:blur(0); }
.wg2-scene.past .wg2-doc-inner{ transform:translateY(-14px) scale(.985); transition-duration:.32s; }

/* ---- Redaktionelle Dokumentseite (wie ein echter Businessplan-Auszug) ---- */
.doc-report{ display:flex; flex-direction:column; height:100%; }
.dr-head{ display:flex; align-items:baseline; justify-content:space-between; padding-bottom:13px; border-bottom:1px solid #E7EBF0; }
.dr-brand{ font-family:"Poppins",var(--sans); font-weight:700; font-size:1rem; color:#132A5C; }
.dr-brand b{ color:#2A61C4; }
.dr-page{ font-size:.64rem; letter-spacing:.06em; text-transform:uppercase; color:#a7adb5; font-variant-numeric:tabular-nums; }
.dr-title{ font-size:1.32rem; letter-spacing:-.02em; color:#0F2744; margin:12px 0 10px; }
.dr-sec{ margin-bottom:7px; }
.dr-k{ display:block; font-size:.58rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:#8A93A0; margin-bottom:3px; }
.dr-sec p{ font-size:.8rem; line-height:1.38; color:#3C4450; max-width:46ch; }
.dr-figs{ display:grid; margin:2px 0 5px; }
.dr-fig{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:6px 0; border-bottom:1px solid #EEF1F5; font-size:.82rem; }
.dr-fig span{ color:#5b616a; } .dr-fig b{ color:#0F2744; font-weight:600; font-variant-numeric:tabular-nums; }
.dr-fig.sum{ border-top:1.5px solid #0F2744; border-bottom:none; margin-top:2px; padding-top:8px; }
.dr-fig.sum span, .dr-fig.sum b{ color:#0F2744; font-weight:700; }
.dr-box{ margin:5px 0 10px; padding:11px 15px; background:#F4F7FB; border-left:3px solid #163D68; border-radius:0 4px 4px 0; }
.dr-box .dr-k{ color:#163D68; }
.dr-box p{ font-size:.8rem; line-height:1.38; color:#2A303A; }
.dr-list{ list-style:none; margin:2px 0 0; padding:0; }
.dr-list li{ position:relative; padding-left:15px; font-size:.8rem; line-height:1.55; color:#3C4450; }
.dr-list li::before{ content:""; position:absolute; left:0; top:.62em; width:4px; height:4px; border-radius:50%; background:#163D68; }
.dr-bars{ display:flex; align-items:flex-end; gap:11px; height:38px; margin:6px 0 2px; }
.dr-bars i{ flex:1; background:linear-gradient(#1D3B5C,#5b7ba6); border-radius:3px 3px 0 0; min-height:5px; }
.dr-foot{ margin-top:auto; padding-top:11px; border-top:1px solid #E7EBF0; font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:#a7adb5; }
/* Weg / roter Faden (Seite 1) */
.dr-thread{ list-style:none; position:relative; margin:8px 0 0; padding:0 0 0 24px; }
.dr-thread::before{ content:""; position:absolute; left:5px; top:6px; bottom:16px; width:2px; background:linear-gradient(#163D68,#c7d2e0); border-radius:2px; }
.dr-node{ position:relative; padding:0 0 16px; }
.dr-node::before{ content:""; position:absolute; left:-24px; top:3px; width:9px; height:9px; border-radius:50%; background:#fff; border:2px solid #163D68; }
.dr-node.dr-goal::before{ background:#163D68; box-shadow:0 0 0 3px rgba(22,61,104,.16); }
.dr-node-t{ display:block; font-size:.92rem; font-weight:600; color:#14243c; }
.dr-node-d{ display:block; font-size:.78rem; color:#6D737C; line-height:1.4; margin-top:1px; }
/* Businessplan-Gliederung (Seite 3) */
.dr-toc{ list-style:none; margin:4px 0 0; padding:0; }
.dr-toc li{ display:flex; align-items:baseline; gap:12px; padding:5.5px 0; border-bottom:1px solid #EEF1F5; font-size:.84rem; }
.dr-toc-n{ font-family:"Poppins",var(--sans); font-weight:700; font-size:.7rem; color:#A9B2BD; min-width:18px; }
.dr-toc-t{ flex:1; color:#2A303A; }
.dr-toc-p{ color:#a7adb5; font-variant-numeric:tabular-nums; font-size:.76rem; }
/* Kreditvertrag-Unterschriften (Seite 4) */
.dr-sign{ display:flex; gap:24px; margin-top:18px; }
.dr-sign-line{ flex:1; padding-top:8px; border-top:1px solid #C7CED6; font-size:.66rem; letter-spacing:.06em; text-transform:uppercase; color:#9aa0a8; }
/* Deckblatt (letzter Schritt) */
.dr-cover-body{ flex:1; display:flex; flex-direction:column; justify-content:center; }
.dr-cover-eyebrow{ display:block; font-size:.66rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:#9aa0a8; margin-bottom:12px; }
.dr-cover-title{ display:block; font-size:2rem; font-weight:700; letter-spacing:-.02em; color:#0F2744; line-height:1; margin-bottom:8px; }
.dr-cover-sub{ display:block; font-size:.95rem; color:#6D737C; }
.dr-stamp{ align-self:flex-start; margin:20px 0 4px; font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#163D68; border:1.5px solid #163D68; border-radius:5px; padding:6px 12px; transform:rotate(-2deg); }
.d-top{ display:flex; align-items:baseline; justify-content:space-between; padding-bottom:14px; border-bottom:1px solid #EEF1F5; }
.d-mark{ font-family:"Poppins",var(--sans); font-weight:700; font-size:.95rem; color:#132A5C; }
.d-mark b{ color:#2A61C4; }
.d-ref{ font-size:.66rem; letter-spacing:.04em; color:#a7adb5; font-variant-numeric:tabular-nums; }
.d-tag{ position:absolute; top:30px; right:32px; font-size:.6rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#b7bdc6; }
.d-h{ font-size:1.15rem; letter-spacing:-.01em; color:#0F2744; margin:18px 0 14px; }
.d-sub{ display:block; font-size:.66rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#9aa0a8; margin:20px 0 8px; }
.d-tbl{ display:grid; }
.d-r{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid #EEF1F5; font-size:.92rem; }
.d-r span{ color:#5b616a; } .d-r b{ color:#0F2744; font-weight:600; font-variant-numeric:tabular-nums; }
.d-r b + b{ min-width:70px; text-align:right; }
.d-rh span, .d-rh b{ font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; color:#a7adb5; font-weight:600; }
.d-sum{ border-top:1.5px solid #0F2744; border-bottom:none; margin-top:2px; padding-top:11px; }
.d-sum span{ color:#0F2744; font-weight:600; }
.d-st{ font-size:.82rem; font-weight:600; color:#6D737C; }
.d-st.ok{ color:#1f9d55; }
.d-bars{ display:flex; align-items:flex-end; gap:12px; height:56px; margin-top:16px; }
.d-bars i{ flex:1; background:linear-gradient(#1D3B5C,#4a6a92); border-radius:4px 4px 0 0; min-height:6px; }
.d-note{ margin-top:14px; font-size:.86rem; font-style:italic; color:#8a8f98; border-left:2px solid #DDE2E8; padding-left:12px; }
.d-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:16px; border-top:1px solid #EEF1F5; }
.d-foot span{ font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; color:#a7adb5; }
.d-stamp{ color:#c58a2e !important; border:1.5px solid #d7a856; border-radius:5px; padding:3px 9px; transform:rotate(-4deg); font-weight:700; }
/* Abschluss-Cover */
.wg2-doc.is-cover .sheet.s1, .wg2-doc.is-cover .sheet.s2{ background:#f4f6f9; }
.d-cover{ display:flex; flex-direction:column; flex:1; min-height:0; }
.d-cover-t{ font-size:1.7rem; font-weight:700; letter-spacing:-.02em; color:#0F2744; margin:40px 0 6px; }
.d-cover-s{ font-size:1rem; color:#6D737C; }
.d-cover-vol{ margin-top:34px; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:#9aa0a8; display:flex; flex-direction:column; gap:6px; }
.d-cover-vol b{ font-size:1.5rem; letter-spacing:-.01em; color:#0F2744; }
.d-cover-stamp{ margin-top:auto; align-self:flex-start; font-size:.74rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#1f9d55; border:2px solid #1f9d55; border-radius:6px; padding:7px 13px; transform:rotate(-3deg); }

@media (max-width:900px){
  .pc-inner{ grid-template-columns:1fr; }
  .pc-side{ border-left:none; border-top:1px solid #DDE2E8; }
  .pc-main{ padding:34px 28px; } .pc-side{ padding:30px 28px; }
  /* Roadmap mobil: kein Sticky/Track, Linie aus, Kapitel als Reihe, aktive Szene darunter */
  .wg2-head{ padding:0 22px; }
  .wg2-track{ height:auto !important; }
  .wg2-stage{ position:static; height:auto; display:block; padding:0 22px; }
  .wg2-rail{ height:auto; min-height:0; padding-left:0; margin:24px 0 22px; }
  .wg2-rail::before, .wg2-fill{ display:none; }
  .wg2-chapters{ position:static; height:auto; display:flex; flex-wrap:wrap; gap:10px 18px; }
  .wg2-ch{ position:static; transform:none; opacity:1; padding-left:0; max-width:none; }
  .wg2-ch.active{ transform:none; }
  .wg2-ch.active .ch-num{ font-size:.82rem; }
  .wg2-ch.active .ch-name{ font-size:1.15rem; }
  .wg2-ch .ch-dot{ display:none; }
  .wg2-right{ position:relative; height:auto; }
  .wg2-scene{ position:relative; inset:auto; display:none; grid-template-columns:1fr; gap:26px; }
  .wg2-scene.active{ display:grid; }
  .wg2-txt{ opacity:1; transform:none; }
  .wg2-get ul{ grid-template-columns:1fr; }
  .wg2-scene.active .wg2-get li{ transition-delay:0s !important; }
  .wg2-doc{ justify-self:start; height:auto; aspect-ratio:auto; transform:none; width:100%; max-width:360px; }
  .wg2-doc-inner{ opacity:1; transform:none; filter:none; height:auto; min-height:380px; }
}

@media (max-width:900px){
  .uc-panels{ flex-direction:column; height:auto; gap:12px; }
  .uc-panel{ flex:none; border-radius:20px; min-height:120px; }
  .uc-panel.active{ flex-grow:0; }
  .uc-panel:not(.active) .uc-body{ opacity:0; }
  .uc-panel.active .uc-body{ position:static; }
  .uc-vert{ position:static; writing-mode:horizontal-tb; transform:none; display:block;
            padding:26px; text-align:left; opacity:1; }
  .uc-panel.active .uc-vert{ display:none; }
  .uc-body{ position:static; padding:26px 26px 30px; }
  .uc-num{ top:24px; left:26px; }
  .uc-detail-inner{ grid-template-columns:1fr; gap:28px; padding:32px 26px; }
}

/* ===================================================================
   WARUM ES FUNKTIONIERT — Autorität + Vorher/Nachher
   =================================================================== */
.why{ padding:120px 0 130px; }
.transform{
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px;
  max-width:1000px; margin:0 auto 70px;
}
.tf-card{ border-radius:22px; padding:34px 34px; }
.tf-tag{ display:inline-block; font-size:.78rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; margin-bottom:20px; }
.tf-card ul{ list-style:none; display:grid; gap:16px; }
.tf-card li{ display:flex; gap:13px; align-items:flex-start; font-size:1.04rem; line-height:1.45; }
.tf-x, .tf-c{ width:24px; height:24px; border-radius:50%; flex-shrink:0; margin-top:1px; display:flex; align-items:center; justify-content:center; }
.tf-x svg, .tf-c svg{ width:14px; height:14px; }
.tf-x svg path{ fill:none; stroke:#fff; stroke-width:2.4; stroke-linecap:round; }
.tf-c svg path{ fill:none; stroke:#fff; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
/* Vorher: gedämpft */
.tf-before{ background:var(--bg-soft); border:1px solid var(--hair); }
.tf-before .tf-tag{ color:#9a9ca1; }
.tf-before li{ color:#6e7075; }
.tf-x{ background:#c2c5cb; }
/* Nachher: hochwertig navy */
.tf-after{ background:linear-gradient(160deg,#1C3654,#0E1F35); border:1px solid rgba(42,97,196,.3); box-shadow:0 40px 80px -40px rgba(14,31,53,.6); }
.tf-after .tf-tag{ color:#8fb0e6; }
.tf-after li{ color:#eaf0f8; }
.tf-c{ background:#1f9d55; }
.tf-arrow svg{ width:44px; height:26px; }
.tf-arrow svg path{ fill:none; stroke:#2A61C4; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

.why-points{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; max-width:1140px; margin:0 auto; }
.wp-item{ }
.wp-ico{ width:52px; height:52px; border-radius:14px; background:var(--green-soft); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.wp-ico svg{ width:26px; height:26px; }
.wp-ico svg path{ fill:none; stroke:var(--green); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.wp-item h3{ font-size:1.16rem; letter-spacing:-.01em; margin-bottom:9px; color:var(--ink); }
.wp-item p{ font-size:1rem; color:var(--muted); line-height:1.58; }

@media (max-width:860px){
  .transform{ grid-template-columns:1fr; gap:16px; margin-bottom:50px; }
  .tf-arrow{ transform:rotate(90deg); justify-self:center; }
  .why-points{ grid-template-columns:1fr 1fr; gap:30px 24px; }
}
@media (max-width:520px){ .why-points{ grid-template-columns:1fr; } }

/* ===================================================================
   FAIL — Warum Finanzierungen scheitern (horizontale Story-Timeline)
   =================================================================== */
/* Einrastende Bühne über position:sticky (verträgt sich mit den anderen Sticky-Sektionen).
   Der hohe Track erzeugt die Scrollstrecke, die Bühne bleibt darin stehen. */
.fail{ padding:0; }
.fail-track{ position:relative; height:230vh; }
.fail-stage{ position:sticky; top:var(--navh, 66px); height:calc(100svh - var(--navh, 66px));
  display:grid; align-content:center; }
.fail-head{ max-width:760px; margin-bottom:64px; }
.fail-sub{ font-size:1.28rem !important; font-weight:600; color:var(--ink) !important; letter-spacing:-.02em; margin-top:2px; }
.fail-intro{ font-size:1.06rem !important; color:var(--muted) !important; max-width:52ch; margin:20px auto 0; font-style:italic; }

.fail-timeline{ position:relative; margin-top:12px; }
.fail-line{
  position:absolute; left:0; right:calc((100% - 68px)/3); top:19px; height:2px;
  background:rgba(22,61,104,.18); border-radius:2px; overflow:hidden;
}
.fail-line-fill{
  display:block; height:100%; width:100%;
  background:linear-gradient(90deg, var(--green), #3A6390 70%, #7C9DC4);
  transform:scaleX(0); transform-origin:left center;
  transition:transform .12s linear;
}

.fail-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:34px; position:relative; }
.fail-step{
  position:relative; text-align:left; background:none; border:0; cursor:default;
  padding:44px 8px 0 0; font:inherit; color:inherit; pointer-events:none;
}
/* Punkt: vor Aktivierung nur feine Kontur (opacity .35), aktiv gefüllt + Ring, abgeschlossen ruhig */
.fail-node{
  position:absolute; top:12px; left:0; width:15px; height:15px; border-radius:50%;
  background:#fff; border:2px solid rgba(29,29,31,.22); opacity:.35; transform:scale(.75);
  transition:transform .4s cubic-bezier(.22,1,.36,1), opacity .3s var(--e), border-color .3s var(--e), background .3s var(--e), box-shadow .3s var(--e);
}
.fail-step.is-active .fail-node{ border-color:var(--green); background:var(--green); opacity:1; transform:scale(1); box-shadow:0 0 0 6px var(--green-soft); }
.fail-step.is-done .fail-node{ border-color:var(--green); background:var(--green); opacity:.75; transform:scale(.9); box-shadow:none; }
/* Nummer / Überschrift / Beschreibung: vor Aktivierung unsichtbar, dann gestaffelt herein */
.fail-num{
  display:block; font-size:.92rem; font-weight:600; color:var(--muted);
  font-variant-numeric:tabular-nums; letter-spacing:.02em; margin-bottom:12px;
  opacity:0; transform:translateY(12px);
  transition:opacity .35s cubic-bezier(.22,1,.36,1), transform .35s cubic-bezier(.22,1,.36,1), color .3s var(--e);
}
.fail-title{ display:block; font-size:1.32rem; font-weight:600; letter-spacing:-.02em; line-height:1.14; color:var(--ink); margin-bottom:10px;
  opacity:0; transform:translateY(18px);
  transition:opacity .5s cubic-bezier(.22,1,.36,1) .06s, transform .5s cubic-bezier(.22,1,.36,1) .06s; }
.fail-teaser{ display:block; font-size:1rem; line-height:1.55; color:var(--muted); max-width:32ch;
  opacity:0; transform:translateY(18px);
  transition:opacity .5s cubic-bezier(.22,1,.36,1) .12s, transform .5s cubic-bezier(.22,1,.36,1) .12s; }
.fail-step.is-active .fail-num, .fail-step.is-done .fail-num{ opacity:1; transform:none; }
.fail-step.is-active .fail-title, .fail-step.is-done .fail-title{ opacity:1; transform:none; }
.fail-step.is-active .fail-teaser, .fail-step.is-done .fail-teaser{ opacity:1; transform:none; }
.fail-step.is-active .fail-num, .fail-step.is-done .fail-num{ color:var(--green); }
.fail-step.is-done .fail-num, .fail-step.is-done .fail-title, .fail-step.is-done .fail-teaser{ opacity:.55; }
/* Kurze Linie unter dem aktiven Schritt */
.fail-step::after{
  content:""; display:block; height:2px; width:38px; margin-top:18px;
  background:var(--green); transform:scaleX(0); transform-origin:left center;
  transition:transform .3s cubic-bezier(.22,1,.36,1);
}
.fail-step.is-active::after{ transform:scaleX(1); }

@media (prefers-reduced-motion: reduce){
  .fail-track{ height:auto; }
  .fail-stage{ position:static; height:auto; display:block; }
  .fail-line-fill{ transition:none; transform:scaleX(1); }
  .fail-num,.fail-title,.fail-teaser{ transition:none; opacity:1; transform:none; }
  .fail-node{ transition:none; transform:scale(1); opacity:1; }
  .fail-step::after{ transition:none; transform:scaleX(1); }
}

/* Detailpanel (weicher Austausch beim Klick) */
@media(max-width:760px){
  .fail{ padding:88px 0 30px; }
  .fail-track{ height:auto; }
  .fail-stage{ position:static; height:auto; display:block; }
  .fail-head{ margin-bottom:48px; }
  .fail-line{ display:none; }
  .fail-steps{ grid-template-columns:1fr; gap:0; }
  .fail-step{ opacity:1 !important; transform:none !important; padding:26px 0 26px 26px; border-top:1px solid var(--hair); }
  .fail-steps .fail-step:first-child{ border-top:0; }
  .fail-node{ top:30px; }
}

/* ===================================================================
   PRACTICE — Aus der Bankpraxis (echte Fragen / Vorbereitung)
   =================================================================== */
.practice{ padding:40px 0 118px; }
.practice-inner{ max-width:1280px; margin:0 auto; padding:0 40px; }
.practice-grid{ display:grid; grid-template-columns:48% 52%; gap:60px; align-items:center; }
/* Ohne Foto: einspaltig, lesbar begrenzt und mittig — sonst klebt der Text links
   und rechts bleibt die halbe Fläche leer. */
.practice-grid--nofoto{ grid-template-columns:1fr; max-width:760px; margin-left:auto; margin-right:auto; }
.practice-photo{ margin:0; }
.practice-photo-ph{
  aspect-ratio:4/5; border-radius:14px; background:linear-gradient(158deg,#ece9e4,#f4f2ef);
  border:1px solid var(--hair); display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:16px; text-align:center; padding:32px;
}
.practice-photo-ph svg{ width:38px; height:38px; fill:none; stroke:rgba(29,29,31,.32); stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.practice-photo-ph span{ font-size:.98rem; color:var(--muted); max-width:22ch; line-height:1.45; }

.practice-copy .eyebrow{ margin-bottom:14px; }
.practice-h{ font-size:clamp(1.7rem,2.7vw,2.3rem); letter-spacing:-.025em; line-height:1.14; margin-bottom:16px; }
.practice-q{ list-style:none; display:flex; flex-direction:column; margin-bottom:30px; }
.practice-intro{ font-size:1.06rem; color:var(--muted); line-height:1.6; font-style:italic; max-width:52ch; margin-bottom:30px; }
.practice-q li{
  display:grid; grid-template-columns:auto 1fr; column-gap:16px; row-gap:7px; align-items:start;
  padding:16px 0; border-top:1px solid var(--hair);
  opacity:0; transform:translateY(10px);
  transition:opacity .5s var(--e), transform .5s var(--e);
}
.practice-q li:last-child{ border-bottom:1px solid var(--hair); }
.practice-q.in li{ opacity:1; transform:none; }
.practice-q.in li:nth-child(1){ transition-delay:0s; }
.practice-q.in li:nth-child(2){ transition-delay:.1s; }
.practice-q.in li:nth-child(3){ transition-delay:.2s; }
.practice-q.in li:nth-child(4){ transition-delay:.3s; }
.practice-q.in li:nth-child(5){ transition-delay:.4s; }
.practice-q.in li:nth-child(6){ transition-delay:.5s; }
.pq-check{
  grid-column:1; grid-row:1; margin-top:8px;
  width:15px; height:9px;
  border-left:2.2px solid var(--green); border-bottom:2.2px solid var(--green);
  transform:rotate(-45deg);
}
.pq-text{ grid-column:2; grid-row:1; font-size:1.04rem; font-weight:600; letter-spacing:-.01em; line-height:1.42; color:var(--ink); }
.pq-flag{
  grid-column:2; grid-row:2; justify-self:start;
  display:inline-flex; align-items:center; gap:8px;
  font-size:.8rem; font-weight:600; letter-spacing:.02em; color:var(--green);
}
.pq-flag::before{ content:""; width:14px; height:1px; background:var(--green); opacity:.5; }
.practice-text{ font-size:1.04rem; color:var(--muted); line-height:1.62; max-width:54ch; margin:34px 0 24px; }
.practice-text b{ color:var(--ink); font-weight:600; }
.practice-close{ font-size:clamp(1.3rem,2vw,1.55rem); font-weight:600; letter-spacing:-.02em; line-height:1.28; color:var(--ink); max-width:30ch; }

@media(max-width:860px){
  .practice{ padding:30px 0 88px; }
  .practice-inner{ padding:0 22px; }
  .practice-grid{ grid-template-columns:1fr; gap:34px; }
  .practice-photo-ph{ aspect-ratio:3/2; }
  .practice-q li{ column-gap:12px; padding:14px 0; }
}

/* ===================================================================
   LEISTUNGEN — editoriale Zeilen mit Dokument-Previews
   =================================================================== */
.services{ padding:120px 0 130px; }
.svc-head{ max-width:760px; margin:0 auto 84px; padding:0 24px; text-align:center; }
.svc-head h2{ font-size:clamp(2rem,3.6vw,3.1rem); letter-spacing:-.03em; line-height:1.04; margin:0 0 20px; }
.svc-sub{ font-size:1.14rem; color:var(--muted); line-height:1.6; }

.svc-rows{ max-width:1240px; margin:0 auto; padding:0 40px; }
.svc-row{ position:relative; display:grid; grid-template-columns:35% 65%; gap:56px; align-items:center;
  padding:52px 0; border-top:1px solid var(--hair); }
.svc-row:first-child{ border-top:0; }
/* dünne Navy-Linie, die beim Hover von links wächst */
.svc-row::before{ content:""; position:absolute; top:-1px; left:0; height:2px; width:0; background:#183A63;
  transition:width .4s cubic-bezier(.22,1,.36,1); }
.svc-row:hover::before{ width:56px; }
.svc-row:first-child::before{ display:none; }

.svc-cat{ display:block; font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#9aa0a8; margin-bottom:14px; }
.svc-title{ font-size:clamp(1.7rem,2.5vw,2.3rem); font-weight:700; letter-spacing:-.02em; line-height:1.05; color:#14243c; margin-bottom:16px; }
.svc-desc{ font-size:1.04rem; color:#5b616a; line-height:1.6; max-width:38ch; }

/* Dokument-Preview (Papier) */
.svc-doc{ justify-self:end; width:100%; max-width:560px; }
.svc-paper{ position:relative; background:#FCFBF8; border:1px solid #DDE3EA; border-radius:14px; padding:26px 30px;
  box-shadow:0 14px 34px -22px rgba(15,39,68,.16); transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s cubic-bezier(.22,1,.36,1); }
.svc-row:hover .svc-paper{ transform:translateY(-8px); box-shadow:0 26px 54px -28px rgba(15,39,68,.28); }
.sp-head, .sp-foot{ display:flex; align-items:baseline; justify-content:space-between; gap:14px;
  font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#5b6472; }
.sp-head{ padding-bottom:13px; border-bottom:1.5px solid #183A63; margin-bottom:18px; }
.sp-foot{ margin-top:18px; padding-top:12px; border-top:1px solid #EAEDF1; font-size:.64rem; color:#a7adb5; font-weight:600; }
.sp-meta{ color:#a7adb5; font-weight:600; letter-spacing:.05em; font-variant-numeric:tabular-nums; }

/* 01 — Businessplan (Titelseite + Inhaltsverzeichnis) */
.sp-cover-body{ padding:6px 0 4px; }
.sp-eyebrow{ display:block; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#2A61C4; margin-bottom:8px; }
.sp-cover-title{ font-size:1.7rem; font-weight:700; letter-spacing:-.02em; color:#14243c; margin-bottom:20px; }
.sp-toc{ list-style:none; display:flex; flex-direction:column; gap:11px; margin:0; }
.sp-toc li{ display:flex; align-items:baseline; gap:14px; font-size:1rem; color:#33404f; border-bottom:1px dotted #dfe3e9; padding-bottom:9px; }
.sp-toc li:last-child{ border-bottom:0; }
.sp-toc li span{ font-size:.78rem; font-weight:700; color:#a7adb5; font-variant-numeric:tabular-nums; }
.sp-toc li b{ margin-left:auto; font-weight:600; color:#8a9098; font-variant-numeric:tabular-nums; }

/* 02 — Finanzplanung (Diagramm + Tabelle) */
.sp-fin-body{ display:grid; grid-template-columns:auto 1fr; gap:30px; align-items:end; }
.sp-chart-cap{ display:block; font-size:.66rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#9aa0a8; margin-bottom:14px; }
.sp-bars{ display:flex; align-items:flex-end; gap:9px; height:96px; }
.sp-bars i{ width:16px; height:var(--h); border-radius:3px 3px 0 0; background:linear-gradient(180deg,#3A6390,#163D68); }
.sp-table{ width:100%; border-collapse:collapse; font-size:.9rem; }
.sp-table td{ padding:7px 0; border-bottom:1px solid #EDEFF2; color:#5b6472; }
.sp-table td:last-child{ text-align:right; font-weight:600; font-variant-numeric:tabular-nums; }
.sp-table td.pos{ color:#163D68; } .sp-table td.neg{ color:#9aa0a8; }
.sp-table tr.sum td{ border-top:1.5px solid #d7dde5; border-bottom:0; font-weight:700; padding-top:8px; }

/* 03 — Fördermittel (Flow + Struktur) */
.sp-flow{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:20px; }
.sp-node{ font-size:.86rem; font-weight:600; color:#14243c; background:#eef1f6; border-radius:8px; padding:7px 12px; white-space:nowrap; }
.sp-arrow{ color:#8a9098; font-size:1rem; }
.sp-struct-cap{ display:block; font-size:.66rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#9aa0a8; margin-bottom:10px; }
.sp-struct-row{ display:flex; justify-content:space-between; align-items:baseline; padding:8px 0; border-bottom:1px solid #EDEFF2; font-size:.98rem; color:#33404f; }
.sp-struct-row:last-child{ border-bottom:0; }
.sp-struct-row b{ color:#14243c; font-weight:700; font-variant-numeric:tabular-nums; }

/* 04 — Banktermin (Notizen) */
.sp-notes-list{ list-style:none; display:flex; flex-direction:column; gap:0; margin:0; }
.sp-notes-list li{ position:relative; padding:11px 0 11px 28px; border-bottom:1px solid #EDEFF2; font-size:1rem; color:#243244; font-weight:500; }
.sp-notes-list li:last-child{ border-bottom:0; }
.sp-notes-list li::before{ content:""; position:absolute; left:2px; top:16px; width:13px; height:8px;
  border-left:2px solid #2A61C4; border-bottom:2px solid #2A61C4; transform:rotate(-45deg); }

/* 05 — Begleitung (Projektstatus + Timeline) */
.sp-timeline{ list-style:none; display:flex; flex-direction:column; gap:0; margin:0 0 18px; position:relative; }
.sp-timeline li{ position:relative; padding:9px 0 9px 26px; font-size:1rem; color:#8a9098; }
.sp-timeline li .sp-dot{ position:absolute; left:0; top:14px; width:12px; height:12px; border-radius:50%; background:#fff; border:2px solid #cfd6df; box-sizing:border-box; }
.sp-timeline li::after{ content:""; position:absolute; left:5px; top:22px; bottom:-3px; width:2px; background:#e6e9ee; }
.sp-timeline li:last-child::after{ display:none; }
.sp-timeline li.done{ color:#243244; } .sp-timeline li.done .sp-dot{ background:#163D68; border-color:#163D68; }
.sp-timeline li.active{ color:#14243c; font-weight:600; } .sp-timeline li.active .sp-dot{ background:#163D68; border-color:#163D68; box-shadow:0 0 0 5px rgba(22,61,104,.12); }
.sp-progress{ height:6px; border-radius:6px; background:#e9ecf1; overflow:hidden; }
.sp-progress span{ display:block; height:100%; border-radius:6px; background:linear-gradient(90deg,#3A6390,#163D68); }

@media (max-width:860px){
  .services{ padding:80px 0 90px; }
  .svc-head{ margin-bottom:52px; }
  .svc-rows{ padding:0 22px; }
  .svc-row{ grid-template-columns:1fr; gap:26px; padding:40px 0; }
  .svc-doc{ justify-self:stretch; max-width:none; }
  .svc-row:hover .svc-paper{ transform:none; }
  .sp-fin-body{ grid-template-columns:1fr; gap:20px; align-items:stretch; }
}

/* ===================================================================
   BENTO — Was Sie bekommen
   =================================================================== */
.bento{ padding:130px 0; }
.bento-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:18px; }
.b-tile{
  background:var(--bg-soft); border-radius:var(--r); padding:38px 36px;
  display:flex; flex-direction:column; justify-content:flex-end; min-height:240px;
  position:relative; overflow:hidden;
  transition:transform .25s var(--e), box-shadow .25s var(--e);
}
.b-tile:hover{ transform:translateY(-4px); box-shadow:0 24px 48px -28px rgba(29,29,31,.22); }
.b-tile.span3{ grid-column:span 3; }
.b-tile.span2{ grid-column:span 2; }
.b-tile.span4{ grid-column:span 4; }
.b-tile h3{ margin-bottom:8px; font-size:1.25rem; }
.b-tile p{ color:var(--muted); font-size:.97rem; max-width:40ch; }
.b-ico{
  position:absolute; top:32px; left:34px; width:44px; height:44px; border-radius:12px;
  background:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 16px -8px rgba(29,29,31,.18);
}
.b-ico svg{ width:22px; height:22px; }
.b-ico svg path{ fill:none; stroke:var(--green); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.b-tile.dark{ background:var(--green); }
.b-tile.dark h3{ color:#fff; }
.b-tile.dark p{ color:rgba(255,255,255,.75); }
.b-tile.dark .b-ico{ background:rgba(255,255,255,.14); box-shadow:none; }
.b-tile.dark .b-ico svg path{ stroke:#fff; }

/* ===================================================================
   ABLAUF — Linie zeichnet sich beim Scrollen
   =================================================================== */
.how{ padding:40px 0 130px; }
.how-wrap{ display:grid; grid-template-columns:56px 1fr; gap:0 34px; max-width:820px; margin:0 auto; }
.how-line{ position:relative; }
.how-line::before{ content:""; position:absolute; left:50%; top:8px; bottom:8px; width:2px; background:var(--hair); border-radius:2px; }
.how-line .fill{
  position:absolute; left:50%; top:8px; width:2px; height:0%;
  background:var(--green); border-radius:2px; transform:translateX(0);
}
.how-steps{ display:flex; flex-direction:column; gap:56px; padding:8px 0; }
.h-step{ position:relative; transition:opacity .5s var(--e), transform .5s var(--e); }
/* Dimmen nur, wenn die Scroll-Animation aktiv ist (per JS-Klasse .animate) — wie die Roadmap */
.how-steps.animate .h-step{ opacity:.4; transform:translateY(4px); }
.how-steps.animate .h-step.on{ opacity:.82; transform:none; }   /* bereits erreicht: gut lesbar */
.how-steps.animate .h-step.active{ opacity:1; }                 /* aktueller Schritt: voll da */
.h-step::before{
  content:""; position:absolute; left:-51px; top:6px; width:12px; height:12px; border-radius:50%;
  background:#fff; border:2px solid rgba(29,29,31,.18);
  transition:border-color .35s var(--e), background .35s var(--e), transform .35s var(--e), box-shadow .35s var(--e);
}
.h-step.on::before{ background:var(--green); border-color:var(--green); box-shadow:0 0 0 5px var(--green-soft); }
.h-step.active::before{ transform:scale(1.28); box-shadow:0 0 0 7px var(--green-soft); }
.h-step .tag{ font-size:.84rem; font-weight:600; color:var(--green); display:block; margin-bottom:6px; }
.h-step h3{ margin-bottom:8px; letter-spacing:-.01em; transition:color .35s var(--e); }
.h-step.active h3{ color:var(--ink, #0F2744); }
.h-step p{ color:var(--muted); max-width:56ch; }

/* ===================================================================
   ÜBER UNS — ruhige Bühne
   =================================================================== */
.about{ background:var(--bg-soft); border-radius:48px; margin:0 14px; padding:130px 0; }
.about-grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:72px; align-items:center; }
.about-photo{
  aspect-ratio:4/5; border-radius:28px; overflow:hidden; position:relative;
  background:linear-gradient(165deg,#e8e8ec,#d9d9df);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  box-shadow:0 30px 60px -30px rgba(29,29,31,.25);
}
.about-photo span{ font-size:2.6rem; font-weight:700; letter-spacing:-.02em; color:rgba(29,29,31,.22); }
.about-photo small{ font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(29,29,31,.35); }
.about-copy h2{ margin-bottom:22px; }
.about-copy p{ color:var(--muted); font-size:1.08rem; line-height:1.65; margin-bottom:18px; max-width:56ch; }
.about-copy p b{ color:var(--ink); font-weight:600; }
.about-facts{ list-style:none; display:flex; flex-direction:column; gap:14px; margin-top:30px; }
.about-facts li{ display:flex; gap:12px; align-items:flex-start; font-size:1rem; color:var(--ink); }
.about-facts svg{ width:20px; height:20px; flex-shrink:0; margin-top:3px; }
.about-facts svg path{ fill:none; stroke:var(--green); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }

/* ===================================================================
   PREISE
   =================================================================== */
.pricing{ padding:130px 0; }
.tier-grid{ display:grid; grid-template-columns:1fr 1.1fr 1fr; gap:20px; align-items:start; max-width:1140px; margin:0 auto; }
.tier{
  position:relative; background:var(--card); border:1px solid var(--hair); border-radius:16px;
  padding:32px 30px; display:flex; flex-direction:column;
  box-shadow:0 1px 2px rgba(29,29,31,.03);
  transition:transform .25s var(--e), box-shadow .25s var(--e), border-color .25s var(--e);
}
.tier:hover{ transform:translateY(-3px); box-shadow:0 24px 48px -34px rgba(29,29,31,.22); }
.tier-badge{
  align-self:flex-start; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:#fff; background:#163D68; padding:6px 13px; border-radius:100px; margin-bottom:18px;
}
.tier-name{ font-size:1.35rem; letter-spacing:-.01em; margin-bottom:6px; }
.tier-sub{ color:var(--muted); font-size:.96rem; line-height:1.5; margin-bottom:20px; }
.tier-price{ margin-bottom:16px; }
.tier-price b{ font-size:2rem; font-weight:700; letter-spacing:-.025em; font-variant-numeric:tabular-nums; display:block; color:var(--ink); }
.tier-price b.txt{ font-size:1.32rem; line-height:1.25; }
.tier-price span{ display:block; font-size:.85rem; color:var(--muted); margin-top:4px; }
.tier-fit{ font-size:.9rem; color:var(--muted); line-height:1.5; margin-bottom:18px; padding-bottom:18px; border-bottom:1px solid var(--hair); }
.tier ul{ list-style:none; display:flex; flex-direction:column; gap:14px; margin:0 0 26px; }
.tier li{ display:flex; gap:11px; align-items:flex-start; font-size:.96rem; line-height:1.45; color:var(--ink); }
.tier li svg{ width:17px; height:17px; flex-shrink:0; margin-top:3px; }
.tier li svg path{ fill:none; stroke:#163D68; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.tier .btn{ width:100%; border-radius:12px; margin-top:auto; }
/* Empfehlung: dunkelblauer Streifen oben, etwas höher, feinere Prominenz */
.tier-featured{ margin-top:-16px; padding-top:38px; overflow:hidden;
  border-color:rgba(22,61,104,.35); box-shadow:0 30px 60px -34px rgba(22,61,104,.3); }
.tier-featured::before{ content:""; position:absolute; top:0; left:0; right:0; height:6px; background:#163D68; }
.pricing-note{ text-align:center; color:var(--muted); font-size:.94rem; max-width:660px; margin:40px auto 0; line-height:1.55; }
.pricing-note b{ color:var(--ink); }

/* ===================================================================
   FALLSTUDIEN — Problem / Ziel / Lösung
   =================================================================== */
.cases{ padding:110px 0; }
/* ===== Erfolgsgeschichten: horizontaler Vorschau-Slider ===== */
.stories{ padding:0; margin-top:0; }
.stories .sect-head{ margin-bottom:0; }
/* Klare Trennung zwischen Weg-Sektion und Case-Study-Teaser */
.uc-weg::after{ content:""; display:block; max-width:1180px; margin:110px auto 0; border-top:1px solid var(--hair); }
.story-nav{ display:flex; justify-content:flex-end; gap:12px; margin:-8px 0 18px; }
.story-btn{ display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:50%;
  background:#fff; border:1px solid var(--hair); color:var(--ink); cursor:pointer;
  box-shadow:0 6px 18px -14px rgba(21,42,66,.4); transition:transform .18s var(--e), border-color .2s var(--e), opacity .2s var(--e); }
.story-btn svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.story-btn:hover{ border-color:#c7ced6; }
.story-btn:active{ transform:scale(.94); }
.story-btn[disabled]{ opacity:.35; cursor:default; }
/* Sticky-Track: vertikales Scrollen wird in horizontale Bewegung übersetzt */
.story-track{ position:relative; }
.story-sticky{ position:sticky; top:0; height:100vh; display:flex; flex-direction:column; overflow:hidden; padding-top:clamp(52px, 8vh, 100px); }
.story-rail{ display:flex; gap:28px; padding:0 max(24px, calc((100vw - 1040px)/2)); margin:auto 0; will-change:transform; }
.story-rail::after{ content:""; flex:0 0 6vw; }  /* End-Puffer: letzter Slide scrollt ein Stück weiter raus */
/* Unter dem Slider: einfacher Link zur Übersicht */
.story-more{ padding:44px 24px 92px; text-align:center; }
.story-more-link{ display:inline-flex; align-items:center; gap:10px; font-size:1.12rem; font-weight:600; color:#0F2744; text-decoration:none; padding-bottom:5px; border-bottom:2px solid transparent; transition:border-color .2s var(--e); }
.story-more-link svg{ width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .22s var(--e); }
.story-more-link:hover{ border-color:#2A61C4; }
.story-more-link:hover svg{ transform:translateX(5px); }
/* Karten-Raster (auf der Übersichtsseite) */
.story-more .sect-head-left, .sect-head-left{ text-align:left; max-width:none; margin:0 0 34px; }
.story-mini-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.story-mini{ display:flex; flex-direction:column; border:1px solid var(--hair); border-radius:16px; overflow:hidden;
  background:var(--card); text-decoration:none; color:inherit; box-shadow:0 1px 2px rgba(29,29,31,.04);
  transition:transform .25s var(--e), box-shadow .25s var(--e), border-color .25s var(--e); }
.story-mini:hover{ transform:translateY(-3px); box-shadow:0 22px 44px -32px rgba(21,42,66,.32); border-color:#dbe2ea; }
.story-mini-photo{ aspect-ratio:4/3; background:linear-gradient(150deg,#eae7df,#d8d4c9); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.story-mini-photo img{ width:100%; height:100%; object-fit:cover; }
.story-mini-photo span{ font-size:.66rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:rgba(30,40,55,.4); }
.story-mini-body{ padding:22px 22px 24px; display:flex; flex-direction:column; flex:1; }
.story-mini-cat{ font-size:.67rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:#2A61C4; margin-bottom:7px; }
.story-mini-name{ font-size:.88rem; color:var(--muted); margin-bottom:8px; }
.story-mini-head{ font-size:1.2rem; letter-spacing:-.01em; line-height:1.2; color:var(--ink); margin-bottom:auto; }
.story-mini-proof{ font-size:.92rem; font-weight:600; color:#0F2744; margin-top:18px; padding-top:14px; border-top:1px solid var(--hair); }
@media (max-width:820px){ .story-mini-grid{ grid-template-columns:1fr; max-width:420px; margin:0 auto; } .story-more{ padding:48px 22px 64px; } }
.story-rail.is-drag a{ pointer-events:none; }
.story-rail::-webkit-scrollbar{ display:none; }
.story-slide{ flex:0 0 min(84vw, 1040px);
  display:grid; grid-template-columns:1fr 1fr; overflow:hidden;
  border:1px solid var(--hair); border-radius:20px; background:var(--card);
  text-decoration:none; color:inherit;
  box-shadow:0 18px 44px -40px rgba(21,42,66,.22); transition:border-color .3s var(--e); }
.story-slide:hover{ border-color:#b9cce4; }
.story-copy{ position:relative; padding:52px 52px 46px; display:flex; flex-direction:column; }
.story-copy::after{ content:""; position:absolute; left:52px; bottom:34px; height:2px; width:0; background:#2A61C4; transition:width .4s var(--e); }
.story-slide:hover .story-copy::after{ width:56px; }
.story-label{ font-size:.76rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#2A61C4; margin-bottom:16px; }
.story-name{ font-size:1.16rem; font-weight:600; color:var(--ink); margin-bottom:10px; }
.story-head{ font-size:clamp(1.8rem,2.6vw,2.5rem); letter-spacing:-.03em; line-height:1.08; color:var(--ink); margin-bottom:18px; }
.story-intro{ font-size:1.05rem; color:var(--muted); line-height:1.6; max-width:40ch; margin-bottom:auto; }
.story-proof{ font-size:1rem; font-weight:600; color:#0F2744; margin:26px 0 16px; padding-top:18px; border-top:1px solid var(--hair); font-variant-numeric:tabular-nums; }
.story-cta{ display:inline-flex; align-items:center; gap:8px; font-size:1rem; font-weight:600; color:#0F2744; }
.story-arrow{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .25s var(--e); }
.story-slide:hover .story-arrow{ transform:translateX(5px); }
.story-photo{ position:relative; overflow:hidden; min-height:440px;
  background:linear-gradient(150deg,#eae7df,#d8d4c9); display:flex; align-items:center; justify-content:center; }
.story-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .55s var(--e); }
.story-slide:hover .story-photo img{ transform:scale(1.02); }
.story-photo-note{ font-size:.72rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:rgba(30,40,55,.42); }
@media (max-width:820px){
  .story-track{ height:auto !important; }
  .story-sticky{ position:static; height:auto; overflow:visible; }
  .story-rail{ flex-direction:column; gap:22px; padding:0 22px; transform:none !important; }
  .story-slide{ flex-basis:auto; grid-template-columns:1fr; }
  .story-photo{ min-height:260px; order:-1; }
  .story-copy{ padding:34px 30px 30px; }
  .story-copy::after{ left:30px; }
}
/* ===== Redaktioneller Erfolgsfall: keine Karte, feine Linien, große Zahl ===== */
.ef-list{ max-width:1080px; margin:8px auto 0; }
.ef{ padding:66px 0; border-top:1px solid var(--hair); }
.ef:first-child{ border-top:none; padding-top:8px; }
.ef-cat{ font-size:.78rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:#2A61C4; margin-bottom:16px; }
.ef-head{ font-size:clamp(1.9rem,3vw,2.7rem); letter-spacing:-.03em; line-height:1.08; color:var(--ink); margin-bottom:16px; }
.ef-facts{ font-size:.98rem; color:var(--muted); margin-bottom:44px; }
.ef-facts span{ color:#c7ced6; margin:0 6px; }
.ef-body{ display:grid; grid-template-columns:56% 44%; gap:60px; align-items:start; }
.ef-block{ margin-bottom:34px; }
.ef-block:last-child{ margin-bottom:0; }
.ef-k{ display:block; font-size:.76rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#9aa0a8; margin-bottom:13px; }
.ef-quote{ font-size:1.16rem; line-height:1.62; color:var(--ink); border-left:2px solid #2A61C4; padding-left:20px; max-width:48ch; }
.ef-steps{ list-style:none; display:flex; flex-direction:column; gap:22px; }
.ef-steps li{ display:flex; gap:18px; }
.ef-step-n{ flex-shrink:0; font-family:"Poppins",var(--sans); font-weight:700; font-size:1rem; color:#2A61C4; min-width:24px; padding-top:1px; }
.ef-steps b{ display:block; font-size:1.06rem; font-weight:600; color:var(--ink); margin-bottom:4px; }
.ef-steps p{ font-size:.98rem; color:var(--muted); line-height:1.5; max-width:42ch; }
.ef-figure{ margin-bottom:30px; }
.ef-num{ display:block; font-size:clamp(2.6rem,4.6vw,3.6rem); font-weight:700; letter-spacing:-.03em; line-height:1; color:#0F2744; }
.ef-num-label{ display:block; font-size:1.02rem; color:var(--ink); margin-top:10px; }
.ef-num-sub{ display:block; font-size:.9rem; color:var(--muted); margin-top:3px; }
.ef-doc{ border:1px solid var(--hair); border-radius:8px; padding:22px 24px; background:#FCFCFA; }
.ef-doc-title{ display:block; font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#9aa0a8; margin-bottom:14px; }
.ef-doc-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid #EEF1F5; font-size:.95rem; }
.ef-doc-row span{ color:var(--muted); } .ef-doc-row b{ color:#0F2744; font-weight:600; font-variant-numeric:tabular-nums; }
.ef-doc-sum{ border-top:1.5px solid #0F2744; border-bottom:none; margin-top:2px; padding-top:10px; }
.ef-doc-sum span, .ef-doc-sum b{ color:#0F2744; font-weight:700; }
.ef-ok{ color:#1f7a44 !important; }
.ef-doc-note{ display:block; margin-top:14px; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:#a7adb5; }
.ef-voice{ margin:42px 0 0; max-width:62ch; }
.ef-voice p{ font-size:1.28rem; line-height:1.55; color:var(--ink); font-weight:450; letter-spacing:-.01em; }
.ef-voice cite{ display:block; margin-top:14px; font-size:.96rem; color:var(--muted); font-style:normal; }
.ef-voice cite b{ color:var(--ink); font-weight:600; }
@media (max-width:860px){
  .ef-body{ grid-template-columns:1fr; gap:36px; }
  .ef{ padding:48px 0; }
}
/* ===== Fallstudien im Referenz-Layout: großes Visual + Person, abwechselnd ===== */
.cs-list{ display:flex; flex-direction:column; gap:36px; max-width:1180px; margin:0 auto; }
.cs-item{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;
  background:var(--card); border:1px solid var(--hair); border-radius:24px; padding:50px 54px;
  box-shadow:0 1px 2px rgba(29,29,31,.04), 0 30px 60px -42px rgba(21,42,66,.22); }
.cs-item:nth-child(even) .cs-text{ order:2; }
.cs-item:nth-child(even) .cs-media{ order:1; }
.cs-head{ font-size:clamp(1.5rem,2.1vw,2rem); letter-spacing:-.02em; line-height:1.16; color:var(--ink); margin-bottom:26px; max-width:24ch; }
.cs-lead{ font-size:.95rem; font-weight:700; color:var(--ink); margin:0 0 8px; }
.cs-body{ font-size:1.02rem; color:var(--muted); line-height:1.62; margin-bottom:26px; max-width:52ch; }
.cs-results{ list-style:none; display:flex; flex-direction:column; gap:15px; }
.cs-results li{ display:flex; gap:13px; align-items:flex-start; font-size:1rem; color:var(--ink); line-height:1.5; }
.cs-results b{ font-weight:600; }
.cs-check{ flex-shrink:0; display:flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:var(--green); margin-top:1px; }
.cs-check svg{ width:13px; height:13px; }
.cs-check svg path{ fill:none; stroke:#fff; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.cs-media{ display:flex; flex-direction:column; gap:20px; }
.cs-video{ position:relative; aspect-ratio:16/10; border-radius:16px; overflow:hidden;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px;
  background:linear-gradient(150deg,#1C3654,#0E1F35); }
.cs-video::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(120% 90% at 80% 0%, rgba(42,97,196,.28), transparent 60%); }
.cs-play{ position:relative; z-index:1; display:flex; align-items:center; justify-content:center;
  width:64px; height:64px; border-radius:50%; background:#e5322d; box-shadow:0 12px 30px -8px rgba(229,50,45,.55); transition:transform .2s var(--e); }
.cs-play svg{ width:26px; height:26px; fill:#fff; margin-left:3px; }
.cs-item:hover .cs-play{ transform:scale(1.06); }
.cs-vlabel{ position:relative; z-index:1; font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.72); }
.cs-person{ display:flex; align-items:center; gap:14px; }
.cs-avatar{ flex-shrink:0; width:52px; height:52px; border-radius:50%; background:linear-gradient(135deg,#dfe3ea,#c7ced6); }
.cs-person-t b{ display:block; font-size:1rem; color:var(--ink); font-weight:600; }
.cs-person-t span{ display:block; font-size:.88rem; color:var(--muted); line-height:1.35; }
@media (max-width:860px){
  .cs-item{ grid-template-columns:1fr; gap:30px; padding:32px 26px; }
  .cs-item:nth-child(even) .cs-text{ order:1; }
  .cs-item:nth-child(even) .cs-media{ order:2; }
}
.case-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.case-card{
  background:var(--card); border:1px solid var(--hair); border-radius:20px; padding:32px 30px;
  box-shadow:0 1px 2px rgba(29,29,31,.04), 0 20px 44px -30px rgba(21,42,66,.18);
  display:flex; flex-direction:column; gap:20px;
}
.case-kind{ font-size:.8rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--green); }
.case-out{ font-size:1.42rem; font-weight:600; letter-spacing:-.01em; line-height:1.15; color:#14243c; margin-top:-6px; padding-bottom:18px; border-bottom:1px solid var(--hair); }
.case-row b{ display:block; font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#9a9ca1; margin-bottom:5px; }
.case-row p{ font-size:1rem; color:var(--ink); line-height:1.55; }
/* Video-Fallstudie (Platzhalter, bis echte Videos vorliegen) */
.case-video{ position:relative; aspect-ratio:16/10; border-radius:14px; overflow:hidden;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px;
  background:linear-gradient(150deg,#1C3654,#0E1F35); border:1px solid rgba(255,255,255,.08); }
.case-video::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(120% 90% at 80% 0%, rgba(42,97,196,.28), transparent 60%); }
.case-play{ position:relative; z-index:1; display:flex; align-items:center; justify-content:center;
  width:54px; height:54px; border-radius:50%; background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.28); transition:transform .25s var(--e), background .25s var(--e); }
.case-play svg{ width:22px; height:22px; fill:#fff; margin-left:3px; }
.case-card:hover .case-play{ transform:scale(1.08); background:rgba(255,255,255,.2); }
.case-vlabel{ position:relative; z-index:1; font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.7); }
@media (max-width:900px){ .case-grid{ grid-template-columns:1fr; max-width:480px; margin:0 auto; } }

/* ===================================================================
   BEWERTUNGEN — Google / Trustpilot
   =================================================================== */
.ratings{ padding:0 0 110px; }
.rating-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; max-width:760px; margin:0 auto; }
.rating-card{
  background:var(--card); border:1px solid var(--hair); border-radius:20px; padding:34px 30px;
  display:flex; flex-direction:column; align-items:center; gap:8px; text-decoration:none; text-align:center;
  box-shadow:0 1px 2px rgba(29,29,31,.04), 0 20px 44px -30px rgba(21,42,66,.18);
  transition:transform .2s var(--e), box-shadow .2s var(--e);
}
.rating-card:hover{ transform:translateY(-3px); box-shadow:0 26px 52px -28px rgba(21,42,66,.28); }
.rating-logo{ font-family:var(--serif); font-size:1.4rem; font-weight:600; color:#152A42; }
.rating-stars{ color:#E8A93B; font-size:1.5rem; letter-spacing:3px; }
.rating-score{ font-size:1.05rem; color:var(--ink); }
.rating-score b{ font-size:1.5rem; font-weight:700; color:#152A42; }
.rating-count{ font-size:.9rem; color:var(--muted); }
.rating-count span{ font-size:inherit; }
.rating-link{ margin-top:8px; font-size:.92rem; font-weight:500; color:var(--green); }
@media (max-width:600px){ .rating-grid{ grid-template-columns:1fr; max-width:400px; } }

/* ===================================================================
   KUNDENSTIMMEN — Video
   =================================================================== */
.voices{ background:var(--bg-soft); border-radius:48px; margin:0 14px; padding:130px 0; }
.voice-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.voice{ display:flex; flex-direction:column; }
.voice-thumb{
  position:relative; width:100%; aspect-ratio:4/3; border:none; cursor:pointer;
  border-radius:var(--r); overflow:hidden; margin-bottom:18px; padding:0;
  background:linear-gradient(165deg,#dfe3e1,#c8cfcb);
  box-shadow:0 20px 44px -26px rgba(29,29,31,.3);
  transition:transform .25s var(--e), box-shadow .25s var(--e);
}
.voice-thumb:hover{ transform:translateY(-4px) scale(1.01); box-shadow:0 28px 54px -26px rgba(29,29,31,.38); }
.voice-thumb:active{ transform:scale(.98); }
.voice-tag{
  position:absolute; top:16px; left:16px; z-index:2;
  font-size:.78rem; font-weight:600; color:var(--ink);
  background:rgba(255,255,255,.85); backdrop-filter:blur(8px);
  padding:6px 13px; border-radius:100px;
}
.voice-play{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:62px; height:62px; border-radius:50%;
  background:rgba(255,255,255,.92); backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 12px 28px -10px rgba(29,29,31,.4);
  transition:transform .2s var(--e);
}
.voice-thumb:hover .voice-play{ transform:translate(-50%,-50%) scale(1.08); }
.voice-play svg{ width:22px; height:22px; margin-left:3px; }
.voice-play svg path{ fill:var(--green); }
.voice-quote{ font-size:1.06rem; font-weight:500; letter-spacing:-.01em; line-height:1.5; margin-bottom:8px; }
.voice-name{ font-size:.88rem; color:var(--muted); }
.voices-note{ text-align:center; color:var(--muted); font-size:.85rem; margin-top:44px; }

/* Lightbox */
.vbox{
  position:fixed; inset:0; z-index:120; display:flex; align-items:center; justify-content:center; padding:28px;
  background:rgba(29,29,31,.62); backdrop-filter:blur(16px);
  opacity:0; visibility:hidden; transition:opacity .25s var(--e), visibility .25s var(--e);
}
.vbox.open{ opacity:1; visibility:visible; }
.vbox-stage{
  position:relative; width:min(920px,100%); aspect-ratio:16/9;
  display:flex; align-items:center; justify-content:center;
  background:#111; border-radius:20px; overflow:hidden;
  box-shadow:0 60px 120px -40px rgba(0,0,0,.6);
  transform:scale(.96); transition:transform .3s var(--e);
}
.vbox.open .vbox-stage{ transform:scale(1); }
.vbox-stage video{ width:100%; height:100%; object-fit:cover; }
.vbox-fallback{ position:absolute; color:rgba(255,255,255,.75); font-size:1.05rem; }
.vbox-close{
  position:absolute; top:22px; right:26px; z-index:2; width:42px; height:42px; border-radius:50%;
  background:rgba(255,255,255,.14); border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .2s var(--e);
}
.vbox-close:hover{ background:rgba(255,255,255,.26); }
.vbox-close svg{ width:18px; height:18px; }
.vbox-close svg path{ fill:none; stroke:#fff; stroke-width:1.8; stroke-linecap:round; }

/* ===================================================================
   FAQ
   =================================================================== */
.faq{ padding:130px 0; }
.faq .container{ max-width:760px; }
.faq h2{ text-align:center; margin-bottom:54px; }
.faq-item{ border-bottom:1px solid var(--hair); }
.faq-item:first-of-type{ border-top:1px solid var(--hair); }
.faq-item summary{
  list-style:none; cursor:pointer; padding:24px 4px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  font-size:1.1rem; font-weight:500; letter-spacing:-.01em;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-plus{ position:relative; width:15px; height:15px; flex-shrink:0; }
.faq-plus::before,.faq-plus::after{
  content:""; position:absolute; background:var(--muted); border-radius:1px;
  transition:transform .22s var(--e), opacity .22s var(--e);
}
.faq-plus::before{ top:6.5px; left:0; width:15px; height:2px; }
.faq-plus::after{ left:6.5px; top:0; width:2px; height:15px; }
.faq-item[open] .faq-plus::after{ transform:scaleY(0); }
.faq-item p{ padding:0 4px 26px; color:var(--muted); line-height:1.65; max-width:62ch; }

/* ===================================================================
   CLOSE — dunkelgrüne Bühne
   =================================================================== */
/* Kompakter Abschluss-Kasten: zwei Spalten, dunkles Navy, kein Vollbild-CTA */
.close{ padding:0 24px; }
.close-inner{
  max-width:1240px; margin:0 auto; border-radius:26px; padding:72px 76px;
  background:linear-gradient(165deg, #24466B, var(--green-d) 72%);
  display:grid; grid-template-columns:58% 42%; align-items:center; gap:56px;
  box-shadow:0 30px 70px -50px rgba(15,39,68,.55);
}
.close-left h2{ color:#fff; font-size:clamp(2.2rem,3.6vw,3.5rem); line-height:1.03; letter-spacing:-.03em; margin:0 0 20px; max-width:16ch; }
.close-left p{ color:rgba(255,255,255,.74); font-size:clamp(1.05rem,1.3vw,1.32rem); line-height:1.5; max-width:38ch; margin:0 0 22px; }
.close-trust{ color:rgba(255,255,255,.55) !important; font-size:.98rem !important; }
.close-right{ display:flex; flex-direction:column; align-items:flex-start; gap:20px; }
.close .btn-light{
  background:#fff; color:var(--green-d); border-radius:11px; padding:16px 26px; font-size:1.02rem;
  box-shadow:0 14px 30px -16px rgba(0,0,0,.4);
}
.close .btn-light:hover{ background:#f4f6f5; transform:translateY(-2px); }
.close-alt{ color:rgba(255,255,255,.6); font-size:.98rem; line-height:1.5; margin:0; }
.close-alt a{ color:#fff; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.35); }
.close-alt a:hover{ border-color:#fff; }
.close-basis{ color:rgba(255,255,255,.62); font-size:.94rem; text-decoration:none; border-bottom:1px solid transparent; transition:color .2s var(--e), border-color .2s var(--e); }
.close-basis:hover{ color:#fff; border-color:rgba(255,255,255,.4); }
@media (max-width:820px){
  .close{ padding:0 14px; }
  .close-inner{ grid-template-columns:1fr; gap:30px; padding:48px 26px; border-radius:22px; }
  .close-left h2{ font-size:clamp(2rem,8vw,2.6rem); max-width:none; }
  .close-left p{ max-width:none; }
  .close-right{ gap:16px; }
  .close .btn-light{ width:100%; text-align:center; justify-content:center; }
}

/* ===================================================================
   FOOTER
   =================================================================== */
.footer{ padding:40px 0 46px; }
.footer-inner{
  max-width:none; margin:0; padding:0 clamp(32px, 5vw, 80px);
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
}
.footer .brand-name{ font-size:.98rem; }
.footer .brand-seal{ width:22px; height:22px; }
.footer-meta{ display:flex; gap:40px; font-size:.88rem; color:var(--muted); flex-wrap:wrap; }
.footer-meta a{ color:inherit; text-decoration:none; }
.footer-meta a:hover{ color:var(--ink); }

/* sticky mobile CTA */
.sticky-cta{
  display:none; position:fixed; left:14px; right:14px; bottom:14px; z-index:80;
  background:var(--green); color:#fff; text-align:center; padding:16px; border-radius:100px;
  font-weight:600; font-size:1rem; text-decoration:none;
  box-shadow:0 16px 38px -12px rgba(28,54,84,.55);
}
.sticky-cta:active{ transform:scale(.98); }

/* ===================================================================
   RESPONSIVE
   =================================================================== */
@media (max-width:980px){
  .problem,.about,.voices,.close{ margin:0; border-radius:0; }
  .problem-grid{ grid-template-columns:1fr; }
  .bento-grid{ grid-template-columns:1fr 1fr; }
  .b-tile.span3,.b-tile.span2,.b-tile.span4{ grid-column:span 2; }
  .about-grid{ grid-template-columns:1fr; gap:44px; }
  .about-photo{ max-width:420px; }
  .tier-grid{ grid-template-columns:1fr; max-width:460px; margin:0 auto; }
  .tier-featured{ margin-top:0; }
  .voice-grid{ grid-template-columns:1fr; max-width:440px; margin:0 auto; }
  .hero{ background-position:74% 30%; }
  .hero::before{ background:linear-gradient(180deg, rgba(245,242,237,.96) 30%, rgba(245,242,237,.75) 60%, rgba(245,242,237,.4)); }
  .statbar{ grid-template-columns:1fr; gap:16px; }
  .statbar-item + .statbar-item{ border-left:none; border-top:1px solid rgba(29,29,31,.1); padding-top:16px; }
  .nav-links a:not(.btn){ display:none; }
  .visual-card{ padding:26px 22px 22px; }
  section, .problem, .bento, .how, .about, .pricing, .voices, .faq, .close{ padding-top:84px; padding-bottom:84px; }
  .hero{ padding:72px 0 30px; }
}
@media (max-width:600px){
  .container,.nav-inner,.footer-inner{ padding-left:20px; padding-right:20px; }
  body{ padding-bottom:76px; }
  .sticky-cta{ display:block; }
  .nav .btn{ display:none; }
  .hero-actions .btn{ width:100%; }
  .how-wrap{ grid-template-columns:34px 1fr; gap:0 20px; }
  .h-step::before{ left:-37px; }
}

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *{ animation:none!important; transition-duration:.01ms!important; }
}

/* ================= PERSON · Vertrauens-Insel (Leistungen) ================= */
.person2{
  position:relative;
  padding:clamp(72px,9vw,120px) 0;
  background:#F1ECE4;                 /* wärmer/tiefer als Seiten-BG -> Insel */
  border-top:1px solid var(--hair);
  border-bottom:1px solid var(--hair);
}
.p2-grid{
  display:grid;
  grid-template-columns:minmax(300px,44%) 1fr;
  gap:clamp(40px,5vw,84px);
  align-items:center;
}
/* Portrait */
.p2-media{ align-self:stretch; }
.p2-photo{
  position:relative;
  width:100%;
  aspect-ratio:4/5;
  border-radius:20px;
  overflow:hidden;
  background:
    radial-gradient(120% 90% at 30% 20%, #ECE5D8 0%, #E3DACB 55%, #D8CDBA 100%);
  border:1px solid rgba(29,29,31,.10);
  box-shadow:0 30px 60px -34px rgba(28,54,84,.40);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:14px;
}
.p2-photo::after{                      /* feine Papier-/Rahmen-Kante */
  content:""; position:absolute; inset:10px; border-radius:14px;
  border:1px solid rgba(29,29,31,.08);
  pointer-events:none;
}
.p2-photo-mono{
  font-family:"Poppins",var(--sans); font-weight:700;
  font-size:clamp(2.6rem,5vw,3.8rem); letter-spacing:.02em;
  color:#1C3654; opacity:.28; line-height:1;
}
.p2-photo-label{
  font-size:.72rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
  color:#8A857A;
}
/* Copy */
.p2-copy{ max-width:640px; }
.p2-eyebrow{ color:#1C3654; margin-bottom:16px; }
.p2-h{
  font-size:clamp(1.9rem,3.1vw,2.7rem); font-weight:600; letter-spacing:-.02em;
  line-height:1.1; color:var(--ink); margin:0 0 28px;
}
.p2-quote{
  position:relative;
  font-size:clamp(1.35rem,2.35vw,1.95rem); font-weight:500;
  line-height:1.36; letter-spacing:-.012em; color:#22262B;
  margin:0 0 22px; padding-left:30px;
}
.p2-quote::before{
  content:"\201C"; position:absolute; left:-6px; top:-.14em;
  font-family:"Poppins",var(--sans); font-weight:700;
  font-size:2.6em; line-height:1; color:#1C3654; opacity:.30;
}
.p2-attrib{ display:flex; flex-direction:column; gap:2px; margin:0 0 34px; padding-left:30px; }
.p2-name{ font-weight:600; font-size:1.02rem; color:var(--ink); letter-spacing:-.01em; }
.p2-role{ font-size:.95rem; color:var(--muted); }
.p2-story{
  font-size:1.06rem; line-height:1.7; color:#54524E; margin:0 0 30px;
}
/* Versprechen – keine Bullets/Icons, Haarlinien-getrennt, Navy-Lead-Strich */
.p2-promise{ list-style:none; margin:0 0 36px; padding:0; border-top:1px solid var(--hair); }
.p2-promise li{
  position:relative;
  padding:16px 0 16px 26px;
  border-bottom:1px solid var(--hair);
  font-size:1.04rem; font-weight:500; line-height:1.5; color:var(--ink);
}
.p2-promise li::before{
  content:""; position:absolute; left:0; top:23px;
  width:12px; height:2px; border-radius:2px; background:#1C3654;
}
/* CTA */
.p2-cta{ display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.p2-cta-lead{
  font-size:.82rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:#8A857A;
}
.p2-btn{ border-radius:10px; }

/* Responsive */
@media (max-width:820px){
  .p2-grid{ grid-template-columns:1fr; gap:34px; }
  .p2-media{ max-width:360px; }
  .p2-quote,.p2-attrib{ padding-left:24px; }
}

/* ================= WER SIE BEGLEITET · Magazin (Leistungen) ================= */
.mag{ padding:clamp(90px,11vw,150px) 0; border-top:1px solid var(--hair); }
.mag-grid{
  max-width:1180px; margin:0 auto; padding:0 40px;
  display:grid; grid-template-columns:minmax(320px,46%) 1fr;
  gap:clamp(48px,6vw,96px); align-items:start;
}
.mag-media{ position:sticky; top:104px; }
.mag-photo{
  position:relative; width:100%; aspect-ratio:4/5;
  border-radius:6px; overflow:hidden;
  background:radial-gradient(120% 90% at 32% 22%, #ECE5D8 0%, #E2D9C9 56%, #D6CBB7 100%);
  box-shadow:0 40px 80px -46px rgba(28,54,84,.45);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px;
}
.mag-photo-mono{ font-family:"Poppins",var(--sans); font-weight:700; font-size:clamp(3rem,6vw,4.6rem); color:#1C3654; opacity:.24; line-height:1; }
.mag-photo-label{ font-size:.72rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:#8A857A; }
.mag-copy{ max-width:540px; }
.mag-label{ font-size:.78rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:#1C3654; margin-bottom:22px; }
.mag-h{ font-size:clamp(1.9rem,3vw,2.7rem); font-weight:600; letter-spacing:-.02em; line-height:1.12; color:var(--ink); margin:0 0 30px; }
.mag-quote{
  position:relative; margin:0 0 28px; padding-left:26px;
  font-size:clamp(1.35rem,2.2vw,1.85rem); font-weight:500; line-height:1.4; letter-spacing:-.012em; color:#22262B;
}
.mag-quote::before{ content:""; position:absolute; left:0; top:.15em; bottom:.15em; width:3px; border-radius:3px; background:#1C3654; opacity:.55; }
.mag-text{ font-size:1.06rem; line-height:1.72; color:#54524E; margin:0 0 34px; }
.mag-sign{ display:flex; flex-direction:column; gap:3px; padding-top:26px; border-top:1px solid var(--hair); }
.mag-sign-name{ font-family:"Poppins",var(--sans); font-weight:600; font-size:1.1rem; letter-spacing:-.01em; color:var(--ink); }
.mag-sign-role{ font-size:.95rem; color:var(--muted); }

/* ================= ABLAUF · Scroll-Timeline (Leistungen) ================= */
.flow{ padding:clamp(80px,10vw,130px) 0; background:#F1ECE4; border-top:1px solid var(--hair); border-bottom:1px solid var(--hair); }
.flow .sect-head.left{ margin:0 auto 56px; max-width:1080px; padding:0 40px; }
.flow-wrap{ position:relative; max-width:820px; margin:0 auto; padding:0 40px; }
.flow-rail{ position:absolute; top:14px; bottom:34px; left:calc(40px + 21px); width:2px; background:rgba(28,54,84,.14); border-radius:2px; }
.flow-fill{ position:absolute; left:0; top:0; width:100%; height:0; background:#1C3654; border-radius:2px; }
.flow-dot{ position:absolute; left:50%; top:0; width:14px; height:14px; margin-left:-7px; margin-top:-2px; border-radius:50%; background:#1C3654; box-shadow:0 0 0 5px rgba(28,54,84,.12); }
.flow-steps{ list-style:none; margin:0; padding:0; }
.flow-step{ position:relative; display:grid; grid-template-columns:44px 1fr; gap:26px; padding-bottom:clamp(34px,5vw,58px); }
.flow-step:last-child{ padding-bottom:0; }
.flow-node{
  position:relative; z-index:2; width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:#F1ECE4; border:2px solid rgba(28,54,84,.20);
  transition:border-color .5s var(--e), background .5s var(--e);
}
.flow-num{ font-family:"Poppins",var(--sans); font-weight:700; font-size:.86rem; color:#9AA3AE; transition:color .5s var(--e); }
.flow-step.on .flow-node{ background:#1C3654; border-color:#1C3654; }
.flow-step.on .flow-num{ color:#fff; }
.flow-card{
  padding:4px 0 0; opacity:.5; transform:translateY(10px);
  transition:opacity .6s var(--e), transform .6s var(--e);
}
.flow-step.on .flow-card{ opacity:1; transform:none; }
.flow-card-top{ display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; margin-bottom:10px; }
.flow-card-top h3{ font-size:clamp(1.2rem,1.9vw,1.5rem); font-weight:600; letter-spacing:-.015em; color:var(--ink); margin:0; }
.flow-time{ font-size:.8rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#1C3654; opacity:.75; }
.flow-card p{ font-size:1.04rem; line-height:1.65; color:#54524E; margin:0; max-width:52ch; }

/* ================= CTA · subtil auf Papier (Leistungen) ================= */
.cta2{ padding:clamp(80px,10vw,130px) 0; }
.cta2-inner{
  max-width:760px; margin:0 auto; text-align:center;
  padding:clamp(52px,7vw,84px) clamp(32px,5vw,72px);
  border-radius:26px; border:1px solid var(--hair);
  background-color:#F3EEE5;
  background-image:
    radial-gradient(120% 140% at 15% 0%, rgba(255,255,255,.55) 0%, rgba(255,255,255,0) 45%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  box-shadow:0 40px 80px -50px rgba(28,54,84,.35);
}
.cta2-eyebrow{ font-size:.82rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:#1C3654; margin-bottom:16px; }
.cta2-h{ font-size:clamp(2rem,3.4vw,2.9rem); font-weight:600; letter-spacing:-.022em; line-height:1.08; color:var(--ink); margin:0 0 18px; }
.cta2-p{ font-size:1.12rem; line-height:1.65; color:#54524E; max-width:52ch; margin:0 auto 34px; }
.cta2-actions{ display:flex; flex-direction:column; align-items:center; gap:16px; }
.cta2-mail{ font-size:.98rem; color:var(--muted); text-decoration:none; border-bottom:1px solid var(--hair); padding-bottom:1px; }
.cta2-mail:hover{ color:var(--ink); }

@media (max-width:820px){
  .mag-grid{ grid-template-columns:1fr; gap:36px; }
  .mag-media{ max-width:380px; }
}

/* Magazin · Erfolgsgeschichte-Fälle + Notiz */
.mag-cases{ list-style:none; margin:6px 0 30px; padding:0; border-top:1px solid var(--hair); }
.mag-case{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:16px 0; border-bottom:1px solid var(--hair);
}
.mag-case-main{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.mag-case-name{ font-weight:600; font-size:1.02rem; letter-spacing:-.01em; color:var(--ink); }
.mag-case-detail{ font-size:.9rem; line-height:1.4; color:var(--muted); }
.mag-case-tag{
  flex-shrink:0; font-family:"Poppins",var(--sans); font-weight:700;
  font-size:.92rem; letter-spacing:-.01em; color:#1C3654; white-space:nowrap;
}
.mag-note{ margin-top:20px; font-size:.86rem; line-height:1.5; color:#9A948A; font-style:italic; }

@media (max-width:820px){
  .mag-media{ position:static; }
  .mag-case{ align-items:flex-start; }
}

/* ================= LEISTUNG · Story-Timeline „Warum wir Businesspläne schreiben" ================= */
.ls{ padding:clamp(84px,10vw,140px) 0; border-top:1px solid var(--hair); }
.ls-inner{ max-width:1120px; margin:0 auto; padding:0 40px; }
.ls-head{ max-width:820px; margin:0 0 clamp(48px,6vw,80px); }
.ls-head .eyebrow{ color:#1C3654; margin-bottom:20px; }
.ls-h{ font-size:clamp(1.9rem,3.2vw,2.9rem); font-weight:600; letter-spacing:-.022em; line-height:1.14; color:var(--ink); margin:0; }
.ls-h-accent{ color:#1C3654; }

/* Timeline-Gerüst */
.ls-timeline{ position:relative; }
.ls-rail{ position:absolute; left:21px; top:24px; bottom:40px; width:2px; background:rgba(28,54,84,.14); border-radius:2px; }
.ls-fill{ position:absolute; left:0; top:0; width:100%; height:0; background:#1C3654; border-radius:2px; }
.ls-dot{ position:absolute; left:50%; top:0; width:13px; height:13px; margin-left:-6.5px; margin-top:-2px; border-radius:50%; background:#1C3654; box-shadow:0 0 0 5px rgba(28,54,84,.12); }

.ls-station{ position:relative; display:grid; grid-template-columns:44px 1fr; gap:clamp(20px,3vw,40px); padding-bottom:clamp(44px,6vw,80px); }
.ls-station:last-child{ padding-bottom:0; }
.ls-node{ position:relative; z-index:2; width:44px; height:44px; display:flex; align-items:center; justify-content:center; }
.ls-node-in{ width:15px; height:15px; border-radius:50%; background:#F7F4F0; border:2px solid rgba(28,54,84,.30); transition:background .5s var(--e), border-color .5s var(--e), transform .5s var(--e); }
.ls-station.on .ls-node-in{ background:#1C3654; border-color:#1C3654; transform:scale(1.12); }

.ls-body{ min-width:0; padding-top:2px; opacity:.55; transform:translateY(12px); transition:opacity .7s var(--e), transform .7s var(--e); }
.ls-station.on .ls-body{ opacity:1; transform:none; }

.ls-phase{ display:inline-block; font-size:.76rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:#1C3654; margin-bottom:12px; }
.ls-name{ font-size:clamp(1.35rem,2.1vw,1.7rem); font-weight:600; letter-spacing:-.018em; line-height:1.16; color:var(--ink); margin:0 0 14px; }
.ls-name-lg{ font-size:clamp(1.6rem,2.6vw,2.15rem); margin-bottom:30px; max-width:20ch; }
.ls-text{ font-size:1.06rem; line-height:1.7; color:#54524E; margin:0; max-width:46ch; }

/* Phase 1/2: Narrativ + Dokumentvorschau */
.ls-phase-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,4vw,56px); align-items:center; }
.ls-doc{ background:#FCFBF8; border:1px solid #DDE3EA; border-radius:14px; padding:22px 24px; box-shadow:0 20px 44px -28px rgba(15,39,68,.22); }
.ls-doc-head,.ls-doc-foot{ display:flex; align-items:center; justify-content:space-between; font-size:.68rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#1C3654; }
.ls-doc-head{ padding-bottom:14px; border-bottom:1px solid var(--hair); }
.ls-doc-foot{ margin-top:16px; padding-top:14px; border-top:1px solid var(--hair); color:#9AA3AE; }
.ls-doc-meta{ color:#A9B2BD; font-weight:600; }
.ls-doc-title{ font-size:1.12rem; font-weight:600; letter-spacing:-.01em; color:var(--ink); margin:18px 0 14px; }
.ls-doc-lines{ list-style:none; margin:0; padding:0; }
.ls-doc-lines li{ position:relative; padding:8px 0 8px 20px; font-size:.98rem; color:#54524E; border-bottom:1px solid rgba(29,29,31,.05); }
.ls-doc-lines li:last-child{ border-bottom:0; }
.ls-doc-lines li::before{ content:""; position:absolute; left:0; top:15px; width:9px; height:2px; border-radius:2px; background:#1C3654; opacity:.6; }
.ls-doc-plan-body{ padding:20px 0 6px; }
.ls-doc-line{ display:block; height:9px; border-radius:5px; background:rgba(29,29,31,.09); margin-bottom:12px; }
.ls-doc-line.w80{ width:80%; } .ls-doc-line.w70{ width:70%; } .ls-doc-line.w60{ width:60%; }
.ls-stamp{ display:inline-block; margin-top:8px; padding:8px 14px; border-radius:8px; background:rgba(28,54,84,.08); color:#1C3654; font-family:"Poppins",var(--sans); font-weight:700; font-size:.82rem; letter-spacing:.01em; }

/* Phase 3: Beteiligungsakte-Karten */
.ls-cards{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.ls-card{ background:#FFFFFF; border:1px solid var(--hair); border-radius:16px; padding:24px 24px 26px; box-shadow:0 18px 40px -30px rgba(15,39,68,.20); display:flex; flex-direction:column; }
.ls-card-now{ background:#F4F1EA; border-color:rgba(28,54,84,.16); }
.ls-card-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.ls-card-mono{ display:inline-flex; align-items:center; justify-content:center; min-width:44px; height:36px; padding:0 10px; border-radius:8px; background:rgba(28,54,84,.08); color:#1C3654; font-family:"Poppins",var(--sans); font-weight:700; font-size:.9rem; letter-spacing:.01em; }
.ls-card-tag{ font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#8A857A; }
.ls-card-name{ font-size:1.12rem; font-weight:600; letter-spacing:-.012em; color:var(--ink); margin:0 0 8px; }
.ls-card-desc{ font-size:.98rem; line-height:1.55; color:#54524E; margin:0; }
.ls-card-facts{ display:flex; gap:26px; margin-top:18px; padding-top:16px; border-top:1px solid var(--hair); }
.ls-card-fact{ display:flex; flex-direction:column; gap:2px; font-size:.76rem; letter-spacing:.04em; text-transform:uppercase; color:#9AA3AE; }
.ls-card-fact b{ font-family:"Poppins",var(--sans); font-weight:700; font-size:1.06rem; letter-spacing:-.01em; color:#1C3654; text-transform:none; }

/* Abschluss */
.ls-close{ max-width:760px; margin:clamp(56px,7vw,96px) auto 0; text-align:center; padding-top:clamp(44px,5vw,64px); border-top:1px solid var(--hair); }
.ls-close-h{ font-size:clamp(1.8rem,3vw,2.6rem); font-weight:600; letter-spacing:-.022em; line-height:1.12; color:var(--ink); margin:0 0 20px; }
.ls-close-p{ font-size:1.12rem; line-height:1.7; color:#54524E; margin:0 auto; max-width:56ch; }

@media (max-width:820px){
  .ls-phase-grid{ grid-template-columns:1fr; gap:26px; }
  .ls-cards{ grid-template-columns:1fr; }
  .ls-station{ gap:16px; }
}

/* Story-Fotos (Phase-Visuals) */
.ls-photo{ position:relative; margin:0; }
.ls-photo img{
  width:100%; aspect-ratio:4/3; object-fit:cover;
  border-radius:16px; border:1px solid var(--hair);
  box-shadow:0 30px 60px -34px rgba(15,39,68,.42);
}
.ls-photo figcaption{
  margin-top:14px; font-size:.92rem; line-height:1.5; color:#6b6864; font-style:italic;
}
.ls-photo-tag{
  display:block; font-style:normal; font-size:.7rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:#1C3654; margin-bottom:4px;
}
.ls-photo-badge{
  position:absolute; left:14px; bottom:14px;
  padding:8px 14px; border-radius:9px;
  background:rgba(19,26,32,.72); backdrop-filter:blur(6px);
  color:#fff; font-family:"Poppins",var(--sans); font-weight:700; font-size:.8rem; letter-spacing:.01em;
}

/* ================= ABLAUF v2 · Karten-Timeline mit Fotos ================= */
.flow .sect-head.left{ text-align:center; margin-left:auto; margin-right:auto; }
.flow2-wrap{ position:relative; max-width:1020px; margin:0 auto; padding-left:64px; }
.flow2-rail{ position:absolute; left:16px; top:16px; bottom:40px; width:2px; background:rgba(28,54,84,.15); border-radius:2px; }
.flow2-fill{ position:absolute; left:0; top:0; width:100%; height:0; background:#1C3654; border-radius:2px; }
.flow2-steps{ list-style:none; margin:0; padding:0; }
.flow2-step{ display:block; position:relative; margin-bottom:clamp(28px,4vw,44px); gap:0; }
.flow2-card{ width:100%; }
.flow2-step:last-child{ margin-bottom:0; }
.flow2-num{
  position:absolute; left:-64px; top:6px; z-index:2;
  width:34px; height:34px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:#F1ECE4; border:2px solid rgba(28,54,84,.22);
  font-family:"Poppins",var(--sans); font-weight:700; font-size:.8rem; color:#9AA3AE;
  transition:background .5s var(--e), border-color .5s var(--e), color .5s var(--e);
}
.flow-step.on .flow2-num{ background:#1C3654; border-color:#1C3654; color:#fff; }
.flow2-card{
  background:#fff; border:1px solid var(--hair); border-radius:18px; overflow:hidden;
  box-shadow:0 26px 54px -34px rgba(15,39,68,.30);
  opacity:0; transform:translateY(16px);
  transition:opacity .7s var(--e), transform .7s var(--e), box-shadow .4s var(--e);
}
.flow-step.on .flow2-card{ opacity:1; transform:none; }
.flow2-photo{ position:relative; }
.flow2-photo img{ width:100%; aspect-ratio:2.35/1; object-fit:cover; display:block; }
.flow2-body{ padding:22px clamp(22px,2.8vw,30px) clamp(24px,2.8vw,30px); }
/* Editorial-Label statt Bootstrap-Pill: randlos, blau, weit gesperrt */
.flow2-pill{
  display:inline-block; margin-bottom:0; padding:0; background:none; border:0; border-radius:0;
  color:#2B63B8;
  font-size:.82rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
}
.flow2-body h3{
  max-width:660px; font-size:clamp(1.35rem,2vw,1.75rem); font-weight:700;
  letter-spacing:-.03em; line-height:1.12; color:var(--ink); margin:0 0 12px;
}
.flow2-body p{ max-width:680px; font-size:1.05rem; line-height:1.65; color:#565656; font-weight:400; margin:0; }
/* mehrere Absätze = Artikel-Rhythmus */
.flow2-body p + p{ margin-top:.85em; }
.flow2-body p b{ color:var(--ink); font-weight:600; }
.flow2-bridge{ margin-top:1.4em !important; color:var(--ink); font-weight:500; }

@media (max-width:600px){
  .flow2-wrap{ padding-left:44px; }
  .flow2-num{ left:-44px; width:30px; height:30px; }
}

/* Story als Karten-Timeline (teilt .flow2-* mit dem Ablauf) */
.ls-head{ margin-left:auto; margin-right:auto; text-align:center; }
.ls-flow{ margin-top:8px; }
.flow2-badge{
  position:absolute; left:14px; bottom:14px; padding:8px 14px; border-radius:9px;
  background:rgba(19,26,32,.72); backdrop-filter:blur(6px);
  color:#fff; font-family:"Poppins",var(--sans); font-weight:700; font-size:.8rem; letter-spacing:.01em; z-index:8;
}
/* Schwaney-Karten-Grafik in der Story (Phase 02 · Nachbarschaft) */
.smap{ position:relative; width:100%; aspect-ratio:2.35/1; overflow:hidden; background:#0b1420; }
.smap .l{ position:absolute; inset:0; }
.smap .map{ width:100%; height:100%; object-fit:cover; filter:brightness(1.5) contrast(1.06) saturate(1.05); }
.smap .tone{ background:radial-gradient(120% 120% at 50% 44%,rgba(23,55,94,.12),rgba(11,20,33,.55)); mix-blend-mode:multiply; }
.smap .glow{ background:radial-gradient(circle at 50% 44%,rgba(56,110,190,.32),transparent 40%); }
.smap .vig{ box-shadow:inset 0 0 120px 24px rgba(8,14,22,.6); pointer-events:none; }
.smap .c{ position:absolute; top:44%; left:50%; transform:translate(-50%,-50%); }
.smap .cov{ width:58%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle,rgba(56,110,190,.16) 0%,rgba(56,110,190,.05) 55%,transparent 73%);
  border:1px solid rgba(255,255,255,.5); box-shadow:0 0 60px rgba(56,110,190,.28),inset 0 0 50px rgba(56,110,190,.12); }
.smap .cov2{ width:58%; aspect-ratio:1; border-radius:50%; border:1px solid rgba(255,255,255,.1); }
.smap .pulse{ width:26px; height:26px; border-radius:50%; background:rgba(56,110,190,.5); animation:smapPulse 3.2s ease-out infinite; }
.smap .pulse.d{ animation-delay:1.6s; }
@keyframes smapPulse{ 0%{opacity:.6;transform:translate(-50%,-50%) scale(1)} 80%,100%{opacity:0;transform:translate(-50%,-50%) scale(9)} }
.smap .dot{ width:18px; height:18px; border-radius:50%; background:#2A61C4; border:3px solid #fff;
  box-shadow:0 3px 10px rgba(0,0,0,.5),0 0 0 6px rgba(42,97,196,.18); z-index:5; }
.smap .label{ transform:translate(-50%,20px); z-index:6; color:#fff; font-family:"Poppins",var(--sans);
  font-weight:700; font-size:.9rem; letter-spacing:.05em; text-shadow:0 2px 10px rgba(0,0,0,.85); white-space:nowrap; }
@media (prefers-reduced-motion:reduce){ .smap .pulse{ animation:none; opacity:0; } }
.flow2-facts{ display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; padding-top:20px; border-top:1px solid var(--hair); }
.flow2-fact{
  display:flex; flex-direction:column; gap:3px; flex:1 1 30%; min-width:150px;
  font-size:.8rem; color:var(--muted);
}
.flow2-fact b{ font-family:"Poppins",var(--sans); font-weight:600; font-size:.92rem; letter-spacing:-.01em; color:#1C3654; }
@media (max-width:600px){ .flow2-fact{ flex-basis:100%; } }

/* Karten-Foto-Platzhalter (KI-Bilder entfernt) */
.flow2-ph{
  aspect-ratio:2/1; display:flex; align-items:center; justify-content:center;
  background:
    radial-gradient(120% 100% at 30% 20%, #EDE7DB 0%, #E4DBCB 55%, #D9CFBB 100%);
  border-bottom:1px solid rgba(29,29,31,.06);
}
.flow2-ph-label{
  font-size:.72rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:#9A948A;
}

/* Phase-3 Firmen als eigene, ausgeschmückte Stapel-Karten */
.flow2-firms{ display:flex; flex-direction:column; gap:14px; margin-top:22px; padding-top:22px; border-top:1px solid var(--hair); }
.flow2-firm{
  display:flex; gap:18px; align-items:flex-start;
  padding:20px; border:1px solid var(--hair); border-radius:14px; background:#FCFBF8;
  box-shadow:0 12px 30px -26px rgba(15,39,68,.25);
}
.flow2-firm-mono{
  flex-shrink:0; display:inline-flex; align-items:center; justify-content:center;
  min-width:52px; height:44px; padding:0 12px; border-radius:10px;
  background:rgba(28,54,84,.08); color:#1C3654;
  font-family:"Poppins",var(--sans); font-weight:700; font-size:1rem; letter-spacing:.01em;
}
.flow2-firm-body{ min-width:0; flex:1; }
.flow2-firm-head{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:8px; }
.flow2-firm-head h4{ font-size:1.12rem; font-weight:600; letter-spacing:-.012em; color:var(--ink); margin:0; }
.flow2-firm-tag{ font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#8A857A; }
.flow2-firm-body p{ font-size:.98rem; line-height:1.55; color:#54524E; margin:0 0 14px; }
.flow2-firm-facts{ display:flex; gap:28px; flex-wrap:wrap; padding-top:12px; border-top:1px solid var(--hair); }
.flow2-firm-facts span{ display:flex; flex-direction:column; gap:2px; font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; color:#9AA3AE; }
.flow2-firm-facts b{ font-family:"Poppins",var(--sans); font-weight:700; font-size:1rem; letter-spacing:-.01em; color:#1C3654; text-transform:none; }
@media (max-width:600px){ .flow2-firm{ flex-direction:column; gap:12px; } }

/* ===== Leistungen: Dramaturgie-Fix (Hero-Bridge, kompakter Story-Einstieg, Jahre) ===== */
.page-hero{ padding:84px 0 4px; }
.page-hero-cta{ margin-top:30px; }
.page-hero-teaser{
  margin-top:22px; font-size:1rem; color:var(--muted); letter-spacing:.01em;
}
.page-hero-teaser span{ color:#1C3654; font-weight:600; }

/* Story-Sektion näher an den Hero + kompakter Einstieg statt Riesen-Headline */
.ls{ padding:clamp(48px,6vw,88px) 0 clamp(84px,10vw,130px); }
.ls-head{ max-width:760px; margin:0 auto clamp(34px,4vw,52px); text-align:center; }
.ls-kicker{
  font-size:clamp(1.2rem,1.8vw,1.6rem); font-weight:600; letter-spacing:-.012em;
  line-height:1.3; color:var(--ink); margin:0;
}
.ls-kicker .ls-h-accent{ color:#1C3654; }

/* Jahres-Anker in den Story-Karten */
.flow2-meta{ display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; margin-bottom:12px; }
.flow2-year{
  font-family:"Poppins",var(--sans); font-weight:700;
  font-size:clamp(1.25rem,1.7vw,1.55rem); letter-spacing:-.02em; color:#1C3654; line-height:1;
}
.flow2-meta .flow2-pill{ margin-bottom:0; }

/* ================= WERDEGANG · Editorial-Reportage ================= */
.page-hero{ border-bottom:1px solid var(--hair); padding-bottom:clamp(40px,5vw,64px); }
.rep{ padding:clamp(20px,3vw,40px) 0 clamp(70px,8vw,110px); }
.rep-inner{ max-width:1180px; margin:0 auto; padding:0 40px; }

.rep-station{ padding:clamp(56px,7vw,104px) 0; border-bottom:1px solid var(--hair); }
.rep-topline{ display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:clamp(24px,3vw,40px); padding-bottom:16px; border-bottom:2px solid #1C3654; }
.rep-year{ font-family:"Poppins",var(--sans); font-weight:700; font-size:clamp(2rem,3.4vw,3.1rem); letter-spacing:-.02em; color:#1C3654; line-height:1; }
.rep-index{ font-family:"Poppins",var(--sans); font-weight:700; font-size:1rem; letter-spacing:.02em; color:#1C3654; }
.rep-tag{ font-size:.8rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:#8A857A; }
.rep-status{ font-size:.8rem; font-weight:600; letter-spacing:.04em; color:#1C7A4A; }

.rep-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(40px,5vw,80px); align-items:center; }
.rep-grid-flip .rep-text{ order:2; }
.rep-grid-flip .rep-visual{ order:1; }

.rep-h{ font-size:clamp(1.7rem,2.9vw,2.5rem); font-weight:600; letter-spacing:-.022em; line-height:1.12; color:var(--ink); margin:0 0 20px; max-width:18ch; }
.rep-legal{ font-weight:500; color:var(--muted); font-size:.62em; letter-spacing:0; }
.rep-branch{ font-size:.82rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#1C3654; margin:-8px 0 20px; }
.rep-story{ font-size:1.12rem; line-height:1.7; color:#54524E; margin:0 0 26px; max-width:46ch; }

.rep-check-cap{ font-size:.78rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#9A948A; margin:0 0 14px; }
.rep-check{ list-style:none; margin:0; padding:0; }
.rep-check li{ position:relative; padding:11px 0 11px 32px; font-size:1.04rem; color:var(--ink); border-top:1px solid var(--hair); }
.rep-check li:first-child{ border-top:0; }
.rep-check li::before{ content:"\2713"; position:absolute; left:0; top:11px; color:#1C3654; font-weight:700; }
.rep-result{ display:inline-flex; align-items:center; gap:10px; font-size:1.02rem; font-weight:500; color:var(--ink); }
.rep-result-mark{ display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; background:rgba(28,122,74,.12); color:#1C7A4A; font-size:.8rem; font-weight:700; }
.rep-scope{ list-style:none; margin:6px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px 10px; }
.rep-scope li{ font-size:.9rem; color:#54524E; padding:7px 14px; border:1px solid var(--hair); border-radius:20px; background:#fff; }

/* Rechte Seite: echte Dokumente/Datenblätter statt Leerraum */
.rep-visual{ min-width:0; }
.rep-paper,.rep-sheet{ background:#FCFBF8; border:1px solid #DDE3EA; border-radius:14px; padding:24px 26px; box-shadow:0 30px 64px -38px rgba(15,39,68,.32); }
.rep-paper-head,.rep-paper-foot,.rep-sheet-head,.rep-sheet-foot{ display:flex; align-items:center; justify-content:space-between; font-size:.7rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#1C3654; }
.rep-paper-head,.rep-sheet-head{ padding-bottom:16px; border-bottom:1px solid var(--hair); }
.rep-paper-foot,.rep-sheet-foot{ margin-top:18px; padding-top:16px; border-top:1px solid var(--hair); color:#9AA3AE; }
.rep-paper-meta{ color:#A9B2BD; font-weight:600; }
.rep-stamp{ color:#1C7A4A; border:1.5px solid rgba(28,122,74,.45); border-radius:6px; padding:4px 10px; transform:rotate(-4deg); }

/* Kreditprüfungs-Notizen */
.rep-notes{ list-style:none; margin:20px 0; padding:0; }
.rep-notes li{ position:relative; padding:12px 0 12px 26px; font-size:1rem; color:#3f3d3a; border-bottom:1px dashed rgba(29,29,31,.12); }
.rep-notes li:last-child{ border-bottom:0; }
.rep-notes li::before{ content:""; position:absolute; left:0; top:19px; width:10px; height:2px; background:#1C3654; }

/* Businessplan-Auszug */
.rep-plan-body{ padding:20px 0 6px; }
.rep-plan-h{ display:block; font-family:"Poppins",var(--sans); font-weight:600; font-size:.95rem; color:var(--ink); margin-bottom:16px; }
.rep-line{ display:block; height:9px; border-radius:5px; background:rgba(29,29,31,.09); margin-bottom:11px; }
.rep-line.w90{width:90%;}.rep-line.w80{width:80%;}.rep-line.w75{width:75%;}.rep-line.w60{width:60%;}
.rep-plan-chart{ display:flex; align-items:flex-end; gap:10px; height:88px; margin:18px 0; }
.rep-plan-chart i{ flex:1; height:var(--h); background:linear-gradient(180deg,#2A61C4,#1C3654); border-radius:4px 4px 0 0; opacity:.9; }

/* Finanzierungsübersicht / Datenblatt */
.rep-sheet-rows{ margin:6px 0; }
.rep-sheet-row{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:15px 0; border-bottom:1px solid var(--hair); }
.rep-sheet-row:last-child{ border-bottom:0; }
.rep-sheet-row span{ font-size:.98rem; color:var(--muted); }
.rep-sheet-row b{ font-family:"Poppins",var(--sans); font-weight:700; font-size:1.16rem; letter-spacing:-.01em; color:#1C3654; text-align:right; }

/* Übergang + Abschluss (links-ausgerichtet) */
.rep-bridge{ padding:clamp(48px,6vw,80px) 0 clamp(8px,2vw,20px); }
.rep-bridge-lead{ font-size:clamp(1.5rem,2.6vw,2.1rem); font-weight:600; letter-spacing:-.02em; line-height:1.2; color:var(--ink); margin:0; max-width:22ch; }
.rep-close{ padding-top:clamp(48px,6vw,84px); max-width:720px; }
.rep-close-h{ font-size:clamp(1.7rem,2.8vw,2.4rem); font-weight:600; letter-spacing:-.022em; line-height:1.14; color:var(--ink); margin:0 0 20px; }
.rep-close-p{ font-size:1.12rem; line-height:1.7; color:#54524E; margin:0; }

@media (max-width:840px){
  .rep-grid{ grid-template-columns:1fr; gap:32px; }
  .rep-grid-flip .rep-text{ order:1; } .rep-grid-flip .rep-visual{ order:2; }
  .rep-h{ max-width:none; }
}

/* ================= MAGAZIN-HERO (Leistungen) ================= */
.mhero{ position:relative; overflow:hidden; background:#F7F4F0; border-bottom:1px solid var(--hair); }
.mhero-grid{
  max-width:1280px; margin:0 auto; padding:clamp(90px,11vw,140px) 48px clamp(70px,8vw,110px);
  display:grid; grid-template-columns:5fr 7fr; gap:clamp(36px,4vw,72px); align-items:center; min-height:86vh;
}
/* Links */
.mhero-eyebrow{ font-size:12px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:#9A948A; margin:0 0 30px; }
.mhero-h{ margin:0 0 30px; }
.mh-l{ display:block; font-weight:600; letter-spacing:-.03em; line-height:1.0; color:#1C3654; }
.mh-big{ font-size:clamp(3.3rem,6.4vw,6.1rem); }
.mh-sm{ font-size:clamp(2.3rem,4.4vw,4.15rem); color:#5C6B7C; }
.mh-gap{ margin-top:.42em; }
.mhero-text{ max-width:560px; font-size:1.1rem; line-height:1.62; color:#54524E; margin:0 0 34px; }
.mhero-cta{ display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.mhero-link{ font-size:1rem; font-weight:600; color:#1C3654; text-decoration:none; display:inline-flex; align-items:center; gap:7px; }
.mhero-link span{ transition:transform .25s var(--e); }
.mhero-link:hover span{ transform:translateY(3px); }

/* Rechts: Dokument-Komposition */
.mhero-right{ position:relative; }
.mhero-stack{ position:relative; width:100%; max-width:600px; margin-left:auto; aspect-ratio:1/.92; }
.mdoc{ position:absolute; background:#FCFBF8; border:1px solid #DDE3EA; border-radius:12px; padding:16px 18px; box-shadow:0 34px 66px -36px rgba(15,39,68,.45); }
.mdoc-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:.6rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#1C3654; padding-bottom:10px; border-bottom:1px solid var(--hair); }
.mdoc-meta{ color:#A9B2BD; }
.mdoc-check{ color:#1C3654; font-size:.8rem; }
.mdoc-1{ width:57%; top:5%; left:0; transform:rotate(-5deg); z-index:1; }
.mdoc-2{ width:50%; top:0; left:36%; transform:rotate(3.5deg); z-index:2; }
.mdoc-3{ width:52%; top:47%; left:2%; transform:rotate(-2.5deg); z-index:3; }
.mdoc-4{ width:55%; top:40%; left:39%; transform:rotate(3deg); z-index:4; }
/* Businessplan-Cover */
.mdoc-cover{ padding-top:14px; }
.mdoc-kicker{ display:block; font-size:.56rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#5C6B7C; margin-bottom:6px; }
.mdoc-title{ display:block; font-family:"Poppins",var(--sans); font-weight:700; font-size:1.15rem; letter-spacing:-.01em; color:#132033; margin-bottom:12px; }
.mdoc-toc{ list-style:none; margin:0; padding:0; }
.mdoc-toc li{ position:relative; display:flex; gap:8px; padding:6px 0; font-size:.72rem; color:#54524E; border-top:1px solid rgba(29,29,31,.06); }
.mdoc-toc li span{ color:#A9B2BD; font-weight:700; }
/* Finanzplanung */
.mdoc-chart{ display:flex; align-items:flex-end; gap:7px; height:52px; margin:14px 0 12px; }
.mdoc-chart i{ flex:1; height:var(--h); background:#1C3654; border-radius:3px 3px 0 0; opacity:.9; }
.mdoc-rows{ display:flex; align-items:baseline; justify-content:space-between; font-size:.72rem; color:var(--muted); }
.mdoc-rows b{ font-family:"Poppins",var(--sans); font-weight:700; color:#1C3654; font-size:.86rem; }
/* Rentabilität */
.mdoc-line-list{ margin-top:12px; }
.mdoc-lrow{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; padding:7px 0; font-size:.72rem; color:var(--muted); border-bottom:1px solid rgba(29,29,31,.06); }
.mdoc-lrow:last-child{ border-bottom:0; }
.mdoc-lrow b{ font-family:"Poppins",var(--sans); font-weight:700; color:#1C3654; font-size:.82rem; }
.mdoc-lsum b{ font-size:.95rem; }
/* Bankfähig + Annotationen */
.mdoc-l{ display:block; height:8px; border-radius:4px; background:rgba(29,29,31,.09); margin:14px 0 0; }
.mdoc-l:first-of-type{ margin-top:16px; } .mdoc-l.w85{width:85%;}.mdoc-l.w70{width:70%;}.mdoc-l.w78{width:78%;}
.mdoc-anno{ position:absolute; font-size:.6rem; font-weight:600; letter-spacing:.02em; color:#1C3654; background:#fff; border:1px solid var(--hair); border-radius:20px; padding:4px 10px; box-shadow:0 8px 20px -12px rgba(15,39,68,.4); white-space:nowrap; }
.mdoc-anno::before{ content:""; position:absolute; width:6px; height:6px; border-radius:50%; background:#1C3654; }
.mdoc-anno-1{ top:38%; right:-38%; } .mdoc-anno-1::before{ left:-12px; top:50%; margin-top:-3px; }
.mdoc-anno-2{ bottom:14%; left:-30%; } .mdoc-anno-2::before{ right:-12px; top:50%; margin-top:-3px; }
/* Kreis + Druckinfo */
.mhero-circle{ position:absolute; top:-5%; right:-3%; width:90px; height:90px; border-radius:50%; background:#1C3654; color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; z-index:6; box-shadow:0 20px 44px -20px rgba(28,54,84,.6); }
.mhero-circle b{ font-family:"Poppins",var(--sans); font-weight:700; font-size:1.5rem; line-height:1; }
.mhero-circle span{ font-size:.52rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; margin-top:3px; opacity:.85; }
.mhero-print{ position:absolute; bottom:-3%; right:0; font-size:.66rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#9AA3AE; z-index:6; }
/* Scroll-Hinweis */
.mhero-scroll{ position:absolute; left:50%; bottom:22px; transform:translateX(-50%); display:inline-flex; align-items:center; gap:8px; font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#9A948A; text-decoration:none; }

@media (max-width:900px){
  .mhero-grid{ grid-template-columns:1fr; gap:20px; min-height:0; padding-top:clamp(80px,14vw,110px); }
  .mhero-stack{ margin:20px auto 0; max-width:440px; }
  .mhero-scroll{ display:none; }
}

/* ================= FLATLAY-Szene (Hero rechts) — echte Dokumentseiten ================= */
.mhero{ background:#F7F5F2; }
.flatlay{ position:relative; width:100%; max-width:660px; margin-left:auto; aspect-ratio:1/1.02; }
.fdoc{ position:absolute; background:#FDFCFA; border-radius:3px;
  box-shadow:0 1px 2px rgba(15,39,68,.05), 0 12px 24px -8px rgba(15,39,68,.16), 0 46px 64px -36px rgba(15,39,68,.26); }
.fdoc-title{ font-size:.64rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#17375E; padding-bottom:9px; border-bottom:1.5px solid #17375E; display:flex; justify-content:space-between; align-items:baseline; }
.fdoc-unit{ font-size:.5rem; font-weight:600; letter-spacing:.06em; color:#9AA3AE; }

/* Businessplan-Deckblatt */
.fdoc-bp{ width:45%; top:1%; left:20%; transform:rotate(-4deg); z-index:1; aspect-ratio:1/1.36; padding:30px 24px; text-align:center; }
.fdoc-bp::before{ content:""; position:absolute; top:0; left:20px; width:44px; height:16px; background:#E7E3DB; border-radius:0 0 3px 3px; }
.fdoc-tab{ position:absolute; top:34px; left:0; right:0; text-align:center; font-size:.5rem; letter-spacing:.16em; text-transform:uppercase; color:#AEB6BF; }
.fdoc-bp-title{ display:block; margin-top:52%; font-family:"Poppins",var(--sans); font-weight:700; font-size:clamp(1rem,1.7vw,1.5rem); letter-spacing:.06em; color:#17375E; }
.fdoc-bp-sub{ display:block; margin-top:9px; font-size:.52rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#AEB6BF; }

/* Notizbuch (Handschrift) */
.fdoc-note{ width:33%; top:5%; left:auto; right:-3%; transform:rotate(5deg); z-index:2; aspect-ratio:1/1.18; padding:22px 20px;
  background:#FDFCFA linear-gradient(#FDFCFA 0 0); background-image:repeating-linear-gradient(#FDFCFA 0 25px, rgba(23,55,94,.07) 25px 26px); }
.hw{ font-family:"Caveat",cursive; font-weight:600; font-size:1.15rem; line-height:1.55; color:#2a2f36; margin:0; }
.hw-goal{ font-size:1.28rem; margin-bottom:4px; }
.hw-oval{ position:relative; padding:0 4px; }
.hw-oval::after{ content:""; position:absolute; inset:-3px -2px; border:1.5px solid #17375E; border-radius:50%; opacity:.7; }
.hw-ind{ margin-top:6px; color:#17375E; }

/* Rentabilitätsplanung */
.fdoc-rent{ width:43%; top:41%; left:-2%; transform:rotate(-3deg); z-index:3; padding:15px 15px 17px; }
.fdoc-t{ width:100%; border-collapse:collapse; font-size:.52rem; margin-top:9px; }
.fdoc-t td{ padding:2.6px 3px; color:#57544f; white-space:nowrap; }
.fdoc-t td:not(:first-child){ text-align:right; font-family:"Poppins",var(--sans); color:#42566e; }
.fdoc-t tr.h td{ color:#AEB6BF; font-weight:700; border-bottom:1px solid var(--hair); }
.fdoc-t tr.b td{ font-weight:700; color:#17375E; }
.fdoc-t tr.sum td{ border-top:1.5px solid #17375E; padding-top:5px; }

/* Liquiditätsplanung */
.fdoc-liq{ width:43%; top:45%; left:41%; transform:rotate(2deg); z-index:3; padding:15px 15px 16px; }
.liq-chart{ position:relative; height:92px; display:flex; align-items:stretch; gap:3px; margin:14px 0 10px; }
.liq-base{ position:absolute; left:0; right:0; top:52%; height:1px; background:rgba(23,55,94,.18); z-index:2; }
.liq-bar{ position:relative; flex:1; }
.liq-bar::before{ content:""; position:absolute; left:1px; right:1px; bottom:48%; height:var(--up); background:#17375E; border-radius:1px; }
.liq-bar::after{ content:""; position:absolute; left:1px; right:1px; top:52%; height:var(--dn); background:#B9C2CC; border-radius:1px; }
.liq-legend{ display:flex; gap:12px; font-size:.5rem; color:#9AA3AE; }
.liq-legend span{ display:inline-flex; align-items:center; gap:4px; }
.liq-legend i{ width:7px; height:7px; border-radius:2px; }
.liq-legend .lg1{ background:#17375E; } .liq-legend .lg2{ background:#B9C2CC; } .liq-legend .lg3{ background:#8FA0B4; }

/* Finanzierungsplan (vorne) */
.fdoc-fin{ width:51%; top:71%; left:27%; transform:rotate(-1deg); z-index:4; padding:17px 20px 19px; }
.fin-grid{ display:grid; grid-template-columns:1fr .9fr; gap:18px; margin-top:12px; }
.fin-cap{ display:block; font-size:.5rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#AEB6BF; margin-bottom:9px; }
.fin-row{ display:flex; justify-content:space-between; gap:8px; font-size:.56rem; color:#57544f; padding:4.5px 0; border-bottom:1px solid rgba(23,55,94,.06); }
.fin-row b{ font-family:"Poppins",var(--sans); color:#17375E; }
.fin-sum{ border-bottom:0; border-top:1.5px solid #17375E; font-weight:700; padding-top:6px; }
.fin-donut{ position:relative; width:66px; height:66px; border-radius:50%; background:conic-gradient(#17375E 0 80%, #D8DEE6 80% 100%); margin:2px 0 12px; }
.fin-donut-hole{ position:absolute; inset:24%; background:#FDFCFA; border-radius:50%; }
.fin-leg{ display:flex; flex-direction:column; gap:5px; font-size:.5rem; color:#57544f; }
.fin-leg span{ display:inline-flex; align-items:center; }
.fin-leg i{ width:7px; height:7px; border-radius:2px; margin-right:5px; }
.fin-leg .d1{ background:#D8DEE6; } .fin-leg .d2{ background:#17375E; }

@media (max-width:900px){
  .flatlay{ margin:16px auto 0; max-width:460px; }
}

/* Hero-Foto (Nano Banana Pro Flatlay) */
.mhero-right{ display:flex; align-items:center; }
.mhero-photo{ width:100%; max-height:80vh; aspect-ratio:4/3.15; object-fit:cover; object-position:52% 45%; border-radius:10px; box-shadow:0 44px 80px -46px rgba(15,39,68,.5), 0 8px 20px -12px rgba(15,39,68,.2); }
@media (max-width:900px){ .mhero-photo{ aspect-ratio:4/3; max-height:none; } }

/* ===== Goal-Hero: Foto randlos rechts (blendet in die Seite) + gefüllter Nav-Button ===== */
.btn-nav-solid{
  padding:11px 30px!important; font-size:1rem!important; border-radius:8px;
  background:#17375E; color:#fff!important; border:1px solid #17375E; box-shadow:none;
}
.btn-nav-solid:hover{ background:#122c4b; border-color:#122c4b; transform:none; box-shadow:none; }

.mhero{ position:relative; overflow:hidden; }
.mhero-grid{ grid-template-columns:1fr; position:relative; z-index:1; }
.mhero-left{ max-width:600px; }
.mhero-photo{
  position:absolute; top:0; right:0; width:56%; height:100%; max-height:none;
  object-fit:cover; object-position:58% 48%; border-radius:0; box-shadow:none; aspect-ratio:auto; z-index:0;
  -webkit-mask-image:linear-gradient(to right, transparent 0, #000 15%, #000 100%);
  mask-image:linear-gradient(to right, transparent 0, #000 15%, #000 100%);
}
@media (max-width:900px){
  .mhero-photo{ position:static; width:100%; height:auto; aspect-ratio:16/11; object-position:center;
    -webkit-mask-image:none; mask-image:none; margin-top:22px; border-radius:10px; }
  .mhero-grid{ min-height:0; }
}

/* Goal-Feinschliff: ganze Flatlay-Szene zeigen, oben/rechts randlos, weicher Verlauf links+unten */
.mhero{ min-height:88vh; }
.mhero-grid{ align-items:center; }
.mhero-photo{
  width:58%; height:88%; top:0; right:0; object-fit:cover; object-position:50% 22%;
  -webkit-mask-image:linear-gradient(to right, transparent 0, #000 16%, #000 100%), linear-gradient(to bottom, #000 78%, transparent 100%);
  -webkit-mask-composite:source-in; mask-composite:intersect;
  mask-image:linear-gradient(to right, transparent 0, #000 16%, #000 100%), linear-gradient(to bottom, #000 78%, transparent 100%);
}

/* Freigestelltes Flatlay (transparentes PNG) – kein Maskentrick nötig */
.mhero-photo{
  width:60%; height:auto; max-height:92%; top:50%; right:-2%; transform:translateY(-50%);
  object-fit:contain; object-position:center;
  -webkit-mask-image:none!important; mask-image:none!important;
  filter:drop-shadow(0 30px 50px rgba(15,39,68,.14));
}
@media (max-width:900px){
  .mhero-photo{ position:static; transform:none; width:100%; max-height:none; margin-top:18px; filter:none; }
}

/* Hero-Foto größer */
.mhero-photo{ width:74%; max-height:100%; right:-7%; }
@media (max-width:900px){ .mhero-photo{ width:112%; right:-6%; } }

/* Hero-Foto weiter nach rechts rausschieben */
.mhero-photo{ right:-16%; }
@media (max-width:900px){ .mhero-photo{ right:-6%; } }

/* Hero: Bild 20px nach links, Sektion höher */
.mhero{ min-height:100vh; }
.mhero-photo{ right:calc(-16% + 20px); }

/* Hero: Inhalt nach oben, Sektion höher */
.mhero{ min-height:112vh; }
.mhero-grid{ align-items:start!important; padding-top:clamp(80px,9vw,120px); }
.mhero-photo{ top:46%; }

/* Bild wieder mittig (nur Sektion höher, nicht das Bild) */
.mhero-photo{ top:50%; }

/* Sektion höher, Bild weiter runter */
.mhero{ min-height:124vh; }
.mhero-photo{ top:64%; }

/* Bild einen Tick höher */
.mhero-photo{ top:57%; }

/* Foto höher */
.mhero-photo{ top:50%; }

/* ================= VIER PHASEN · Pin-Scrollytelling ================= */
.procsec{--pnavy:#17375E;--pblue:#2B63B8;--pink:#1f2937;--phair:rgba(23,55,94,.12);--pok:#2f8f5b;--pe:cubic-bezier(.4,0,.2,1);position:relative;background:#F7F5F2}
.procsec .proc-track{height:420vh}
.procsec .proc-sticky{position:sticky;top:0;height:100vh;overflow:hidden}
.procsec .proc-inner{max-width:1520px;margin:0 auto;height:100%;padding:0 56px;display:grid;grid-template-rows:auto 1fr}
.procsec .proc-title{padding-top:clamp(24px,4.5vh,54px);font-family:"Poppins",var(--sans);font-weight:700;font-size:clamp(1.2rem,2vw,1.7rem);letter-spacing:-.015em;color:var(--pnavy);text-align:center}
.procsec .grid{display:grid;grid-template-columns:44% 8% 48%;align-items:center;height:100%}
.procsec .left{position:relative;height:60vh}
.procsec .pl{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateY(24px);transition:opacity .6s var(--pe),transform .6s var(--pe);pointer-events:none}
.procsec .pl.on{opacity:1;transform:none}
.procsec .p-num{font-family:"Poppins",var(--sans);font-weight:700;font-size:clamp(5rem,11vw,10rem);line-height:.85;color:rgba(23,55,94,.08);letter-spacing:-.03em}
.procsec .p-label{margin-top:6px;font-size:.8rem;font-weight:700;letter-spacing:.22em;color:var(--pnavy)}
.procsec .p-head{font-family:"Poppins",var(--sans);font-weight:700;font-size:clamp(1.7rem,2.7vw,2.5rem);line-height:1.13;letter-spacing:-.02em;color:var(--pnavy);margin:18px 0 20px;max-width:15ch}
.procsec .p-text{font-size:1.06rem;line-height:1.65;color:#54606f;max-width:540px}
.procsec .time{position:relative;height:56vh;display:flex;justify-content:center}
.procsec .time .base{position:absolute;top:0;bottom:0;width:2px;background:var(--phair);border-radius:2px}
.procsec .time .fill{position:absolute;top:0;width:2px;height:12%;background:var(--pnavy);border-radius:2px;transition:height .5s var(--pe)}
.procsec .nd{position:absolute;left:50%;transform:translateX(-50%);width:11px;height:11px;border-radius:50%;background:#cdd3da;border:2px solid #F7F5F2;transition:all .4s var(--pe)}
.procsec .nd.n1{top:6%}.procsec .nd.n2{top:36%}.procsec .nd.n3{top:64%}.procsec .nd.n4{top:94%}
.procsec .nd.on{width:20px;height:20px;background:var(--pnavy);box-shadow:0 0 0 5px rgba(23,55,94,.12)}
.procsec .right{position:relative;height:74vh}
.procsec .ps{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .5s var(--pe)}
.procsec .ps.on{opacity:1}
.procsec .ps .doc{opacity:0;transform:translateY(40px);transition:opacity .7s var(--pe),transform .7s var(--pe)}
.procsec .ps.on .doc{opacity:1;transform:var(--rot,none)}
.procsec .ps.on .doc.z2{transition-delay:.07s}.procsec .ps.on .doc.z3{transition-delay:.14s}.procsec .ps.on .doc.z4{transition-delay:.21s}.procsec .ps.on .doc.z5{transition-delay:.10s}
.procsec .doc{position:absolute;background:#fff;filter:drop-shadow(0 22px 40px rgba(20,32,50,.13));border:1px solid rgba(23,55,94,.06);border-radius:4px}
.procsec .db{padding:min(3vh,24px) min(2.2vw,24px)}
.procsec .dt{font-family:"Poppins",var(--sans);font-weight:700;color:var(--pnavy);letter-spacing:.04em;line-height:1.15;font-size:.86rem}
.procsec .ds{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:#9aa3af;font-weight:700}
.procsec .hr{height:1px;background:var(--phair);margin:9px 0}
.procsec .kv{display:flex;justify-content:space-between;gap:10px;font-size:.7rem;padding:4.5px 0;color:#586171}
.procsec .kv b{font-family:"Poppins",var(--sans);color:var(--pnavy);font-weight:700}
.procsec .ok{color:var(--pok);font-weight:700}
.procsec .tag{display:inline-block;font-size:.56rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:20px}
.procsec .tag.g{background:rgba(47,143,91,.12);color:var(--pok)}.procsec .tag.b{background:rgba(23,55,94,.09);color:var(--pnavy)}.procsec .tag.n{background:rgba(107,114,128,.14);color:#6b7280}
.procsec .lead{font-size:.66rem;line-height:1.5;color:#54606f;margin:7px 0}
.procsec .donut{width:84px;height:84px;border-radius:50%;position:relative;flex-shrink:0}
.procsec .donut::after{content:"";position:absolute;inset:27%;background:#fff;border-radius:50%}
.procsec .bars{display:flex;align-items:flex-end;gap:5px;height:70px;margin:10px 0}
.procsec .bars i{flex:1;background:var(--pnavy);border-radius:2px 2px 0 0;opacity:.9}
.procsec .hw{font-family:"Caveat",cursive;font-weight:600;font-size:1.1rem;line-height:1.45;color:#33404f}
.procsec .A4{aspect-ratio:1/1.414}.procsec .LS{aspect-ratio:1.5/1}
/* Mobile: entpinnen, Texte stapeln (Dokument-Szenen als Follow-up) */
@media (max-width:860px){
  .procsec .proc-track{height:auto}
  .procsec .proc-sticky{position:static;height:auto;overflow:visible}
  .procsec .proc-inner{padding:60px 28px}
  .procsec .grid{grid-template-columns:1fr}
  .procsec .time{display:none}
  .procsec .left{height:auto}
  .procsec .pl{position:relative;opacity:1;transform:none;pointer-events:auto;padding:34px 0;border-top:1px solid var(--phair)}
  .procsec .pl:first-child{border-top:0}
  .procsec .right{display:none}
}

/* Vier-Phasen-Titel unter die Nav */
.procsec .proc-title{padding-top:clamp(74px,9vh,100px)}

/* Vier Phasen · Ergebnis-Karte (statt Dokument-Szene) */
.procsec .p-top{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.procsec .p-top .p-num{font-size:clamp(3.4rem,6vw,5.4rem);line-height:1}
.procsec .p-top .p-label{margin-top:0;color:var(--pblue);letter-spacing:.18em}
.procsec .right{display:flex;align-items:center;height:auto}
.procsec .ps{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-start}
.procsec .pcard{width:100%;max-width:580px;background:#fff;border:1px solid rgba(23,55,94,.10);border-radius:22px;
  padding:clamp(24px,2.6vw,34px) clamp(24px,2.6vw,36px);box-shadow:0 34px 66px -42px rgba(15,39,68,.32),0 4px 14px -8px rgba(15,39,68,.14);
  transform:translateY(22px);transition:transform .7s var(--pe)}
.procsec .ps.on .pcard{transform:none}
.procsec .pcard-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:2px solid var(--pnavy);
  font-size:.8rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--pnavy)}
.procsec .pc-meta{color:#9aa3af;font-weight:700;font-size:.72rem}
.procsec .pcard-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid rgba(23,55,94,.09)}
.procsec .pc-main{min-width:0}
.procsec .pc-main b{display:block;font-family:"Poppins",var(--sans);font-weight:700;font-size:1.06rem;letter-spacing:-.01em;color:var(--pnavy)}
.procsec .pc-main span{display:block;margin-top:4px;font-size:.94rem;line-height:1.4;color:#6b7280}
.procsec .pc-tag{flex-shrink:0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pblue);white-space:nowrap;padding-top:3px}
.procsec .pcard-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;
  font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9aa3af}
@media (max-width:860px){ .procsec .right{display:block} .procsec .ps:not(.on){display:none} .procsec .ps{position:relative} .procsec .pcard{transform:none} }

/* Fix: Karten-Höhe begrenzen + zentrieren */
.procsec .right{height:74vh;display:block}
.procsec .ps{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-start}
.procsec .pcard{max-width:560px}
.procsec .pcard-row{padding:14px 0}
.procsec .pc-main b{font-size:1.02rem}
@media (max-width:860px){ .procsec .right{height:auto} .procsec .ps{position:relative} }

/* Fix: pc-main-Namenskollision (Zeile 628) neutralisieren */
.procsec .pc-main{padding:0!important;border:0!important;background:none!important}

/* ================= EDST · Unsere Geschichte als Editorial-Story =================
   Keine Karten. Magazin-Spreads: großes Jahr, Editorial-Headline,
   asymmetrisches Text/Bild-Grid, Metadaten-Zeile, Firmen-Ledger. */
.flow2-wrap.edst{ max-width:1080px; padding-left:72px; }
.edst .flow2-rail{ top:22px; bottom:56px; }

.flow-step.edch{ display:block; } /* neutralisiert altes .flow-step{display:grid} */
.edch{ position:relative; margin:0 0 clamp(96px,12vw,168px); }
.edch:last-child{ margin-bottom:0; }

/* Meta: Jahr groß + Kategorie gesperrt, auf einer Grundlinie */
.edch-meta{ display:flex; align-items:baseline; gap:clamp(18px,2.5vw,30px); flex-wrap:wrap; margin-bottom:clamp(28px,3.5vw,44px); }
.edch-year{
  font-family:"Poppins",var(--sans); font-weight:700;
  font-size:clamp(2.6rem,4.4vw,4.1rem); letter-spacing:-.03em; line-height:1; color:#1C3654;
}
.edch-cat{
  font-size:.82rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
  color:#2B63B8; transform:translateY(-4px);
}

/* Spread: Text 7 / Bild 5, Kapitel 02 gespiegelt */
.edch-grid{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(40px,6vw,88px); align-items:start; }
.edch-grid.one{ grid-template-columns:minmax(0,1fr); }
.edch.alt .edch-grid{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); }
.edch.alt .edch-text{ order:2; }
.edch.alt .edch-fig{ order:1; }

.edch-h{
  font-size:clamp(2.1rem,3.4vw,3.3rem); font-weight:700;
  letter-spacing:-.045em; line-height:1.0; color:var(--ink); margin:0 0 clamp(22px,2.6vw,32px);
}
.edch-text p{ max-width:60ch; font-size:1.16rem; line-height:1.7; font-weight:400; color:#565656; margin:0; }
.edch-text p + p{ margin-top:.9em; }
.edch-text p b{ color:var(--ink); font-weight:600; }
.edch-bridge{ margin-top:1.5em !important; color:var(--ink) !important; font-weight:500 !important; }

/* Bild: nackt auf dem Papierton, keine Karte, feine Bildunterschrift */
.edch-fig{ margin:0; }
.edch-fig img, .edch-fig .smap{ width:100%; border-radius:3px; display:block; }
.edch-fig > img{ aspect-ratio:4/3; object-fit:cover; filter:saturate(.94) contrast(1.01); }
.edch-fig .smap{ aspect-ratio:4/3; }
.edch-fig figcaption{
  margin-top:12px; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase;
  color:#9a938a; border-top:1px solid var(--hair); padding-top:10px;
}

/* Metadaten-Zeile wie im Geschäftsbericht */
.edch-facts{
  display:flex; flex-wrap:wrap; gap:clamp(32px,5vw,72px);
  margin-top:clamp(36px,4.5vw,56px); padding-top:22px; border-top:1px solid var(--hair);
}
.edch-facts .f{ display:flex; flex-direction:column; gap:6px; }
.edch-facts .f span{ font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#9a938a; }
.edch-facts .f b{ font-weight:500; font-size:1rem; letter-spacing:-.01em; color:var(--ink); }

/* Firmen als Editorial-Ledger statt Mini-Cards */
.edch-ledger{ margin-top:clamp(30px,4vw,48px); border-top:1px solid rgba(28,54,84,.22); }
.edch-ledger .lrow{
  display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,1fr);
  gap:24px; align-items:baseline; padding:20px 0; border-bottom:1px solid var(--hair);
}
.edch-ledger .l-name{ font-weight:600; font-size:1.08rem; letter-spacing:-.015em; color:var(--ink); }
.edch-ledger .l-tag{ font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#9a938a; }
.edch-ledger .l-fact{ font-size:.98rem; font-weight:500; color:#1C3654; text-align:right; font-variant-numeric:tabular-nums; }
.edch-ledger .lrow.now .l-name{ color:#2B63B8; }
.edch-ledger .lrow.now .l-tag{ color:#2B63B8; }

/* Ruhige Scroll-Choreografie: fährt über .flow-step.on (bestehendes JS) */
.edch .edch-meta, .edch .edch-h, .edch .edch-text p, .edch .edch-fig, .edch .edch-facts, .edch .edch-ledger{
  opacity:0; transform:translateY(22px);
  transition:opacity .9s cubic-bezier(.23,1,.32,1), transform .9s cubic-bezier(.23,1,.32,1);
}
.edch .edch-h{ transition-delay:.08s; }
.edch .edch-text p{ transition-delay:.16s; }
.edch .edch-fig{ transition-delay:.12s; }
.edch .edch-facts, .edch .edch-ledger{ transition-delay:.26s; }
.flow-step.on .edch-meta, .flow-step.on .edch-h, .flow-step.on .edch-text p,
.flow-step.on .edch-fig, .flow-step.on .edch-facts, .flow-step.on .edch-ledger{
  opacity:1; transform:none;
}
@media (prefers-reduced-motion:reduce){
  .edch .edch-meta, .edch .edch-h, .edch .edch-text p, .edch .edch-fig, .edch .edch-facts, .edch .edch-ledger{
    opacity:1; transform:none; transition:none;
  }
}

/* Mobile: einspaltig, Bild nach dem Text */
@media (max-width:860px){
  .flow2-wrap.edst{ padding-left:48px; }
  .edch-grid, .edch.alt .edch-grid{ grid-template-columns:minmax(0,1fr); gap:32px; }
  .edch.alt .edch-text{ order:1; }
  .edch.alt .edch-fig{ order:2; }
  .edch-ledger .lrow{ grid-template-columns:minmax(0,1fr); gap:4px; padding:16px 0; }
  .edch-ledger .l-fact{ text-align:left; }
}

/* ================= CASES · Firmen als Portfolio-Editorial (keine Boxen) ================= */
.flow2-card .cases{ padding:0; margin-top:20px; border-top:1px solid rgba(28,54,84,.20); }
.flow2-card .case{ padding:clamp(20px,2.6vw,28px) 0; border-bottom:1px solid var(--hair); }
.flow2-card .case:last-child{ border-bottom:0; padding-bottom:0; }
.flow2-card .case-head{ display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; margin-bottom:14px; }
.flow2-card .case-head h4{ margin:0; font-size:1.12rem; font-weight:650; letter-spacing:-.015em; color:var(--ink); }
.flow2-card .case-tag{ font-size:.7rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#9a938a; }

/* Case 1 · M&L: nur Typografie */
.flow2-card .case-ml .case-lede{ max-width:34ch; font-size:clamp(1.25rem,1.9vw,1.6rem) !important; line-height:1.35 !important; font-weight:500; color:var(--ink) !important; letter-spacing:-.02em; }
.flow2-card .case-links{ display:flex; gap:28px; flex-wrap:wrap; margin-top:16px; }
.flow2-card .case-links span{ font-size:.95rem; font-weight:500; color:#2B63B8; }

/* Case 2/3 · Foto + große Zahlen */
.flow2-card .case-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(22px,3vw,40px); align-items:center; }
.flow2-card .case-split.rev .case-grid .flow2-card .case-photo{ order:2; }
.flow2-card .case-split.rev .case-grid .flow2-card .case-nums{ order:1; }
.flow2-card .case-photo{ width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:6px; display:block; }
.flow2-card .case-nums{ display:flex; flex-direction:column; gap:18px; }
.flow2-card .cn b{ display:block; font-size:clamp(1.5rem,2.3vw,2rem); font-weight:700; letter-spacing:-.025em; color:#1C3654; font-variant-numeric:tabular-nums; line-height:1.1; }
.flow2-card .cn.cn-s b{ font-size:1.05rem; font-weight:600; letter-spacing:-.01em; }
.flow2-card .cn span{ display:block; margin-top:3px; font-size:.72rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:#9a938a; }

@media (max-width:700px){
  .flow2-card .case-grid{ grid-template-columns:minmax(0,1fr); }
  .flow2-card .case-split.rev .case-grid .flow2-card .case-photo{ order:1; }
  .flow2-card .case-split.rev .case-grid .flow2-card .case-nums{ order:2; }
}

/* Cases ohne Fotos: Zahlen als horizontale Editorial-Reihe */
.flow2-card .case-nums.row{ flex-direction:row; flex-wrap:wrap; gap:clamp(28px,5vw,64px); align-items:baseline; }

/* Case-Platzhalter (bis echte Fotos da sind) */
.flow2-card .case-ph{
  width:100%; aspect-ratio:16/10; border-radius:6px;
  background:#F1EFEA; border:1px dashed rgba(28,54,84,.18);
  display:flex; align-items:center; justify-content:center;
}
.flow2-card .case-ph span{
  font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#B4ADA2;
}
.flow2-card .case-split.rev .case-grid .case-ph{ order:2; }
@media (max-width:700px){ .flow2-card .case-split.rev .case-grid .case-ph{ order:1; } }

/* Station 04 · Heute: Text links, echtes Foto rechts (Höhepunkt) */
.flow2-card .today-grid{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(28px,4vw,56px); align-items:center; }
.flow2-card .today-text h3{ font-size:clamp(1.6rem,2.4vw,2.15rem); line-height:1.08; margin-bottom:16px; }
.flow2-card .today-text p + p{ margin-top:.8em; }
.flow2-card .today-ph{ aspect-ratio:4/5; }
.flow2-card .today-fig{ margin:0; }
.flow2-card .today-fig figcaption{
  margin-top:10px; font-size:.78rem; letter-spacing:.05em; color:#9a938a;
}
@media (max-width:700px){
  .flow2-card .today-grid{ grid-template-columns:minmax(0,1fr); }
  .flow2-card .today-ph{ aspect-ratio:16/10; }
}

/* Einheitliche Bildhöhe für ALLE Story-Karten (01/02/04 identisch) */
.flow2-card .flow2-photo{ aspect-ratio:2.35/1; overflow:hidden; }
.flow2-card .flow2-photo img{ width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }
.flow2-card .flow2-photo .smap{ width:100%; height:100%; aspect-ratio:auto; }
/* Platzhalter im selben Format (Karte 04) */
.flow2-card .flow2-phx{ display:flex; align-items:center; justify-content:center; background:#F1EFEA; border-bottom:1px solid var(--hair); }
.flow2-card .flow2-phx span{ font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#B4ADA2; }

/* CTA unter dem Story-Abschluss */
.ls-close-cta{ display:flex; align-items:center; justify-content:center; gap:26px; flex-wrap:wrap; margin-top:30px; }

/* ================= LP · Kampagnen-Landingpages ================= */
.lp .nav-inner{ justify-content:space-between; }
.lp-hero{ max-width:880px; margin:0 auto; padding:clamp(64px,9vw,120px) 40px clamp(40px,5vw,64px); text-align:center; }
.lp-eyebrow{ font-size:.78rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:#2B63B8; margin:0 0 18px; }
.lp-hero h1{ font-family:"Poppins",var(--sans); font-size:clamp(2.1rem,4.4vw,3.6rem); font-weight:700; letter-spacing:-.035em; line-height:1.05; color:var(--ink); margin:0 0 22px; }
.lp-h1a{ color:#8b8f96; }
.lp-sub{ max-width:62ch; margin:0 auto 30px; font-size:1.12rem; line-height:1.7; color:#565656; }
.lp-cta{ display:flex; flex-direction:column; align-items:center; gap:12px; margin-bottom:44px; }
.lp-trust{ font-size:.85rem; color:#9a938a; }
.lp-proof{ display:flex; justify-content:center; gap:clamp(28px,5vw,64px); flex-wrap:wrap; padding-top:26px; border-top:1px solid var(--hair); }
.lp-proof .lpp b{ display:block; font-family:"Poppins",var(--sans); font-weight:700; font-size:1.05rem; color:#1C3654; }
.lp-proof .lpp span{ font-size:.8rem; color:#9a938a; }
.lp-sec{ max-width:980px; margin:0 auto; padding:clamp(36px,5vw,64px) 40px; }
.lp-sec h2{ font-size:clamp(1.5rem,2.6vw,2.1rem); font-weight:700; letter-spacing:-.03em; color:var(--ink); text-align:center; margin:0 0 clamp(26px,3.5vw,42px); }
.lp-grid3{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.lp-card{ background:#fff; border:1px solid var(--hair); border-radius:16px; padding:26px 24px; }
.lp-card h3{ font-size:1.05rem; font-weight:650; letter-spacing:-.015em; color:var(--ink); margin:0 0 10px; }
.lp-card p{ font-size:.98rem; line-height:1.6; color:#565656; margin:0; }
.lp-list{ max-width:720px; margin:0 auto; display:flex; flex-direction:column; gap:18px; }
.lp-li{ display:flex; gap:16px; align-items:flex-start; }
.lp-check{ flex:0 0 auto; width:26px; height:26px; border-radius:50%; background:rgba(43,99,184,.1); color:#2B63B8; font-weight:700; font-size:.85rem; display:flex; align-items:center; justify-content:center; margin-top:2px; }
.lp-li b{ display:block; font-size:1.05rem; font-weight:650; letter-spacing:-.01em; color:var(--ink); margin-bottom:3px; }
.lp-li p{ font-size:.98rem; line-height:1.6; color:#565656; margin:0; }
.lp-ol{ max-width:720px; margin:0 auto; padding:0; list-style:none; counter-reset:lp; }
.lp-ol li{ counter-increment:lp; position:relative; padding:0 0 26px 62px; }
.lp-ol li::before{ content:counter(lp,decimal-leading-zero); position:absolute; left:0; top:0; font-family:"Poppins",var(--sans); font-weight:700; font-size:1.15rem; color:#1C3654; }
.lp-ol li::after{ content:""; position:absolute; left:14px; top:34px; bottom:6px; width:2px; background:rgba(28,54,84,.12); }
.lp-ol li:last-child::after{ display:none; }
.lp-ol b{ display:block; font-size:1.08rem; font-weight:650; letter-spacing:-.012em; color:var(--ink); margin-bottom:4px; }
.lp-ol span{ font-size:.98rem; line-height:1.6; color:#565656; }
.lp-story{ text-align:center; }
.lp-story-in{ max-width:720px; margin:0 auto; padding:clamp(28px,4vw,44px) clamp(24px,4vw,48px); background:#F3EEE5; border-radius:18px; }
.lp-story-k{ font-size:.75rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:#9a938a; margin:0 0 14px; }
.lp-story-t{ font-size:1.12rem; line-height:1.7; color:var(--ink); margin:0; }
.lp-story-t b{ font-weight:650; }
.lp-faq{ max-width:760px; }
@media (max-width:820px){
  .lp-grid3{ grid-template-columns:minmax(0,1fr); }
  .lp-hero{ padding-left:22px; padding-right:22px; }
  .lp-sec{ padding-left:22px; padding-right:22px; }
}

/* ================= QF · Qualifizierungs-Formular (KfW 067) ================= */
.lp-formsec{ max-width:720px; margin:0 auto; padding:clamp(36px,5vw,64px) 24px; }
.lp-formsec > h2{ font-size:clamp(1.5rem,2.6vw,2.1rem); font-weight:700; letter-spacing:-.03em; color:var(--ink); text-align:center; margin:0 0 8px; }
.lp-formsec > .lp-form-sub{ text-align:center; font-size:1rem; color:#565656; margin:0 0 30px; }
#lpAnfrage{ background:#fff; border:1px solid var(--hair); border-radius:20px; padding:clamp(24px,3.5vw,40px); box-shadow:0 26px 54px -38px rgba(15,39,68,.28); scroll-margin-top:90px; }
.qf-progress{ height:4px; background:rgba(28,54,84,.1); border-radius:4px; overflow:hidden; margin-bottom:16px; }
.qf-progress span{ display:block; height:100%; background:#2B63B8; border-radius:4px; transition:width .4s cubic-bezier(.23,1,.32,1); }
.qf-stepnum{ font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#9a938a; margin:0 0 6px; }
.qf-head h3{ font-size:1.35rem; font-weight:700; letter-spacing:-.02em; color:var(--ink); margin:0 0 22px; }
.qf-field{ margin-bottom:22px; }
.qf-label{ display:block; font-size:.98rem; font-weight:600; color:var(--ink); margin-bottom:10px; }
.qf-opts{ display:flex; flex-wrap:wrap; gap:10px; }
.qf-opt{ padding:10px 16px; border-radius:12px; border:1px solid rgba(28,54,84,.18); background:#fff; color:#3a3f47;
  font:inherit; font-size:.95rem; font-weight:500; cursor:pointer; transition:all .18s ease-out; }
.qf-opt:hover{ border-color:#2B63B8; }
.qf-opt:active{ transform:scale(.97); }
.qf-opt.on{ background:#1C3654; border-color:#1C3654; color:#fff; }
#lpAnfrage input[type=text], #lpAnfrage input[type=email], #lpAnfrage input[type=tel], #lpAnfrage textarea{
  width:100%; padding:13px 15px; border-radius:12px; border:1px solid rgba(28,54,84,.18);
  font:inherit; font-size:.98rem; color:var(--ink); background:#fff; outline:none; transition:border-color .18s;
}
#lpAnfrage input:focus, #lpAnfrage textarea:focus{ border-color:#2B63B8; }
.qf-checklabel{ display:flex; gap:12px; align-items:flex-start; font-size:.9rem; line-height:1.55; color:#565656; cursor:pointer; }
.qf-checklabel input{ margin-top:3px; accent-color:#1C3654; }
.qf-checklabel a{ color:#2B63B8; }
.qf-err{ color:#B4232A; font-size:.82rem; margin:8px 0 0; }
.qf-nav{ display:flex; justify-content:space-between; align-items:center; margin-top:28px; }
.qf-back{ background:none; border:0; font:inherit; font-size:.95rem; font-weight:500; color:#565656; cursor:pointer; }
.qf-back:hover{ color:var(--ink); }
.qf-done{ text-align:center; padding:30px 10px; }
.qf-done-ic{ width:54px; height:54px; margin:0 auto 18px; border-radius:50%; background:rgba(43,99,184,.1); color:#2B63B8;
  font-size:1.5rem; font-weight:700; display:flex; align-items:center; justify-content:center; }
.qf-done h3{ font-size:1.4rem; font-weight:700; color:var(--ink); margin:0 0 10px; }
.qf-done p{ font-size:1rem; line-height:1.65; color:#565656; max-width:44ch; margin:0 auto; }

/* Funnel-Variante: Formular direkt unterm Hero */
.lp-hero.slim{ padding-bottom:8px; }
.lp-funnel-sub{ max-width:56ch; margin-left:auto; margin-right:auto; }
.lp-formsec{ padding-top:18px; }
.lp-proof-funnel{ margin-top:30px; padding-top:24px; border-top:1px solid var(--hair); }
.qf-hint{ font-size:.84rem; color:#8a8478; margin:-4px 0 10px; }

/* Pur-Funnel: dezenter Hero, Formular ist der Star */
.lp-hero.slim{ padding-top:clamp(36px,5vw,56px); padding-bottom:0; }
.lp-hero.slim h1{ font-size:clamp(1.45rem,2.4vw,2rem); letter-spacing:-.025em; margin-bottom:6px; }
.lp-hero.slim .lp-eyebrow{ margin-bottom:12px; }
.lp-hero.slim .lp-hero-sub{ max-width:60ch; margin:12px auto 0; font-size:1.05rem; line-height:1.55; color:#565656; }
.lp-clarify{ max-width:70ch; margin:24px auto 0; padding:16px 20px; background:#f3f6fb; border:1px solid #e4e9f2; border-radius:12px; font-size:.97rem; line-height:1.6; color:#3a4557; }
.lp-clarify b{ color:#132A5C; }
/* Autohändler-LP: Eckdaten-Karte statt Hero-Bild */
.ah .fsm-hero-media{ transform:none; }
@media (min-width:960px){ .ah .fsm-hero-media{ transform:translateY(-8px); } }
.eck{ background:#fff; border:1px solid #E4E2DC; border-radius:22px; padding:clamp(22px,3vw,32px); box-shadow:0 44px 90px -46px rgba(20,24,32,.35), inset 0 0 0 1px rgba(20,24,32,.03); }
.eck-k{ font-family:var(--sans); font-size:.7rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#9a9488; margin:0 0 6px; }
.eck-tier{ padding:20px 0; border-top:1px solid #ECEAE4; }
.eck-tier:first-of-type{ border-top:0; padding-top:8px; }
.eck-tier-top{ display:flex; align-items:baseline; justify-content:space-between; gap:10px 14px; flex-wrap:wrap; }
.eck-amount{ font-family:"General Sans",var(--serif); font-weight:700; font-size:clamp(1.7rem,2.4vw,2.15rem); color:#16283F; letter-spacing:-.02em; line-height:1; }
.eck-hf{ font-family:var(--sans); font-weight:700; font-size:.8rem; color:#2A61C4; background:#EAF0FB; border-radius:999px; padding:6px 12px; white-space:nowrap; }
.eck-label{ font-family:var(--sans); font-size:.95rem; color:#43474e; margin:10px 0 0; line-height:1.5; }
.eck-foot{ display:flex; align-items:center; gap:10px; margin:20px 0 0; padding:14px 0 2px; border-top:1px solid #ECEAE4; font-family:var(--sans); font-size:.92rem; color:#22262c; }
.eck-foot b{ color:#16283F; }
.eck-note{ font-family:var(--sans); font-size:.82rem; line-height:1.55; color:#7a7568; margin:18px 0 0; padding:14px 16px; background:#F7F5F1; border-radius:12px; }
.eck-note b{ color:#16283F; }
@media (max-width:560px){
  .eck-tier-top{ flex-direction:column; align-items:flex-start; gap:8px; }
  .eck-hf{ font-size:.76rem; }
}

/* ===== Autohändler-LP: Finanzierungs-Blatt als echtes Papier-Dokument ===== */
.ah .fsm-hero-media{ transform:none; }
/* Status-Punkte statt Outline-Häkchen */
.ah .fsm-result{ margin-top:22px; }
.ah .fsm-result li{ font-size:1rem; padding-left:26px; margin-bottom:13px; }
.ah .fsm-result li::before{ content:""; width:10px; height:10px; border:0; border-radius:50%;
  background:#1a9d6a; top:.42em; left:0; transform:none; box-shadow:0 0 0 4px rgba(26,157,106,.14); }
/* CTA prominenter */
.ah .fsm-cta{ margin-top:30px; padding:24px 26px; background:#fff; border:1px solid #ece7db;
  border-radius:18px; box-shadow:0 24px 50px -34px rgba(20,24,32,.4); }
.ah .fsm-cta-q{ font-size:clamp(1.2rem,1.8vw,1.5rem); margin-bottom:16px; }
.ah .fsm-cta-btn{ padding:16px 26px; font-size:1.02rem; }

.sheet-wrap{ position:relative; padding:26px 20px 0; }
.sheet{ position:relative; background:#fffdf8; border:1px solid #ece7db; border-radius:6px;
  padding:30px 32px 30px; transform:rotate(-1.5deg);
  box-shadow:0 2px 6px rgba(20,24,32,.06), 0 34px 64px -30px rgba(20,24,32,.4); }
.sheet::before{ content:""; position:absolute; inset:0; z-index:-1; background:#fff;
  border:1px solid #efeadf; border-radius:6px; transform:rotate(2.7deg) translate(11px,9px);
  box-shadow:0 22px 44px -26px rgba(20,24,32,.34); }
.sheet-hd{ display:flex; align-items:center; justify-content:space-between; gap:12px;
  border-bottom:2px solid #16283F; padding-bottom:12px; margin-bottom:8px; }
.sheet-hd-k{ font-family:var(--sans); font-size:.74rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#16283F; }
.sheet-tag{ font-family:var(--sans); font-size:.6rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:#9a8f76; border:1px solid #d8cfb8; border-radius:4px; padding:3px 8px; }
.sheet-sub{ font-family:var(--sans); font-size:.82rem; color:#8a8375; margin:0 0 22px; }
.sheet-row{ margin:0 0 16px; }
.sheet-row .l{ display:block; font-family:var(--sans); font-size:.75rem; color:#8a8375; margin-bottom:4px; }
.sheet-row .v{ display:block; font-family:"General Sans",var(--serif); font-weight:700; font-size:1.55rem;
  color:#16283F; letter-spacing:-.02em; line-height:1; }
.sheet-hr{ height:2px; margin:22px 0; background:repeating-linear-gradient(90deg,#d8d2c4 0,#d8d2c4 6px,transparent 6px,transparent 11px); }
.sheet-strip{ display:grid; grid-template-columns:1fr 1fr; gap:12px 22px; }
.sheet-strip .l{ display:block; font-family:var(--sans); font-size:.72rem; color:#8a8375; margin-bottom:5px; line-height:1.25; }
.sheet-strip .v{ font-family:"General Sans",var(--serif); font-weight:700; font-size:1.15rem; color:#16283F; }
.sheet-status{ display:flex; align-items:baseline; gap:8px; margin:18px 0 0; padding:12px 0 0; border-top:1px solid #ece7db; }
.sheet-status .l{ font-family:var(--sans); font-size:.72rem; color:#8a8375; }
.sheet-status b{ font-family:"General Sans",var(--serif); font-weight:700; font-size:1.15rem; color:#1a9d6a; letter-spacing:-.01em; }
.sheet-foot{ margin:16px 0 0; font-family:var(--sans); font-size:.68rem; color:#a89e88; }
.sheet-stamp{ position:absolute; right:26px; top:120px; transform:rotate(-9deg);
  font-family:var(--sans); font-weight:800; font-size:.72rem; letter-spacing:.09em; text-transform:uppercase;
  color:#1a9d6a; border:2.5px solid #1a9d6a; border-radius:7px; padding:7px 12px; opacity:.8;
  box-shadow:inset 0 0 0 1.5px rgba(26,157,106,.22); pointer-events:none; }
.sheet-note{ position:absolute; right:-18px; bottom:38px; z-index:2; transform:rotate(4deg);
  background:#fff2b8; color:#5a4b12; width:120px; padding:11px 12px 13px;
  font-family:var(--sans); font-size:.7rem; font-weight:600; line-height:1.3;
  box-shadow:0 12px 24px -10px rgba(20,24,32,.45); }
.sheet-note span{ display:block; font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:#9a8321; margin-bottom:3px; }
.sheet-note b{ display:block; font-size:.9rem; font-weight:800; }
.sheet-why{ margin:18px 8px 0; font-family:var(--sans); }
.sheet-why summary{ cursor:pointer; font-size:.84rem; font-weight:600; color:#2A61C4; list-style:none; display:inline-block; }
.sheet-why summary::-webkit-details-marker{ display:none; }
.sheet-why summary::after{ content:" ›"; }
.sheet-why[open] summary::after{ content:" ⌄"; }
.sheet-why p{ font-size:.82rem; line-height:1.55; color:#6a6558; margin:9px 0 0; max-width:40ch; }
@media (max-width:860px){
  .ah .fsm-hero{ overflow-x:clip; }
  .fsm-hero-media{ overflow-x:clip; padding:0 8px; }
  .sheet-wrap{ padding:14px 0 0; }
  .sheet{ transform:none; padding:24px 22px; max-width:340px; margin:0 auto; }
  .sheet::before{ transform:rotate(1.6deg) translate(5px,6px); }
  .sheet-note{ left:auto; top:auto; right:18px; bottom:22px; width:84px; transform:rotate(3deg); }
  .sheet-stamp{ right:30px; top:98px; font-size:.62rem; }
  .sheet-why{ text-align:center; }
}
.lp-formsec .lp-funnel-sub{ font-size:.95rem; margin-bottom:20px; }
/* Klick-Check-Zeile sauber zentrieren (schlägt die .lp-formsec>.lp-form-sub-Grundregel) */
.lp-formsec > .lp-form-sub.lp-funnel-sub{ max-width:56ch; margin:0 auto 20px; text-align:center; }

/* ================= PAW-Modal · Gründungsgeschichte ================= */
.pawm{ position:fixed; inset:0; z-index:200; display:none; }
.pawm.open{ display:block; }
.pawm-backdrop{ position:absolute; inset:0; background:rgba(12,20,32,.66); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); opacity:0; transition:opacity .35s ease-out; }
.pawm.open .pawm-backdrop{ opacity:1; }
.pawm-card{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-48%) scale(.97); opacity:0;
  width:min(760px, calc(100vw - 32px)); max-height:calc(100vh - 64px); overflow-y:auto;
  background:#fff; border-radius:24px; box-shadow:0 60px 120px -40px rgba(10,20,35,.6);
  transition:opacity .4s cubic-bezier(.23,1,.32,1), transform .4s cubic-bezier(.23,1,.32,1);
}
.pawm.open .pawm-card{ opacity:1; transform:translate(-50%,-50%) scale(1); }
.pawm-close{
  position:absolute; top:16px; right:16px; z-index:5;
  width:40px; height:40px; border-radius:50%; border:0; cursor:pointer;
  background:rgba(12,20,32,.45); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center;
  transition:background .2s ease-out, transform .16s ease-out;
}
.pawm-close:hover{ background:rgba(12,20,32,.65); }
.pawm-close:active{ transform:scale(.94); }
.pawm-close svg{ width:17px; height:17px; } .pawm-close path{ fill:none; stroke:#fff; stroke-width:2; stroke-linecap:round; }
.pawm-hero{ position:relative; }
.pawm-hero img{ width:100%; aspect-ratio:16/10; object-fit:cover; object-position:center 30%; display:block; }
.pawm-hero-grad{ position:absolute; inset:0; background:linear-gradient(to top, rgba(12,20,32,.92) 0%, rgba(12,20,32,.42) 38%, rgba(12,20,32,0) 68%); }
.pawm-hero-text{ position:absolute; left:clamp(22px,4vw,40px); right:clamp(22px,4vw,40px); bottom:24px; color:#fff; }
.pawm-kicker{ font-size:.72rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:#9fc0f5; margin:0 0 10px; }
.pawm-hero-text h2{ font-size:clamp(1.7rem,4vw,2.4rem); font-weight:700; letter-spacing:-.03em; line-height:1.05; margin:0 0 8px; color:#fff; text-shadow:0 2px 24px rgba(0,0,0,.35); }
.pawm-name{ font-size:.95rem; color:rgba(255,255,255,.85); margin:0; }
.pawm-body{ padding:clamp(24px,4vw,40px); }
.pawm-facts{ display:flex; gap:clamp(20px,4vw,44px); flex-wrap:wrap; padding-bottom:22px; margin-bottom:22px; border-bottom:1px solid var(--hair); }
.pawm-facts b{ display:block; font-family:"Poppins",var(--sans); font-weight:700; font-size:1.05rem; color:#1C3654; }
.pawm-facts span{ font-size:.72rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#9a938a; }
.pawm-body > p{ font-size:1.04rem; line-height:1.7; color:#4a4a4a; margin:0 0 1em; }
.pawm-body > p b{ color:var(--ink); }
.pawm-quote{ font-family:"STIX Two Text",Georgia,serif; font-size:1.3rem !important; line-height:1.5 !important; font-weight:500; color:var(--ink) !important; border-left:0; padding:0; margin:1.5em 0 !important; }
.pawm-gallery{ margin:24px 0; }
.pawm-gallery img{ width:100%; aspect-ratio:16/9; object-fit:cover; object-position:center 40%; border-radius:14px; display:block; }
.pawm-video{
  display:flex; align-items:center; gap:14px; padding:18px 20px; border-radius:14px;
  background:#F3EEE5; color:#6e6e73; font-size:.95rem; font-weight:500; margin-bottom:24px;
}
.pawm-video-ic{ width:38px; height:38px; border-radius:50%; background:#1C3654; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.pawm-video-ic svg{ width:16px; height:16px; fill:#fff; margin-left:2px; }
.pawm-actions{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.pawm-cta2{ font-size:.98rem; font-weight:500; color:#2B63B8; text-decoration:none; }
.story-photo img{ width:100%; height:100%; object-fit:cover; object-position:78% center; display:block; }
@media (max-width:600px){ .pawm-gallery{ grid-template-columns:1fr; } .pawm-card{ border-radius:18px; } }

/* PAW-Modal: Video-Teaser (Platzhalter bis der Film da ist) */
.pawm-videoteaser{ position:relative; margin:24px 0; border-radius:14px; overflow:hidden; }
.pawm-videoteaser img{ width:100%; aspect-ratio:16/9; object-fit:cover; object-position:center 40%; display:block; filter:brightness(.82); }
.pawm-play{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:72px; height:72px; border-radius:50%;
  background:rgba(255,255,255,.18); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.5);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 40px rgba(0,0,0,.35);
}
.pawm-play svg{ width:26px; height:26px; fill:#fff; margin-left:4px; }
.pawm-video-note{
  position:absolute; left:16px; bottom:14px; padding:7px 14px; border-radius:20px;
  background:rgba(12,20,32,.55); backdrop-filter:blur(6px);
  color:#fff; font-size:.8rem; font-weight:500; letter-spacing:.02em;
}

/* PAW-Modal: Vorspann statt Kennzahlen-Raster */
.pawm-standfirst{
  font-family:"STIX Two Text",Georgia,serif; font-size:1.28rem; line-height:1.55;
  color:var(--ink); margin:0 0 1.3em; padding-bottom:1.2em; border-bottom:1px solid var(--hair);
}

/* Founder: echtes Foto im Portrait-Rahmen */
.founder-photo img{ width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 22%; border-radius:26px; box-shadow:0 40px 80px -40px rgba(21,42,66,.4); display:block; }
.founder-photo{ background:none !important; }

/* Story-Karte 01: Play-Button aufs Foto (öffnet das Interview-Popup) */
.story-photo-video{ position:relative; }
.story-play{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:64px; height:64px; border-radius:50%;
  background:rgba(255,255,255,.18); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.55);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 36px rgba(0,0,0,.35);
  transition:transform .25s cubic-bezier(.23,1,.32,1), background .2s ease-out;
}
.story-play svg{ width:22px; height:22px; fill:#fff; margin-left:3px; }
.story-slide:hover .story-play{ transform:translate(-50%,-50%) scale(1.08); background:rgba(255,255,255,.28); }

/* PAW-Modal: Kapitel-Zwischentitel */
.pawm-h3{
  font-size:.78rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:#2B63B8; margin:1.8em 0 .6em;
}
.pawm-body > .pawm-h3:first-of-type{ margin-top:.4em; }
.pawm-body > p i{ color:var(--ink); }

/* ================= MOBILE-POLITUR 31.07. ================= */
@media (max-width:900px){
  /* 1) Hero: Text nie im Video ertrinken lassen */
  .hero::before{
    background:linear-gradient(90deg, #F5F1EB 52%, rgba(245,241,235,.88) 72%, rgba(245,241,235,.45) 100%);
  }
  .hero-fade{ width:100%; background:linear-gradient(90deg, #F5F1EB 40%, rgba(245,241,235,.75) 70%, rgba(245,241,235,.25) 100%); }

  /* 2) Situationen: echtes Akkordeon statt leerer Riesen-Kacheln */
  .uc-panel:not(.active) .uc-body{ display:none; }
  .uc-panel{ min-height:0; }
  .uc-vert{ padding:22px 22px 22px 72px; font-size:1.15rem; }
  .uc-num{ top:20px; left:26px; font-size:.9rem; }

  /* 3) Phasen-Strich: bewegliche Teile aus, ruhige statische Linie */
  .ed-line-head, .ed-conn{ display:none !important; }
  .ed-phase{ margin-bottom:64px; min-height:0; }

  /* 4) Sicherheitsnetz: Scroll-Reveals dürfen mobil nie hängen bleiben (leere Flächen) */
  .gs-up, .gs-fade{ opacity:1 !important; transform:none !important; }

  /* 5) Abstände kompakter */
  .close{ margin-top:28px; }
  .faq{ padding-top:44px; }
}



/* ================= MOBILE-POLITUR v2 ================= */
@media (max-width:900px){
  /* 1) Hero: Video Fullscreen, kompletter Schleier – Text immer klar lesbar */
  .hero-media{ width:100% !important; left:0; -webkit-mask-image:none !important; mask-image:none !important; }
  .hero-fade{ display:none !important; }
  .hero::before{ z-index:1 !important; /* ÜBER dem Video, unter dem Text */
    background:linear-gradient(180deg, rgba(245,241,235,.92) 0%, rgba(245,241,235,.8) 55%, rgba(245,241,235,.68) 100%) !important; }

  /* 3) Aktive Situationen-Kachel: Nummer weg (kollidierte mit Icon) */
  .uc-panel.active .uc-num{ display:none; }

  /* 4-6) Phasen: Inhalte immer sichtbar; Strich als saubere linke Leiste */
  .ed-line{ left:14px !important; transform:none !important; }
  .ed-dot{ left:14px !important; top:34px !important; }
  .ed-conn{ display:none !important; }
  .ed-row{ padding-left:36px; }
  .ed-col, .ed-cta, .ed-r, .ed-bar-v{ opacity:1 !important; transform:none !important; pointer-events:auto !important; filter:none !important; }
  .ed-phase{ min-height:0; margin-bottom:48px; align-items:flex-start; }
  .ed-head{ margin-bottom:20px; }
  .ed-intro{ margin-bottom:0; }

  /* 7) Practice/Ziel-Statement: Szenen sichtbar, kein Leerlauf bis zur CTA-Karte */
  .wg2-txt{ opacity:1 !important; transform:none !important; filter:none !important; }
  .practice{ padding-bottom:36px; }
  .practice-inner{ min-height:0; }
}

/* Sticky-CTA: erst nach dem Hero einblenden (Zeitungen beim Start sichtbar) */
.sticky-cta{ opacity:0; pointer-events:none; transform:translateY(10px);
  transition:opacity .35s ease-out, transform .35s ease-out; }
.sticky-cta.show{ opacity:1; pointer-events:auto; transform:none; }

/* Mobil: Karussell kompakter – immer ~2 Zeitungen im Bild */
@media (max-width:900px){
  .press-track{ gap:30px; padding-right:30px; }
  .press-track img{ height:26px; }
  .press-track img.wide{ height:15px; }
}

@media (max-width:900px){
  .practice-grid{ min-height:0 !important; }
  .practice-inner{ padding-bottom:24px; }
  .ed-track{ padding-top:0; }
}

@media (max-width:900px){
  /* Bankpraxis: leerer Foto-Platzhalter frisst am Handy nur Platz */
  .practice-photo{ display:none; }
}

/* iOS-Sicherheit: nie horizontal scrollbar (Marquee & Co. bleiben eingesperrt) */
@media (max-width:900px){
  html, body{ overflow-x:hidden; max-width:100vw; }
}

@media (max-width:900px){
  /* Abstände um „Alle Erfolgsgeschichten" kompakt */
  .stories{ padding-bottom:16px; }
  .story-more{ margin:8px 0 0; padding:0; }
  .usecase-detail{ padding-top:20px; margin-top:16px; }
}

@media (max-width:900px){
  /* „Bekannt aus" kompakt: Label klein oben, Logos direkt darunter, halbe Höhe */
  .statbar.statbar-press{ display:block; padding:14px 16px 12px; border-radius:14px; }
  .statbar-press .hero-press-label{ display:block; border-right:0; padding-right:0; margin:0 0 8px;
    font-size:.6rem; letter-spacing:.2em; text-align:left; }
  .press-track img{ height:22px; }
  .press-track img.wide{ height:13px; }
  .press-track{ gap:26px; padding-right:26px; }
}

@media (max-width:900px){
  /* Touch: Hover-Rotation der zugeklappten Kacheln deaktivieren (drehte „Verkauf" auf den Kopf) */
  .uc-panel:not(.active):hover .uc-vert{ transform:none !important; }
}
/* Strich: Transitions aus – die Füllung wird pro Frame direkt gesetzt, Transition erzeugt Flackern */
.ed-line-fill, .ed-line-head{ transition:none !important; will-change:transform; }

/* ================= „BEKANNT AUS" · taste-Politur (einheitliches Presse-Band) ================= */
/* Entsättigt + einheitliche Deckkraft: die fünf Logos lesen als EIN Vertrauens-Siegel. */
.press-track a{ opacity:1; }                         /* Wrapper voll – Filter sitzt aufs Bild */
.press-track img,
.hero-press-logos img{
  filter:grayscale(1);
  opacity:.5;
  transition:filter .18s ease, opacity .18s ease, transform .18s cubic-bezier(.23,1,.32,1);
}
@media (hover:hover) and (pointer:fine){
  .press-track a:hover img,
  .hero-press-logos a:hover img{ filter:brightness(0); opacity:1; transform:scale(1.02); }
}

/* Karte: schlanke Leiste statt Block. Desktop kompakter, Trennstrich feiner. */
.statbar.statbar-press{ padding:16px 22px; }
.statbar-press .hero-press-label{ color:#9a9ca3; }

/* Mobil: halbe Höhe, Label klein oben, Logos einheitlich niedrig */
@media (max-width:900px){
  .statbar.statbar-press{ padding:13px 16px 12px; border-radius:14px; }
  .press-track img{ height:20px !important; }
  .press-track img.wide{ height:13px !important; }
  .press-track{ gap:30px; padding-right:30px; }
}

/* Desktop: „Bekannt aus" als weißer Kasten um die Logos. Handy: ohne Kasten, frei. */
@media (min-width:861px){
  .hero .statbar.statbar-press{
    background:#fff !important; border:1px solid rgba(29,29,31,.07) !important;
    box-shadow:0 20px 50px -30px rgba(21,42,66,.35) !important;
    border-radius:16px !important; padding:18.5px 26px !important;
    display:inline-flex !important; width:auto !important;
  }
  /* Desktop: keine Rand-Ausblendung (Maske ist nur fürs mobile Durchlaufen) -> erstes Logo nicht ausgeblasst */
  .hero .press-marquee{ -webkit-mask-image:none !important; mask-image:none !important; }
}
@media (max-width:860px){
  .hero .statbar.statbar-press{
    background:none !important; border:0 !important; box-shadow:none !important;
    backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
    border-radius:0 !important; padding:0 !important;
  }
}
.hero .statbar-press .hero-press-label{ border-right:0 !important; padding-right:16px !important; color:#8a8c92 !important; }

/* Hero-Presse: Logos in Farbe, voll sichtbar, etwas größer & höher, oberste Ebene */
.hero .hero-press-logos img,
.hero .press-track img{ filter:brightness(0) !important; opacity:1 !important; }
.hero .hero-press-logos img{ height:45px !important; }
.hero .hero-press-logos img.wide{ height:22px !important; }
.hero .statbar-press{ position:relative; z-index:5; transform:translateY(-10px); }
@media (max-width:900px){
  .hero .press-track img{ height:24px !important; }
  .hero .press-track img.wide{ height:15px !important; }
  .hero .statbar-press{ transform:translateY(-6px); }
}

/* ================= Phasen-Strich am Handy: statisch, detailliert ================= */
@media (max-width:900px){
  /* durchgezogene Navy-Linie als linke Leiste */
  .ed-line{ left:15px !important; transform:none !important; width:2px !important; background:rgba(22,61,104,.16) !important; }
  .ed-line-fill{ transform:none !important; width:2px !important; background:#163D68 !important; }
  .ed-line-head{ display:none !important; }
  /* Punkte: gefüllt mit Ring, sitzen auf der Linie */
  .ed-dot{ left:15px !important; top:34px !important; width:13px !important; height:13px !important;
    background:#163D68 !important; border:2px solid #fff !important; opacity:1 !important;
    box-shadow:0 0 0 4px rgba(22,61,104,.14) !important; transform:translate(-50%,0) !important; }
  .ed-conn{ display:none !important; }
  .ed-row{ padding-left:40px; }
  .ed-phase{ align-items:flex-start; }
}

/* Handy: Hero-Inhalt etwas höher, Presse-Logos größer */
@media (max-width:900px){
  .hero-inner{ min-height:auto !important; justify-content:flex-start !important; padding:88px 24px 24px !important; }
  .hero .statbar-press{ transform:translateY(-2px); }
  .hero .press-track img{ height:30px !important; }
  .hero .press-track img.wide{ height:18px !important; }
  .press-track{ gap:34px; padding-right:34px; }
}

/* ================= MOBILE: alle Sektionen höher (kompakte Polster) ================= */
@media (max-width:900px){
  .hero{ padding-top:0 !important; padding-bottom:8px !important; }
  .hero-inner{ padding-top:64px !important; }
  .founder{ padding:44px 0 36px !important; }
  .ed-phase{ padding-top:36px !important; padding-bottom:36px !important; }
  .fail{ padding-top:44px !important; }
  .practice{ padding-top:24px !important; }
  .close{ padding-top:40px !important; padding-bottom:40px !important; margin-top:12px !important; }
  .faq{ padding-top:32px !important; padding-bottom:48px !important; }
  .usecase-detail{ padding-top:12px !important; }
}

/* Feinjustierung: Hero etwas tiefer, Logos 10px hoch + garantiert 100% vor dem Schleier */
@media (max-width:900px){
  .hero-inner{ padding-top:96px !important; }
  .hero .statbar-press{ transform:translateY(-10px) !important; }
}
.hero-bottom, .hero .statbar-press, .hero .press-track, .hero .press-track a, .hero .press-track img{
  opacity:1 !important;
}
.hero-bottom{ position:relative; z-index:5; }

/* Der weiße Unterkanten-Verlauf (.hero::after) lag ÜBER den Logos – Inhalt jetzt darüber */
.hero-inner{ z-index:2 !important; }

/* Handy: beide Hero-Buttons (Beispiel zurück), Stand v143 */

/* Handy: Hero-Buttons neu — ein starker CTA + stiller Textlink statt zwei Klötze */
@media (max-width:900px){
  .hero-actions{ flex-direction:column; align-items:stretch; gap:6px; }
  .hero-actions .btn-primary{
    justify-content:center; border-radius:12px; padding:17px 28px;
    box-shadow:0 14px 30px -14px rgba(28,54,84,.5);
    transition:transform .16s cubic-bezier(.23,1,.32,1);
  }
  .hero-actions .btn-primary:active{ transform:scale(.98); }
  .hero-actions .btn-white{
    background:none !important; border:0 !important; box-shadow:none !important;
    justify-content:center; padding:14px 20px !important;
    color:#3f4753 !important; font-weight:600;
  }
  .hero-actions .btn-white:active{ transform:scale(.98); }
}

/* Handy: Zweit-Link linksbündig mit dem Text */
@media (max-width:900px){
  .hero-actions .btn-white{ justify-content:flex-start !important; padding-left:0 !important; }
}

/* GSAP-Restversatz auf Hero-Buttons mobil neutralisieren (hing bei -22px fest) */
@media (max-width:900px){
  .hero-actions .btn{ transform:none !important; }
}

/* Presse-Karussell: zusätzlich manuell wischbar (Animation pausiert beim Anfassen) */
@media (max-width:900px){
  .press-marquee{ overflow-x:auto !important; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .press-marquee::-webkit-scrollbar{ display:none; }
  .press-marquee.touched .press-track{ animation-play-state:paused; }
}

/* Fix: ed-row lief 40px über den rechten Rand (width:100% + padding ohne border-box) */
@media (max-width:900px){
  .ed-row{ box-sizing:border-box; padding-left:36px; padding-right:4px; }
  .ed-col{ min-width:0; }
  .ed-doc{ max-width:100%; }
  .ed{ overflow:hidden; }
}

/* Story-Karten mobil: Abstand zum Displayrand + keine Link-Unterstreichung */
a.story-slide, a.story-slide *{ text-decoration:none !important; }
@media (max-width:900px){
  .story-slider, .stories .container{ padding-left:16px !important; padding-right:16px !important; }
  .story-slide{ margin-left:4px; margin-right:4px; }
}

/* Endlos-Loop per JS: CSS-Animation abschalten, Scrollen übernimmt */
@media (max-width:900px){
  .press-marquee.js-loop .press-track{ animation:none !important; }
}

/* Phasen-Sektion mobil: KEIN Strich, KEINE Einblendungen – komplett statisch & ruhig */
@media (max-width:900px){
  .ed-line, .ed-line-fill, .ed-line-head, .ed-dot, .ed-conn{ display:none !important; }
  .ed-row{ padding-left:8px; }
  .ed-col, .ed-cta, .ed-r, .ed-bar-v, .ed-num, .ed-doc, .ed-doc-inner{
    opacity:1 !important; transform:none !important; filter:none !important;
    transition:none !important; animation:none !important;
  }
  .ed-doc{ border:0 !important; box-shadow:0 8px 24px -16px rgba(15,39,68,.18) !important; }
}

/* ================= SITUATIONEN mobil · Editorial-Karten (Papier statt Navy-Accordion) ================= */
.uc-edit{ display:none; }
@media (max-width:900px){
  /* Karten: weißes Papier, Navy nur als Akzent */
  .uc-panel{ background:#fff !important; border:1px solid rgba(22,40,63,.08) !important;
    border-radius:18px !important; box-shadow:0 10px 30px -22px rgba(15,39,68,.25) !important;
    position:relative; overflow:hidden; transition:box-shadow .35s cubic-bezier(.23,1,.32,1), transform .35s cubic-bezier(.23,1,.32,1); }
  .uc-panel.active{ box-shadow:0 26px 54px -30px rgba(15,39,68,.4) !important; transform:scale(1.012); }
  /* Icons + Fließtext + Chip-Badge raus */
  .uc-ico, .uc-body > p, .uc-tag{ display:none !important; }
  /* Riesen-Geisternummer editorial */
  .uc-num{ position:absolute !important; top:6px !important; left:18px !important;
    font-size:64px !important; font-weight:700; color:rgba(22,54,94,.08) !important; line-height:1; z-index:0; }
  /* zugeklappt: Titel in Navy auf Papier */
  .uc-vert{ color:#16283F !important; font-weight:650; padding:26px 22px 24px 64px !important; position:relative; z-index:1; }
  .uc-panel.active .uc-vert{ display:none; }
  .uc-body{ position:relative; z-index:1; padding:30px 22px 22px !important; }
  .uc-body h3{ font-size:1.5rem; letter-spacing:-.025em; margin:26px 0 18px; color:#16283F; }
  /* Editorial-Inhalt nur mobil */
  .uc-edit{ display:block; }
  .uc-split{ display:grid; grid-template-columns:1fr 118px; gap:18px; align-items:start; }
  .uc-list{ list-style:none; margin:0; padding:0; }
  .uc-list li{ font-size:.98rem; color:#3c4350; padding:9px 0 9px 24px; position:relative;
    border-bottom:1px solid rgba(22,40,63,.08); }
  .uc-list li:last-child{ border-bottom:0; }
  .uc-list li::before{ content:"✓"; position:absolute; left:2px; color:#2B63B8; font-weight:600; }
  /* Mini-Dokument als Hero-Asset */
  .uc-mini{ position:relative; background:#FCFBF8; border:1px solid #E4E7EC; border-radius:8px;
    padding:14px 12px 34px; transform:rotate(2deg) translateY(6px);
    box-shadow:0 10px 22px -14px rgba(15,39,68,.28);
    transition:transform .45s cubic-bezier(.23,1,.32,1), box-shadow .45s cubic-bezier(.23,1,.32,1); }
  .uc-panel.active .uc-mini{ transform:rotate(2deg) translateY(-2px); box-shadow:0 18px 34px -16px rgba(15,39,68,.38); }
  .uc-mini-t{ display:block; font-size:.6rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
    color:#16365E; border-bottom:1.5px solid #16365E; padding-bottom:6px; margin-bottom:10px; }
  .uc-mini i{ display:block; height:5px; border-radius:3px; background:#E7EAEF; margin-bottom:6px; }
  .uc-mini i.s{ width:60%; }
  .uc-mini-wm{ position:absolute; left:12px; bottom:10px; font-size:.5rem; font-weight:700; color:#B9C1CC; }
  /* „Geeignet für" als ruhige Zeile */
  .uc-fit{ margin:18px 0 0; padding-top:14px; border-top:1px solid rgba(22,40,63,.1);
    font-size:.92rem; color:#3c4350; }
  .uc-fit span{ display:block; font-size:.62rem; font-weight:700; letter-spacing:.16em;
    text-transform:uppercase; color:#9aa0aa; margin-bottom:4px; }
  /* Öffnen: Inhalt blendet weich ein */
  .uc-panel .uc-body{ opacity:0; }
  .uc-panel.active .uc-body{ opacity:1; transition:opacity .4s ease-out .08s; }
}

/* Situationen mobil · Nachbesserung: Titel links sauber, Fit-Wert sichtbar, Alt-Verläufe aus */
@media (max-width:900px){
  .uc-vert{ position:static !important; transform:none !important; writing-mode:horizontal-tb !important;
    text-align:left !important; display:block; width:auto !important; }
  .uc-panel::before, .uc-panel::after, .uc-body::before, .uc-body::after{ display:none !important; }
  .uc-panel, .uc-panel.active{ background:#fff !important; background-image:none !important; }
  .uc-fit b{ font-weight:500; color:#16283F; }
}

/* Situationen mobil · Finale: neues Layout auf Navy-Karten, ohne Mini-Dokument */
@media (max-width:900px){
  .uc-panel, .uc-panel.active{
    background:linear-gradient(150deg, #1B3252 0%, #12233C 100%) !important;
    border:1px solid rgba(255,255,255,.08) !important;
  }
  .uc-mini{ display:none !important; }
  .uc-split{ grid-template-columns:1fr; }
  /* Typo auf Dunkel */
  .uc-num{ color:rgba(255,255,255,.1) !important; }
  .uc-vert{ color:#fff !important; }
  .uc-body h3{ color:#fff; }
  .uc-list li{ color:rgba(255,255,255,.88); border-bottom-color:rgba(255,255,255,.12); }
  .uc-list li::before{ color:#7fb0ff; }
  .uc-fit{ border-top-color:rgba(255,255,255,.14); }
  .uc-fit span{ color:rgba(255,255,255,.45); }
  .uc-fit b{ color:#fff; }
}

/* Phasen-Linie zurück (statische Version): Linie + Punkte an, Einblendungen bleiben aus */
@media (max-width:900px){
  .ed-line{ display:block !important; left:15px !important; transform:none !important;
    width:2px !important; background:rgba(22,61,104,.16) !important; }
  .ed-line-fill{ display:block !important; transform:none !important;
    width:2px !important; background:#163D68 !important; }
  .ed-dot{ display:block !important; left:15px !important; top:34px !important; width:13px !important; height:13px !important;
    background:#163D68 !important; border:2px solid #fff !important; opacity:1 !important;
    box-shadow:0 0 0 4px rgba(22,61,104,.14) !important; transform:translate(-50%,0) !important; }
  .ed-line-head, .ed-conn{ display:none !important; }
  .ed-row{ box-sizing:border-box; padding-left:36px; padding-right:4px; }
}

/* Mobil: ohne Auswahl geht's nicht weiter */
.uc-choose{ display:none; }
@media (max-width:900px){
  body.uc-unselected .uc-weg,
  body.uc-unselected .usecase-detail{ display:none !important; }
  .uc-choose{ display:block; text-align:center; font-size:.95rem; color:#8a8d94;
    margin:22px 20px 36px; }
  .uc-choose::before{ content:"↑ "; color:#2B63B8; }
}

/* Linie mobil: Füllung wächst per Höhe mit dem Scroll (JS), Grundlinie voll sichtbar */
@media (max-width:900px){
  .ed-line-fill{ display:block !important; left:50% !important; top:0 !important; width:2px !important;
    background:#163D68 !important; transform:translateX(-50%) !important;
    height:0; transition:none !important; }
}

/* Modellrechnung (Autohandel-LP): Papier-Dokument-Stil */
.lp-calc{ max-width:640px; }
.calc-card{ background:#FCFBF8; border:1px solid #E2E6EC; border-radius:14px;
  padding:26px clamp(20px,4vw,34px) 24px; box-shadow:0 18px 40px -28px rgba(15,39,68,.25); }
.calc-head{ display:flex; justify-content:space-between; align-items:baseline; gap:14px;
  font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#16365E;
  border-bottom:2px solid #16365E; padding-bottom:10px; margin-bottom:6px; }
.calc-tag{ color:#9aa0a8; font-weight:600; }
.calc-row{ display:flex; justify-content:space-between; align-items:baseline; gap:16px;
  padding:12px 0; border-bottom:1px solid #ECEFF3; }
.calc-row span{ font-size:.96rem; color:#4a4c50; }
.calc-row b{ font-size:1.02rem; font-weight:650; color:#16283F; font-variant-numeric:tabular-nums; white-space:nowrap; }
.calc-row.sub{ padding-top:0; border-bottom:1px solid #ECEFF3; }
.calc-row.sub span, .calc-row.sub b{ font-size:.82rem; color:#8a8f98; font-weight:500; }
.calc-row.sum{ border-bottom:0; border-top:2px solid #16365E; margin-top:2px; }
.calc-row.sum span{ font-weight:650; color:#16283F; }
.calc-row.sum b{ font-size:1.3rem; font-weight:700; color:#16365E; }
.calc-note{ margin:16px 0 0; font-size:.9rem; line-height:1.6; color:#8a8f98; font-style:italic;
  border-left:2px solid #DDE2E8; padding-left:14px; }

/* Mobile: ed-doc-Stempel (EINGEORDNET/BANKFERTIG …) innerhalb der Karte halten */
@media (max-width:860px){
  .ed-doc-stamp{ right:8px !important; }
}

/* Mobil: Phasen-Reveals (nur wenn JS aktiv, gewinnt gegen den No-Fade-Block oben) */
@media (max-width:900px){
  body.edv-anim .ed-phase .ed-col{
    opacity:0 !important; transform:translateY(18px) !important;
    transition:opacity .6s cubic-bezier(.23,1,.32,1), transform .6s cubic-bezier(.23,1,.32,1) !important;
    will-change:opacity,transform;
  }
  body.edv-anim .ed-phase .ed-col:not(.ed-col-txt){ transition-delay:.12s !important; }
  body.edv-anim .ed-phase .ed-cta{
    opacity:0 !important; transform:translateY(14px) !important;
    transition:opacity .55s cubic-bezier(.23,1,.32,1) .18s, transform .55s cubic-bezier(.23,1,.32,1) .18s !important;
  }
  body.edv-anim .ed-phase .ed-col.edv-in,
  body.edv-anim .ed-phase .ed-cta.edv-in{ opacity:1 !important; transform:translateY(0) !important; }
}

/* Mobil: Status-Tags im Ergebnisprotokoll nicht aus der Karte laufen lassen */
@media (max-width:900px){
  .ed-doc-row{ flex-wrap:wrap; row-gap:4px; }
  .ed-doc-status2{ font-size:.62rem; letter-spacing:.06em; margin-left:auto; }
}
/* ============ Fallstudie-Landingpage — kompakt, Markenschrift (fallstudie.html) ============ */
body.fs-article{ background:#F7F4F0; }
.fs-navcta{ font-family:var(--sans); font-size:.86rem; font-weight:600; color:#fff; background:#16283F;
  padding:9px 18px; border-radius:8px; text-decoration:none; white-space:nowrap; transition:background .2s; }
.fs-navcta:hover{ background:#2A61C4; }
@media(max-width:600px){ .fs-navcta{ font-size:.8rem; padding:8px 14px; } }

/* Hero: Text + Foto nebeneinander (kurzer Weg zum Formular) */
.fsh{ max-width:1120px; margin:0 auto; padding:clamp(28px,5vw,56px) 40px 0; display:grid;
  grid-template-columns:1.05fr 1fr; gap:clamp(28px,4vw,56px); align-items:center; }
.fsh-title{ font-family:"Poppins",var(--sans); font-size:clamp(1.9rem,3.4vw,2.9rem); font-weight:700;
  letter-spacing:-.03em; line-height:1.08; color:var(--ink); margin:0 0 18px; }
.fsh-sub{ font-family:var(--sans); font-size:1.1rem; line-height:1.62; color:#4a4c50; margin:0; max-width:44ch; }
.fsh-fig{ margin:0; }
.fsh-fig img{ width:100%; height:auto; border-radius:12px; display:block; box-shadow:0 24px 50px -28px rgba(15,39,68,.4); }
.fsh-fig figcaption{ font-family:var(--sans); font-size:.8rem; color:#9099a6; margin:10px 2px 0; }
@media(max-width:820px){ .fsh{ grid-template-columns:1fr; padding-left:22px; padding-right:22px; text-align:left; }
  .fsh-fig{ order:-1; } }

/* Eckdaten-Band: horizontal, scanbar */
.fsk-sec{ max-width:1120px; margin:0 auto; padding:clamp(24px,4vw,40px) 40px 0; }
.fsk{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid #E4E1DA; border-radius:14px;
  overflow:hidden; background:#fff; }
.fsk-item{ padding:22px 20px; text-align:center; border-right:1px solid #EFEDE7; }
.fsk-item:last-child{ border-right:0; }
.fsk-item b{ display:block; font-family:"Poppins",var(--sans); font-size:1.5rem; font-weight:700; color:#16283F; letter-spacing:-.02em; }
.fsk-item span{ display:block; font-family:var(--sans); font-size:.86rem; color:#7b8290; margin-top:5px; }
@media(max-width:680px){ .fsk{ grid-template-columns:1fr 1fr; } .fsk-item{ padding:18px 14px; }
  .fsk-item:nth-child(2n){ border-right:0; } .fsk-item:nth-child(-n+2){ border-bottom:1px solid #EFEDE7; } }

/* Fördercheck – prominent, direkt erreichbar */
.fsc{ max-width:820px; margin:clamp(28px,4vw,48px) auto 0; padding:clamp(28px,4vw,44px) 40px; }
.fsc-h{ font-family:"Poppins",var(--sans); font-size:clamp(1.5rem,2.6vw,2.1rem); font-weight:700; letter-spacing:-.02em;
  color:var(--ink); text-align:center; margin:0 0 10px; }
.fsc-sub{ font-family:var(--sans); font-size:1.04rem; line-height:1.6; color:#565656; text-align:center; max-width:56ch; margin:0 auto 8px; }
@media(max-width:600px){ .fsc{ padding-left:20px; padding-right:20px; } }

/* Aufklappbare volle Geschichte */
.fsd-sec{ max-width:720px; margin:0 auto; padding:8px 40px 64px; }
.fsd{ border-top:1px solid #E4E1DA; }
.fsd summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between;
  padding:22px 2px; font-family:"Poppins",var(--sans); font-weight:600; font-size:1.05rem; color:#16283F; }
.fsd summary::-webkit-details-marker{ display:none; }
.fsd summary::after{ content:"+"; font-size:1.5rem; font-weight:400; color:#2A61C4; line-height:1; }
.fsd[open] summary::after{ content:"–"; }
.fsd-body{ padding:4px 2px 8px; }
.fsd-body h3{ font-family:"Poppins",var(--sans); font-size:1.12rem; font-weight:600; color:#16283F; margin:22px 0 8px; }
.fsd-body p{ font-family:var(--sans); font-size:1.02rem; line-height:1.7; color:#454850; margin:0 0 14px; }
.fsd-body p b{ color:#16283F; font-weight:600; }
@media(max-width:600px){ .fsd-sec{ padding-left:22px; padding-right:22px; } }

.fs-sticky{ position:fixed; left:16px; right:16px; bottom:16px; z-index:60; display:none;
  text-align:center; font-family:var(--sans); font-weight:600; font-size:1rem; color:#fff;
  background:#16283F; padding:15px; border-radius:12px; text-decoration:none; box-shadow:0 12px 30px -10px rgba(15,39,68,.5); }
@media(max-width:640px){ .fs-sticky{ display:block; } }
/* ============ Fallstudie · Wirtschafts-Editorial (fallstudie.html) ============ */
body.fs-mag{ background:#F7F5F2; }
.fs-mag .nav{ background:rgba(247,245,242,.85); backdrop-filter:saturate(1.4) blur(14px); border-bottom:1px solid #E7E2DA; }
.fs-mag .nav-inner{ display:flex; align-items:center; justify-content:space-between; }
.fsm-navcta{ font-family:var(--sans); font-size:.86rem; font-weight:600; color:#16283F; text-decoration:none;
  border-bottom:1.5px solid #16283F; padding-bottom:2px; transition:color .3s, border-color .3s; }
.fsm-navcta:hover{ color:#2A61C4; border-color:#2A61C4; }
@media(max-width:600px){ .fsm-navcta{ font-size:.8rem; } }

/* Reveal-Animation (ruhig) */
.reveal{ opacity:0; transform:translateY(22px); filter:blur(6px);
  transition:opacity .55s cubic-bezier(.22,1,.32,1), transform .55s cubic-bezier(.22,1,.32,1), filter .55s cubic-bezier(.22,1,.32,1); }
.reveal.in{ opacity:1; transform:none; filter:none; }

/* Kapitel 1 · Reportage-Hero */
.fsm-hero > *{ min-width:0; }
.fsm-hero{ max-width:1280px; margin:0 auto; padding:clamp(40px,6vw,84px) 48px clamp(40px,5vw,64px);
  display:grid; grid-template-columns:0.92fr 1.35fr; gap:clamp(40px,4vw,72px); align-items:center; }
.fsm-eyebrow{ font-family:var(--sans); font-size:.72rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:#2A61C4; margin:0 0 22px; }
.fsm-h1{ font-family:"General Sans",var(--serif); font-weight:700; font-size:clamp(1.5rem,2.5vw,2.25rem); line-height:1.08; letter-spacing:-.03em; color:#141a24; margin:0; }
.fsm-h1-num{ display:block; font-size:clamp(3rem,6vw,5rem); line-height:.92; letter-spacing:-.04em; color:#16283F; margin:0 0 14px; }
.fsm-summary{ font-family:var(--sans); font-size:1.1rem; line-height:1.6; color:#43474e; margin:24px 0 0; max-width:46ch; }

.fsm-metrics{ display:grid; grid-template-columns:repeat(2,auto); gap:26px 56px; justify-content:start;
  margin:34px 0 0; padding:30px 0 0; border-top:1px solid #E1DBD1; }
.fsm-metric b{ display:block; font-family:"General Sans",var(--serif); font-size:clamp(1.5rem,2.1vw,1.95rem); font-weight:700; color:#16283F; letter-spacing:-.02em; line-height:1; }
.fsm-metric span{ display:block; font-family:var(--sans); font-size:.78rem; color:#8a8375; margin-top:10px; }

.fsm-result{ margin:26px 0 0; }
.fsm-result-k{ font-family:var(--sans); font-size:.7rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#9a9488; margin:0 0 12px; }
.fsm-result ul{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; gap:11px; }
.fsm-result li{ font-family:var(--sans); font-size:.98rem; color:#22262c; padding-left:24px; position:relative; }
.fsm-result li::before{ content:""; position:absolute; left:0; top:.42em; width:11px; height:6px;
  border-left:1.6px solid #2A61C4; border-bottom:1.6px solid #2A61C4; transform:rotate(-45deg); }

.fsm-storylink{ display:inline-block; margin-top:30px; text-decoration:none; }
.fsm-storylink-t{ display:inline-block; font-family:"General Sans",var(--serif); font-size:1.02rem; font-weight:600; color:#16283F; border-bottom:1.5px solid #16283F; padding-bottom:3px; transition:color .3s,border-color .3s; }
.fsm-storylink-t em{ font-style:normal; color:#2A61C4; display:inline-block; transition:transform .35s cubic-bezier(.22,1,.32,1); }
.fsm-storylink:hover .fsm-storylink-t{ color:#2A61C4; border-color:#2A61C4; }
.fsm-storylink:hover .fsm-storylink-t em{ transform:translateX(5px); }
.fsm-storylink.used{ opacity:.4; pointer-events:none; }

/* Hero-Foto + Dokumente (Dokumente NUR Desktop) */
.fsm-hero-media{ position:relative; }
.fsm-hero-fig{ margin:0; position:relative; display:inline-block; }
.fsm-hero-fig img{ width:100%; height:auto; display:block; border-radius:8px; box-shadow:0 40px 80px -40px rgba(20,24,32,.5); }
.fsm-hero-cap{ display:block; font-family:var(--sans); font-size:.78rem; color:#928c80; margin:16px 0 0 2px; padding-left:12px; border-left:2px solid #C7C0B4; line-height:1.5; max-width:80%; }
.fsm-hero-doc{ display:none; }

@media(max-width:860px){
  .fsm-hero{ grid-template-columns:1fr; padding:22px 22px 18px; gap:24px; }
  .fsm-hero-media{ order:-1; margin-bottom:0; padding-bottom:0; }
  .fsm-hero-fig img{ width:100%; }
  .fsm-hero-cap{ max-width:100%; }
  .fsm-metrics{ grid-template-columns:repeat(2,auto); gap:22px 40px; }
}

/* ===== Desktop: Reduktion – Foto dominiert, EIN Businessplan liegt auf dem Auto (Mobile unverändert) ===== */
@media(min-width:861px){
  /* Foto dominiert, vertikal zentriert (wieder tiefer) + ein Tick nach rechts */
  .fsm-hero{ grid-template-columns:0.8fr 1.5fr; }
  .fsm-hero-media{ transform:translate(26px,-60px); }
  .fsm-hero-fig img{ border-radius:22px; box-shadow:0 44px 90px -46px rgba(20,24,32,.5), inset 0 0 0 1px rgba(20,24,32,.07); }
  .fsm-hero-cap{ margin-top:24px; }
  /* Ergebnis: schlichte, vertikale Liste (keine Pills) */
  .fsm-hero .fsm-result ul{ grid-template-columns:1fr; gap:11px; }
  /* Kennzahlen mehr Hierarchie */
  .fsm-metric b{ font-size:2rem; }
  .fsm-metric span{ margin-top:12px; }
}

/* Kapitel 2 · Volle Geschichte (natürlich entfalten) */
/* Geschichte als Popup */
body.fsm-noscroll{ overflow:hidden; }
.fsm-modal{ position:fixed; inset:0; z-index:200; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .4s ease, visibility 0s linear .4s; }
.fsm-modal.open{ opacity:1; visibility:visible; pointer-events:auto; transition:opacity .4s ease; }
.fsm-modal-backdrop{ position:absolute; inset:0; background:rgba(18,22,30,.55); backdrop-filter:blur(5px); }
.fsm-modal-dialog{ position:relative; z-index:1; background:#F7F5F2; width:min(760px,94vw); max-height:92vh; overflow-y:auto;
  margin:4vh auto; border-radius:20px; padding:clamp(30px,4.5vw,60px) clamp(20px,4vw,52px);
  box-shadow:0 40px 110px -30px rgba(18,22,30,.6);
  transform:translateY(20px) scale(.985); transition:transform .55s cubic-bezier(.22,1,.32,1);
  -webkit-overflow-scrolling:touch; }
.fsm-modal.open .fsm-modal-dialog{ transform:translateY(0) scale(1); }
/* Handy: kein weißer Kasten – Vollbild-Lesemodus (am Laptop bleibt die Card) */
@media(max-width:860px){
  .fsm-modal-dialog{ width:100%; max-width:100%; height:100dvh; max-height:100dvh; margin:0; border-radius:0;
    box-shadow:none; padding:60px 4px 44px; transform:translateY(24px) scale(1); }
  .fsm-modal.open .fsm-modal-dialog{ transform:translateY(0) scale(1); }
}
.fsm-modal-close{ position:sticky; top:0; float:right; margin:-6px -6px 0 12px; width:40px; height:40px; flex:none;
  border:none; cursor:pointer; background:rgba(18,22,30,.06); border-radius:50%; font-size:1.55rem; line-height:1; color:#16283F;
  display:flex; align-items:center; justify-content:center; transition:background .3s ease; }
.fsm-modal-close:hover{ background:rgba(18,22,30,.12); }
.fsm-story-inner{ max-width:648px; margin:0 auto; }
.fsm-story-inner > *{ max-width:none; }
.fsm-story-hero{ margin:0 0 clamp(22px,3vw,34px); }
.fsm-story-hero img{ width:100%; height:clamp(250px,34vw,380px); object-fit:cover; object-position:center 30%;
  display:block; border-radius:12px; }
.fsm-story-open{ font-family:"General Sans",var(--serif); font-weight:500; font-size:clamp(1.18rem,1.5vw,1.4rem); line-height:1.55; color:#3a4657;
  padding:clamp(6px,1.6vw,18px) 0 0; letter-spacing:-.005em; }
.fsm-chapter{ padding:clamp(30px,3.4vw,46px) 0 0; }
.fsm-chapter-k{ font-family:var(--sans); font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#2A61C4; margin:0 0 13px; }
.fsm-chapter h2{ font-family:"General Sans",var(--serif); font-weight:700; font-size:clamp(1.38rem,1.9vw,1.68rem); line-height:1.18; letter-spacing:-.02em; color:#141a24; margin:0 0 15px; }
.fsm-chapter p{ font-family:var(--sans); font-size:1.06rem; line-height:1.75; color:#3a3f47; margin:0 0 15px; }
.fsm-chapter p:last-child{ margin-bottom:0; }
.fsm-chapter p b{ color:#141a24; font-weight:600; }
.fsm-quote{ margin:clamp(38px,4.6vw,60px) 0; padding:clamp(22px,2.6vw,32px) 0; text-align:left;
  border-top:1px solid #E1DBD1; border-bottom:1px solid #E1DBD1;
  font-family:"General Sans",var(--serif); font-weight:600; font-size:clamp(1.3rem,2vw,1.68rem); line-height:1.3; letter-spacing:-.02em; color:#16283F; }
@media(max-width:600px){ .fsm-story-open,.fsm-chapter,.fsm-quote{ padding-left:22px; padding-right:22px; } .fsm-chapter p{ font-size:1.02rem; } }

/* Dokument-Komposition (echte Unterlagen, wie auf dem Schreibtisch) */
.fsm-docs{ max-width:960px; margin:clamp(40px,5vw,70px) auto; padding:0 40px; position:relative; }
.fsm-doc{ background:#fff; padding:8px; border:1px solid #E7E2DA; box-shadow:0 30px 60px -34px rgba(20,20,20,.4); }
.fsm-doc img{ display:block; width:100%; height:auto; }
@media(min-width:861px){
  .fsm-docs{ height:560px; }
  .fsm-doc{ position:absolute; }
  .fsm-doc-a{ width:300px; left:40px; top:20px; transform:rotate(-4deg); z-index:1; }
  .fsm-doc-b{ width:430px; left:280px; top:120px; transform:rotate(2.5deg); z-index:3; }
  .fsm-doc-c{ width:290px; right:40px; top:0; transform:rotate(5deg); z-index:2; }
  .fsm-doc{ transition:transform .5s cubic-bezier(.22,1,.32,1); }
  .fsm-doc:hover{ transform:rotate(0deg) scale(1.03); z-index:5; }
}
@media(max-width:860px){ .fsm-docs{ display:flex; flex-direction:column; gap:20px; padding:0 22px; max-width:460px; }
  .fsm-doc{ transform:none !important; } }
.fsm-docs figcaption{ font-family:var(--sans); font-size:.82rem; color:#928c80; line-height:1.5; padding-left:12px; border-left:2px solid #C7C0B4; }
@media(min-width:861px){ .fsm-docs figcaption{ position:absolute; bottom:-4px; left:40px; max-width:44ch; } }

/* Kapitel 3 · Fördercheck (neue Sektion, klarer Bruch) */
.fsm-check{ max-width:820px; margin:clamp(50px,7vw,90px) auto 0; padding:clamp(44px,6vw,72px) 40px 0;
  border-top:1px solid #E4DFD5; text-align:center; }
.fsm-check-k{ font-family:var(--sans); font-size:.72rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#2A61C4; margin:0 0 12px; }
.fsm-check-h{ font-family:"General Sans",var(--serif); font-weight:700; font-size:clamp(1.7rem,3vw,2.5rem); line-height:1.1; letter-spacing:-.025em; color:#141a24; margin:0 0 16px; }
.fsm-check-sub{ font-family:var(--sans); font-size:1.08rem; line-height:1.62; color:#4a4c50; max-width:58ch; margin:0 auto; }
@media(max-width:600px){ .fsm-check{ padding-left:22px; padding-right:22px; } }

.fsm-sticky{ position:fixed; left:14px; right:14px; bottom:14px; z-index:60; display:none;
  text-align:center; font-family:var(--sans); font-weight:600; font-size:1rem; color:#fff;
  background:#16283F; padding:15px; border-radius:10px; text-decoration:none; }
@media(max-width:640px){ .fsm-sticky{ display:block; } }


/* === Funnel-Umbau: Hero-CTA, Foto-Badge, Story-Bruecke, Abschluss-CTA === */
.fsm-hero-badge{ position:absolute; left:16px; bottom:16px; z-index:6;
  display:inline-flex; align-items:center; gap:8px;
  background:#132A5C; color:#fff; font-family:var(--sans); font-weight:600; font-size:.9rem;
  padding:10px 18px; border-radius:100px;
  box-shadow:0 14px 30px -12px rgba(19,42,92,.6); }
.fsm-hero-badge em{ color:#5fd0a0; font-style:normal; font-weight:800; }

.fsm-cta{ margin:34px 0 0; padding:26px 0 0; border-top:1px solid #E1DBD1; }
.fsm-cta-q{ font-family:"General Sans",var(--serif); font-weight:700; font-size:clamp(1.15rem,1.7vw,1.42rem);
  color:#132A5C; letter-spacing:-.01em; margin:0 0 16px; line-height:1.25; }
.fsm-cta-btn{ display:inline-flex; align-items:center; gap:12px; text-decoration:none;
  background:#132A5C; color:#fff; font-family:var(--sans); font-weight:600; font-size:1.02rem;
  padding:15px 16px 15px 26px; border-radius:100px;
  box-shadow:0 16px 34px -14px rgba(19,42,92,.55);
  transition:transform .5s cubic-bezier(.22,1,.32,1), background .3s ease, box-shadow .5s cubic-bezier(.22,1,.32,1); }
.fsm-cta-btn:hover{ background:#1c3a78; box-shadow:0 22px 44px -14px rgba(19,42,92,.6); }
.fsm-cta-btn:active{ transform:scale(.975); }
.fsm-cta-arr{ display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px;
  border-radius:50%; background:rgba(255,255,255,.14); font-size:1.05rem; line-height:1;
  transition:transform .5s cubic-bezier(.22,1,.32,1), background .3s ease; }
.fsm-cta-btn:hover .fsm-cta-arr{ background:#2A61C4; transform:translateX(3px); }
.fsm-cta-btn-lg{ font-size:1.08rem; padding:17px 18px 17px 30px; }
.fsm-cta-badges{ display:flex; flex-wrap:wrap; gap:18px; margin:16px 0 0;
  font-family:var(--sans); font-size:.84rem; color:#8a8375; }
.fsm-cta-badges span{ white-space:nowrap; }

.fsm-storymini{ display:inline-block; margin:22px 0 0; text-decoration:none;
  font-family:var(--sans); font-size:.92rem; color:#6b6d72; border-bottom:1px solid #D8D2C7; padding-bottom:2px;
  transition:color .3s ease, border-color .3s ease; }
.fsm-storymini em{ font-style:normal; }
.fsm-storymini:hover{ color:#2A61C4; border-color:#2A61C4; }
.fsm-storymini.used{ opacity:.5; }

/* Story-Bruecke */
.fsm-storycta{ max-width:1280px; margin:0 auto; padding:clamp(40px,5vw,72px) 48px; }
.fsm-storycta-inner{ max-width:660px; border-top:1px solid #E1DBD1; padding-top:clamp(26px,3vw,38px); }
.fsm-storycta-k{ font-family:var(--sans); font-size:.78rem; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:#2A61C4; margin:0 0 12px; }
.fsm-storycta-t{ font-family:"General Sans",var(--serif); font-weight:600; font-size:clamp(1.1rem,1.7vw,1.4rem);
  color:#16283F; line-height:1.35; letter-spacing:-.01em; margin:0 0 4px; }
.fsm-storycta .fsm-storymini-b{ margin-top:16px; font-weight:600; color:#132A5C; }

/* Abschluss-CTA */
.fsm-endcta{ text-align:center; padding:clamp(56px,7vw,96px) 24px clamp(40px,5vw,64px); }
.fsm-endcta-q{ font-family:"General Sans",var(--serif); font-weight:700; font-size:clamp(1.4rem,2.6vw,2.1rem);
  color:#132A5C; letter-spacing:-.02em; margin:0 0 26px; }
.fsm-endcta .fsm-cta-badges{ justify-content:center; margin-top:18px; }

@media(max-width:860px){
  .fsm-cta{ margin-top:28px; padding-top:22px; }
  .fsm-storycta{ padding:34px 22px; }
  .fsm-endcta{ padding:48px 20px 36px; }
  .fsm-cta-btn{ width:100%; justify-content:space-between; }
}


/* Vertrauenszeile im Hero */
.fsm-trust{ list-style:none; margin:26px 0 0; padding:0; display:flex; flex-direction:column; gap:10px; }
.fsm-trust li{ position:relative; padding-left:28px; font-family:var(--sans); font-size:.98rem; font-weight:500; color:#2b2f36; line-height:1.35; }
.fsm-trust li::before{ content:"\2713"; position:absolute; left:0; top:0; color:#1a9d6a; font-weight:700; }

/* ============================================================
   PREMIUM FUNNEL (global · überschreibt .qf-* / #lpAnfrage)
   ============================================================ */
/* Schwebende Card */
#lpAnfrage{ border-radius:30px; border:1px solid rgba(20,24,32,.06);
  box-shadow:0 50px 100px -55px rgba(15,39,68,.4), 0 6px 18px -10px rgba(15,39,68,.08);
  padding:clamp(30px,4vw,54px) clamp(24px,3.4vw,48px) clamp(28px,3.4vw,44px); }

/* Premium-Progress */
.qf-progress{ height:6px; background:rgba(20,24,32,.07); border-radius:100px; margin-bottom:16px; }
.qf-progress span{ background:linear-gradient(90deg,#2A61C4,#4f86e8); border-radius:100px;
  transition:width .6s cubic-bezier(.22,1,.32,1); }
.qf-stepnum{ color:#2A61C4; font-weight:700; letter-spacing:.2em; font-size:.7rem; margin:0 0 10px; }
.qf-head h3{ font-family:"General Sans",var(--serif); font-weight:700; font-size:clamp(1.45rem,2vw,1.75rem);
  letter-spacing:-.02em; color:#141a24; margin:0 0 6px; }
.qf-head{ margin-bottom:34px; }

/* Fragen als Kapitel (01 / 02 / 03) */
.qf-body{ counter-reset:qf; }
.qf-field{ counter-increment:qf; margin-bottom:34px; }
.qf-field:last-child{ margin-bottom:0; }
.qf-label{ position:relative; font-size:1.06rem; font-weight:600; color:#141a24; margin-bottom:16px; letter-spacing:-.01em; }
.qf-label::before{ content:counter(qf,decimal-leading-zero); display:block;
  font-family:"General Sans",var(--serif); font-size:.72rem; font-weight:700; letter-spacing:.16em;
  color:#2A61C4; margin-bottom:7px; }
.qf-hint{ font-size:.9rem; color:#8a8478; margin:-8px 0 14px; }
/* Reiner Hinweistext im Funnel: keine Frage, deshalb ohne Nummer. */
.qf-field.qf-info{ counter-increment:none; }
.qf-infotext{ font-size:1rem; line-height:1.55; color:#3d4654; margin:0;
  padding:14px 18px; border-left:3px solid #2A61C4; background:#f4f6fb; border-radius:0 10px 10px 0; }

/* Selection-Cards statt Pills */
.qf-opts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:12px; }
.qf-opt{ display:flex; align-items:center; text-align:left; width:100%; min-height:60px;
  padding:16px 46px 16px 20px; border-radius:16px; border:1.5px solid rgba(20,24,32,.1);
  background:#fff; color:#1d2530; font:inherit; font-size:1rem; font-weight:500; cursor:pointer;
  position:relative; white-space:normal; line-height:1.35;
  transition:transform .2s cubic-bezier(.22,1,.32,1), border-color .2s ease, background .2s ease, box-shadow .25s ease; }
.qf-opt:hover{ border-color:#2A61C4; box-shadow:0 14px 30px -20px rgba(20,40,80,.5); transform:translateY(-2px); }
.qf-opt:active{ transform:scale(.99); }
.qf-opt.on{ background:rgba(42,97,196,.06); border-color:#2A61C4; color:#132A5C; box-shadow:inset 0 0 0 1px #2A61C4; }
.qf-opt.on::after{ content:"\2713"; position:absolute; top:50%; right:16px; transform:translateY(-50%);
  width:24px; height:24px; border-radius:50%; background:#2A61C4; color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:.78rem; font-weight:700; }

/* Eingabefelder */
#lpAnfrage input[type=text], #lpAnfrage input[type=email], #lpAnfrage input[type=tel], #lpAnfrage textarea{
  border-radius:14px; padding:14px 16px; border:1.5px solid rgba(20,24,32,.1); }
#lpAnfrage input:focus, #lpAnfrage textarea:focus{ border-color:#2A61C4; box-shadow:0 0 0 3px rgba(42,97,196,.1); }

/* CTA */
.qf-nav{ margin-top:38px; gap:16px; }
.qf-next{ border-radius:100px !important; padding:15px 30px !important; font-weight:600 !important;
  box-shadow:0 16px 34px -14px rgba(19,42,92,.5); }
.qf-back{ font-weight:500; }

/* Gestaffelte Reveal-Animation NUR bei Schritt-Wechsel (.qf-anim), nicht bei Auswahl */
@keyframes qfIn{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }
#lpAnfrage.qf-anim .qf-head{ animation:qfIn .5s cubic-bezier(.22,1,.32,1) both; }
.qf-field.qf-new{ animation:qfIn .45s cubic-bezier(.22,1,.32,1) both; }
#lpAnfrage.qf-anim .qf-field{ animation:qfIn .55s cubic-bezier(.22,1,.32,1) both; }
#lpAnfrage.qf-anim .qf-field:nth-child(1){ animation-delay:.08s; }
#lpAnfrage.qf-anim .qf-field:nth-child(2){ animation-delay:.16s; }
#lpAnfrage.qf-anim .qf-field:nth-child(3){ animation-delay:.24s; }
#lpAnfrage.qf-anim .qf-field:nth-child(4){ animation-delay:.32s; }
#lpAnfrage.qf-anim .qf-field:nth-child(5){ animation-delay:.40s; }
#lpAnfrage.qf-anim .qf-nav{ animation:qfIn .55s cubic-bezier(.22,1,.32,1) .34s both; }
@media (prefers-reduced-motion: reduce){ #lpAnfrage.qf-anim .qf-head,#lpAnfrage.qf-anim .qf-field,#lpAnfrage.qf-anim .qf-nav{ animation:none; } }

/* Funnel: linksbündig ("richtig formatieren") + Monat/Jahr-Feld */
#lpAnfrage{ text-align:left; }
#lpAnfrage .qf-head{ text-align:center; }
#lpAnfrage .qf-done{ text-align:center; }
#lpAnfrage input[type=month]{ width:100%; padding:14px 16px; border-radius:14px; border:1.5px solid rgba(20,24,32,.1);
  font:inherit; font-size:1rem; color:var(--ink); background:#fff; outline:none; transition:border-color .18s, box-shadow .18s; }
#lpAnfrage input[type=month]:focus{ border-color:#2A61C4; box-shadow:0 0 0 3px rgba(42,97,196,.1); }

/* Kontakt-Schritt: kompaktes Formular statt Kapitel-Fragen */
.qf-compact .qf-label::before{ display:none; }
.qf-compact .qf-field{ margin-bottom:20px; }
.qf-compact .qf-label{ font-size:.95rem; font-weight:600; margin-bottom:8px; }

/* ============================================================
   Autohändler-LP · PREMIUM-EBENE (Editorial Luxury) — scoped .ah
   ============================================================ */
/* Feines Film-Grain über der ganzen Seite */
.ah::after{ content:""; position:fixed; inset:0; z-index:9; pointer-events:none; opacity:.03;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
/* Weiche Lichthöfe im Hero */
.ah .fsm-hero{ position:relative; }
.ah .fsm-hero::before{ content:""; position:absolute; inset:-12% -6%; z-index:0; pointer-events:none;
  background:radial-gradient(46% 40% at 14% 12%, rgba(42,97,196,.08), transparent 62%),
             radial-gradient(44% 42% at 84% 26%, rgba(19,42,92,.06), transparent 60%); }
.ah .fsm-hero-txt, .ah .fsm-hero-media{ position:relative; z-index:1; }

/* Eyebrow: schlicht (kein Pill-Rand — wirkt sonst nach KI) */
.ah .fsm-eyebrow{ display:block; margin-bottom:26px; padding:0; background:none; border:0;
  box-shadow:none; color:#2A61C4; }
.ah .fsm-eyebrow::before{ display:none; }

/* CTA-Karte mit Tiefe + Magnetic-Button */
.ah .fsm-cta{ position:relative; background:linear-gradient(180deg,#fff,#fdfcf8);
  border:1px solid #ece7db; border-radius:22px; padding:26px 28px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 32px 64px -36px rgba(19,42,92,.45); }
.ah .fsm-cta-btn{ box-shadow:0 16px 30px -14px rgba(19,42,92,.6);
  transition:transform .55s cubic-bezier(.22,1,.32,1), box-shadow .55s cubic-bezier(.22,1,.32,1), background .3s; }
.ah .fsm-cta-btn:hover{ transform:translateY(-2px); box-shadow:0 26px 46px -16px rgba(19,42,92,.72); }
.ah .fsm-cta-btn:active{ transform:scale(.98); }
.ah .fsm-cta-btn .fsm-cta-arr{ transition:transform .55s cubic-bezier(.22,1,.32,1), background .3s; }
.ah .fsm-cta-btn:hover .fsm-cta-arr{ transform:translate(3px,-1px) scale(1.06); }

/* Blatt: tiefere, weichere Schatten */
.ah .sheet{ box-shadow:0 2px 8px rgba(19,42,92,.06), 0 52px 92px -46px rgba(19,42,92,.5); }

/* ===== Formular-Bühne: dunkles Navy über volle Breite, weiße Karte schwebt ===== */
.ah .fsm-check{ position:relative; width:100%; max-width:none; margin:clamp(56px,8vw,112px) 0 0;
  padding:clamp(52px,6vw,84px) clamp(20px,5vw,40px) clamp(52px,6vw,80px);
  background:radial-gradient(90% 70% at 50% -10%, #1c3d70 0%, #132A5C 48%, #0e1f45 100%);
  border-radius:0; overflow:hidden; }
.ah .fsm-check::before{ content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(40% 44% at 84% 4%, rgba(66,120,220,.26), transparent 60%); }
.ah .fsm-check-k{ position:relative; color:#8fb2f2; margin-bottom:14px; }
.ah .fsm-check-h{ position:relative; color:#fff; max-width:760px; margin-left:auto; margin-right:auto; }
.ah .fsm-check-sub{ position:relative; color:rgba(255,255,255,.74); max-width:640px;
  margin-left:auto; margin-right:auto; margin-bottom:34px; }
.ah .fsm-check #lpAnfrage{ position:relative; max-width:820px; margin:0 auto;
  box-shadow:0 44px 90px -42px rgba(0,0,0,.6); }
/* Option-Buttons: dezente Hover-Physik */
.ah #lpAnfrage .qf-opt{ transition:transform .3s cubic-bezier(.22,1,.32,1), border-color .2s, box-shadow .3s; }
.ah #lpAnfrage .qf-opt:hover{ transform:translateY(-2px); border-color:#2A61C4;
  box-shadow:0 14px 26px -16px rgba(19,42,92,.45); }
.ah #lpAnfrage .qf-opt:active{ transform:scale(.99); }
@media (max-width:560px){ .ah .fsm-check{ border-radius:0; } }

/* Funnel: ausgebuchtes Zeitfenster (Rückruf-Kapazität) */
.qf-opt-full{ opacity:.55; cursor:not-allowed; }
.qf-opt-full .qf-full{ color:#c0392b; font-size:.8rem; font-weight:600; }
.qf-cf{ margin-top:4px; }

/* ===== Autohändler-LP · „Bekannt aus" (links, nur Desktop) ===== */
.ah-presse{ display:none; }
@media (min-width:861px){ .ah-presse{ display:block; margin-top:36px; } }
.ah-presse-k{ font-family:var(--sans); font-size:.68rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:#9a9488; margin:0 0 14px; }
.ah-presse-row{ display:flex; align-items:center; flex-wrap:wrap; gap:16px 26px; }
.ah-presse-row img{ height:42px; width:auto; }        /* gestapelte Logos (Icon + Text) — in Farbe */
.ah-presse-row img.wide{ height:22px; }               /* horizontale Wortmarken kleiner → alle gleich groß */

/* ===== Autohändler-LP · Finanzierungsrechner (NUR Desktop; editorial) ===== */
.ah .calc{ display:none; }
@media (min-width:861px){
  .ah .calc{ display:block; }
  .ah .fsm-hero-media .sheet-wrap{ display:none; }
  .ah .fsm-hero-txt .fsm-cta{ display:none; }
}
.ah .calc,.ah .calc *{ font-family:"General Sans",var(--serif); }
.ah .calc{ background:#fff; border:1px solid #e7e2d6; border-radius:16px; padding:24px 28px 22px;
  max-width:460px; margin-right:auto; box-shadow:0 28px 56px -54px rgba(19,42,92,.22);
  font-variant-numeric:tabular-nums; font-feature-settings:"tnum" 1; }
.ah .calc-k{ font-size:0.614rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:#9a9488; margin:0 0 8px; }
.ah .calc-lead{ font-size:0.902rem; font-weight:600; color:#16283F; margin:0 0 6px; letter-spacing:-.005em; }
.ah .calc-amount{ font-size:1.759rem; font-weight:700; line-height:1; letter-spacing:-.03em; color:#16283F; }
.ah .calc-slider-wrap{ position:relative; height:22px; margin:18px 0 5px; }
.ah .calc-track{ position:absolute; top:10px; left:0; right:0; height:3px; border-radius:999px; background:#ece7db; }
.ah .calc-fill{ position:absolute; top:0; left:0; height:100%; border-radius:999px; background:#16283F; width:0; transition:width .12s linear; }
.ah .calc-slider{ position:absolute; inset:0; width:100%; margin:0; -webkit-appearance:none; appearance:none; background:transparent; cursor:pointer; }
.ah .calc-slider:focus{ outline:none; }
.ah .calc-slider::-webkit-slider-thumb{ -webkit-appearance:none; width:21px; height:21px; border-radius:50%; background:#fff; border:2px solid #16283F; box-shadow:none; cursor:pointer; transition:box-shadow .16s ease; }
.ah .calc-slider::-moz-range-thumb{ width:21px; height:21px; border-radius:50%; background:#fff; border:2px solid #16283F; box-shadow:none; cursor:pointer; }
.ah .calc-slider:hover::-webkit-slider-thumb{ box-shadow:0 0 0 5px rgba(42,97,196,.07); }
.ah .calc-slider:focus-visible::-webkit-slider-thumb{ box-shadow:0 0 0 4px rgba(42,97,196,.22); }
.ah .calc-ticks{ display:flex; justify-content:space-between; font-size:0.596rem; color:#a49c8d; margin-top:2px; }

/* Betrags-Slider im Fördercheck (Look wie der Rechner) */
.qf-slider{ margin:4px 0 2px; }
.qf-slider-amount{ font-size:1.85rem; font-weight:700; line-height:1; letter-spacing:-.03em; color:#16283F; }
.qf-slider-track{ position:relative; height:22px; margin:16px 0 6px; }
.qf-slider-track::before{ content:""; position:absolute; top:10px; left:0; right:0; height:3px; border-radius:999px; background:#e6e9f0; }
.qf-slider-fill{ position:absolute; top:10px; left:0; height:3px; border-radius:999px; background:#16283F; transition:width .1s linear; }
.qf-slider-input{ position:absolute; inset:0; width:100%; margin:0; -webkit-appearance:none; appearance:none; background:transparent; cursor:pointer; }
.qf-slider-input:focus{ outline:none; }
.qf-slider-input::-webkit-slider-thumb{ -webkit-appearance:none; width:22px; height:22px; border-radius:50%; background:#fff; border:2px solid #16283F; cursor:pointer; transition:box-shadow .16s ease; }
.qf-slider-input::-moz-range-thumb{ width:22px; height:22px; border-radius:50%; background:#fff; border:2px solid #16283F; cursor:pointer; }
.qf-slider-input:hover::-webkit-slider-thumb{ box-shadow:0 0 0 5px rgba(42,97,196,.08); }
.qf-slider-input:focus-visible::-webkit-slider-thumb{ box-shadow:0 0 0 4px rgba(42,97,196,.22); }
.qf-slider-ticks{ display:flex; justify-content:space-between; font-size:.68rem; color:#9aa1b0; margin-top:2px; }
.qf-slider-bp{ font-size:.82rem; color:#6a7180; margin:12px 0 0; font-weight:500; }
.qf-slider-over{ font-size:.9rem; color:#16283F; margin:14px 0 0; font-weight:500; line-height:1.5; background:#eef2f8; border-radius:10px; padding:12px 14px; }
.ah .calc-row{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:18px; }
.ah .calc-row-label{ font-size:0.857rem; color:#43474e; }
.ah .calc-seg{ display:inline-flex; gap:18px; }
.ah .calc-seg-opt{ background:none; border:0; padding:2px 0; cursor:pointer; font-size:0.83rem; font-weight:500; color:#8a8578; border-bottom:2px solid transparent; transition:color .14s, border-color .14s; }
.ah .calc-seg-opt:hover{ color:#43474e; }
.ah .calc-seg-opt.on{ color:#16283F; font-weight:600; border-bottom-color:#16283F; }
.ah .calc-hr{ border:0; border-top:1px solid #ece7db; margin:9px 0; }
.ah .calc-rate-k{ font-size:0.614rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#9a9488; margin:0 0 13px; }
.ah .calc-result{ display:flex; flex-direction:column; gap:15px; }
.ah .calc-res-l{ display:block; font-size:0.857rem; color:#43474e; margin:0 0 3px; }
.ah .calc-res-1{ font-size:1.218rem; font-weight:600; color:#16283F; letter-spacing:-.01em; }
.ah .calc-res-2{ font-size:1.67rem; font-weight:700; color:#16283F; letter-spacing:-.02em; }
.ah .calc-res-u{ font-size:0.812rem; font-weight:500; color:#8a8578; margin-left:5px; }
.ah .calc-assume{ font-size:0.64rem; color:#9a9184; margin:13px 0 0; line-height:1.5; }
.ah .calc-bp{ font-size:0.64rem; color:#9a9184; margin:5px 0 0; line-height:1.5; font-weight:400; }
.ah .calc-cta-q{ font-size:0.921rem; font-weight:600; color:#16283F; margin:0 0 4px; letter-spacing:-.005em; }
.ah .calc-cta-sub{ font-size:0.83rem; color:#6a6558; margin:0 0 15px; line-height:1.5; max-width:42ch; }
.ah .calc-btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; min-width:214px; height:47px; padding:0 24px; background:#16283F; color:#fff; text-decoration:none; font-size:0.857rem; font-weight:600; border-radius:12px; transition:background .16s ease; }
.ah .calc-btn:hover{ background:#1c355a; }
.ah .calc-arr{ transition:transform .16s ease; }
.ah .calc-btn:hover .calc-arr{ transform:translateX(4px); }
.ah .calc-badges{ font-size:0.676rem; color:#a49c8d; margin:12px 0 0; }
@media (prefers-reduced-motion: reduce){ .ah .calc-fill,.ah .calc-arr,.ah .calc-btn,.ah .calc-seg-opt{ transition:none; } }

/* Autohändler-LP: exakt die Startseiten-Schrift (Inter) statt General Sans — Marken-Konsistenz */
.ah .fsm-h1, .ah .fsm-h1 *{ font-family:var(--serif); }
.ah .calc, .ah .calc *{ font-family:var(--serif); }
/* Design-Engineering-Feinschliff: Press-Feedback + Custom-Easing */
.ah .calc-btn{ transition:background .18s cubic-bezier(.22,1,.32,1), transform .18s cubic-bezier(.22,1,.32,1); }
.ah .calc-btn:active{ transform:scale(.985); }
.ah .calc-arr{ transition:transform .18s cubic-bezier(.22,1,.32,1); }
.ah .calc-seg-opt{ transition:color .16s cubic-bezier(.22,1,.32,1), border-color .16s cubic-bezier(.22,1,.32,1); }
@media (prefers-reduced-motion: reduce){ .ah .calc-btn,.ah .calc-btn:active,.ah .calc-arr,.ah .calc-seg-opt{ transition:none; } }
/* Rechner breiter + niedriger (2-spaltig) */
.ah .calc{ max-width:none; margin:0; padding:20px 40px 16px; }
.ah .calc-top{ display:grid; grid-template-columns:1.15fr 1fr; gap:40px; align-items:start; }
.ah .calc-col-b{ border-left:1px solid #ece7db; padding-left:38px; }
.ah .calc-foot{ display:flex; align-items:center; justify-content:space-between; gap:32px; }
.ah .calc-foot-txt{ max-width:46ch; }
.ah .calc-foot .calc-cta-sub{ margin-bottom:0; }
.ah .calc-foot-act{ flex-shrink:0; }
.ah .calc-foot-act .calc-badges{ margin-top:10px; }
@media (min-width:861px) and (max-width:1120px){
  .ah .calc-top{ grid-template-columns:1fr; gap:22px; }
  .ah .calc-col-b{ border-left:0; padding-left:0; border-top:1px solid #ece7db; padding-top:20px; }
  .ah .calc-foot{ flex-direction:column; align-items:flex-start; gap:16px; }
}
/* Presse-Logos: Links + Hover */
.ah-presse-row a{ display:inline-flex; transition:transform .2s cubic-bezier(.22,1,.32,1); }
.ah-presse-row a:hover{ transform:scale(1.07); }
/* restliche Autohändler-Headlines auf Website-Schrift (Inter) */
.ah .fsm-check-h, .ah .fsm-storycta-t{ font-family:var(--serif); }
/* Bekannt-aus: alle Logos in EINER Reihe */
.ah-presse-row{ flex-wrap:nowrap; gap:14px; }
.ah-presse-row img{ height:30px; }
.ah-presse-row img.wide{ height:16px; }
/* Bekannt-aus über die ganze freie Breite (unter dem Hero) */
.ah .fsm-hero > .ah-presse{ grid-column:1 / -1; margin-top:clamp(36px,4vw,60px); }
.ah .ah-presse-k{ margin:0 0 18px; }
.ah .ah-presse-row{ flex-wrap:nowrap; justify-content:space-between; gap:24px; width:100%; }
.ah .ah-presse-row img{ height:44px; }
.ah .ah-presse-row img.wide{ height:26px; }
/* Bekannt-aus: höher + enger zusammen */
.ah .fsm-hero > .ah-presse{ margin-top:6px; }
.ah .ah-presse-row{ justify-content:flex-start; gap:50px; width:auto; }
/* Bekannt-aus näher an den Hero (Row-Gap runter) */
@media (min-width:861px){ .ah .fsm-hero{ row-gap:14px; } }
.ah .fsm-hero > .ah-presse{ margin-top:0; }
/* Bekannt-aus 50px tiefer */
.ah .fsm-hero > .ah-presse{ margin-top:50px; }
/* Bekannt-aus 25px hoch (netto 25px unter dem Hero) */
.ah .fsm-hero > .ah-presse{ margin-top:25px; }
/* Rechner-Kasten: nur Y-Verschiebung fürs Top-Alignment (kein X-Push → kann nicht aus der Spalte ragen) */
@media (min-width:1200px){ .ah .calc{ transform:translate(0,21px); } }
/* MOBILE: Finanzierungsrechner (gestapelt) statt Papierkarte */
@media (max-width:860px){
  .ah .fsm-hero-media .sheet-wrap{ display:none; }
  .ah .calc{ display:block; max-width:none; margin:0; transform:none; padding:22px 20px 20px; }
  .ah .calc-top{ grid-template-columns:1fr; gap:18px; }
  .ah .calc-col-b{ border-left:0; padding-left:0; border-top:1px solid #ece7db; padding-top:16px; }
  .ah .calc-foot{ flex-direction:column; align-items:stretch; gap:14px; }
  .ah .calc-foot-txt{ max-width:none; }
  .ah .calc-btn{ width:100%; }
}
@media (max-width:860px){
  .ah .fsm-hero-media{ padding:0; overflow-x:visible; }
  .ah .calc{ box-sizing:border-box; width:100%; }
  .ah .calc-ticks span:nth-child(2){ display:none; }   /* Mitte-Tick auf Mobile weglassen (Platz) */
  .ah .calc-assume{ word-break:normal; }
}
/* MOBILE-Reihenfolge: Hero zuerst, dann Rechner, dann Fragen */
@media (max-width:860px){
  .ah .fsm-hero-media{ order:0; margin-top:clamp(24px,5vw,40px); }
}
/* Raten psychologisch tauschen: „Während der Anlaufzeit" groß, „Danach" kleiner */
.ah .calc-res-1{ font-size:1.67rem; font-weight:700; }
.ah .calc-res-2{ font-size:1.218rem; font-weight:600; }

/* ===== Autohändler-LP · linke Seite editorialer (Desktop) ===== */
@media (min-width:861px){
  .ah .fsm-hero{ grid-template-columns:0.85fr 1.35fr; column-gap:clamp(56px,6vw,96px); }
}
/* Headline: „bis 25 Mio." kleiner, Aussage stärker */
.ah .fsm-h1-num{ font-size:clamp(2.2rem,3.1vw,2.9rem); margin-bottom:8px; letter-spacing:-.03em; }
.ah .fsm-h1{ font-size:clamp(1.85rem,2.6vw,2.45rem); line-height:1.14; }
/* Leistungsargumente: keine grünen Kreise, feine Trenner */
.ah .fsm-result{ margin-top:30px; border-top:1px solid #e4dfd3; }
.ah .fsm-result ul{ gap:0; }
.ah .fsm-result li{ padding:13px 0 12px; padding-left:0; margin:0; border-bottom:1px solid #e4dfd3; font-size:1.02rem; color:#2b3038; }
.ah .fsm-result li::before{ display:none; }
/* Bekannt aus: kompakt, direkt unter den Argumenten, kleiner */
.ah .fsm-hero-txt .ah-presse{ margin-top:22px; padding-top:0; border-top:0; }
.ah .fsm-hero-txt .ah-presse-k{ margin:0 0 12px; }
.ah .fsm-hero-txt .ah-presse-row{ justify-content:flex-start; flex-wrap:wrap; gap:16px 24px; width:auto; }
.ah .fsm-hero-txt .ah-presse-row img{ height:24px; }
.ah .fsm-hero-txt .ah-presse-row img.wide{ height:14px; }
/* Bekannt-aus links: kleiner → eine Reihe */
.ah .fsm-hero-txt .ah-presse-row{ gap:14px 16px; }
.ah .fsm-hero-txt .ah-presse-row img{ height:22px; }
.ah .fsm-hero-txt .ah-presse-row img.wide{ height:13px; }
/* Bekannt-aus links: Logos NICHT kleiner — größer, eine Reihe (läuft in freie Fläche) */
.ah .fsm-hero-txt .ah-presse-row{ flex-wrap:nowrap; gap:26px; width:max-content; }
.ah .fsm-hero-txt .ah-presse-row img{ height:34px; }
.ah .fsm-hero-txt .ah-presse-row img.wide{ height:20px; }
/* Bekannt-aus links: Logos größer */
.ah .fsm-hero-txt .ah-presse-row{ gap:30px; }
.ah .fsm-hero-txt .ah-presse-row img{ height:48px; }
.ah .fsm-hero-txt .ah-presse-row img.wide{ height:29px; }
/* Bekannt-aus 20px tiefer */
.ah .fsm-hero-txt .ah-presse{ margin-top:42px; }
/* Rechner: ausgegraute Tilgungsfrei-Optionen / -Sektion */
.ah .calc-seg-opt.is-off{ opacity:.32; cursor:not-allowed; border-bottom-color:transparent !important; color:#8a8578 !important; }
.ah .calc-row.is-disabled{ opacity:.4; pointer-events:none; }

/* --- Feinschliff: Logos 30px tiefer · Rechner 10px breiter --- */
.ah .fsm-hero-txt .ah-presse{ margin-top:64px; }
@media (min-width:1200px){
  .ah .calc{ width:calc(100% + 25px); margin-left:-25px; }
}

/* Hero-Überlauf global kappen (verhindert Phantom-Scrollbar bei mittlerer Breite) */
.ah .fsm-hero{ overflow-x:clip; }

/* === Bekannt-aus: volle Hero-Breite + FLUIDE Logos (dynamisch beim Zusammenschieben) === */
@media (min-width:861px){
  .ah .fsm-hero > .ah-presse{ grid-column:1 / -1; margin-top:clamp(38px,4vw,58px); width:100%; }
  .ah .fsm-hero > .ah-presse .ah-presse-k{ margin:0 0 14px; }
  .ah .fsm-hero > .ah-presse .ah-presse-row{ display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:clamp(16px,1.9vw,34px); width:100%; }
  .ah .fsm-hero > .ah-presse .ah-presse-row img{ height:clamp(34px,3.2vw,48px); width:auto; }
  .ah .fsm-hero > .ah-presse .ah-presse-row img.wide{ height:clamp(21px,1.95vw,29px); }
}

/* === Rechner kompakter (bedienbar auf kleineren/kurzen Viewports) — #calc erhöht Spezifität === */
.ah #calc{ padding:20px 34px 16px; }
.ah #calc .calc-top{ gap:30px; }
.ah #calc .calc-k{ margin-bottom:6px; }
.ah #calc .calc-lead{ margin-bottom:4px; font-size:.92rem; }
.ah #calc .calc-amount{ font-size:1.45rem; }
.ah #calc .calc-slider-wrap{ margin-top:12px; }
.ah #calc .calc-row{ margin-top:12px; }
.ah #calc .calc-rate-k{ margin-bottom:8px; }
.ah #calc .calc-res-1{ font-size:1.45rem; }
.ah #calc .calc-res-2{ font-size:1.08rem; }
.ah #calc .calc-res-l{ margin-bottom:2px; }
.ah #calc .calc-hr{ margin:8px 0; }
.ah #calc .calc-foot{ gap:22px; }
.ah #calc .calc-cta-sub{ margin-bottom:0; }

/* === Bekannt-aus: Marquee-Karussell bei kleinen Screens (wie Startseite mobil) === */
.ah .ah-presse-marq{ width:100%; min-width:0; }
@media (min-width:861px){
  /* Desktop: statische fluide Reihe, Duplikate aus */
  .ah .ah-presse-marq .ah-presse-row a[aria-hidden="true"]{ display:none; }
}
@media (max-width:860px){
  /* Mobile: Block einblenden (war display:none) + Logos rotieren statt zu verschwinden */
  .ah .fsm-hero > .ah-presse{ display:block; grid-column:1 / -1; margin-top:clamp(28px,7vw,44px); width:100%; }
  .ah .ah-presse-marq{ overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
  .ah .ah-presse-marq .ah-presse-row{ display:flex !important; flex-wrap:nowrap !important; width:max-content !important; gap:46px !important; padding-right:46px; align-items:center; animation:pressScroll 26s linear infinite; }
  .ah .ah-presse-marq .ah-presse-row a{ flex-shrink:0; }
  .ah .ah-presse-marq .ah-presse-row a[aria-hidden="true"]{ display:block; }
  .ah .ah-presse-marq .ah-presse-row img{ height:32px !important; }
  .ah .ah-presse-marq .ah-presse-row img.wide{ height:19px !important; }
  .ah .ah-presse-marq:hover .ah-presse-row{ animation-play-state:paused; }
}
@media (prefers-reduced-motion:reduce){
  .ah .ah-presse-marq .ah-presse-row{ animation:none !important; }
}

/* Autohändler-Hero: farbige Rand-Verläufe (blau/navy) entfernen -> gleichmäßiges Creme */
.ah .fsm-hero::before{ background-image:none !important; }

/* Autohändler: garantierter Abstand unter der fixen Nav (auch beim Zusammenschieben) */
@media (min-width:861px){
  .ah .fsm-hero{ padding-top:clamp(92px,6vw,104px); }
}

/* ===================================================================
   Einwilligungs-Banner (Cookies)
   Ruhig gehalten, aber nicht wegzuklicken ohne Entscheidung.
   Beide Schaltflächen sind bewusst gleich groß — Ablehnen darf nicht
   schwerer fallen als Zustimmen.
   =================================================================== */
.ep-consent{
  position:fixed; inset:auto 0 0 0; z-index:9999;
  display:flex; justify-content:center; padding:16px;
  opacity:0; transform:translateY(12px); pointer-events:none;
  transition:opacity .28s cubic-bezier(.22,.61,.36,1), transform .28s cubic-bezier(.22,.61,.36,1);
}
.ep-consent.ist-offen{ opacity:1; transform:none; pointer-events:auto; }
.ep-consent-box{
  width:100%; max-width:560px; background:#fff; color:#1d1d1f;
  border:1px solid rgba(29,29,31,.10); border-radius:18px;
  box-shadow:0 18px 50px rgba(15,25,45,.18);
  padding:24px 24px 20px;
  font-family:var(--sans, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif);
}
.ep-consent-box h2{ font-size:1.06rem; line-height:1.3; margin:0 0 8px; letter-spacing:-.01em; }
.ep-consent-box p{ font-size:.9rem; line-height:1.55; color:#5b6068; margin:0 0 16px; }
.ep-consent-detail{ margin:0 0 16px; border-top:1px solid rgba(29,29,31,.08); padding-top:14px; }
.ep-consent-zeile{
  display:flex; gap:11px; align-items:flex-start;
  font-size:.85rem; line-height:1.5; color:#5b6068; padding:9px 0; cursor:pointer;
}
.ep-consent-zeile input{ margin-top:3px; width:17px; height:17px; accent-color:#1C3654; flex:0 0 auto; }
.ep-consent-zeile b{ color:#1d1d1f; font-weight:600; }
.ep-consent-aktionen{ display:flex; gap:10px; flex-wrap:wrap; }
.ep-consent-btn{
  flex:1 1 0; min-width:150px; padding:12px 18px; border-radius:11px;
  font-size:.92rem; font-weight:600; cursor:pointer; border:1px solid transparent;
  font-family:inherit; transition:opacity .15s ease;
}
.ep-consent-btn:hover{ opacity:.85; }
.ep-consent-btn-primary{ background:#1C3654; color:#fff; }
.ep-consent-btn-ghost{ background:#fff; color:#1C3654; border-color:rgba(29,29,31,.20); }
.ep-consent-fuss{
  display:flex; gap:9px; align-items:center; flex-wrap:wrap;
  margin-top:14px; font-size:.8rem; color:#8a9099;
}
.ep-consent-fuss a, .ep-consent-link{
  color:#2A61C4; text-decoration:none; background:none; border:0; padding:0;
  font:inherit; cursor:pointer;
}
.ep-consent-fuss a:hover, .ep-consent-link:hover{ text-decoration:underline; }
@media (max-width:520px){
  .ep-consent{ padding:10px; }
  .ep-consent-box{ padding:20px 18px 16px; border-radius:16px; }
  .ep-consent-btn{ flex:1 1 100%; }
}
/* Widerrufs-Link auf Seiten ohne Fußbereich */
.ep-consent-widerruf{ margin:0; padding:26px 24px 34px; text-align:center; font-size:.8rem; }
.ep-consent-widerruf a{ color:#8a9099; text-decoration:none; }
.ep-consent-widerruf a:hover{ text-decoration:underline; }
.legal .legal-stand{ color:#8a9099; font-size:.85rem; margin:-8px 0 26px; }
.legal ul{ margin:0 0 18px; padding-left:20px; }
.legal li{ margin:0 0 9px; line-height:1.6; }

/* Fehlerbildschirm des Klick-Checks: kein Häkchen, kein „Vielen Dank" —
   die Anfrage ist nicht angekommen, das muss man sehen. */
.qf-fail h3{ color:#B23A2B; }
.qf-fail-btns{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:18px 0 4px; }
.qf-fail-btns .btn{ margin:0; }
