/* =============================================================================
   page-investoren.css  —  Seitenspezifische Komponenten der Investoren-Seite
   -----------------------------------------------------------------------------
   Laedt KONDITIONAL nur auf page-fuer-investoren.php (functions.php-Enqueue).
   Tokens (--green, --ink, --invest …), Basis (.btn, .kicker, .reveal, .field,
   .leadbox, .section, .num-tag) + Reveal-System kommen aus projecta-system.css.
   Hier NUR die investoren-eigenen Bausteine. Quelle: Mockup v1.1.0 (konsolidiert).
   ============================================================================= */

/* Investoren-Akzent-Varianten der Basis-Primitive */
.pds .kicker.k-invest { color:var(--invest); }
.pds .kicker.k-invest .dot { background:var(--invest); box-shadow:0 0 0 4px rgba(58,98,18,.16); }
.pds .kicker.k-invest .ln { background:linear-gradient(90deg,var(--invest),transparent); }
.pds .btn-invest { background:var(--invest); color:#fff; box-shadow:0 14px 34px -14px rgba(58,98,18,.7); border:0; }
.pds .btn-invest:hover { transform:translateY(-3px); box-shadow:0 22px 46px -12px rgba(58,98,18,.85); }
.pds .btn-ghost-i { background:#fff; color:var(--invest-deep); border:1.5px solid var(--invest-line); }
.pds .btn-ghost-i:hover { border-color:var(--invest); transform:translateY(-3px); }
.pds .btn-arrow svg { transition:transform .3s var(--ease); }
.pds .btn:hover .btn-arrow svg { transform:translateX(5px); }
.pds .star { color:var(--invest); font-weight:800; }

/* === HERO — KPI-Factsheet === */
.pds .ihero { position:relative; padding:168px 0 96px; overflow:hidden; background:
  radial-gradient(120% 90% at 100% 0%, var(--invest-soft) 0%, rgba(234,242,221,0) 46%),
  linear-gradient(178deg,var(--paper) 0%,var(--paper-2) 62%,var(--paper-3) 100%); }
.pds .ihero::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.5;
  background-image:repeating-linear-gradient(180deg,transparent 0 53px,rgba(58,98,18,.05) 53px 54px);
  -webkit-mask-image:radial-gradient(80% 70% at 70% 30%,#000,transparent 78%); mask-image:radial-gradient(80% 70% at 70% 30%,#000,transparent 78%); }
.pds .ihero-inner { position:relative; z-index:2; }
.pds .ihero-top { display:grid; grid-template-columns:1fr 1.06fr; gap:56px; align-items:center; max-width:1240px; margin:0 auto; text-align:left; }
.pds .ihero-copy { max-width:none; }
.pds .ihero-pillars { display:flex; flex-wrap:nowrap; gap:18px; margin-bottom:32px; }
.pds .ihp { display:flex; align-items:center; gap:9px; }
.pds .ihp-ic { width:31px; height:31px; flex:0 0 auto; color:var(--green-ink); }
.pds .ihp-ic svg { width:100%; height:100%; display:block; }
.pds .ihp-tx { line-height:1.15; }
.pds .ihp-n { font-weight:800; font-size:15.5px; color:var(--ink); letter-spacing:-.02em; line-height:1; white-space:nowrap; }
.pds .ihp-l { font-size:10.5px; color:var(--muted); margin-top:3px; max-width:120px; line-height:1.25; }
.pds .ihp-star { color:var(--invest); text-decoration:none; font-size:.7em; vertical-align:super; font-weight:700; }
@media(max-width:560px){ .pds .ihero-pillars { flex-wrap:wrap; gap:14px 22px; } }
.pds .ihero .tagline { display:inline-flex; align-items:center; gap:12px; font-size:12.5px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--invest); }
.pds .ihero .tagline .tl-ln { width:26px; height:2px; background:var(--invest-line); flex:0 0 auto; }
.pds .ihero h1 { font-size:clamp(29px,5.4vw,70px); margin:22px 0 0; letter-spacing:-.045em; font-weight:900; color:var(--ink); line-height:1.05; }
.pds .ihero h1 .ln { display:block; overflow:hidden; }
.pds .ihero h1 .ln > span { display:block; transform:translateY(112%); }
html.js .pds .ihero h1 .ln > span { animation:invLineUp 1s var(--ease) forwards; }
html.js .pds .ihero h1 .ln:nth-child(1) > span { animation-delay:.20s; }
html.js .pds .ihero h1 .ln:nth-child(2) > span { animation-delay:.32s; }
html.js .pds .ihero h1 .ln:nth-child(3) > span { animation-delay:.44s; }
@keyframes invLineUp { to { transform:translateY(0); } }
/* Premium-Entrance: orchestrierte typografische Sequenz (Eyebrow -> Headline-Maske -> Lead -> CTAs -> Assurances), html.js-gated, reduced-motion respektiert */
@keyframes invFadeUp { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
html.js .pds .ihero .kicker { animation:invFadeUp .85s var(--ease) .05s both; }
html.js .pds .ihero p.lead { animation:invFadeUp .9s var(--ease) .80s both; }
html.js .pds .ihero-cta { animation:invFadeUp .9s var(--ease) .94s both; }
html.js .pds .ihero-assur { animation:invFadeUp .9s var(--ease) 1.04s both; }
@media (prefers-reduced-motion: reduce){
  .pds .ihero h1 .ln > span { transform:none; }
  html.js .pds .ihero h1 .ln > span,
  html.js .pds .ihero .kicker, html.js .pds .ihero p.lead, html.js .pds .ihero-cta, html.js .pds .ihero-assur { animation:none; opacity:1; transform:none; }
}
.pds .ihero h1 .hl { color:var(--invest); position:relative; white-space:nowrap; }
.pds .ihero p.lead { font-size:clamp(17px,1.5vw,19px); color:var(--muted); max-width:640px; margin:26px auto 32px; line-height:1.6; }
.pds .ihero p.lead b { color:var(--ink-2); font-weight:600; }
.pds .ihero-cta { display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-bottom:26px; }
.pds .ihero-assur { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 22px; font-size:13.5px; color:var(--muted); font-weight:500; }
.pds .ihero-assur span { display:inline-flex; align-items:center; gap:8px; }
.pds .ihero-assur svg { color:var(--green-deep); flex:0 0 auto; }
/* Trust-Fakten-Leiste (Substanz-Element statt entferntem Diagramm) */
.pds .ihero-facts { display:flex; justify-content:center; flex-wrap:wrap; align-items:flex-start; gap:20px 0; max-width:900px; margin:50px auto 0; border-top:1px solid var(--line); padding-top:32px; }
.pds .ihf { padding:0 30px; text-align:center; }
.pds .ihf + .ihf { border-left:1px solid var(--line); }
.pds .ihf .n { font-weight:800; font-size:clamp(26px,2.4vw,36px); color:var(--ink); letter-spacing:-.03em; line-height:1; }
.pds .ihf .l { font-size:12.5px; color:var(--muted); margin:10px auto 0; max-width:185px; line-height:1.4; }
.pds .ihero-fn { font-size:11.5px; color:var(--muted); max-width:600px; margin:18px auto 0; line-height:1.5; opacity:.85; text-align:center; }
/* Hero 2-Spalten (Text links | Dossier-Bild rechts) — User-Mockup 25.06. */
.pds .ihero h1 { font-size:clamp(30px,3.7vw,54px); }
.pds .ihero h1 .hl { white-space:normal; }
.pds .ihero p.lead { margin:24px 0 30px; max-width:560px; }
.pds .ihero-cta { justify-content:flex-start; margin-bottom:24px; }
.pds .ihero-assur { justify-content:flex-start; }
.pds .ihero-media { position:relative; }
.pds .ihero-figure { margin:0; border-radius:24px; overflow:hidden; box-shadow:0 44px 95px -44px rgba(40,90,30,.5); border:1px solid var(--line); background:#fff; }
.pds .ihero-figure img { width:100%; height:auto; display:block; }
.pds .ihero-facts { margin-top:54px; }
@media(max-width:980px){
  .pds .ihero h1 { font-size:clamp(30px,7vw,46px); }
  .pds .ihero p.lead { max-width:none; }
}
@media (max-width:980px){ .pds .ihero-top { grid-template-columns:1fr; gap:40px; } }
@media (max-width:640px){ .pds .ihero-facts { flex-direction:column; gap:0; max-width:340px; } .pds .ihf { padding:18px 0; } .pds .ihf + .ihf { border-left:0; border-top:1px solid var(--line); } .pds .ihf .l { max-width:none; } }


/* === Section-Varianten + Head === */
.pds .section.invest-band { background:linear-gradient(180deg,var(--invest-soft),#eaf2dd); }
.pds .lhead { max-width:760px; margin-bottom:54px; }
.pds .lhead h2 { font-size:clamp(32px,4.2vw,54px); letter-spacing:-.04em; }
.pds .lhead p { color:var(--muted); font-size:17.5px; line-height:1.62; margin-top:18px; max-width:640px; }

/* === STEUER-HEBEL (ledger / stacked bars) === */
/* Tabler-Outline-Icon-Stil (Steuer-Bereich, User-Mockup Image #18) */
.pds .t-ic { fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
/* === STEUER-ERKLAER-FLOW: 3 horizontale Schritte mit Pfeilen === */
.pds .tax-flow { display:flex; align-items:flex-start; gap:0; margin-bottom:40px; }
.pds .tax-step { display:flex; align-items:center; gap:18px; flex:1 1 0; }
.pds .tic-wrap { position:relative; width:58px; height:58px; flex:0 0 auto; }
.pds .tic-ring { display:block; position:absolute; inset:0; border-radius:50%; border:1.5px solid var(--invest-line,#dcedc8); }
.pds .tic { position:absolute; inset:0; display:grid; place-items:center; }
.pds .tic svg { width:28px; height:28px; color:var(--invest); }
.pds .tic-num { position:absolute; top:-2px; right:-2px; width:22px; height:22px; border-radius:50%; background:var(--invest); color:#fff; font-size:11.5px; font-weight:800; display:grid; place-items:center; box-shadow:0 0 0 3px #fff; }
.pds .tax-tx h4 { font-size:16px; margin:0 0 6px; letter-spacing:-.01em; line-height:1.2; }
.pds .tax-tx p { font-size:13px; color:var(--muted); line-height:1.5; margin:0; }
.pds .tax-arrow { align-self:center; flex:0 0 auto; margin:0 8px; color:var(--green-deep); }
.pds .tax-arrow svg { width:40px; height:16px; display:block; }
/* === LEVER: Diagramm links + Benefit-Zeilen rechts === */
.pds .lever { display:grid; grid-template-columns:1.15fr .85fr; gap:30px; align-items:stretch; }
.pds .lever-visual { position:relative; padding:4px 2px; }
.pds .lever-visual .cap-top { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-bottom:22px; }
.pds .lever-visual .cap-top .t { font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--ink); }
.pds .lever-visual .cap-top .t small { display:block; font-weight:500; letter-spacing:0; text-transform:none; color:var(--muted); font-size:12.5px; margin-top:5px; }
.pds .lever-visual .cap-top .yr { font-size:12px; font-weight:700; color:var(--invest); background:var(--invest-soft); padding:5px 12px; border-radius:100px; white-space:nowrap; }
.pds .lstack { display:flex; flex-direction:column; gap:0; }
.pds .lbar { display:flex; align-items:flex-start; gap:14px; padding:16px 0; }
.pds .lbar + .lbar { border-top:1px solid var(--line); }
.pds .lbar-ic { display:none; }
.pds .lbar-ic svg { width:20px; height:20px; color:var(--invest); }
.pds .lbar-main { flex:1 1 auto; min-width:0; }
.pds .lbar .row { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:9px; }
.pds .lbar .row .nm { font-size:14px; font-weight:600; color:var(--ink); display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.pds .lbar .row .nm .tg { font-size:11px; font-weight:700; color:var(--muted-2); letter-spacing:.05em; text-transform:uppercase; }
.pds .lbar .row .amt { font-size:15px; font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums; letter-spacing:-.02em; white-space:nowrap; }
.pds .lbar .track { display:none; }
.pds .lbar .fill { height:100%; border-radius:8px; width:0; transition:width 1.2s var(--ease); }
.pds .lever-visual.in .lbar:nth-child(1) .fill { width:78%; transition-delay:.1s; }
.pds .lever-visual.in .lbar:nth-child(2) .fill { width:48%; transition-delay:.25s; }
.pds .lever-visual.in .lbar:nth-child(3) .fill { width:22%; transition-delay:.4s; }
.pds .lbar:nth-child(1) .fill { background:linear-gradient(90deg,var(--invest),#5a9023); }
.pds .lbar:nth-child(2) .fill { background:linear-gradient(90deg,var(--green-deep),var(--green)); }
.pds .lbar:nth-child(3) .fill { background:linear-gradient(90deg,var(--green-soft),var(--mint-3,#bcdd95)); }
.pds .lstack-sum { margin-top:22px; padding-top:20px; border-top:1px dashed #dcecc6; display:flex; justify-content:space-between; align-items:center; gap:14px; }
.pds .lstack-sum .lt { display:flex; align-items:center; gap:10px; font-size:13.5px; font-weight:600; color:var(--ink); }
.pds .lstack-sum .lt svg { width:20px; height:20px; color:var(--invest); flex:0 0 auto; }
.pds .lstack-sum .lv { font-size:30px; font-weight:800; color:var(--invest-deep); letter-spacing:-.04em; font-variant-numeric:tabular-nums; white-space:nowrap; }
.pds .lstack-sum .lv .st { font-size:.4em; vertical-align:super; color:var(--invest); }
.pds .lever-side { display:flex; flex-direction:column; gap:0; }
.pds .benefit { display:flex; align-items:flex-start; gap:14px; padding:16px 0; }
.pds .benefit + .benefit { border-top:1px solid var(--line); }
.pds .ben-ic { flex:0 0 auto; width:42px; height:42px; border-radius:50%; background:var(--invest-soft); display:grid; place-items:center; margin-top:1px; }
.pds .ben-ic svg { width:21px; height:21px; color:var(--invest); }
.pds .benefit .ben-tx h4 { font-size:15px; margin:0 0 4px; letter-spacing:-.01em; }
.pds .benefit .ben-tx p { font-size:12.5px; color:var(--muted); line-height:1.5; margin:0; }
.pds .lever-side .note { display:flex; gap:12px; font-size:12.5px; color:var(--muted-2); background:var(--paper-2); border:1px solid var(--line); border-left:3px solid var(--invest); border-radius:12px; padding:14px 16px; line-height:1.55; margin-top:20px; }
.pds .lever-side .note .ni { flex:0 0 auto; color:var(--invest); }
.pds .lever-side .note .ni svg { width:20px; height:20px; }
@media(max-width:900px){ .pds .tax-flow { flex-direction:column; gap:18px; } .pds .tax-arrow { display:none; } }

/* === KONFIGURATOR/RECHNER (Redesign 25.06. — glossy-Icons + Slider 50k + smooth Tween, User-Mockup Image #8/#10/#11) === */
@property --p { syntax:'<percentage>'; inherits:false; initial-value:44%; }
.pds .rk-head { display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:start; margin-bottom:36px; }
.pds .rk-head .t-h2 { margin:14px 0 0; }
.pds .rk-head-l > p { color:var(--muted); font-size:16px; line-height:1.6; margin:18px 0 0; max-width:520px; }
.pds .rk-badges { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:6px 0; align-self:center; }
.pds .rk-badge { text-align:center; padding:0 6px; }
.pds .rk-badge + .rk-badge { border-left:1px solid var(--line); }
.pds .gic { display:none; }
.pds .gic svg { width:27px; height:27px; }
.pds .gnum { background:linear-gradient(140deg,#9ccc5a,#34590f); -webkit-background-clip:text; background-clip:text; color:transparent; font-weight:800; font-size:23px; letter-spacing:-.02em; }
.pds .rk-badge b { display:block; font-size:14.5px; color:var(--ink); letter-spacing:-.01em; }
.pds .rk-badge > span:not(.gic) { display:block; font-size:11.5px; color:var(--muted); margin-top:3px; }
.pds .rk-box { background:#fff; border:1px solid var(--line); border-radius:28px; padding:38px 40px 30px; box-shadow:var(--shadow-soft); }
.pds .rk-top { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:22px; }
.pds .rk-lbl { font-size:13px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--ink); }
.pds .rk-val { background:var(--invest); color:#fff; font-size:34px; font-weight:800; letter-spacing:-.03em; font-variant-numeric:tabular-nums; line-height:1; padding:14px 26px; border-radius:14px; box-shadow:0 14px 30px -14px rgba(58,98,18,.6); }
.pds .rk-val .u { font-size:.5em; font-weight:600; margin-left:4px; opacity:.85; }
.pds .rk-range { -webkit-appearance:none; appearance:none; width:100%; height:8px; border-radius:8px; background:linear-gradient(90deg,var(--green-deep) var(--p,44%),var(--paper-3) var(--p,44%)); outline:none; cursor:pointer; margin:6px 0 0; transition:--p .14s linear; }
.pds .rk-range::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:28px; height:28px; border-radius:50%; background:#fff; border:3px solid var(--green-deep); box-shadow:0 5px 14px -3px rgba(58,98,18,.6); cursor:pointer; }
.pds .rk-range::-moz-range-thumb { width:28px; height:28px; border-radius:50%; background:#fff; border:3px solid var(--green-deep); box-shadow:0 5px 14px -3px rgba(58,98,18,.6); cursor:pointer; }
.pds .rk-scale { display:flex; justify-content:space-between; font-size:12.5px; color:var(--muted-2); font-weight:600; margin-top:11px; }
.pds .rk-out { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:28px; }
.pds .rk-metric { display:flex; flex-direction:column; align-items:flex-start; gap:7px; padding:2px 28px; }
.pds .rk-metric:first-child { padding-left:2px; }
.pds .rk-metric + .rk-metric { border-left:1px solid var(--line); }
.pds .rk-metric.feat { background:none; box-shadow:none; }
.pds .rk-metric .gic { margin:0; width:52px; height:52px; flex:0 0 auto; }
.pds .rk-metric .gic svg { width:28px; height:28px; }
.pds .rk-metric .cn { font-size:clamp(22px,2.3vw,30px); font-weight:800; color:var(--ink); letter-spacing:-.04em; font-variant-numeric:tabular-nums; line-height:1.05; }
.pds .rk-metric.feat .cn { color:var(--invest-deep); }
.pds .rk-metric .cn .u { font-size:.46em; font-weight:600; color:var(--muted); margin-left:3px; }
.pds .rk-metric .cl { font-size:12.5px; color:var(--muted); margin-top:8px; line-height:1.4; font-weight:500; }
.pds .rk-cmp { display:grid; grid-template-columns:1fr auto 1fr; gap:0 30px; align-items:stretch; margin-top:30px; padding-top:30px; border-top:1px solid var(--line); }
.pds .rk-cmp-side { display:flex; flex-direction:column; }
.pds .rk-cmp-h { font-size:13px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--muted-2); }
.pds .rk-cmp-h.good { color:var(--green-deep); }
.pds .rk-cmp-h small { display:block; font-size:12.5px; font-weight:500; letter-spacing:0; text-transform:none; color:var(--muted); margin-top:4px; }
.pds .rk-cmp-v { font-size:clamp(22px,2.5vw,30px); font-weight:800; letter-spacing:-.04em; color:var(--muted-2); font-variant-numeric:tabular-nums; margin:14px 0 4px; display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.pds .rk-cmp-v.good { color:var(--invest-deep); }
.pds .rk-cmp-v .u { font-size:.42em; font-weight:600; color:var(--muted); }
.pds .rk-cmp-v .rk-pct { font-size:.6em; font-weight:700; color:var(--muted-2); margin-left:auto; }
.pds .rk-cmp-v.good .rk-pct { color:var(--green-deep); }
.pds .rk-cmp-gfx { margin-top:auto; height:78px; position:relative; }
.pds .rk-cmp-gfx svg { width:100%; height:100%; display:block; }
.pds .rk-vs { align-self:center; font-weight:700; font-size:12px; color:var(--muted-2); text-transform:uppercase; letter-spacing:.1em; }
.pds .rk-note { font-size:12px; color:var(--muted-2); margin-top:26px; line-height:1.5; text-align:center; }
@media(max-width:920px){
  .pds .rk-head { grid-template-columns:1fr; gap:28px; }
  .pds .rk-out { grid-template-columns:1fr; }
  .pds .rk-metric { padding:16px 2px; }
  .pds .rk-metric:first-child { padding-top:0; }
  .pds .rk-metric + .rk-metric { border-left:none; border-top:1px solid var(--line); }
  .pds .rk-cmp { grid-template-columns:1fr; gap:22px; }
  .pds .rk-vs { justify-self:start; }
}
@media(max-width:560px){
  .pds .rk-box { padding:26px 20px 22px; }
  .pds .rk-top { flex-wrap:wrap; gap:10px; }
  .pds .rk-val { font-size:26px; padding:11px 18px; }
  .pds .rk-metric .cn { font-size:23px; }
  .pds .rk-cmp-v { font-size:24px; }
}

/* === KAPITAL-HEBEL (Bild-Sektion — Image #13, User-Wunsch 25.06.: Bild auf Desktop UND Mobile) === */
.pds .kh-figure { width:min(100vw,1400px); margin:0 0 18px calc((100% - min(100vw,1400px)) / 2); -webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 88%,transparent); -webkit-mask-composite:source-in; mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 88%,transparent); mask-composite:intersect; }
.pds .kh-figure img { width:100%; height:auto; display:block; }
.pds .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }


/* === SACHWERT / GRUNDBUCH === */
.pds .sachwert { display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; }
.pds .sw-figure { position:relative; }
.pds .sw-img { border-radius:24px; overflow:hidden; box-shadow:30px 44px 90px -44px rgba(20,50,25,.55); border:6px solid #fff; }
.pds .sw-img img { width:100%; height:490px; object-fit:cover; display:block; }
.pds .sw-deed { position:absolute; left:-34px; bottom:-30px; background:#fff; border:1px solid var(--line); border-radius:20px; padding:20px 24px; box-shadow:0 36px 70px -34px rgba(20,50,25,.5); max-width:286px; }
.pds .sw-deed .dh { display:flex; align-items:center; gap:11px; margin-bottom:11px; }
.pds .sw-deed .dh .ic { width:38px; height:38px; border-radius:11px; background:linear-gradient(135deg,var(--invest),var(--invest-deep)); display:grid; place-items:center; flex:0 0 auto; }
.pds .sw-deed .dh .tt { font-size:13px; font-weight:800; color:var(--ink); letter-spacing:-.01em; line-height:1.2; }
.pds .sw-deed .dh .tt small { display:block; font-weight:500; color:var(--muted); font-size:11.5px; letter-spacing:.01em; margin-top:2px; }
.pds .sw-deed p { font-size:12.5px; color:var(--muted); line-height:1.55; }
.pds .sw-stamp { position:absolute; right:-16px; top:28px; background:var(--invest-deep); color:#fff; border-radius:14px; padding:14px 18px; text-align:center; box-shadow:0 24px 50px -24px rgba(43,74,13,.7); transform:rotate(3deg); }
.pds .sw-stamp .n { font-size:26px; font-weight:800; letter-spacing:-.03em; line-height:1; }
.pds .sw-stamp .l { font-size:10.5px; opacity:.86; margin-top:4px; letter-spacing:.06em; text-transform:uppercase; }
.pds .sw-copy h2 { font-size:clamp(30px,3.6vw,46px); letter-spacing:-.04em; margin:14px 0 18px; }
.pds .sw-copy p.intro { color:var(--muted); font-size:17px; line-height:1.62; margin-bottom:26px; }
.pds .sw-checks { display:grid; gap:15px; }
.pds .sw-checks li { list-style:none; display:flex; gap:14px; align-items:flex-start; }
.pds .sw-checks .ck { width:28px; height:28px; 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); }
.pds .sw-checks .tx { font-size:15px; color:var(--ink-2); }
.pds .sw-checks .tx b { color:var(--ink); font-weight:700; }
.pds .sw-extra { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:44px; }
.pds .sw-extra .ex { padding:6px 30px; }
.pds .sw-extra .ex:first-child { padding-left:0; }
.pds .sw-extra .ex + .ex { border-left:1px solid var(--line); }
.pds .sw-extra .ex .extag { display:inline-flex; align-items:center; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--invest); margin-bottom:14px; }
.pds .sw-extra .ex h4 { font-size:16px; letter-spacing:-.02em; margin-bottom:8px; }
.pds .sw-extra .ex p { font-size:13.5px; color:var(--muted); line-height:1.55; }

/* === Track-Record-Streifen (Σ aus Projekte-DB) === */
.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 .trl { font-size:13px; color:var(--muted); margin-top:9px; font-weight:500; }

/* === Chancen / Risiken (zweispaltig, Compliance + Trust) === */
.pds .crx { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.pds .crx .col { background:#fff; border:1px solid var(--line); border-radius:20px; padding:28px 30px; }
.pds .crx .col.risk { background:var(--paper-2); }
.pds .crx .ch { font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; margin-bottom:16px; display:flex; align-items:center; gap:9px; }
.pds .crx .col.chance .ch { color:var(--green-ink); }
.pds .crx .col.risk .ch { color:var(--muted); }
.pds .crx ul { list-style:none; display:grid; gap:13px; }
.pds .crx li { font-size:14.5px; color:var(--ink-2); line-height:1.5; display:flex; gap:11px; align-items:flex-start; }
.pds .crx li .mk { flex:0 0 auto; margin-top:2px; }

/* === ABLAUF — vertikale Timeline === */
.pds .timeline { position:relative; max-width:880px; margin:0 auto; }
.pds .timeline::before { content:""; position:absolute; left:32px; top:16px; bottom:16px; width:2px; background:linear-gradient(180deg,var(--invest),var(--green) 60%,var(--green-soft)); }
.pds .tstep { position:relative; display:grid; grid-template-columns:62px 1fr; gap:26px; padding:0 0 34px; }
.pds .tstep:last-child { padding-bottom:0; }
.pds .tstep .tnode { position:relative; z-index:2; }
.pds .tstep .tnum { width:62px; height:62px; border-radius:18px; background:#fff; border:2px solid var(--invest-line); color:var(--invest-deep); display:grid; place-items:center; font-weight:800; font-size:20px; box-shadow:0 16px 34px -18px rgba(58,98,18,.5); font-variant-numeric:tabular-nums; transition:.4s var(--ease); }
.pds .tstep:hover .tnum { background:var(--invest); color:#fff; border-color:var(--invest); transform:scale(1.05); }
.pds .tstep .tbody { background:#fff; border:1px solid var(--line); border-radius:20px; padding:24px 28px; box-shadow:var(--shadow-soft); transition:.4s var(--ease); }
.pds .tstep:hover .tbody { transform:translateX(6px); box-shadow:var(--shadow); }
.pds .tstep .tbody .tw { display:flex; justify-content:space-between; align-items:baseline; gap:14px; margin-bottom:8px; flex-wrap:wrap; }
.pds .tstep .tbody h3 { font-size:20px; letter-spacing:-.02em; }
.pds .tstep .tbody .when { font-size:12px; font-weight:700; color:var(--invest); background:var(--invest-soft); padding:4px 11px; border-radius:100px; white-space:nowrap; }
.pds .tstep .tbody p { font-size:14.5px; color:var(--muted); line-height:1.6; }

/* === DOSSIER / Lead === */
.pds .dossier { position:relative; padding:110px 0; background:linear-gradient(135deg,var(--paper-2) 0%,var(--invest-soft) 100%); overflow:hidden; }
.pds .dossier::before { content:""; position:absolute; inset:0; pointer-events:none; background:
  radial-gradient(46% 54% at 92% 92%,rgba(116,183,42,.10),transparent 60%); }
.pds .dossier-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.04fr .96fr; gap:56px; align-items:center; }
.pds .dossier .kicker { color:var(--invest); }
.pds .dossier .kicker .dot { background:var(--invest); box-shadow:0 0 0 4px var(--invest-soft); }
.pds .dossier .kicker .ln { background:linear-gradient(90deg,var(--invest),transparent); }
.pds .dossier h2 { color:var(--ink); font-size:clamp(30px,3.8vw,50px); margin:20px 0 18px; letter-spacing:-.04em; }
.pds .dossier p { color:var(--ink-2); font-size:18px; margin-bottom:26px; max-width:480px; line-height:1.6; }
.pds .dossier-incl { display:grid; gap:13px; margin-bottom:6px; }
.pds .dossier-incl span { display:flex; align-items:center; gap:12px; color:var(--ink); font-weight:600; font-size:15px; }
.pds .dossier-incl .ck { width:26px; height:26px; border-radius:8px; background:var(--invest-soft); display:grid; place-items:center; flex:0 0 auto; }
.pds .dossier-incl .ck svg { color:var(--invest); }
.pds .dossier .leadbox { box-shadow:0 40px 90px -44px rgba(40,90,30,.30); }
.pds .dossier .leadbox::before { content:""; position:absolute; top:-1px; left:24px; right:24px; height:3px; background:linear-gradient(90deg,var(--invest),var(--green-soft)); border-radius:3px; }
.pds .dossier .leadbox .btn-invest { width:100%; justify-content:center; margin-top:8px; }

/* === RESPONSIVE === */
@media(max-width:1080px){
  .pds .ihero-inner { grid-template-columns:1fr; gap:48px; }
  .pds .ihero-copy { max-width:none; }
  .pds .lever { grid-template-columns:1fr; gap:38px; }
  .pds .sachwert { grid-template-columns:1fr; gap:82px; }
  .pds .sw-figure { order:-1; }
  .pds .dossier-grid { grid-template-columns:1fr; gap:42px; }
  .pds .trackrec { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:860px){
  .pds .ihero { padding:138px 0 64px; }
  .pds .crx { grid-template-columns:1fr; }
  .pds .sw-extra { grid-template-columns:1fr; }
  .pds .sw-extra .ex { padding:18px 0; }
  .pds .sw-extra .ex:first-child { padding:2px 0 18px; }
  .pds .sw-extra .ex + .ex { border-left:0; border-top:1px solid var(--line); }
  .pds .sw-deed { position:relative; left:0; bottom:auto; max-width:none; margin-top:18px; }
  .pds .sw-stamp { right:10px; top:10px; }
  .pds .timeline::before { left:26px; }
  .pds .tstep { grid-template-columns:50px 1fr; gap:18px; }
  .pds .tstep .tnum { width:50px; height:50px; font-size:17px; border-radius:15px; }
  .pds .ihero-cta { flex-direction:column; align-items:stretch; }
  .pds .ihero h1 .hl { white-space:normal; }
}
@media(max-width:560px){
  .pds .cfg-out { grid-template-columns:1fr; }
  .pds .trackrec { grid-template-columns:1fr; }
  /* CTA-Buttons: Block statt Flex, damit langer Text umbricht (Flex-Item-Overflow) */
  .pds .ihero-cta .btn { display:block; box-sizing:border-box; text-align:center; padding:15px 18px; }
  .pds .ihero-cta .btn .btn-arrow { display:inline-flex; vertical-align:middle; margin-left:6px; }
  /* Konfigurator: schmaleres Padding + Label/Wert duerfen umbrechen */
  .pds .cfg { padding-left:20px; padding-right:20px; }
  .pds .cfg-top { flex-wrap:wrap; gap:2px 12px; }
  /* Steuerhebel-Grafik: schmaleres Padding, nicht ueber den Container */
  .pds .lever-visual { padding-left:16px; padding-right:16px; max-width:100%; }
}


/* Icon-Farb-Fix Phosphor-Migration (22.06.) */
.pds .sw-checks .ck { color:#fff; }

/* Vertiefungs-Karte: Verweis zur Gruenstromspeicher-Seite (22.06.) */
.pds .hb-deeplink { display:flex; align-items:center; gap:14px; margin:34px 0 46px; padding:18px 2px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); text-decoration:none; transition:gap .3s var(--ease,cubic-bezier(.19,1,.22,1)); }
.pds .hb-deeplink:hover { gap:18px; }
.pds .hb-dl-ic { flex:0 0 auto; display:grid; place-items:center; color:var(--invest); }
.pds .hb-dl-ic svg { width:24px; height:24px; }
.pds .hb-dl-tx { flex:1; display:flex; flex-direction:column; gap:2px; min-width:0; }
.pds .hb-dl-ey { font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--invest,#3a6212); }
.pds .hb-dl-ti { font-size:1.02rem; font-weight:700; color:var(--ink,#15271b); letter-spacing:-.01em; line-height:1.3; }
.pds .hb-dl-ar { flex:0 0 auto; color:var(--invest,#3a6212); transition:transform .35s var(--ease,cubic-bezier(.19,1,.22,1)); }
.pds .hb-dl-ar svg { width:22px; height:22px; display:block; }
.pds .hb-deeplink:hover .hb-dl-ar { transform:translateX(5px); }
@media (max-width:560px){ .pds .hb-dl-ti { font-size:.94rem; } .pds .hb-deeplink { padding:14px; gap:12px; } }


/* === EINORDNUNG-Matrix (Vergleich Anlageklassen, #59) === */
.pds .cmx-wrap { margin-top:44px; background:#fff; border:1px solid var(--line); border-radius:28px; padding:20px 32px 26px; box-shadow:0 44px 100px -54px rgba(20,50,25,.4); }
.pds .cmx { position:relative; display:grid; grid-template-columns:1.25fr 1.3fr 1fr 1fr 1fr; }
.pds .cmx-hl { position:absolute; top:0; bottom:0; left:calc(1.25 / 5.55 * 100% + 8px); width:calc(1.3 / 5.55 * 100% - 16px); border:2px solid var(--invest); border-radius:22px; background:linear-gradient(180deg, rgba(116,183,42,.07), rgba(116,183,42,.02)); box-shadow:0 34px 70px -44px rgba(58,98,18,.45); z-index:0; }
.pds .cmx > div:not(.cmx-hl) { position:relative; z-index:1; }
.pds .cmx-ch { padding:26px 14px 22px; text-align:center; align-self:end; }
.pds .cmx-ch .cmx-tt { font-weight:800; font-size:15.5px; color:var(--ink); line-height:1.22; }
.pds .cmx-ch-feat { padding-top:30px; }
.pds .cmx-ch-feat .cmx-tt { font-size:19px; color:var(--invest); letter-spacing:-.01em; }
.pds .cmx-ch-feat .cmx-ss { font-size:12.5px; color:var(--muted); font-weight:600; margin-top:3px; }
.pds .cmx-badge { display:inline-flex; align-items:center; gap:6px; background:var(--invest); color:#fff; font-size:10.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:5px 12px; border-radius:100px; margin-bottom:12px; }
.pds .cmx-badge svg { width:13px; height:13px; flex:0 0 auto; }
.pds .cmx-rl { display:flex; align-items:center; gap:13px; padding:22px 8px 22px 4px; font-weight:700; font-size:14.5px; color:var(--ink); border-top:1px solid var(--line); }
.pds .cmx-ic { width:36px; height:36px; border-radius:11px; background:rgba(116,183,42,.1); display:grid; place-items:center; flex:0 0 auto; color:var(--green-deep); }
.pds .cmx-ic svg { width:20px; height:20px; }
.pds .cmx-c { padding:20px 12px; text-align:center; border-top:1px solid var(--line); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; }
.pds .cmx-c.feat { border-top-color:transparent; }
.pds .mk { width:32px; height:32px; border-radius:50%; display:grid; place-items:center; flex:0 0 auto; }
.pds .mk svg { width:18px; height:18px; }
.pds .mk.ok { background:var(--invest); color:#fff; }
.pds .mk.neu, .pds .mk.no { background:#e6ece0; color:#94a589; }
.pds .cmx-c .cv { font-size:12.5px; color:var(--muted); line-height:1.35; max-width:155px; }
.pds .cmx-c.feat .cv { color:var(--ink-2); font-weight:600; }
.pds .cmx-foot { font-size:11.5px; color:var(--muted); margin-top:20px; opacity:.85; }
@media (max-width:860px){
  .pds .cmx-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; padding:16px 16px 18px; }
  .pds .cmx { min-width:740px; }
}

/* === EINNAHMENSEITE (03) — User-Mockup Image #21: Foto-Header + Timeline + 3 Karten + Hybrid-Quellen-Box + Benefit-Leiste. Speicher-Inhalt, 12 verschiedene Tabler-Icons (25.06.) === */
.pds .eh { position:relative; overflow:hidden; padding:54px 0 38px; }
/* Foto-Header schließt direkt an die grüne Matrix-Sektion drüber an (kein weißer Streifen). Footer-Streifen global in pds-header.css gelöst. */
body.pds .section.einn-sec { padding-top:0; }
.pds .eh-bg { position:absolute; inset:0; background-size:cover; background-position:right top; background-repeat:no-repeat; }
.pds .eh-bg::after { content:""; position:absolute; inset:0; background:linear-gradient(100deg,var(--paper-2) 30%,rgba(246,250,240,.4) 52%,transparent 72%); }
.pds .eh-tx { position:relative; max-width:600px; }
.pds .eh-tx p { color:var(--ink); font-size:16px; line-height:1.6; margin:20px 0 0; max-width:540px; }
.pds .eg { display:grid; grid-template-columns:1fr; gap:24px; margin-top:30px; }
.pds .el { display:flex; flex-direction:column; gap:22px; }
.pds .tlb { padding:6px 0 2px; }
.pds .tl-cols { display:grid; grid-template-columns:repeat(4,1fr); margin-bottom:10px; }
.pds .tl-cols span { font-size:13px; font-weight:700; color:var(--invest); }
.pds .tl-cols span:nth-child(2),.pds .tl-cols span:nth-child(4) { color:var(--muted); font-weight:600; }
.pds .tl-track { position:relative; height:18px; margin-bottom:18px; }
.pds .tl-solid { position:absolute; left:6px; top:8px; width:calc(66.6% - 6px); height:3px; background:var(--green-deep); border-radius:2px; }
.pds .tl-dashed { position:absolute; left:66.6%; top:8px; right:24px; height:0; border-top:3px dashed #dcecc6; }
.pds .tl-arr { position:absolute; right:2px; top:2px; color:var(--green-deep); }
.pds .tl-arr svg { width:20px; height:14px; }
.pds .tl-dot { position:absolute; top:3px; width:13px; height:13px; border-radius:50%; background:#fff; border:3px solid var(--green-deep); }
.pds .tl-dot.f { background:var(--green-deep); }
.pds .tl-row { display:grid; grid-template-columns:1fr .42fr; gap:14px; }
.pds .tl-card { display:flex; align-items:center; gap:13px; padding:4px 2px; }
.pds .tl-ic { width:40px; height:40px; flex:0 0 auto; border-radius:50%; background:var(--invest-soft); display:grid; place-items:center; }
.pds .tl-ic svg { width:21px; height:21px; color:var(--invest); }
.pds .tl-card h4 { font-size:15.5px; margin:0 0 3px; letter-spacing:-.01em; }
.pds .tl-card p { font-size:12.5px; color:var(--muted); line-height:1.45; margin:0; }
.pds .ec { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:8px; }
.pds .ecard { padding:6px 28px; }
.pds .ecard:first-child { padding-left:0; }
.pds .ecard + .ecard { border-left:1px solid var(--line); }
.pds .ecard .erow { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.pds .ecard .eic { width:42px; height:42px; flex:0 0 auto; border-radius:50%; background:var(--invest-soft); display:grid; place-items:center; }
.pds .ecard .eic svg { width:22px; height:22px; color:var(--invest); }
.pds .ecard .extag { font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--invest); }
.pds .ecard h4 { font-size:17px; margin:0 0 8px; letter-spacing:-.01em; }
.pds .ecard p { font-size:13px; color:var(--muted); line-height:1.5; margin:0; }
@media(max-width:960px){
  .pds .eg { grid-template-columns:1fr; }
  .pds .ec { grid-template-columns:1fr; }
  .pds .tl-row { grid-template-columns:1fr; gap:8px; }
  .pds .ecard { padding:16px 0; }
  .pds .ecard:first-child { padding:4px 0 16px; }
  .pds .ecard + .ecard { border-left:0; border-top:1px solid var(--line); }
}

/* ===== 06 Zeitfenster — entkasteter Zeitstrahl (Stationen auf einer Achse; KEINE
   Box/Chip/Shadow -> Trennung ueber Achse + Weissraum + Typo; Signature-Linienfaden) ===== */
.pds .zeitfenster .lhead { max-width:760px; }
.pds .zf-track { position:relative; margin-top:50px; }
.pds .zf-now { display:inline-flex; align-items:center; gap:9px; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--invest); margin-bottom:24px; }
.pds .zf-now::before { content:""; width:9px; height:9px; border-radius:50%; background:var(--invest); box-shadow:0 0 0 4px var(--invest-soft); }
.pds .zf-stations { display:grid; grid-template-columns:repeat(3,1fr); gap:48px; position:relative; padding-top:38px; }
.pds .zf-stations::before { content:""; position:absolute; top:7px; left:8px; right:8px; height:2px; border-radius:2px; background:linear-gradient(90deg,var(--invest),var(--green-soft)); opacity:.5; }
.pds .zf-st { position:relative; }
.pds .zf-node { position:absolute; top:-38px; left:0; width:15px; height:15px; border-radius:50%; background:var(--invest); box-shadow:0 0 0 4px var(--paper-2),0 0 0 5px var(--invest-line); }
.pds .zf-ic { display:block; color:var(--invest); margin-bottom:15px; }
.pds .zf-ic svg { width:30px; height:30px; }
.pds .zf-date { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; font-size:clamp(23px,2.4vw,28px); font-weight:800; color:var(--invest-deep); letter-spacing:-.025em; line-height:1; font-variant-numeric:tabular-nums; margin-bottom:12px; }
.pds .zf-tag { font-size:13px; font-weight:600; color:var(--muted-2); letter-spacing:0; }
.pds .zf-st h3 { font-size:17px; line-height:1.3; letter-spacing:-.02em; color:var(--ink); margin:0 0 9px; }
.pds .zf-st p { font-size:13.5px; color:var(--muted); line-height:1.6; margin:0; }
.pds .zf-foot { max-width:720px; margin:42px auto 0; text-align:center; font-size:13.5px; color:var(--muted-2); line-height:1.6; }
@media(max-width:780px){
  .pds .zf-now { display:none; }
  .pds .zf-stations { grid-template-columns:1fr; gap:0; padding-top:0; }
  .pds .zf-stations::before { display:none; }
  .pds .zf-node { display:none; }
  .pds .zf-st { padding:24px 0; border-top:1px solid var(--line); }
  .pds .zf-st:first-child { padding-top:2px; border-top:0; }
  .pds .zf-ic { margin-bottom:11px; }
}

/* ============================================================================
   Mobil-Straffung (Kunden-Audit 02.07.2026) — ALLES ausschließlich <980px.
   Desktop: die zwei Basis-Regeln verstecken Presets/Summary,
   details[open] zeigt den tax-flow wie bisher — Desktop ändert sich nicht.
   (Kapitel-Pills wieder entfernt: Ronnie 02.07. "für mobil zu voll".)
   ============================================================================ */
.pds .rk-presets { display:none; }
.pds .tax-flow-disc > summary { display:none; }
.pds .tax-flow-disc { display:block; }

@media (max-width:979px){
  /* Anker (#dossier/#hebel) landen unter der schwebenden Navbar statt darunter versteckt */
  .pds section[id], .pds .dossier { scroll-margin-top:92px; }

  /* Preset-Chips: 1 Tap statt Slider-Fummelei (Slider bleibt zur Feinjustierung) */
  .pds .rk-presets { display:flex; gap:8px; margin:0 0 14px; }
  .pds .rk-presets button { flex:1; padding:11px 4px; font-size:13.5px; font-weight:700; border-radius:12px; border:1px solid var(--line); background:#fff; color:var(--ink); font-family:inherit; }
  .pds .rk-presets button.active { border-color:var(--green); background:var(--mint); color:var(--green-ink); }

  /* Steuer-Erklärkarten mobil einklappbar (Balken + 75% + Note bleiben offen) */
  .pds .tax-flow-disc > summary { display:flex; align-items:center; gap:9px; list-style:none; cursor:pointer; font-size:14.5px; font-weight:700; color:var(--green-ink); padding:14px 16px; border:1px solid var(--line); border-radius:14px; background:#fff; margin:0 0 14px; }
  .pds .tax-flow-disc > summary::-webkit-details-marker { display:none; }
  .pds .tax-flow-disc > summary::before { content:""; width:9px; height:9px; border-right:2px solid var(--green-ink); border-bottom:2px solid var(--green-ink); transform:rotate(-45deg); transition:transform .25s var(--ease); flex:0 0 auto; }
  .pds .tax-flow-disc[open] > summary::before { transform:rotate(45deg); }
}
