/* NEXUS Start: Bereich fuer registrierte App-Nutzer ohne RP-Anlage (js/start/). Baut auf nexus-light.css auf.
   Bewegung: eine Sprache – ankommen mit cubic-bezier(.22,1,.36,1), gehen schneller; Signatur: die Preiskurve baut sich auf. */
:root{--an-ease:cubic-bezier(.22,1,.36,1);--an-dunkel:#0F1611;--an-gruen:#8FD46A;--an-text:#E8EEE3;--an-leise:#A9B5A3}

/* ---------- Registrierung (hell, im Anmelde-Overlay) ---------- */
.reg{padding:calc(env(safe-area-inset-top) + 34px) 22px calc(env(safe-area-inset-bottom) + 28px);max-width:480px;margin:0 auto}
.reg-mark{display:block;font-size:26px;margin-bottom:22px}
.reg h1{font-size:30px;margin-bottom:8px;letter-spacing:-.02em}
.reg .fld{margin:6px 0 12px}
.reg-ok{display:flex;gap:10px;align-items:flex-start;margin:4px 0 14px;font-size:13.5px;color:var(--ink3);line-height:1.45}
.reg-ok input{width:20px;height:20px;flex:0 0 auto;accent-color:var(--gruen);margin-top:1px}
.reg-err{color:var(--rot)}
.reg-info{color:var(--gruen-text);font-weight:600}
.reg-demo{text-align:center;margin-top:18px;color:var(--ink4)}

/* ---------- Ankommen (dunkel, nahtlos zum Login) ---------- */
#ov:has(.ank){background:var(--an-dunkel)}
.ank{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--an-dunkel);color:var(--an-text);
  padding:calc(env(safe-area-inset-top) + 18px) 24px calc(env(safe-area-inset-bottom) + 22px);max-width:560px;margin:0 auto}
.ank ::selection{background:rgba(143,212,106,.35);color:#fff}
.an-kopf{display:flex;justify-content:space-between;align-items:center;min-height:44px;margin-bottom:28px}
.an-mark{font-size:20px;color:#fff}.an-mark b{color:var(--an-gruen)}
.an-zurueck{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#fff;font-size:22px;cursor:pointer;transition:background .15s ease,transform .12s ease}
.an-zurueck:active{transform:scale(.94)}
.an-skip{border:0;background:none;color:var(--an-leise);font:600 14px/1 "Hanken Grotesk",sans-serif;min-height:44px;padding:0 0 0 14px;cursor:pointer}
.an-skip:hover,.an-zurueck:hover{color:#fff}
.an-schritt{flex:1;display:flex;flex-direction:column}
.an-schritt.rein{animation:anRein .32s var(--an-ease) both}
.an-schritt.raus{animation:anRaus .18s ease-in both}
@keyframes anRein{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes anRaus{to{opacity:0;transform:translateY(-8px)}}
.an-titel,.an-frage{font-family:var(--display);font-weight:800;color:#fff;letter-spacing:-.03em;text-wrap:balance}
.an-titel{font-size:clamp(32px,9.6vw,42px);line-height:1.04;margin:30px 0 14px}
.an-frage{font-size:clamp(28px,8vw,36px);line-height:1.08;margin:6px 0 26px}
.an-unter{font-size:16px;line-height:1.5;color:var(--an-text);margin:0 0 18px;max-width:34ch}
.an-quelle{font-size:12.5px;color:var(--an-leise);margin:0;font-variant-numeric:tabular-nums}
.an-lade{color:var(--an-leise);font-size:15px;padding:40px 0}
.an-fuss{padding-top:22px}
.an-btn{height:56px;border-radius:16px;font-size:16px}
.an-btn[disabled]{opacity:.35}
.an-erster .an-titel{animation:anRein .5s var(--an-ease) .95s both}
.an-erster .an-unter,.an-erster .an-quelle{animation:anRein .5s var(--an-ease) 1.1s both}
.an-erster .an-fuss{animation:anRein .45s var(--an-ease) 1.25s both}

/* Auswahl auf dunkel */
.an-karten{display:grid;gap:12px}
.an-karten.zwei{grid-template-columns:repeat(2,minmax(0,1fr))}
.an-karte{display:flex;align-items:center;gap:14px;min-height:64px;padding:16px 18px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#fff;text-align:left;cursor:pointer;
  transition:transform .12s ease,background .2s ease,border-color .2s ease}
.an-karten.zwei .an-karte{flex-direction:column;align-items:flex-start;min-height:104px}
.an-karte:active{transform:scale(.97)}
.an-karte b{font-size:16px;font-weight:650}
.an-ico svg{width:28px;height:28px;stroke:var(--an-gruen);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;display:block}
.an-karte.an{border-color:var(--an-gruen);background:rgba(143,212,106,.14)}
.an-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.an-chip{height:64px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#fff;font:800 22px/1 var(--display);cursor:pointer;transition:transform .12s ease,background .2s ease,border-color .2s ease}
.an-chip:active{transform:scale(.95)}
.an-chip.an{border-color:var(--an-gruen);background:rgba(143,212,106,.16);color:var(--an-gruen)}
.an-schaetzung{margin-top:34px;min-height:120px}
.an-schaetzung.da{animation:anRein .4s var(--an-ease) both}
.an-schaetzung b{display:block;font:800 56px/1 var(--display);color:#fff;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.an-schaetzung span{display:block;margin-top:6px;color:var(--an-text);font-size:16px}
.an-schaetzung small{display:block;margin-top:10px;color:var(--an-leise);font-size:13px}
.ank :focus-visible{outline:2px solid var(--an-gruen);outline-offset:3px}

/* ---------- Preiskurve (dunkel im Einstieg und in der Hero-Karte) ---------- */
.kv{position:relative}
.kv-feld{position:relative;display:flex;align-items:flex-end;gap:3px;height:170px}
.kv-bar{flex:1;min-height:6px;border-radius:4px 4px 2px 2px;background:rgba(255,255,255,.2);transform-origin:bottom}
.kv-bar.billig{background:var(--an-gruen)}
.kv-bar.teuer{background:var(--orange-hell)}
.kv-achse{display:flex;gap:3px;margin-top:8px}
.kv-achse span{flex:1;font-size:11px;color:var(--an-leise);font-variant-numeric:tabular-nums;white-space:nowrap}
.kv-punkt{position:absolute;bottom:-5px;left:var(--pos);width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--an-gruen);box-shadow:0 0 0 4px rgba(143,212,106,.22)}
/* Signatur: Balken wachsen nacheinander, dann gleitet der Punkt auf die günstigste Stunde */
.kv.an .kv-bar{animation:kvWachsen .5s var(--an-ease) both;animation-delay:calc(var(--i) * 18ms)}
.kv.an .kv-punkt{animation:kvPunkt .6s var(--an-ease) .7s both}
@keyframes kvWachsen{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes kvPunkt{from{left:0;opacity:0}to{left:var(--pos);opacity:1}}

/* ---------- Heute (hell, Hero dunkel) ---------- */
.st-hero{background:var(--an-dunkel);color:var(--an-text);border-radius:24px;padding:20px 18px 16px;margin:0 0 14px;box-shadow:0 2px 4px rgba(15,22,17,.08),0 18px 40px -20px rgba(15,22,17,.45)}
.st-hero-kopf{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.st-hero-lbl{font-size:13px;color:var(--an-leise)}
.st-hero-kopf b{font:800 34px/1 var(--display);color:#fff;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.st-hero-kopf small{font:600 13px/1 "Hanken Grotesk",sans-serif;color:var(--an-leise);margin-left:4px}
.st-hero .kv-feld{height:110px}
.st-hero-tipp{margin:14px 0 4px;font-size:14.5px;line-height:1.45;color:#fff}
.st-hero-quelle{margin:0;font-size:11.5px;color:var(--an-leise)}
.st-karte{cursor:pointer;transition:transform .12s ease,box-shadow .2s ease}
.st-karte:active{transform:scale(.985)}
.st-karte:focus-visible{outline:2px solid var(--gruen);outline-offset:3px}
.st-text{margin:6px 0 0;font-size:14.5px;line-height:1.5;color:var(--ink2)}
.st-gross{margin:8px 0 0;font:800 26px/1.1 var(--display);color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.st-gross small{font:500 13px/1 "Hanken Grotesk",sans-serif;color:var(--ink4);letter-spacing:0}
.st-mehr{display:inline-block;margin-top:12px;font-size:14px;font-weight:700;color:var(--gruen-text)}
.st-ok{color:var(--gruen-text);font-weight:600}
.st-platzhalter{display:block;width:100%;height:56px;margin:10px 0 2px}
.st-platzhalter path{fill:none;stroke:var(--line2);stroke-width:2;stroke-dasharray:4 6;stroke-linecap:round}
.st-thema .btn{margin-top:12px}
.st-fuss{text-align:center;margin-top:10px;color:var(--ink4)}

/* ---------- Sheets ---------- */
.st-lbl{margin:16px 0 8px;font-size:12.5px;font-weight:700;color:var(--ink4)}
.st-chips{display:flex;flex-wrap:wrap;gap:8px}
.st-chip{border:1.5px solid var(--line);background:#fff;border-radius:99px;min-height:44px;padding:0 16px;font-size:14px;font-weight:600;color:var(--ink2);cursor:pointer;transition:transform .12s ease,background .2s ease,border-color .2s ease}
.st-chip:active{transform:scale(.95)}
.st-chip.an{background:var(--gruen);border-color:var(--gruen);color:#fff}
.st-wert{font-size:14px;color:var(--ink3);margin-bottom:4px}
.st-wert b{font:800 28px/1 var(--display);color:var(--ink);font-variant-numeric:tabular-nums}
.st-wert small{color:var(--ink4)}
.st-slider{width:100%;accent-color:var(--gruen);height:32px}
.st-quellen{display:grid;gap:10px;margin:14px 0 16px}
.st-quelle{display:block;width:100%;text-align:left;padding:14px 16px;border-radius:16px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:transform .12s ease,background .2s ease,border-color .2s ease}
.st-quelle:active{transform:scale(.98)}
.st-quelle b{display:block;font-size:15px}
.st-quelle small{display:block;margin-top:3px;color:var(--ink4);font-size:12.5px}
.st-quelle.an{border-color:var(--gruen-hell);background:var(--wash)}

@media (prefers-reduced-motion:reduce){
  .an-schritt.rein,.an-schritt.raus,.an-erster .an-titel,.an-erster .an-unter,.an-erster .an-quelle,.an-erster .an-fuss,.an-schaetzung.da{animation:anBlende .15s ease both}
  .kv.an .kv-bar,.kv.an .kv-punkt{animation:none}
}
@keyframes anBlende{from{opacity:0}to{opacity:1}}

/* Eigener Fixpreis als Linie über der Börsenkurve */
.kv-linie{position:absolute;left:0;right:0;height:0;border-top:1.5px dashed rgba(255,255,255,.6);pointer-events:none}
.kv-linie em{position:absolute;right:0;bottom:4px;font:600 11px/1 "Hanken Grotesk",sans-serif;font-style:normal;color:#fff;background:var(--an-dunkel);padding:2px 0 2px 6px}
.kv.an .kv-linie{animation:anBlende .5s ease .9s both}
.an-dein{font-size:15px;line-height:1.5;color:var(--an-text);margin:0 0 16px;max-width:36ch}
.an-dein b{color:#fff}
.an-erster .an-dein{animation:anRein .5s var(--an-ease) 1.15s both}
.st-hero-dein{margin:-6px 0 12px;font-size:13px;color:var(--an-leise)}
@media (prefers-reduced-motion:reduce){.kv.an .kv-linie{animation:none}.an-erster .an-dein{animation:anBlende .15s ease both}}

/* ---------- Szene oben auf "Heute": Haus (Energiehaus) oder Wohnung ---------- */
.st-szene{margin-bottom:14px}
.st-szene svg.wohnung,.st-szene svg.house{display:block;width:100%;height:auto}
.st-szene-knopf{display:block;width:calc(100% - 24px);margin:4px 12px 12px;min-height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;font:700 14px/1 "Hanken Grotesk",sans-serif;cursor:pointer;transition:background .2s ease,transform .12s ease}
.st-szene-knopf:active{transform:scale(.98)}
@media (hover:hover){.st-szene-knopf:hover{background:rgba(255,255,255,.1)}}
/* Auftritt der Wohnung (nur beim ersten Zeichnen): Boden, Haus, Dach, dann leuchtet die eigene Wohnung auf */
.erst .wohnung .wg{animation:wgRein .8s var(--an-ease) both}
.erst .wohnung .wg-baeume{animation-delay:.1s}.erst .wohnung .wg-haus{animation-delay:.18s}.erst .wohnung .wg-dach{animation-delay:.28s}.erst .wohnung .wg-netz{animation-delay:.3s}
.erst .wohnung .wg-ich{animation:wgRein .7s var(--an-ease) .45s both}
.erst .wohnung .wg-glow{animation:wgLicht 1.2s ease .9s both}
.erst .wohnung .wg-rahmen{animation:wgLicht .8s ease 1.3s both}
.erst .wohnung .wg-pins{animation:wgRein .6s var(--an-ease) 1.5s both}
.erst .wohnung .wg-aura{animation:wgLicht 1.4s ease .8s both}
@keyframes wgRein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes wgLicht{from{opacity:0}to{opacity:1}}
/* Vorschau: neues Gerät gleitet herein, Flüsse laufen (Simulation) */
.wohnung .wg-neu{animation:wgNeu .45s var(--an-ease) both}
.wohnung .wg-plaetze.wg-neu polygon{animation:wgNeu .4s var(--an-ease) both}
@keyframes wgNeu{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.wg-fluss{animation:wgFluss 1.8s linear infinite;filter:drop-shadow(0 0 3px currentColor)}
.wg-fluss.wg-leise{opacity:.55;animation-duration:2.6s}
@keyframes wgFluss{to{stroke-dashoffset:-32}}
.wg-sonne circle:first-child{animation:wgAtmen 5s ease-in-out infinite alternate}
@keyframes wgAtmen{from{opacity:.7}to{opacity:1}}
.wg-vorschau .wg-aura{opacity:.6}
.st-ausst{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px}
.st-ausst .st-quelle{display:flex;align-items:center;gap:10px;min-height:56px}
.st-ausst .an-ico svg{stroke:var(--gruen)}

/* ---------- Entdecken: drei Wege als Geschichten ---------- */
.ed-lead{margin:-6px 0 16px;font-size:15px;color:var(--ink3);line-height:1.5}
.ed-story{display:grid;grid-template-columns:112px 1fr;gap:16px;align-items:center;width:100%;text-align:left;padding:18px;margin:0 0 14px;border:0;border-radius:24px;cursor:pointer;color:#fff;
  background:var(--an-dunkel);box-shadow:0 2px 4px rgba(15,22,17,.08),0 18px 40px -22px rgba(15,22,17,.5);position:relative;overflow:hidden;transition:transform .15s ease,box-shadow .25s ease}
.ed-story:before{content:"";position:absolute;inset:auto -30% -60% auto;width:220px;height:220px;border-radius:50%;opacity:.28;filter:blur(8px);pointer-events:none}
.ed-sonne:before{background:radial-gradient(circle,#F2B632,transparent 70%)}
.ed-netz:before{background:radial-gradient(circle,#8FC2E8,transparent 70%)}
.ed-gruen:before{background:radial-gradient(circle,#8FD46A,transparent 70%)}
.ed-story:active{transform:scale(.985)}
@media (hover:hover){.ed-story:hover{box-shadow:0 2px 4px rgba(15,22,17,.1),0 24px 48px -20px rgba(15,22,17,.6)}}
.ed-bild svg{display:block;width:100%;height:auto}
.ed-kurve .kv-feld{height:70px;gap:2px}.ed-kurve .kv-punkt{display:none}
.ed-text h2{margin:0 0 6px;font:800 20px/1.1 var(--display);letter-spacing:-.02em;color:#fff;text-transform:none}
.ed-text p{margin:0 0 12px;font-size:13.5px;line-height:1.45;color:var(--an-text)}
.ed-zahl b{display:block;font:800 30px/1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ed-sonne .ed-zahl b{color:#F6CF7A}.ed-netz .ed-zahl b{color:#A9D4F2}.ed-gruen .ed-zahl b{color:var(--an-gruen)}
.ed-zahl span{display:block;margin-top:4px;font-size:12px;color:var(--an-leise)}
.ed-cta{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:700;color:#fff}
.ed-fuss{text-align:center;color:var(--ink4);margin-top:4px}
.ed-ergebnis{margin:18px 0 12px}
.ed-ergebnis b{display:block;font:800 44px/1 var(--display);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}
.ed-ergebnis span{display:block;margin-top:4px;color:var(--ink3);font-size:14px}
.ed-fakten{margin:14px 0 16px;padding-left:18px;color:var(--ink3);font-size:13px;line-height:1.55}
.ed-balken{display:grid;gap:12px;margin:16px 0 4px}
.ed-balken div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px}
.ed-balken span{grid-column:1/-1;font-size:12.5px;color:var(--ink4)}
.ed-balken i{display:block;height:14px;border-radius:8px;background:var(--line2);transform-origin:left;transition:transform .5s var(--an-ease)}
.ed-balken .dyn i{background:var(--gruen-hell)}
.ed-balken b{font-variant-numeric:tabular-nums}
@media (max-width:360px){.ed-story{grid-template-columns:84px 1fr;gap:12px}}
@media (prefers-reduced-motion:reduce){.erst .wohnung .wg,.erst .wohnung .wg-ich,.erst .wohnung .wg-glow,.erst .wohnung .wg-rahmen,.erst .wohnung .wg-pins,.erst .wohnung .wg-aura,.wohnung .wg-neu,.wohnung .wg-plaetze.wg-neu polygon,.wg-sonne circle:first-child{animation:none}.wg-fluss{animation:none;stroke-dasharray:3 5}.ed-balken i,.st-seg,.wt-l-balken i{transition:none}.st-modus,.ko-ort,.ag-held-bild i{transition:none}}

/* ---------- Heute: Modi "Was wäre, wenn" ---------- */
.st-bild{position:relative}
.st-modi{padding:6px 12px 2px}
.st-modi-titel{margin:0 4px 8px;font:700 13px/1.2 "Hanken Grotesk",sans-serif;color:var(--an-leise)}
.st-modi-reihe{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.st-modus{display:flex;align-items:center;gap:9px;min-height:52px;padding:8px 12px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#fff;
  font:700 13.5px/1.15 "Hanken Grotesk",sans-serif;text-align:left;cursor:pointer;position:relative;transition:transform .12s var(--an-ease),background .2s ease,border-color .2s ease,box-shadow .25s ease}
.st-modus-ico{flex:0 0 28px;height:28px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.08);transition:background .2s ease}
.st-modus-ico svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.st-modus:active{transform:scale(.97)}
.st-modus.an{background:rgba(143,212,106,.16);border-color:rgba(143,212,106,.7);box-shadow:0 0 0 1px rgba(143,212,106,.35) inset,0 8px 24px -12px rgba(143,212,106,.6)}
.st-modus.an .st-modus-ico{background:var(--an-gruen)}
.st-modus.an .st-modus-ico svg{stroke:#0F1611}
.st-modus.echt{opacity:.75;cursor:default}
.st-modus small{position:absolute;top:6px;right:9px;font-size:10px;font-weight:600;color:var(--an-gruen)}
.st-modus:focus-visible{outline:2px solid var(--an-gruen);outline-offset:2px}
@media (hover:hover){.st-modus:not(.an):not(.echt):hover{background:rgba(255,255,255,.09)}}
.st-modi-hinweise:empty{display:none}
.st-modi-info{margin:8px 4px 0;font-size:12.5px;line-height:1.45;color:var(--an-text);animation:anRein .3s var(--an-ease) both}

/* ---------- Heute: Dein Strom im Jahr ---------- */
.st-kosten h2,.st-boerse h2{margin:0}
.st-k-gross b{display:block;margin-top:8px;font:800 40px/1 var(--display);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}
.st-k-unter{margin:6px 0 14px;font-size:14px;color:var(--ink3);min-height:20px}
.st-plus{color:var(--gruen-text);font-weight:700}.st-minus{color:var(--rot);font-weight:700}
.st-k-balken{position:relative;height:16px;border-radius:9px;background:var(--line);overflow:hidden}
.st-k-ref{position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(-45deg,transparent 0 5px,rgba(0,0,0,.05) 5px 10px)}
.st-seg{position:absolute;inset:0;transform-origin:left;transition:transform .6s var(--an-ease)}
.st-seg-energie{background:#F2B632}.st-seg-netz{background:#8FC2E8}.st-seg-abgaben{background:#B9B3A6}.st-seg-erloes{background:var(--gruen)}
.st-k-legende{display:grid;gap:8px;margin:14px 0 4px}
.st-k-legende div{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink2)}
.st-k-legende b{margin-left:auto;font-variant-numeric:tabular-nums}
.st-dot{display:inline-block;width:10px;height:10px;border-radius:3px;flex:0 0 10px}
.st-link{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;padding:0;border:0;background:none;color:var(--gruen-text);font:700 14px/1 "Hanken Grotesk",sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.st-k-fuss{margin:6px 0 0;font-size:11.5px;line-height:1.45;color:var(--ink4)}
.st-pz{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.st-pz span{font-size:14.5px;font-weight:600;color:var(--ink)}
.st-pz small{display:block;font-weight:400;font-size:12.5px;color:var(--ink4);margin-top:2px}
.st-pz b{font-variant-numeric:tabular-nums;white-space:nowrap}

/* ---------- Heute: Börse (zweitrangig) und Weiter-Karten ---------- */
.st-boerse{background:var(--an-dunkel);border-color:transparent;color:var(--an-text)}
.st-boerse h2{color:#fff}.st-boerse .st-text{color:var(--an-text)}.st-boerse .st-k-fuss{color:var(--an-leise)}
.st-b-kopf{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.st-b-kopf b{font:800 26px/1 var(--display);color:#fff;font-variant-numeric:tabular-nums}.st-b-kopf small{font:600 12px/1 "Hanken Grotesk",sans-serif;color:var(--an-leise)}
.st-boerse .kv-feld{height:96px}
.st-weiter{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;transition:transform .12s var(--an-ease),box-shadow .2s ease}
.st-weiter h2{margin:0}.st-weiter:active{transform:scale(.985)}
.st-pfeil{margin-left:auto;flex:0 0 32px;height:32px;border-radius:50%;background:var(--wash);position:relative}
.st-pfeil:after{content:"";position:absolute;left:11px;top:11px;width:8px;height:8px;border-top:2px solid var(--gruen-text);border-right:2px solid var(--gruen-text);transform:rotate(45deg)}
@media (hover:hover){.st-weiter:hover{box-shadow:0 10px 30px -18px rgba(15,22,17,.45)}}

/* ---------- Einstieg A: Preis in Bestandteilen ---------- */
.an-preis{margin:0 0 22px}
.an-p-balken{display:flex;height:12px;border-radius:7px;overflow:hidden;gap:2px;margin-bottom:14px}
.an-p-balken i{display:block;transform-origin:left}
.an-erster .an-p-balken i{animation:anWachsen .7s var(--an-ease) both}
.an-erster .an-p-balken i:nth-child(2){animation-delay:.12s}.an-erster .an-p-balken i:nth-child(3){animation-delay:.24s}
@keyframes anWachsen{from{transform:scaleX(0)}to{transform:none}}
.an-p-teile{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.an-p-teile li{display:flex;align-items:center;gap:10px;font-size:15px;color:#fff}
.an-p-teile small{display:block;font-size:12px;color:var(--an-leise)}
.an-p-teile b{margin-left:auto;font-variant-numeric:tabular-nums}
.an-p-fix{margin:12px 0 0;font-size:13.5px;color:var(--an-leise)}
@media (prefers-reduced-motion:reduce){.an-erster .an-p-balken i{animation:none}}

/* ---------- Angebot ---------- */
.ag-seg{grid-template-columns:repeat(3,1fr);margin-bottom:6px}.ag-seg button{text-align:center;font-weight:700;font-size:13.5px;min-height:44px}
.ag-held{position:relative;overflow:hidden;margin-top:14px;padding:22px 18px 18px;border-radius:24px;background:var(--an-dunkel);color:var(--an-text);box-shadow:0 18px 40px -22px rgba(15,22,17,.55)}
.ag-held:before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(242,182,50,.35),transparent 70%);pointer-events:none}
.ag-held h2{margin:0 0 6px;font:800 22px/1.15 var(--display);color:#fff;letter-spacing:-.02em;max-width:22ch}
.ag-held p{margin:0;font-size:14px;line-height:1.5}
.ag-held-bild{display:flex;gap:4px;margin:0 0 16px;height:34px}
.ag-held-bild i{display:block;width:52px;border-radius:4px;background:linear-gradient(135deg,#2C4A70,#121E2E);box-shadow:inset 0 0 0 1px rgba(159,179,200,.45);animation:wgNeu .5s var(--an-ease) calc(var(--i) * 60ms) both}
.ag-held-zahl{margin:14px 0 2px}.ag-held-zahl b{display:block;font:800 34px/1 var(--display);color:#F6CF7A;font-variant-numeric:tabular-nums}.ag-held-zahl span{font-size:12.5px;color:var(--an-leise)}
.ag-held-knoepfe{display:flex;gap:10px;margin-top:14px}.ag-held-knoepfe .btn{margin:0;flex:1}
.btn.ghost.hell{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.ag-produkt{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:start}
.ag-produkt h2{margin:0}.ag-produkt .btn{grid-column:1/-1;margin-top:12px}
.ag-produkt:not(:has(.ag-p-ico)) > div{grid-column:1/-1}
.ag-p-ico{width:44px;height:44px;border-radius:14px;background:var(--wash);display:grid;place-items:center}
.ag-p-ico svg,.ko-ort .an-ico svg{width:24px;height:24px;fill:none;stroke:var(--gruen-text);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ag-produkt.fremd{opacity:.8}
.ag-tag{display:inline-block;margin:8px 0 0;padding:3px 9px;border-radius:99px;background:var(--bg2);font-size:11.5px;font-weight:600;color:var(--ink3)}
.ag-leer{text-align:center}
.ag-anfrage h2{margin:0}.ag-a-kopf{display:flex;justify-content:space-between;align-items:center;gap:10px}
.ag-demo{font-size:11px;font-weight:700;color:var(--ink4);background:var(--bg2);padding:3px 8px;border-radius:99px;white-space:nowrap}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ag-box{display:grid;gap:2px;padding:12px 14px;border-radius:14px;background:var(--wash);margin:6px 0 4px;font-size:13.5px;color:var(--ink2)}
.ag-form{display:grid;gap:12px;margin-top:16px}
.ag-form label{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--ink3)}
.ag-form label small{font-weight:400;color:var(--ink4)}
.ag-form input:not([type=checkbox]),.ag-form textarea{font:500 16px/1.3 "Hanken Grotesk",sans-serif;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line2);background:#fff;color:var(--ink);min-height:48px}
.ag-form input:focus,.ag-form textarea:focus{outline:none;border-color:var(--gruen);box-shadow:0 0 0 3px rgba(97,161,48,.18)}
.ag-form [aria-invalid=true]{border-color:var(--rot)!important}
.ag-check{display:flex!important;grid-template-columns:none;align-items:flex-start;gap:10px!important;font-weight:400!important;font-size:13px!important;line-height:1.45;color:var(--ink3)}
.ag-check input{width:22px;height:22px;flex:0 0 22px;accent-color:var(--gruen);margin-top:1px}
.ag-fehler{margin:0;color:var(--rot);font-size:13.5px;font-weight:600}
.ag-ok{display:grid;place-items:center;margin:8px 0 6px}.ag-ok svg{width:64px;height:64px;fill:none;stroke:var(--gruen);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ag-ok circle{stroke-dasharray:151;animation:agStrich .5s var(--an-ease) both}.ag-ok path{stroke-dasharray:36;animation:agStrich .35s var(--an-ease) .35s both}
@keyframes agStrich{from{stroke-dashoffset:151}to{stroke-dashoffset:0}}
.ag-weiter{margin:8px 0 12px;padding-left:20px;font-size:14px;line-height:1.6;color:var(--ink2)}
@media (prefers-reduced-motion:reduce){.ag-ok circle,.ag-ok path,.ag-held-bild i{animation:none}}

/* ---------- Konfigurator ---------- */
.ko-kopf{display:flex;justify-content:space-between;align-items:center;margin:0 0 6px;font-size:12.5px;font-weight:700;color:var(--ink4)}
.ko-punkte{display:flex;gap:5px}.ko-punkte i{width:22px;height:5px;border-radius:3px;background:var(--line);transition:background .25s ease}.ko-punkte i.an{background:var(--gruen)}
.ko-orte{display:grid;gap:10px;margin:14px 0 6px}.ko-orte.zwei{grid-template-columns:1fr 1fr}
.ko-ort{position:relative;display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;text-align:left;padding:12px 14px;min-height:60px;border-radius:16px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:transform .12s var(--an-ease),border-color .2s ease,background .2s ease}
.ko-ort .an-ico{grid-row:span 2}.ko-ort b{font-size:15px}.ko-ort small{font-size:12.5px;color:var(--ink4);grid-column:2}
.ko-orte.zwei .ko-ort{grid-template-columns:1fr;align-content:start}.ko-orte.zwei .ko-ort small{grid-column:1}
.ko-ort em{position:absolute;top:8px;right:10px;font-style:normal;font-size:10.5px;font-weight:700;color:var(--gruen-text)}
.ko-ort.an{border-color:var(--gruen);background:var(--wash);box-shadow:0 0 0 1px var(--gruen) inset}
.ko-ort:active{transform:scale(.98)}
.ko-skizze{display:block;width:100%;height:auto;margin:10px 0 4px}
.ko-gel{stroke:var(--ink3);stroke-width:3;stroke-linecap:round}
.ko-mod{fill:#1B2C42;stroke:#9FB3C8;stroke-width:1;animation:wgNeu .35s var(--an-ease) calc(var(--i) * 50ms) both}
.ko-frei{fill:none;stroke:var(--line2);stroke-width:1.2;stroke-dasharray:4 3}
.ko-mass{font:700 11px "Hanken Grotesk",sans-serif;fill:var(--ink4)}
.ko-passt{margin:4px 0 0;font-size:14px;color:var(--ink2)}
.ko-stepper{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px;border:1.5px solid var(--line);border-radius:16px}
.ko-stepper b{font:800 20px/1 var(--display);font-variant-numeric:tabular-nums}
.ko-sp{width:48px;height:48px;border-radius:12px;border:0;background:var(--wash);color:var(--gruen-text);font:700 24px/1 "Hanken Grotesk",sans-serif;cursor:pointer}
.ko-sp:disabled{opacity:.35;cursor:default}
.ko-klein{font-size:13px;color:var(--ink3)}
.ko-fuss{position:sticky;bottom:-1px;margin:18px -4px 0;padding:12px 4px 4px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 22%)}
.ko-fuss span{display:block;font-size:13px;font-weight:700;color:var(--ink3);margin-bottom:4px;font-variant-numeric:tabular-nums}
.ko-nav{display:flex;gap:10px}.ko-nav .btn{margin-top:4px;flex:1}.ko-nav .btn[disabled]{opacity:.45}
.ko-erg b{color:var(--gruen-text)}
.ko-annahmen{margin:10px 0 6px}.ko-annahmen summary{min-height:44px;display:flex;align-items:center;font-weight:700;font-size:14px;cursor:pointer;color:var(--gruen-text)}
@media (prefers-reduced-motion:reduce){.ko-mod{animation:none}}

/* ---------- Wertschöpfung ---------- */
.wt-lead{margin:-6px 0 14px;font:700 19px/1.35 var(--display);color:var(--ink);letter-spacing:-.01em;max-width:30ch}
.wt-seg button{text-align:center;font-weight:700;min-height:44px}
.wt-held{margin-top:14px;padding:18px 16px 16px}
.wt-held h2{margin:0 0 14px;font:800 18px/1.2 var(--display);color:#fff}
.wt-leiter{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.wt-leiter li{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:end;animation:anRein .45s var(--an-ease) calc(var(--i) * 90ms) both}
.wt-l-text b{display:block;font-size:14.5px;color:#fff}.wt-l-text span{display:block;font-size:12px;color:var(--an-leise);margin-top:2px}
.wt-leiter em{grid-row:1;grid-column:2;align-self:start;font-style:normal;font:800 17px/1 var(--display);color:var(--an-gruen);font-variant-numeric:tabular-nums;white-space:nowrap}
.wt-l-balken{grid-column:1/-1;height:8px;border-radius:5px;background:rgba(255,255,255,.08);overflow:hidden}
.wt-l-balken i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#61A130,#8FD46A);transform-origin:left;transition:transform .6s var(--an-ease)}
.wt-l-balken.leer{background:repeating-linear-gradient(-45deg,rgba(255,255,255,.06) 0 5px,transparent 5px 10px)}
.wt-steuern em{font:600 12px/1.2 "Hanken Grotesk",sans-serif;color:var(--an-leise)}
.wt-summe{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);display:grid;gap:2px}
.wt-summe span{font-size:12.5px;color:var(--an-leise)}.wt-summe b{font:800 36px/1 var(--display);color:#fff;font-variant-numeric:tabular-nums}
.wt-h{margin:24px 0 10px;font:800 18px/1.2 var(--display);letter-spacing:-.01em}
.wt-bausteine{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.wt-b{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px;display:flex;flex-direction:column}
.wt-b h3{margin:10px 0 4px;font-size:15px}.wt-b p{margin:0;font-size:12.5px;line-height:1.45;color:var(--ink3)}
.wt-b-ico{width:36px;height:36px;border-radius:11px;background:var(--wash);display:grid;place-items:center}
.wt-b-ico svg,.wt-geht svg{width:20px;height:20px;fill:none;stroke:var(--gruen-text);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wt-geht{display:flex;gap:6px;align-items:flex-start;margin-top:auto!important;padding-top:10px;font-weight:600;color:var(--ink2)!important}
.wt-geht svg{flex:0 0 16px;width:16px;height:16px}
.wt-nein .wt-geht svg{stroke:var(--ink4)}.wt-nein{background:var(--bg2)}
.wt-teils .wt-geht svg{stroke:#C9A45E}
.wt-knoepfe{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 6px}.wt-knoepfe .btn{margin:0;text-align:center;text-decoration:none}
@media (prefers-reduced-motion:reduce){.wt-leiter li{animation:none}}
@media (max-width:360px){.wt-bausteine,.st-modi-reihe{grid-template-columns:1fr}}

/* Start-Bereich: Kartenüberschriften als echte Überschriften (keine Großbuchstaben-Labels) */
.st-kosten h2,.st-weiter h2,.ag-produkt h2,.ag-anfrage h2,.ag-leer h2,.st-card h2{text-transform:none;letter-spacing:-.01em;font:800 17px/1.2 var(--display);color:var(--ink);margin-bottom:0;display:block}
.st-boerse h2{text-transform:none;letter-spacing:-.01em;font:800 17px/1.2 var(--display);color:#fff;margin:0;display:block}

/* ---------- Stromvertrag ---------- */
.tf-held{margin-top:4px;padding:20px 18px 18px;color:var(--an-text)}
.tf-held h2{margin:2px 0 10px;font:800 21px/1.2 var(--display);color:#fff;text-transform:none;letter-spacing:-.01em}
.tf-lbl{margin:0;font-size:12.5px;color:var(--an-leise)}
.tf-zahl b{display:block;font:800 34px/1 var(--display);color:#fff;font-variant-numeric:tabular-nums}.tf-zahl span{display:block;margin-top:4px;font-size:12.5px;color:var(--an-leise)}
.tf-held .btn{margin-top:14px}
.tf-p-kopf{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.tf-partner h2{margin:0;text-transform:none;letter-spacing:-.01em;font:800 19px/1.2 var(--display);color:var(--ink)}.tf-partner h2 span{color:var(--gruen-text)}
.tf-art{margin:2px 0 0;font-size:12.5px;color:var(--ink4)}
.tf-marke{flex:0 0 auto;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:99px;background:var(--bg2);color:var(--ink3)}
.tf-ja{background:var(--wash);color:var(--gruen-text)}.tf-vielleicht{background:#FDF3DC;color:#8A5A00}
.tf-vgl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 4px}
.tf-vgl div{background:var(--bg2);border-radius:12px;padding:10px}.tf-vgl span{display:block;font-size:11.5px;color:var(--ink4)}.tf-vgl b{font-variant-numeric:tabular-nums;font-size:16px}
.tf-vgl .plus b{color:var(--gruen-text)}.tf-vgl .minus b{color:var(--rot)}
.tf-rat{font-weight:600}
.tf-klein{margin:8px 0 0;font-size:11.5px;line-height:1.45;color:var(--ink4)}
.tf-bald h2,.tf-bald{text-transform:none}.tf-bald{border-style:dashed;background:transparent;box-shadow:none}
.tf-bald h2{letter-spacing:-.01em;font:800 17px/1.2 var(--display);color:var(--ink)}
.tf-schritte{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:s}
.tf-schritte li{counter-increment:s;display:grid;grid-template-columns:36px 1fr;gap:2px 12px;align-items:start;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 14px}
.tf-schritte li:before{content:counter(s);grid-row:span 2;width:32px;height:32px;border-radius:50%;background:var(--wash);color:var(--gruen-text);font:800 15px/32px var(--display);text-align:center}
.tf-schritte b{font-size:15px}.tf-schritte span{font-size:13px;color:var(--ink3);line-height:1.45}
.tf-krit .wt-b h3{margin-top:0}

/* Startseite: mit bestehender Anmeldung fortsetzen (Testphase: Startseite bei jedem App-Start) */
.btn.lg-weiter{display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:10px;background:var(--an-dunkel);box-shadow:none}
.btn.lg-weiter small{font-size:12px;font-weight:500;opacity:.75}
