/* =============================================================================
   page-home.css  —  Seitenspezifische Komponenten der Startseite (front-page.php)
   -----------------------------------------------------------------------------
   Laedt KONDITIONAL nur auf der Startseite (inc/public-redesign.php-Enqueue).
   Tokens (--green, --invest, --ink, --paper, --line, --shadow, --ease …),
   Basis (.btn, .kicker, .reveal, .field, .leadbox, .section, .num-tag, .t-h2)
   + Reveal-System kommen aus projecta-system.css und werden hier NICHT neu
   definiert. Hier NUR die startseiten-eigenen Bausteine.
   Jede Regel unter .pds gescoped. Quelle: Home-Mockup v1.1.0 (Insel-Tokens auf
   System-Tokens gemappt; Mockup-Bug --invest-soft:#e4eef4 [blau] verworfen).
   ============================================================================= */

/* Startseiten-Akzente der Basis-Primitive */
.pds .badge { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:5px 12px; border-radius:var(--r-pill); }
.pds .badge-invest { background:var(--invest-soft); color:var(--invest); }
.pds .badge-owner { background:var(--paper-3); color:var(--green-ink); }
.pds .badge-partner { background:var(--mint); color:var(--green-ink); }
.pds .btn-arrow svg { transition:transform .3s var(--ease); }
.pds .btn:hover .btn-arrow svg { transform:translateX(5px); }

/* === HERO === */
.pds .hhero { position:relative; min-height:100vh; display:flex; align-items:center; padding:150px 0 90px; overflow:hidden; background:var(--paper); }
.pds .hhero-bg { position:absolute; inset:0; z-index:0; background:linear-gradient(125deg,var(--paper-3) 0%,var(--paper-2) 60%); }
.pds .hhero-glow { position:absolute; inset:0; z-index:1; pointer-events:none; background:
  radial-gradient(40% 46% at 88% 16%,rgba(116,183,42,.22),transparent 62%),
  radial-gradient(34% 40% at 2% 88%,rgba(116,183,42,.14),transparent 66%),
  radial-gradient(50% 30% at 50% 110%,rgba(255,255,255,.7),transparent 70%); }
.pds .hhero-inner { position:relative; z-index:2; width:100%; }
/* Hero-Foto: randlos bis Bildschirmkante rechts. KEIN Fade — die Papier-Ebene (.hhero-veil) liegt mit
   präziser Kante ÜBER dem Foto. Der Container clippt das innere Pan-Layer (Scroll-Drift via page-home.js). */
.pds .hhero-photo { position:absolute; top:0; right:0; bottom:0; left:56%; z-index:2; overflow:hidden; }
/* Pan-Layer: ±7% Überhöhe = Puffer für die Scroll-Drift (max. 5.5% translateY, Rest clippt der Container).
   Asset ist ein nativer Hochformat-Crop (1350x1500 aus dem 4K-Original) — cover ohne Digital-Zoom = scharf. */
.pds .hhero-photo-pan { position:absolute; left:0; right:0; top:-7%; bottom:-7%; background-size:cover; background-position:50% 50%; will-change:transform; }
/* Grün-Tonung über dem ganzen Foto (Marken-Anmutung + Kontrast für den Phototag) */
.pds .hhero-photo::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(160deg, rgba(116,183,42,.05), rgba(20,50,25,.16)); }
/* Hero-Bühne: fährt beim Laden von links rein (Papier-Ebene + Text); Foto ist Basis-Ebene darunter */
.pds .hhero-stage { position:absolute; inset:0; z-index:3; display:flex; align-items:center; padding:150px 0 90px; }
/* Papier-Ebene: deckend, präzise Kante + Elevation-Schatten aufs Foto („das Text-Blatt liegt auf dem Bild").
   Breite deckt die Text-Spalte IMMER ab (wrap-Anfang + 720px copy + Luft), mindestens 59% Viewport. */
.pds .hhero-veil { position:absolute; top:0; left:0; bottom:0; z-index:1;
  width:max(calc((100% - min(100% - 40px, var(--maxw))) / 2 + 790px), 59%);
  background:var(--paper-2);
  border-right:1px solid rgba(255,255,255,.7);
  box-shadow:14px 0 36px -18px rgba(20,50,25,.20), 46px 0 110px -34px rgba(20,50,25,.13); }
/* „Steht sofort, atmet kurz auf": KEIN Delay, KEINE Slides — die Komposition (Papier + Kante + Foto)
   steht ab Frame 1 (FCP/LCP sofort, Souveränitäts-Signal). Der Inhalt erscheint als gestaffelter
   Soft-Reveal (Opacity + 14px Rise, Gesamtsequenz < 1s); danach bewegt sich nur noch die Scroll-Drift. */
html.js .pds .hhero-photo { animation:homePhotoIn .4s ease-out both; }
@keyframes homePhotoIn { from { opacity:0; } to { opacity:1; } }
html.js .pds .hhero-copy > * { animation:homeRise .55s var(--ease) both; }
html.js .pds .hhero-copy > .kicker { animation-delay:.05s; }
html.js .pds .hhero-copy > h1 { animation-delay:.13s; }
html.js .pds .hhero-copy > .dualline { animation-delay:.21s; }
html.js .pds .hhero-copy > p.lead { animation-delay:.29s; }
html.js .pds .hhero-copy > .hhero-cta { animation-delay:.37s; }
html.js .pds .hhero-copy > .hhero-badges { animation-delay:.45s; }
html.js .pds .hhero-copy > .hhero-badges-facts { animation-delay:.53s; }
html.js .pds .hhero-copy > .hhero-tax { animation-delay:.61s; }
@keyframes homeRise { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
.pds .hhero-phototag { position:absolute; right:28px; bottom:26px; background:rgba(20,39,27,.6); backdrop-filter:blur(8px); color:#fff; font-size:11px; font-weight:600; letter-spacing:.04em; padding:7px 13px; border-radius:9px; border:1px solid rgba(255,255,255,.18); }
.pds .hhero-copy { max-width:720px; }
.pds .hhero h1 { font-size:clamp(34px,4.4vw,62px); margin:18px 0 0; letter-spacing:-.045em; font-weight:800; color:var(--ink); line-height:1.06; }
.pds .hhero h1 .ln { display:block; }
.pds .hhero h1 .ln > span { display:block; }
@keyframes homeLineUp { to { transform:translateY(0); } }
.pds .hhero h1 .hl { color:var(--green-deep); position:relative; display:inline-block; }
.pds .hhero h1 .hl .hl-uline { position:absolute; left:-.03em; bottom:-.1em; width:calc(100% + .06em); height:.28em; overflow:visible; }
.pds .hhero h1 .hl .hl-uline path { fill:none; stroke:var(--green); stroke-width:6; stroke-linecap:round; stroke-dasharray:700; stroke-dashoffset:700; }
html.js .pds .hhero h1 .hl .hl-uline path { animation:homeUlDraw 1.1s var(--ease) .8s forwards; }
@keyframes homeUlDraw { to { stroke-dashoffset:0; } }
.pds .dualline { font-size:clamp(16px,1.5vw,20px); font-weight:600; color:var(--ink); margin:28px 0 18px; display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.pds .dualline span { display:inline-flex; align-items:center; gap:9px; }
.pds .dualline .o { color:var(--green-deep); }
.pds .dualline .i { color:var(--invest); }
.pds .dualline .o::before, .pds .dualline .i::before { content:""; width:9px; height:9px; border-radius:50%; flex:0 0 auto; }
.pds .dualline .o::before { background:var(--green); }
.pds .dualline .i::before { background:var(--invest); }
.pds .hhero p.lead { font-size:17.5px; color:var(--muted); max-width:560px; margin:0 0 30px; line-height:1.62; }
.pds .hhero p.lead b { color:var(--ink-2); font-weight:600; }
.pds .hhero-cta { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:18px; }
.pds .routelinks { font-size:14.5px; color:var(--muted); margin-bottom:36px; }
.pds .routelinks a { color:var(--green-deep); font-weight:600; }
.pds .routelinks a:hover { text-decoration:underline; }
.pds .hhero-stats { display:grid; grid-template-columns:repeat(3,auto); gap:34px; padding-top:28px; border-top:1px solid var(--line); justify-content:start; }
.pds .hstat .n { font-weight:800; font-size:clamp(28px,2.6vw,40px); color:var(--ink); line-height:1; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.pds .hstat .l { font-size:12.5px; color:var(--muted); margin-top:9px; max-width:170px; line-height:1.4; }
/* Steuer-Teaser: bewusst EIGENE Zeile, getrennt von der Badge-Leiste (§15b: keine Bündelungs-Optik) */
.pds .hhero-tax { display:inline-flex; align-items:center; gap:8px; font-size:14.5px; font-weight:600; color:var(--green-ink); margin:22px 0 0; max-width:620px; text-decoration:none; line-height:1.45; }
.pds .hhero-tax svg { flex:0 0 auto; transition:transform .3s var(--ease); }
.pds .hhero-tax:hover { text-decoration:underline; }
.pds .hhero-tax:hover svg { transform:translateX(4px); }
/* Badge-Leiste: die drei Produkt-Qualitäten (aus Lead-Text + S1-Karten hierher verdichtet).
   Duotone-Icons in „belichteten" Chips: statisch nur ein feiner Grün-Ring — Glow AUSSCHLIESSLICH
   als Hover-Reaktion (kein Puls/Loop: Bewegung bleibt Antwort auf den Nutzer, nicht Vorstellung). */
.pds .hhero-badges { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 26px; margin:0 0 18px; max-width:760px; border-top:1px solid var(--line); padding-top:22px; }
.pds .hbadge { display:flex; align-items:flex-start; gap:11px; }
.pds a.hbadge { text-decoration:none; color:inherit; }
/* Fakten-Reihe (Mockup-Struktur): eigene Hairline als Trenner, kompaktere Chips/Typo als die USP-Reihe */
.pds .hhero-badges-facts { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px 20px; padding-top:18px; }
.pds .hhero-badges-facts .hbic { width:34px; height:34px; }
.pds .hhero-badges-facts .hbic svg { width:18px; height:18px; }
.pds .hhero-badges-facts .hbt b { font-size:12.5px; }
.pds .hhero-badges-facts .hbt span { font-size:11.5px; }
.pds .hbadge .hbic { width:42px; height:42px; flex:0 0 auto; border-radius:50%; background:#fff; border:1px solid rgba(90,144,35,.35); display:grid; place-items:center; color:var(--green-ink);
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset, 0 6px 14px -10px rgba(20,50,25,.28);
  transition:box-shadow .35s var(--ease), border-color .35s var(--ease), transform .35s var(--ease); }
.pds .hbadge .hbic svg { width:22px; height:22px; }
.pds .hbadge .hbt { display:flex; flex-direction:column; gap:3px; }
.pds .hbadge .hbt b { font-size:13.5px; color:var(--ink); line-height:1.25; letter-spacing:-.01em; }
.pds .hbadge .hbt span { font-size:12px; color:var(--muted); line-height:1.4; }
@media (hover:hover) and (pointer:fine) {
  .pds .hbadge:hover .hbic { border-color:var(--green); transform:translateY(-2px);
    box-shadow:0 1px 0 rgba(255,255,255,.8) inset, 0 12px 24px -8px rgba(116,183,42,.55); }
}

/* Hero-Media: getiltetes Frame + schwebende Glas-Datenkarten */
.pds .hhero-media { position:relative; align-self:stretch; min-height:520px; perspective:1600px; }
.pds .media-frame { position:absolute; inset:8% 2% 8% 6%; border-radius:26px; overflow:hidden;
  transform:rotateY(-13deg) rotateX(5deg) rotateZ(-1.5deg); transform-style:preserve-3d;
  box-shadow:-30px 50px 90px -40px rgba(20,50,25,.55), 0 4px 0 rgba(255,255,255,.6) inset;
  border:6px solid rgba(255,255,255,.85); will-change:transform; }
.pds .media-frame img { width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.08); animation:homeSlowpan 30s ease-in-out infinite alternate; }
@keyframes homeSlowpan { 0% { transform:scale(1.08) translate(0,0); } 100% { transform:scale(1.16) translate(-3%,2%); } }
.pds .media-frame::after { content:""; position:absolute; inset:0; background:linear-gradient(160deg,rgba(116,183,42,.04),rgba(20,50,25,.16)); }
.pds .frame-tag { position:absolute; left:14px; top:14px; z-index:4; background:rgba(20,39,27,.66); backdrop-filter:blur(8px); color:#fff; font-size:11px; font-weight:600; letter-spacing:.04em; padding:6px 12px; border-radius:8px; border:1px solid rgba(255,255,255,.18); }
.pds .gcard { position:absolute; z-index:6; background:rgba(255,255,255,.74); backdrop-filter:blur(20px) saturate(1.3); border:1px solid rgba(255,255,255,.9); border-radius:18px; padding:16px 18px; box-shadow:0 28px 60px -28px rgba(20,50,25,.55),0 1px 0 rgba(255,255,255,.8) inset; display:flex; align-items:center; gap:14px; will-change:transform; }
.pds .gcard .cic { width:46px; height:46px; border-radius:13px; background:linear-gradient(135deg,var(--green),var(--green-deep)); display:grid; place-items:center; flex:0 0 auto; box-shadow:0 10px 22px -10px rgba(116,183,42,.8); }
.pds .gcard .ct { font-weight:800; color:var(--ink); font-size:14.5px; line-height:1.15; letter-spacing:-.01em; }
.pds .gcard .cs { color:var(--muted); font-size:12.5px; margin-top:3px; }
.pds .gc-1 { left:-2%; bottom:9%; animation:homeFloat1 6.8s ease-in-out infinite; }
.pds .gc-2 { right:-2%; top:6%; animation:homeFloat2 7.6s ease-in-out infinite; }
.pds .gc-3 { right:6%; bottom:2%; flex-direction:column; align-items:flex-start; gap:6px; padding:15px 19px; animation:homeFloat3 6.4s ease-in-out infinite; }
.pds .gc-3 .ct { max-width:170px; }
.pds .gc-3 .spark { display:flex; align-items:flex-end; gap:4px; height:30px; margin-top:4px; }
.pds .gc-3 .spark i { width:6px; border-radius:3px; background:linear-gradient(180deg,var(--green-soft),var(--green-deep)); display:block; animation:homeBar 1.6s ease-in-out infinite; }
.pds .gc-3 .spark i:nth-child(1){ height:40%; animation-delay:0s; }
.pds .gc-3 .spark i:nth-child(2){ height:65%; animation-delay:.15s; }
.pds .gc-3 .spark i:nth-child(3){ height:50%; animation-delay:.3s; }
.pds .gc-3 .spark i:nth-child(4){ height:90%; animation-delay:.45s; }
.pds .gc-3 .spark i:nth-child(5){ height:70%; animation-delay:.6s; }
.pds .gc-3 .spark i:nth-child(6){ height:100%; animation-delay:.75s; }
@keyframes homeBar { 0%,100% { transform:scaleY(.6); } 50% { transform:scaleY(1); } }
@keyframes homeFloat1 { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-12px); } }
@keyframes homeFloat2 { 0%,100% { transform:translateY(0); } 50% { transform:translateY(11px); } }
@keyframes homeFloat3 { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-10px); } }

.pds .scrollcue { position:absolute; left:50%; transform:translateX(-50%); bottom:30px; z-index:4; display:inline-flex; align-items:center; gap:12px; color:var(--muted); font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; }
/* Scrollcue nur bei ausreichend Platz — der gewachsene Hero-Inhalt (Steuer-Zeile + Fußnote) kollidiert sonst */
@media (max-width:1300px), (max-height:959px) { .pds .scrollcue { display:none; } }
.pds .scrollcue .m { width:26px; height:42px; border:2px solid var(--line-2); border-radius:14px; position:relative; }
.pds .scrollcue .m::after { content:""; position:absolute; left:50%; top:8px; width:4px; height:8px; border-radius:3px; background:var(--green-deep); transform:translateX(-50%); animation:homeWheel 1.7s infinite; }
@keyframes homeWheel { 0% { opacity:0; transform:translate(-50%,0); } 30% { opacity:1; } 100% { opacity:0; transform:translate(-50%,12px); } }

/* === Editoriale Section-Heads (asymmetrisch) === */
.pds .head-row { display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:end; margin-bottom:62px; }
.pds .head-row h2 { font-size:clamp(34px,4.4vw,58px); letter-spacing:-.04em; }
.pds .head-row .aside { padding-bottom:8px; }
.pds .head-row .aside p { color:var(--muted); font-size:17px; line-height:1.62; }
.pds .head-row .num-tag { display:flex; align-items:center; gap:12px; margin-bottom:22px; }
.pds .head-row .num-tag::before { content:""; width:30px; height:1.5px; background:var(--line-2); }

/* === DOORS — bild-gefuehrtes Bento === */
.pds .doors { display:grid; grid-template-columns:1.06fr .94fr; gap:24px; align-items:stretch; }
.pds .door { position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; transition:transform .45s var(--ease),box-shadow .45s,border-color .45s; }
.pds .door:hover { transform:translateY(-8px); box-shadow:var(--shadow); border-color:transparent; }
.pds .door .img { position:relative; overflow:hidden; flex:0 0 auto; background:linear-gradient(135deg,var(--mint-2),var(--mint)); }
.pds .door .img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 1.1s var(--ease); }
.pds .door:hover .img img { transform:scale(1.07); }
.pds .door .img::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(116,183,42,.05),rgba(20,50,25,.18)); }
.pds .door .badge { position:absolute; top:16px; left:16px; z-index:3; background:rgba(255,255,255,.9); backdrop-filter:blur(8px); box-shadow:0 6px 16px -8px rgba(0,0,0,.35); }
.pds .door .proof-tag { position:absolute; top:16px; right:16px; z-index:3; display:inline-flex; align-items:center; gap:7px; background:rgba(20,39,27,.62); backdrop-filter:blur(8px); color:#fff; font-size:11.5px; font-weight:600; letter-spacing:.03em; padding:7px 12px; border-radius:var(--r-pill); border:1px solid rgba(255,255,255,.22); }
.pds .door .proof-tag .dot { width:6px; height:6px; border-radius:50%; background:var(--green-soft); box-shadow:0 0 8px rgba(139,195,74,.9); flex:0 0 auto; }
.pds .door h3 { font-size:24px; margin:0 0 10px; letter-spacing:-.02em; color:var(--ink); }
.pds .door p { color:var(--muted); font-size:15px; margin-bottom:16px; line-height:1.6; }
.pds .door .rr { font-size:12.5px; color:var(--green-ink); font-weight:600; margin-top:auto; margin-bottom:18px; display:flex; align-items:flex-start; gap:8px; }
.pds .door .rr svg { margin-top:3px; flex:0 0 auto; }
.pds .door .go { display:inline-flex; align-items:center; gap:9px; font-weight:700; color:var(--green-deep); font-size:15px; }
.pds .door .go svg { transition:transform .3s var(--ease); }
.pds .door:hover .go svg { transform:translateX(6px); }
.pds .door .body { padding:26px 28px 24px; display:flex; flex-direction:column; flex:1; }
/* Featured (Investor, primaeres Conversion-Ziel): vollflaechiges Foto, Text auf Scrim */
.pds .door-feat { grid-row:span 2; min-height:560px; justify-content:flex-end; border:0; }
.pds .door-feat .img { position:absolute; inset:0; }
.pds .door-feat .img::after { background:linear-gradient(180deg,rgba(20,50,25,0) 34%,rgba(10,28,13,.84) 82%); }
.pds .door-feat .body { position:relative; z-index:2; padding:30px 30px 28px; flex:0 0 auto; }
.pds .door-feat .rr { margin-top:2px; color:#d9f0bf; }
.pds .door-feat h3 { color:#fff; font-size:clamp(26px,2.3vw,32px); }
.pds .door-feat p { color:rgba(255,255,255,.9); max-width:480px; }
.pds .door-feat .go { color:#fff; }
.pds .door-feat:hover .img img { transform:scale(1.05); }
/* Seiten-Karten (Eigentuemer/Partner): Foto links, Inhalt rechts */
.pds .door-side { flex-direction:row; min-height:268px; }
.pds .door-side .img { width:40%; }

/* === HERSTELLER-MARQUEE === */
.pds .logos { background:linear-gradient(180deg,var(--paper-3),var(--mint)); padding:46px 0; overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.pds .logos .t { text-align:center; color:var(--muted); font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; margin-bottom:26px; }
.pds .marquee { position:relative; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); }
.pds .marquee-track { display:flex; align-items:center; gap:80px; width:max-content; animation:homeScrollx 28s linear infinite; }
.pds .logos:hover .marquee-track { animation-play-state:paused; }
@keyframes homeScrollx { to { transform:translateX(-50%); } }
.pds .marquee-track .bl-text { font-weight:800; font-size:24px; color:#9aa890; letter-spacing:-.02em; white-space:nowrap; transition:color .3s; }
.pds .marquee-track .bl-text:hover { color:var(--green-deep); }
.pds .marquee-track img.bl { height:30px; width:auto; max-width:160px; object-fit:contain; filter:grayscale(1); opacity:.58; transition:filter .3s,opacity .3s; }
.pds .marquee-track img.bl:hover { filter:grayscale(0); opacity:1; }

/* === BAND (heller Mint-Color-Block) === */
.pds .band { position:relative; background:linear-gradient(135deg,var(--mint-2),var(--mint)); padding:clamp(72px,9vw,96px) 0; overflow:hidden; }
.pds .band::before { content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(90,144,35,.10) 1.1px,transparent 1.1px); background-size:24px 24px; -webkit-mask-image:radial-gradient(80% 90% at 50% 50%,#000,transparent 80%); mask-image:radial-gradient(80% 90% at 50% 50%,#000,transparent 80%); opacity:.7; }
.pds .band-grid { position:relative; display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:center; }
.pds .band-figure { position:relative; perspective:1400px; }
.pds .band-img { border-radius:24px; overflow:hidden; transform:rotateY(9deg) rotateX(3deg); box-shadow:30px 40px 80px -40px rgba(20,50,25,.5); border:6px solid rgba(255,255,255,.85); will-change:transform; }
.pds .band-img img { width:100%; height:380px; object-fit:cover; display:block; }
.pds .band-stat { position:absolute; right:-6%; bottom:-7%; background:#fff; border-radius:20px; padding:20px 24px; box-shadow:0 30px 60px -28px rgba(20,50,25,.45); z-index:3; }
.pds .band-stat .n { font-weight:800; font-size:30px; color:var(--green-ink); letter-spacing:-.04em; line-height:1; font-variant-numeric:tabular-nums; }
.pds .band-stat .l { font-size:13px; color:var(--muted); margin-top:5px; }
.pds .band h2 { font-size:clamp(30px,3.8vw,48px); color:var(--ink); margin:18px 0 18px; letter-spacing:-.04em; }
.pds .band p.band-lead { color:var(--ink-2); font-size:18px; max-width:520px; margin-bottom:26px; line-height:1.6; }
.pds .band .checks { display:grid; gap:14px; margin-bottom:30px; list-style:none; }
.pds .band .checks li { display:flex; gap:13px; align-items:flex-start; font-size:15.5px; color:var(--ink-2); font-weight:500; }
.pds .band .checks li b { color:var(--ink); font-weight:700; }
.pds .band .checks .ck { width:26px; height:26px; border-radius:9px; background:var(--green); display:grid; place-items:center; flex:0 0 auto; box-shadow:0 8px 18px -8px rgba(116,183,42,.8); }

/* === STEPS — Energie-Flow === */
.pds .steps-wrap { position:relative; }
.pds .flow-line { position:absolute; top:25px; left:5%; right:5%; height:60px; z-index:0; pointer-events:none; }
.pds .flow-line svg { width:100%; height:100%; overflow:visible; }
.pds .flow-line path { fill:none; stroke:var(--line-2); stroke-width:2; }
.pds .flow-line .draw { stroke:var(--green); stroke-width:2.5; stroke-dasharray:100; stroke-dashoffset:100; transition:stroke-dashoffset 2.4s var(--ease-2); }
.pds .steps-wrap.in .flow-line .draw { stroke-dashoffset:0; }
.pds .flow-line .pulse { fill:var(--green); filter:drop-shadow(0 0 6px rgba(116,183,42,.8)); }
.pds .steps { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; align-items:stretch; position:relative; z-index:1; }
.pds .step { position:relative; display:flex; flex-direction:column; padding:32px 26px; background:#fff; border:1px solid var(--line); border-radius:20px; transition:.4s var(--ease); }
.pds .step:hover { box-shadow:var(--shadow); transform:translateY(-7px); }
.pds .step .num { font-weight:800; font-size:16px; color:#fff; width:46px; height:46px; border-radius:14px; background:linear-gradient(135deg,var(--green),var(--green-deep)); display:grid; place-items:center; margin-bottom:20px; transition:.4s; box-shadow:0 12px 26px -12px rgba(116,183,42,.7); position:relative; z-index:2; font-variant-numeric:tabular-nums; }
.pds .step:hover .num { transform:scale(1.08) rotate(-4deg); }
.pds .step h3 { font-size:19px; margin-bottom:10px; letter-spacing:-.02em; color:var(--ink); }
.pds .step p { color:var(--muted); font-size:14.5px; line-height:1.6; }

/* === EINORDNUNG — zwei Wege === */
.pds .section.invest-band { background:linear-gradient(180deg,var(--invest-soft),#eaf2dd); }
.pds .twoways { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:stretch; margin-bottom:22px; }
.pds .way { background:#fff; border:1px solid var(--line); border-radius:24px; padding:34px 36px 32px; box-shadow:var(--shadow-soft); display:flex; flex-direction:column; }
.pds .way-invest { border:2px solid var(--invest); box-shadow:0 26px 54px -30px rgba(58,98,18,.5); }
.pds .way-badge { display:inline-flex; align-items:center; gap:9px; font-size:12px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--invest-deep); background:var(--invest-soft); padding:8px 15px; border-radius:var(--r-pill); align-self:flex-start; }
.pds .way-badge.owner { color:var(--green-ink); background:var(--paper-3); }
.pds .way-badge .dotc { width:9px; height:9px; border-radius:50%; background:var(--invest); box-shadow:0 0 0 4px rgba(58,98,18,.16); flex:0 0 auto; }
.pds .way-badge.owner .dotc { background:var(--green); box-shadow:0 0 0 4px rgba(116,183,42,.18); }
.pds .way h3 { font-size:clamp(20px,2.1vw,25px); letter-spacing:-.03em; margin:18px 0 26px; color:var(--ink); line-height:1.15; }
.pds .way-checks { list-style:none; display:flex; flex-direction:column; gap:18px; margin-bottom:30px; }
.pds .way-checks li { display:flex; gap:14px; align-items:flex-start; }
.pds .way-checks .ck { width:28px; height:28px; border-radius:9px; background:var(--invest); display:grid; place-items:center; flex:0 0 auto; box-shadow:0 8px 18px -8px rgba(58,98,18,.7); }
.pds .way-checks .ck.g { background:var(--green); box-shadow:0 8px 18px -8px rgba(116,183,42,.8); }
.pds .way-checks b { display:block; font-size:15.5px; color:var(--ink); letter-spacing:-.01em; }
.pds .way-checks .sub { display:block; font-size:13.5px; color:var(--muted); margin-top:3px; line-height:1.45; }
.pds .way .btn { align-self:flex-start; margin-top:auto; }
.pds .cmp-foot { font-size:12px; color:var(--muted-2); line-height:1.55; padding:0 4px; }

/* === TRACK-RECORD === */
.pds .trackrec { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:8px; }
.pds .trackrec .tr { background:#fff; border:1px solid var(--line); border-radius:18px; padding:24px 22px; }
.pds .trackrec .trn { font-size:clamp(30px,3.4vw,44px); font-weight:900; color:var(--green-ink); letter-spacing:-.03em; line-height:1; font-variant-numeric:tabular-nums; }
.pds .trackrec .trn .u { font-size:.5em; font-weight:700; }
.pds .trackrec .trl { font-size:13px; color:var(--muted); margin-top:9px; font-weight:500; }
.pds .trackrec-cta { margin-top:30px; }

/* === FINAL CTA + LEAD-FORM === */
.pds .final { position:relative; padding:clamp(80px,11vw,114px) 0; background:linear-gradient(135deg,#3d6b18,#4f841f 60%,#46791d); overflow:hidden; }
.pds .final::before { content:""; position:absolute; inset:0; pointer-events:none; background:
  radial-gradient(40% 50% at 12% 10%,rgba(255,255,255,.28),transparent 60%),
  radial-gradient(40% 50% at 90% 90%,rgba(58,98,18,.4),transparent 62%); }
.pds .final::after { content:""; position:absolute; inset:0; opacity:.5; pointer-events:none; background-image:radial-gradient(rgba(255,255,255,.18) 1.2px,transparent 1.2px); background-size:28px 28px; -webkit-mask-image:radial-gradient(85% 95% at 50% 0%,#000,transparent 80%); mask-image:radial-gradient(85% 95% at 50% 0%,#000,transparent 80%); }
.pds .final-grid { position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; z-index:2; }
.pds .final .kicker { color:#fff; }
.pds .final .kicker .dot { background:#fff; box-shadow:0 0 0 4px rgba(255,255,255,.2); }
.pds .final .kicker .ln { background:linear-gradient(90deg,#fff,transparent); }
.pds .final h2 { color:#fff; font-size:clamp(30px,4vw,50px); margin:20px 0 18px; letter-spacing:-.04em; }
.pds .final p { color:rgba(255,255,255,.94); font-size:18px; margin-bottom:24px; max-width:480px; line-height:1.6; }
.pds .final .trustrow { display:flex; flex-direction:column; gap:14px; color:#fff; font-weight:600; font-size:15px; }
.pds .final .trustrow span { display:flex; align-items:center; gap:10px; }
.pds .final .trustrow .ck { width:24px; height:24px; border-radius:8px; background:rgba(255,255,255,.22); display:grid; place-items:center; flex:0 0 auto; }
.pds .final .leadbox { box-shadow:0 50px 100px -40px rgba(0,0,0,.55); position:relative; }
.pds .final .leadbox::before { content:""; position:absolute; top:-1px; left:24px; right:24px; height:3px; background:linear-gradient(90deg,var(--green),var(--green-soft)); border-radius:3px; }
.pds .leadbox h3 { font-size:23px; margin-bottom:7px; letter-spacing:-.02em; color:var(--ink); }
.pds .leadbox .lsub { color:var(--muted); font-size:14px; margin-bottom:22px; }
.pds .leadbox .btn-cta { width:100%; justify-content:center; margin-top:8px; }
/* Investor-Schluss-CTA: weisser Button auf gruenem .final (btn-cta waere gruen=unsichtbar) */
.pds .final .final-cta-row { display:flex; justify-content:center; margin-top:6px; }
.pds .final .btn-white { background:#fff; color:var(--green-deep); box-shadow:0 14px 34px -14px rgba(0,0,0,.32); border:0; }
.pds .final .btn-white:hover { transform:translateY(-3px); box-shadow:0 18px 40px -14px rgba(0,0,0,.4); }
.pds .hp-field { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.pds .dsgvo-check { text-align:left; display:flex; gap:9px; align-items:flex-start; margin-bottom:6px; }
.pds .dsgvo-check input { margin-top:3px; }
.pds .dsgvo-check a { color:var(--green-ink); text-decoration:underline; }
.pds #home-lead-msg { margin-top:12px; }

/* === MOTION / A11Y === */
@media (prefers-reduced-motion:reduce){
  .pds .media-frame img, .pds .gcard, .pds .gc-3 .spark i, .pds .marquee-track { animation:none !important; }
  .pds .hhero h1 .ln > span { transform:none !important; animation:none !important; }
  .pds .hhero-stage, .pds .hhero-photo, .pds .hhero-photo-pan { transform:none !important; animation:none !important; }
  .pds .hhero-copy > * { animation:none !important; }
  .pds .hhero h1 .hl .hl-uline path { stroke-dashoffset:0 !important; animation:none !important; }
  .pds .scrollcue .m::after { display:none; }
}

/* === RESPONSIVE (vereinheitlicht: 1080 / 980 / 860 / 560) === */
@media (max-width:1080px){
  .pds .head-row { grid-template-columns:1fr; gap:18px; }
  .pds .band-grid { grid-template-columns:1fr; gap:64px; }
  .pds .band-figure { order:2; }
  .pds .band-stat { right:0; }
}
@media (max-width:980px){
  .pds .hhero-inner { grid-template-columns:1fr; gap:30px; }
  .pds .hhero-media, .pds .hhero-photo, .pds .hhero-veil { display:none; }
  .pds .hhero-stage { position:static; inset:auto; padding:0; display:block; animation:none !important; transform:none !important; }
  .pds .hhero { padding:130px 0 64px; min-height:auto; }
  .pds .doors { grid-template-columns:1fr; }
  .pds .door-feat { grid-row:auto; min-height:440px; }
  .pds .door-side { flex-direction:column; min-height:0; }
  .pds .door-side .img { width:100%; height:200px; }
  .pds .flow-line { display:none; }
  .pds .steps { grid-template-columns:1fr 1fr; }
  .pds .twoways { grid-template-columns:1fr; }
  .pds .trackrec { grid-template-columns:repeat(2,1fr); }
  .pds .final-grid { grid-template-columns:1fr; gap:42px; }
}
@media (max-width:860px){
  .pds .hhero-badges { grid-template-columns:1fr 1fr; }
  .pds .hhero-cta { flex-direction:column; align-items:stretch; }
  .pds .scrollcue { display:none; }
  .pds .steps { grid-template-columns:1fr; }
  .pds .head-row { margin-bottom:40px; }
}
@media (max-width:560px){
  .pds .trackrec { grid-template-columns:1fr; }
  .pds .hhero-badges { grid-template-columns:1fr; }
  .pds .band-stat { position:relative; right:auto; bottom:auto; margin-top:18px; display:inline-block; }
}

/* Final-CTA: 3-Wege-Gabelung (statt Lead-Formular — Home leitet zur Conversion-Seite) */
body.pds .final-head { text-align: center; max-width: 680px; margin: 0 auto 36px; }
body.pds .final-head p { text-wrap: balance; max-width: 560px; margin-left: auto; margin-right: auto; }
body.pds .final-paths { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; max-width: 1040px; margin: 0 auto; }
body.pds .final-path { display: flex; flex-direction: column; gap: 6px; padding: 26px 24px; background: #fff; border: 1px solid var(--line, #e3ece0); border-radius: 20px; text-decoration: none; transition: transform .3s var(--ease, cubic-bezier(.22,1,.36,1)), box-shadow .3s, border-color .3s; }
body.pds .final-path:hover { transform: translateY(-4px); box-shadow: var(--shadow-card, 0 24px 50px -30px rgba(40,90,30,.34)); border-color: #cfe0c2; }
body.pds .fp-t { font-size: 18px; font-weight: 700; color: var(--ink, #15271b); }
body.pds .fp-s { font-size: 14px; color: var(--muted-2, #5a6b5e); line-height: 1.45; }
body.pds .fp-arrow { margin-top: 8px; color: var(--green-deep, #5a9023); transition: transform .3s var(--ease, cubic-bezier(.22,1,.36,1)); }
body.pds .final-path:hover .fp-arrow { transform: translateX(5px); }
@media (max-width: 820px) { body.pds .final-paths { grid-template-columns: 1fr; } }

/* Icon-Farb-Fix Phosphor-Migration (22.06.): weisse Icons in farbigen Boxen (currentColor->#fff) */
.pds .band .checks .ck, .pds .way-checks .ck { color:#fff; }

/* =============================================================================
   INVESTOR-HOME v4.0.0 — eigene Premium-Identitaet (Namespace inv-*).
   Gestapelte Substanz-Schichten + Hairline-Achse statt GSS-Splitrows/Chart.
   GSS-Vokabular (rev-intro/splitrow/bignum/bignum-warn/teaser) ENTFERNT → bleibt
   EXKLUSIV /gruenstromspeicher/. Animationen ueber die .reveal->.in-Maschine
   (page-home.js); Start-Zustaende nur unter html.js (no-JS = alles sichtbar);
   nur transform/opacity, prefers-reduced-motion respektiert.
   ============================================================================= */

/* --- Gemeinsame inv-Typo --- */
.pds .inv-eyebrow { display:flex; align-items:center; gap:12px; font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--muted-2); margin-bottom:20px; }
.pds .inv-eyebrow::before { content:""; width:30px; height:1.5px; background:var(--green); flex:0 0 auto; }
.pds .inv-h2 { font-size:clamp(32px,4.4vw,56px); letter-spacing:-.045em; line-height:1.08; color:var(--ink); font-weight:800; }
.pds .inv-h2 b { color:var(--green-ink); font-weight:800; }
.pds .inv-lead { color:var(--muted); font-size:17.5px; line-height:1.68; max-width:600px; }
.pds .inv-lead b { color:var(--ink-2); font-weight:600; }
.pds .srlink { display:inline-flex; align-items:center; gap:9px; font-weight:700; font-size:15px; color:var(--green-ink); }
.pds .srlink svg { transition:transform .3s var(--ease); }
.pds .srlink:hover svg { transform:translateX(6px); }
.pds .inv-star { color:var(--green-deep); font-weight:700; text-decoration:none; padding-left:1px; }
.pds .inv-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* --- S2b WARUM SPEICHER — „Rendite wenn andere abschalten" (Markt nach EEG, Hebel 2) --- */
.pds .inv-store-head { max-width:760px; margin-bottom:38px; }
.pds .inv-store-head .inv-lead { margin-top:22px; max-width:700px; }
/* 3-Schritt-Mechanik (Tag-Rhythmus) — teasert GSS an, der animierte Chart bleibt dort exklusiv */
.pds .inv-store-steps { display:flex; align-items:flex-start; gap:24px; border-top:1px solid var(--line); padding-top:34px; }
.pds .iss { flex:1; display:flex; flex-direction:column; gap:12px; }
.pds .iss-pic { width:48px; height:48px; border-radius:50%; display:grid; place-items:center; flex:0 0 auto; }
.pds .iss-pic svg { width:26px; height:26px; fill:#fff; }
.pds .iss-pic.gold { background:var(--sun,#e0a32e); }
.pds .iss-pic.green { background:var(--green-deep); }
.pds .iss-pic.dark { background:var(--ink); }
.pds .iss h3 { font-size:15px; font-weight:800; color:var(--ink); margin:0; letter-spacing:-.01em; }
.pds .iss h3 b { color:var(--green-ink); font-weight:800; }
.pds .iss p { font-size:13.5px; line-height:1.5; color:var(--muted); margin:0; }
.pds .iss-arr { flex:0 0 auto; align-self:flex-start; margin-top:13px; color:var(--line-2); }
.pds .iss-arr svg { width:22px; height:22px; fill:currentColor; display:block; }
.pds .inv-store-foot { margin-top:30px; }
@media(max-width:760px){
  .pds .inv-store-steps { flex-direction:column; gap:22px; }
  .pds .iss-arr { align-self:center; margin:0; transform:rotate(90deg); }
}

/* --- S1 SCHMERZ — grosses Typo-Statement + Hairline-Pol-Achse --- */
.pds .inv-pain { text-align:center; }
.pds .inv-pain-stage { max-width:820px; margin:0 auto; }
.pds .inv-pain .inv-eyebrow { justify-content:center; }
.pds .inv-pain .inv-h2 { font-size:clamp(36px,5.4vw,68px); }
.pds .inv-pain .inv-lead { margin:26px auto 0; max-width:680px; }
.pds .inv-wobble { display:inline-block; color:var(--muted); }
html.js .pds .inv-wobble { animation:invWobble 3.8s ease-in-out infinite; }
@keyframes invWobble { 0%,100%{ transform:translateY(-1.6px) rotate(-.35deg); } 50%{ transform:translateY(1.6px) rotate(.35deg); } }
.pds .inv-axis { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:42px; }
.pds .inv-axis-pole { font-size:13px; font-weight:700; letter-spacing:.02em; color:var(--muted-2); white-space:nowrap; }
.pds .inv-axis-pole.strong { color:var(--green-ink); }
.pds .inv-axis-line { position:relative; flex:1 1 auto; max-width:360px; height:2px; background:var(--line); border-radius:2px; overflow:hidden; }
.pds .inv-axis-line i { position:absolute; inset:0; background:linear-gradient(90deg,var(--line-2),var(--green)); }
html.js .pds .inv-axis-line i { transform:scaleX(0); transform-origin:left; transition:transform 1.1s var(--ease) .2s; }
.pds .inv-pain-stage.in .inv-axis-line i { transform:scaleX(1); }

/* --- S2 ANTWORT — editorial + Hairline-Mikro-Anker (keine Chips/Boxen) --- */
.pds .inv-answer-stage { max-width:820px; }
.pds .inv-answer .inv-lead { margin-top:24px; font-size:18.5px; max-width:640px; }
.pds .inv-anchors { display:flex; align-items:center; flex-wrap:wrap; gap:16px 22px; margin-top:34px; padding-top:26px; border-top:1px solid var(--line); }
.pds .inv-anchor { font-size:14.5px; font-weight:700; color:var(--ink-2); letter-spacing:-.01em; }
html.js .pds .inv-anchor { opacity:0; transform:translateY(8px); transition:opacity .5s var(--ease), transform .5s var(--ease); }
.pds .inv-anchor-sep { width:5px; height:5px; border-radius:50%; background:var(--green); flex:0 0 auto; opacity:.55; }
.pds .inv-anchor-link { display:inline-flex; align-items:center; gap:8px; color:var(--green-deep); }
.pds .inv-anchor-link svg { transition:transform .3s var(--ease); }
.pds .inv-anchor-link:hover svg { transform:translateX(5px); }
.pds .inv-answer-stage.in .inv-anchor { opacity:1; transform:none; }
.pds .inv-answer-stage.in .inv-anchor:nth-of-type(2){ transition-delay:.12s; }
.pds .inv-answer-stage.in .inv-anchor:nth-of-type(3){ transition-delay:.24s; }

/* --- S3 SCHICHTEN ★ SIGNATURE — Vier-Schichten-Festung (breit unten -> schmal oben) --- */
.pds .inv-layers-head { max-width:720px; margin-bottom:46px; }
.pds .inv-layers-intro { margin-top:18px; }
.pds .inv-stack { display:flex; flex-direction:column; gap:14px; align-items:center; }
.pds .inv-stack.reveal { opacity:1; transform:none; }  /* Container nicht faden — nur die Schichten stapeln */
.pds .inv-layer { width:100%; display:flex; align-items:center; gap:24px; padding:25px 32px; border-radius:var(--r); border:1px solid var(--line); background:#fff; box-shadow:0 18px 40px -32px rgba(40,90,30,.4); }
.pds .inv-layer:nth-child(1){ width:82%; }
.pds .inv-layer:nth-child(2){ width:88%; }
.pds .inv-layer:nth-child(3){ width:94%; }
.pds .inv-layer:nth-child(4){ width:100%; }
.pds .inv-layer-base { background:linear-gradient(135deg,var(--mint-2),var(--mint)); border-color:transparent; }
html.js .pds .inv-layer { opacity:0; transform:translateY(30px); transition:opacity .6s var(--ease), transform .75s var(--ease); }
.pds .inv-stack.in .inv-layer { opacity:1; transform:none; }
.pds .inv-stack.in .inv-layer:nth-last-child(1){ transition-delay:.04s; }
.pds .inv-stack.in .inv-layer:nth-last-child(2){ transition-delay:.16s; }
.pds .inv-stack.in .inv-layer:nth-last-child(3){ transition-delay:.28s; }
.pds .inv-stack.in .inv-layer:nth-last-child(4){ transition-delay:.4s; }
.pds .inv-layer-ic { flex:0 0 auto; width:44px; height:44px; color:var(--green-ink); }
.pds .inv-layer-ic svg { width:100%; height:100%; display:block; }
.pds .inv-layer-txt h3 { font-size:clamp(18px,2vw,22px); letter-spacing:-.02em; color:var(--ink); margin:0 0 5px; }
.pds .inv-layer-txt p { font-size:15px; line-height:1.6; color:var(--muted); margin:0; }
.pds .inv-layer-link { display:inline-flex; align-items:center; gap:7px; color:var(--green-deep); font-weight:700; white-space:nowrap; margin-left:4px; }
.pds .inv-layer-link svg { transition:transform .3s var(--ease); }
.pds .inv-layer-link:hover svg { transform:translateX(5px); }

/* --- S4 HEBEL + FRIST — Steuer qualitativ + schematische Treppe (ohne Werte) --- */
.pds .inv-lever-head { max-width:720px; margin-bottom:42px; }
.pds .inv-lever-grid { display:grid; grid-template-columns:1.12fr .88fr; gap:54px; align-items:center; }
.pds .inv-lever-copy .inv-lead { max-width:560px; }
.pds .inv-skepsis { margin-top:20px; font-size:17px; line-height:1.6; color:var(--ink-2); font-weight:600; max-width:560px; }
.pds .inv-skepsis b { color:var(--green-ink); }
.pds .inv-inline-link { display:inline-flex; align-items:flex-start; gap:9px; margin-top:22px; font-size:14.5px; font-weight:700; color:var(--green-ink); line-height:1.45; }
.pds .inv-inline-link svg { flex:0 0 auto; margin-top:2px; transition:transform .3s var(--ease); }
.pds .inv-inline-link:hover svg { transform:translateX(5px); }
.pds .inv-stair { display:flex; flex-direction:column; justify-content:center; gap:13px; }
.pds .inv-step { border-left:3px solid var(--green); background:linear-gradient(90deg,var(--mint),transparent); padding:16px 20px; border-radius:0 12px 12px 0; }
.pds .inv-step-1 { margin-right:30%; }
.pds .inv-step-2 { margin-right:15%; }
.pds .inv-step-3 { margin-right:0; }
html.js .pds .inv-step { transform:scaleY(.001); transform-origin:bottom; opacity:0; transition:transform .55s var(--ease), opacity .5s var(--ease); }
.pds .inv-lever-grid.in .inv-step { transform:scaleY(1); opacity:1; }
.pds .inv-lever-grid.in .inv-step-1 { transition-delay:.06s; }
.pds .inv-lever-grid.in .inv-step-2 { transition-delay:.22s; }
.pds .inv-lever-grid.in .inv-step-3 { transition-delay:.38s; }
.pds .inv-step-lab { display:block; font-weight:800; font-size:15.5px; color:var(--ink); letter-spacing:-.01em; }
.pds .inv-step-sub { display:block; font-size:12.5px; color:var(--muted); margin-top:3px; }
.pds .inv-frist { margin-top:42px; padding:18px 22px; border:1px dashed var(--green); border-radius:14px; background:var(--paper-3); font-size:15px; color:var(--ink-2); line-height:1.6; max-width:660px; }
.pds .inv-frist b { color:var(--green-ink); }
.pds .inv-frist-dot { display:inline-block; width:9px; height:9px; border-radius:50%; background:var(--green); margin-right:11px; vertical-align:middle; box-shadow:0 0 0 4px rgba(116,183,42,.18); }

/* --- S5 BEWEIS — Foto-Leiste (echte Anlagen) + Speicher-Verweis --- */
.pds .inv-proof-head { max-width:760px; margin-bottom:44px; }
.pds .inv-proof-head .inv-lead { margin-top:22px; max-width:680px; }
.pds .inv-fotoleiste { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:end; }
.pds .inv-foto { margin:0; border-radius:var(--r); overflow:hidden; background:#fff; border:1px solid var(--line); transition:transform .45s var(--ease),box-shadow .45s; }
.pds .inv-foto:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.pds .inv-foto .img { position:relative; aspect-ratio:4/3; overflow:hidden; background:linear-gradient(135deg,var(--mint-2),var(--mint)); }
.pds .inv-foto .img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 1.1s var(--ease); }
.pds .inv-foto:hover .img img { transform:scale(1.06); }
.pds .inv-foto figcaption { display:flex; align-items:baseline; justify-content:space-between; gap:10px; padding:15px 18px; }
.pds .inv-foto .po { font-weight:700; color:var(--ink); font-size:16px; letter-spacing:-.01em; }
.pds .inv-foto .pr { font-size:12.5px; color:var(--muted); }
html.js .pds .inv-fotoleiste .inv-foto { opacity:0; transform:translateY(26px); transition:opacity .6s var(--ease), transform .7s var(--ease); }
html.js .pds .inv-fotoleiste.in .inv-foto { opacity:1; transform:none; }
.pds .inv-fotoleiste.in .inv-foto:nth-child(2){ transition-delay:.12s; }
.pds .inv-fotoleiste.in .inv-foto:nth-child(3){ transition-delay:.24s; }
.pds .inv-proof-foot { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px 30px; margin-top:32px; padding-top:26px; border-top:1px solid var(--line); }
.pds .proof-stats { display:flex; flex-wrap:wrap; gap:8px 30px; }
.pds .proof-stats span { font-size:14.5px; color:var(--muted); }
.pds .proof-stats b { color:var(--green-ink); font-weight:800; font-size:19px; letter-spacing:-.02em; margin-right:5px; font-variant-numeric:tabular-nums; }

/* --- S6 LEAD-Sub + Footer-Disclaimer (EINMAL, referenziert von den *-Ankern) --- */
.pds .final-sub { text-align:center; color:rgba(255,255,255,.86); font-size:13.5px; font-weight:600; letter-spacing:.02em; margin-top:18px; }
.pds .inv-disclaimer-band { background:var(--paper-2); border-top:1px solid var(--line); padding:22px 0; }
.pds .inv-disclaimer { font-size:12px; line-height:1.6; color:var(--muted-2); max-width:920px; margin:0; }

/* --- S1 SUBSTANZ — Maerkte schwanken/Substanz bleibt + Split-Bild + 3 Sicherheits-Karten (User-Mockup 24.06.) --- */
.pds .inv-sub { text-align:center; }
.pds .inv-sub-head { max-width:880px; margin:0 auto 40px; }
.pds .inv-sub .inv-eyebrow { justify-content:center; }
.pds .inv-sub-h2 { font-size:clamp(40px,6vw,76px); letter-spacing:-.045em; line-height:1.02; margin:0 0 24px; font-weight:800; color:var(--green-ink); }
.pds .inv-sub-lead { color:var(--muted); font-size:clamp(17px,1.6vw,20px); line-height:1.6; margin:0 auto; max-width:680px; }
.pds .inv-sub-split { margin:0 0 18px; border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow); aspect-ratio:1672/941; }
.pds .inv-sub-split img { width:100%; height:100%; object-fit:cover; display:block; }
.pds .inv-sub-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; text-align:left; }
.pds .inv-sub-card { display:flex; align-items:flex-start; gap:18px; background:#fff; border:1px solid var(--line); border-radius:20px; padding:26px 28px; box-shadow:0 18px 44px -34px rgba(40,90,30,.4); }
html.js .pds .inv-sub-cards.reveal .inv-sub-card { opacity:0; transform:translateY(20px); transition:opacity .5s var(--ease), transform .6s var(--ease); }
html.js .pds .inv-sub-cards.reveal.in .inv-sub-card { opacity:1; transform:none; }
html.js .pds .inv-sub-cards.reveal.in .inv-sub-card:nth-child(2){ transition-delay:.1s; }
html.js .pds .inv-sub-cards.reveal.in .inv-sub-card:nth-child(3){ transition-delay:.2s; }
.pds .inv-sub-ic { flex:0 0 auto; width:52px; height:52px; border-radius:50%; background:var(--mint); display:grid; place-items:center; color:var(--green-ink); }
.pds .inv-sub-ic svg { width:26px; height:26px; }
.pds .inv-sub-txt h3 { font-size:17.5px; margin:0 0 5px; letter-spacing:-.01em; color:var(--ink); }
.pds .inv-sub-txt p { margin:0; font-size:14px; line-height:1.5; color:var(--muted); }

/* --- S4 STEUERVORTEIL — Donut (bis 75%, korrigiert 25.06.; StB-Freigabe Speicher-ND vor Production) + Instrument-Liste (User-Mockup 24.06.) --- */
.pds .tx3-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center; }
.pds .tx3-h2 { font-size:clamp(36px,4.6vw,58px); letter-spacing:-.04em; line-height:1.04; margin:0 0 34px; font-weight:800; color:var(--ink); }
.pds .tx3-h2 b { color:var(--green-ink); font-weight:800; display:block; }
.pds .tx-row { display:flex; align-items:center; gap:20px; padding:18px 0; }
.pds .tx-row + .tx-row { border-top:1px solid var(--line); }
.pds .tx-ic { flex:0 0 auto; width:56px; height:56px; border-radius:50%; border:1.5px solid var(--green); display:grid; place-items:center; color:var(--green-deep); }
.pds .tx-ic svg { width:25px; height:25px; }
.pds .tx-txt h3 { font-size:18px; margin:0 0 3px; color:var(--ink); font-weight:700; letter-spacing:-.01em; }
.pds .tx-txt p { margin:0; font-size:15px; color:var(--muted); }
.pds .tx-txt p b { color:var(--green-deep); font-weight:800; }
.pds .tx3-donut-wrap { position:relative; display:grid; place-items:center; }
.pds .tx3-donut { width:min(380px,92%); height:auto; filter:drop-shadow(0 28px 46px rgba(40,90,30,.16)); }
.pds .tx3-center { position:absolute; text-align:center; display:flex; flex-direction:column; align-items:center; }
.pds .tx3-pre { font-size:15px; color:var(--muted); font-weight:600; }
.pds .tx3-num { font-size:clamp(62px,8vw,92px); font-weight:800; color:var(--ink); letter-spacing:-.045em; line-height:.95; font-variant-numeric:tabular-nums; }
.pds .tx3-num .pct { font-size:.5em; vertical-align:.12em; margin-left:.01em; }
.pds .tx3-lab { font-size:15px; color:var(--ink-2); line-height:1.34; max-width:175px; margin-top:7px; }
.pds .tx3-foot { margin-top:38px; padding-top:22px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:18px 32px; flex-wrap:wrap; align-items:center; }
.pds .tx3-frist { font-size:14px; color:var(--muted); margin:0; line-height:1.5; max-width:560px; }
.pds .tx3-frist b { color:var(--ink-2); }
.pds .tx3-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--green); margin-right:8px; vertical-align:middle; }
@media (max-width:880px){
  .pds .tx3-grid { grid-template-columns:1fr; gap:40px; }
  .pds .tx3-donut { width:min(320px,80%); }
  .pds .tx3-foot { flex-direction:column; align-items:flex-start; }
}

/* === Responsive der inv-Sektionen === */
@media (max-width:980px){
  .pds .inv-lever-grid { grid-template-columns:1fr; gap:34px; }
  .pds .inv-fotoleiste { grid-template-columns:1fr 1fr; }
  .pds .inv-layer:nth-child(1),
  .pds .inv-layer:nth-child(2),
  .pds .inv-layer:nth-child(3),
  .pds .inv-layer:nth-child(4){ width:100%; }
}
@media (max-width:860px){
  .pds .inv-sub-cards { grid-template-columns:1fr; }
  .pds .inv-step-1, .pds .inv-step-2, .pds .inv-step-3 { margin-right:0; }
}
@media (max-width:560px){
  .pds .inv-fotoleiste { grid-template-columns:1fr; }
  .pds .inv-anchors { gap:12px 16px; }
  .pds .inv-proof-foot { gap:14px; }
}

/* === Reduced-Motion fuer die inv-Sektionen — alle Endzustaende sofort === */
@media (prefers-reduced-motion:reduce){
  .pds .inv-wobble { animation:none !important; }
  html.js .pds .inv-layer,
  html.js .pds .inv-anchor,
  html.js .pds .inv-fotoleiste .inv-foto { opacity:1 !important; transform:none !important; transition:none !important; }
  html.js .pds .inv-step { transform:none !important; opacity:1 !important; transition:none !important; }
  html.js .pds .inv-axis-line i { transform:scaleX(1) !important; transition:none !important; }
  .pds .inv-foto:hover .img img { transform:none; }
}
