@font-face{font-family:Jost;src:url(fonts/jost-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Jost;src:url(fonts/jost-500.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --nacht:#0E1418; --nacht-2:#141D22; --linie:#E6ECE8; --weich:#AEBDB6;
  --gruen:#009C3C; --gruen-licht:#2FD46A; --bernstein:#FFC36B;
  --rand:clamp(1.25rem,6vw,6rem);
}
*{box-sizing:border-box}
html{background:var(--nacht)}
body{margin:0;background:var(--nacht);color:var(--linie);font:400 clamp(1.08rem,1rem + .3vw,1.25rem)/1.6 Barlow,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Jost,system-ui,sans-serif;font-weight:700;letter-spacing:-.012em;margin:0;color:#fff;text-wrap:balance}
p{margin:0}
a{color:var(--gruen-licht);text-underline-offset:.18em}
:focus-visible{outline:2px solid var(--gruen-licht);outline-offset:3px;border-radius:4px}

/* Kopfzeile */
.kopf{position:fixed;z-index:50;inset:0 0 auto 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:clamp(.9rem,2.4vh,1.5rem) var(--rand);pointer-events:none}
.kopf>*{pointer-events:auto}
.kopf__logo{display:block;width:clamp(8.5rem,14vw,12rem)}
.kopf__logo img{width:100%;height:auto;display:block}
.kopf__wege{display:flex;align-items:center;gap:1.1rem}
.kopf__tel{color:#fff;font-weight:700;text-decoration:none;font-size:1rem;white-space:nowrap}
.kopf::before{content:"";position:absolute;inset:0 0 -1.4rem 0;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,rgb(14 20 24/.84),rgb(14 20 24/.6) 62%,rgb(14 20 24/0))}
.knopf{display:inline-block;background:var(--gruen);color:#fff;font:700 1.08rem/1.2 Barlow,sans-serif;padding:.95rem 1.4rem;border-radius:6px;border:0;text-decoration:none;cursor:pointer;
  box-shadow:0 0 0 1px rgb(47 212 106/.45),0 10px 28px -10px rgb(0 156 60/.7);transition:transform .14s cubic-bezier(.23,1,.32,1),box-shadow .14s}
.knopf:hover{transform:translateY(-1px);box-shadow:0 0 0 1px rgb(47 212 106/.7),0 14px 30px -10px rgb(0 156 60/.8)}
.knopf:active{transform:translateY(1px)}
.knopf--klein{padding:.6rem 1rem;font-size:.95rem}

/* Ohne JS: alles als lesbarer Fluss */
.buehne{display:none}
.text{padding:3rem var(--rand);max-width:46rem}
.text+.text{border-top:1px solid #22303a}

/* Mit JS: feste Bühne, Text-Fenster darüber */
.js .buehne{display:block;position:fixed;inset:0;overflow:hidden;background:var(--nacht)}
.js .spur{position:relative}
.js .text{position:fixed;z-index:20;left:var(--rand);top:50%;max-width:min(36rem,46vw);padding:0;border:0;opacity:0;visibility:hidden;will-change:opacity,transform}
.js .text.ist-sichtbar{visibility:visible}
.js .text--rechts{left:auto;right:var(--rand)}
.js .text--unten{top:auto;bottom:clamp(2rem,10vh,6rem)}
.js .text--mitte{left:50%;text-align:center;max-width:min(52rem,86vw)}

.szene{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform,opacity}
.szene>img{position:absolute;inset:0;width:100%;height:100%;display:block;user-select:none}
.szene .marke{position:absolute;transform:translate(-50%,-50%)}
.schleier{position:absolute;inset:0;pointer-events:none}
.flaeche{position:absolute;inset:0;background:var(--gruen);transform:translateX(-101%);will-change:transform}

/* Hero */
.h1{font-size:clamp(2.5rem,1.2rem + 3.6vw,5.2rem);line-height:1.03;max-width:14ch}
.h1 .cursor{display:inline-block;width:.06em;height:.82em;background:var(--gruen-licht);margin-left:.06em;vertical-align:-.06em;animation:blinken 1s steps(1) infinite}
@keyframes blinken{50%{opacity:0}}
.lede{margin-top:1.2rem;color:#E3EAE6;font-size:clamp(1.12rem,1rem + .45vw,1.4rem);max-width:32ch}
.wege{display:flex;flex-wrap:wrap;gap:1rem 1.4rem;align-items:center;margin-top:1.8rem}
.zweit{margin-top:1rem;color:var(--weich);font-size:1rem;max-width:36ch}
.zweit a{color:#fff;font-weight:700;white-space:nowrap}
.scan{position:absolute;left:0;right:0;height:2px;background:var(--gruen-licht);box-shadow:0 0 18px 4px rgb(47 212 106/.55),0 0 2px 1px #fff;opacity:0;pointer-events:none;z-index:3}
.dach{position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,rgb(8 12 16/.82) 0,rgb(8 12 16/.5) 36%,transparent 62%)}

/* Sorgen: groß, durchgestrichen, Antwort */
.sorge{font:700 clamp(2rem,1.2rem + 3vw,4.4rem)/1.08 Jost,sans-serif;color:#fff;position:relative;display:inline-block}
.sorge::after{content:"";position:absolute;left:-.05em;right:-.05em;top:54%;height:.09em;background:var(--gruen-licht);box-shadow:0 0 14px rgb(47 212 106/.6);transform-origin:left;transform:scaleX(var(--strich,0))}
.antwort{margin-top:1.1rem;font-size:clamp(1.15rem,1rem + .6vw,1.6rem);color:#E3EAE6;max-width:30ch}
.kleinkopf{font:500 .9rem/1.3 Jost,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gruen-licht);margin-bottom:.9rem}

/* Ihr Stück */
.stueck{margin-top:1.4rem;display:flex;gap:.6rem;flex-wrap:wrap;max-width:30rem}
.stueck input{flex:1 1 14rem;min-width:0;font:400 1.1rem Barlow,sans-serif;padding:.9rem 1rem;border-radius:6px;border:1px solid #3a4a52;background:rgb(14 20 24/.85);color:#fff}
.stueck input::placeholder{color:#8fa39a}
.etikett{position:absolute;z-index:4;transform:translate(-50%,-100%);pointer-events:none;opacity:0;transition:opacity .3s}
.etikett__obj{width:clamp(5.5rem,9vw,9rem);aspect-ratio:418/314;background-repeat:no-repeat;filter:drop-shadow(0 0 10px rgb(47 212 106/.55)) drop-shadow(0 0 2px rgb(47 212 106/.9));border-radius:6px}
.etikett__name{margin:.35rem auto 0;width:max-content;max-width:14rem;padding:.2rem .6rem;border-radius:4px;background:var(--gruen);color:#fff;font:700 .9rem/1.3 Barlow,sans-serif;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Stationen */
.station h2{font-size:clamp(1.7rem,1.2rem + 1.8vw,2.9rem);line-height:1.08}
.station p{margin-top:.8rem;color:#E3EAE6;font-size:clamp(1.1rem,1rem + .4vw,1.35rem);max-width:30ch}
.fakt{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.45rem .8rem;border-radius:999px;border:1px solid rgb(47 212 106/.6);background:rgb(0 156 60/.18);color:#fff;font-weight:700;font-size:1rem}
.fakt::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--gruen-licht);box-shadow:0 0 8px var(--gruen-licht)}
.text-platte{position:absolute;z-index:-1;inset:-1.6rem -2rem;background:radial-gradient(ellipse at 30% 50%,rgb(10 15 19/.82),rgb(10 15 19/.55) 60%,transparent 80%);border-radius:24px;pointer-events:none}
.haken{position:absolute;z-index:3;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--gruen);box-shadow:0 0 0 3px rgb(47 212 106/.35),0 0 16px rgb(47 212 106/.7);transform:translate(-50%,-50%) scale(var(--s,0));opacity:var(--o,0)}
.haken::after{content:"";position:absolute;left:.48rem;top:.36rem;width:.42rem;height:.78rem;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}
.puls{position:absolute;z-index:3;width:3.2rem;height:3.2rem;border-radius:50%;border:2px solid var(--gruen-licht);transform:translate(-50%,-50%) scale(var(--s,0));opacity:var(--o,0);box-shadow:0 0 18px rgb(47 212 106/.6)}
.handy{position:absolute;z-index:4;width:clamp(4.5rem,7vw,7rem);aspect-ratio:9/18;border:2px solid #fff;border-radius:14px;background:rgb(14 20 24/.6);box-shadow:0 0 0 1px rgb(47 212 106/.4),0 0 30px rgb(47 212 106/.25);transform:translate(-50%,-50%);opacity:0}
.handy::after{content:"";position:absolute;left:12%;right:12%;height:2px;top:var(--scan,10%);background:var(--gruen-licht);box-shadow:0 0 10px var(--gruen-licht)}
.strahl{position:absolute;z-index:2;pointer-events:none;opacity:0;background:linear-gradient(90deg,rgb(47 212 106/.0),rgb(47 212 106/.18));clip-path:polygon(100% 40%,100% 60%,0 100%,0 0)}
.angebot{position:absolute;z-index:4;width:clamp(9rem,13vw,13rem);aspect-ratio:3/4;border:2px solid #fff;border-radius:8px;background:rgb(14 20 24/.85);padding:1rem;opacity:0;transform:translate(-50%,-50%)}
.angebot i{display:block;height:2px;background:#E6ECE8;margin:.7rem 0;transform-origin:left;transform:scaleX(var(--z,0))}
.angebot b{position:absolute;right:.8rem;bottom:.8rem;width:2.6rem;height:2.6rem;border-radius:50%;border:2px solid var(--gruen-licht);box-shadow:0 0 12px rgb(47 212 106/.6);transform:scale(var(--st,0))}
.angebot b::after{content:"";position:absolute;left:.85rem;top:.5rem;width:.55rem;height:1rem;border:solid var(--gruen-licht);border-width:0 3px 3px 0;transform:rotate(45deg)}
.liftlicht{position:absolute;z-index:2;pointer-events:none}

/* Route */
.karte{position:absolute;inset:0;opacity:0}
.karte svg{position:absolute;left:50%;top:50%;width:min(130vh,110vw);height:auto;transform:translate(-30%,-50%)}
.karte__land{fill:#17222A}.karte__ziel{fill:#17222A;transition:fill .5s}.karte__ziel.an{fill:#0E3D25}
.karte__grenze{fill:none;stroke:#2B3942;stroke-width:.7}
.karte__route{fill:none;stroke:var(--gruen-licht);stroke-width:2.6;stroke-linecap:round;filter:drop-shadow(0 0 4px rgb(47 212 106/.9))}
.karte__punkt{fill:var(--gruen-licht);opacity:0;transition:opacity .4s}.karte__punkt.an{opacity:1}
.karte__start{fill:#fff;stroke:var(--gruen-licht);stroke-width:4}
.karte__startname{font:700 17px Jost;fill:#fff;paint-order:stroke;stroke:var(--nacht);stroke-width:5px}
.laender{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem 1.4rem;font-size:1rem}
.laender li{color:#7f9189;transition:color .3s}
.laender li::before{content:"○ ";color:#4d5f58}
.laender li.an{color:#fff}.laender li.an::before{content:"● ";color:var(--gruen-licht)}

/* Beweis */
.zahlen{display:flex;flex-wrap:wrap;gap:1.2rem 2.4rem;margin:1.4rem 0}
.zahlen div{display:flex;flex-direction:column-reverse}
.zahlen dt{color:var(--weich);font-size:.95rem}.zahlen dd{margin:0;font:700 clamp(2.4rem,1.8rem + 2vw,3.6rem)/1 Jost;color:#fff;font-variant-numeric:tabular-nums}
.zitat{margin:1.2rem 0 0;padding-left:1.1rem;border-left:1px solid rgb(47 212 106/.75)}
.zitat p{font:500 clamp(1.25rem,1.1rem + .6vw,1.6rem)/1.35 Jost;color:#fff}
.zitat footer{margin-top:.4rem;color:var(--weich);font-size:.95rem}
.sterne{display:flex;align-items:baseline;gap:.8rem;margin:1rem 0}
.sterne b{font:700 clamp(3.4rem,2.4rem + 3vw,5.4rem)/1 Jost;color:#fff}
.sterne span{color:var(--bernstein);font-size:1.6rem;letter-spacing:.12em}
.fotos{position:absolute;inset:0;pointer-events:none}
.foto{position:absolute;margin:0;border:5px solid #E6ECE8;box-shadow:0 24px 50px -16px rgb(0 0 0/.7);opacity:0;will-change:transform,opacity}
.foto img{display:block;width:100%;height:auto}
.foto figcaption{position:absolute;left:0;bottom:-1.9rem;font-size:.85rem;color:var(--weich);white-space:nowrap}

/* Leistungen: seitliche Leiste */
.leiste{position:absolute;left:0;top:50%;display:flex;gap:clamp(1rem,2vw,2rem);padding:0 var(--rand);transform:translateY(-50%);will-change:transform}
.leistung{flex:0 0 clamp(17rem,24vw,22rem);background:rgb(16 24 29/.92);border:1px solid #2a3a43;border-radius:14px;padding:1.4rem;box-shadow:0 20px 40px -20px rgb(0 0 0/.8)}
.leistung__bild{height:9rem;background-repeat:no-repeat;background-position:center;margin:-.4rem -.4rem 1rem;filter:drop-shadow(0 0 8px rgb(47 212 106/.35))}
.leistung h3{font-size:1.35rem;line-height:1.15}
.leistung p{margin-top:.6rem;color:#D6DFDA;font-size:1rem;line-height:1.55}
.leiste__kopf{flex:0 0 clamp(16rem,22vw,20rem);align-self:center}
.leiste__kopf h2{font-size:clamp(1.9rem,1.3rem + 1.8vw,3rem)}

/* Schluss */
.telefon{display:inline-block;margin-top:1.4rem;font:700 clamp(2.2rem,1.6rem + 2.6vw,4rem)/1 Jost;color:#fff;text-decoration:none;border-bottom:3px solid var(--gruen-licht);padding-bottom:.15rem}
.rechner{margin-top:1.4rem;max-width:34rem;background:rgb(16 24 29/.92);border:1px solid #2a3a43;border-radius:12px;padding:1.2rem}
.rechner[hidden]{display:none}
.rechner p{font-size:.95rem;color:var(--weich)}
.rechner .knopf{margin-top:.9rem}
.rechner.ist-geladen{padding:0;max-width:none;width:min(52rem,90vw);background:#fff}
.rechner iframe{width:100%;height:min(760px,70vh);border:0;display:block;border-radius:12px}
.recht{margin-top:2rem;font-size:.9rem;color:var(--weich)}
.recht a{color:var(--weich)}

@media (max-width:860px){
  .kopf__tel{display:none}
  .kopf .knopf{padding:.6rem .9rem;font-size:.92rem}
  .js .text{left:1.25rem;right:1.25rem;max-width:none;top:auto;bottom:calc(1.5rem + env(safe-area-inset-bottom))}
  .js .text--rechts{left:1.25rem}
  .js .text--mitte{left:1.25rem;transform:none}
  .h1{font-size:2.35rem}
  .sorge{font-size:2rem}
  .dach{background:linear-gradient(0deg,rgb(11 15 20/.96) 0,rgb(11 15 20/.85) 38%,transparent 62%)}
  .text-platte{inset:-1rem -1.25rem;background:linear-gradient(0deg,rgb(10 15 19/.92),rgb(10 15 19/.75) 70%,transparent)}
  .laender{grid-template-columns:repeat(3,minmax(0,1fr));font-size:.9rem}
  .leistung{flex-basis:78vw}
  .karte svg{width:150vw;transform:translate(-50%,-62%)}
  .foto{display:none}
}
@media (prefers-reduced-motion:reduce){.h1 .cursor{animation:none}.knopf{transition:none}}
.logo-svg{display:block;width:100%;height:auto;overflow:visible}
.leistung__schild{position:relative}
.leistung__schild::before{content:"";position:absolute;left:50%;top:50%;width:6.4rem;height:6.4rem;margin:-3.2rem 0 0 -3.2rem;border-radius:50%;background:#1E5AA8;border:.55rem solid #D7263D;box-shadow:0 0 18px rgb(47 212 106/.25)}
.leistung__schild::after{content:"";position:absolute;left:50%;top:50%;width:5.2rem;height:.55rem;margin:-.275rem 0 0 -2.6rem;background:#D7263D;transform:rotate(45deg);box-shadow:0 0 0 0 transparent}
.js .text--oben{top:18vh}
.js .text--breit{max-width:min(64rem,88vw);top:54%}
.zitate{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 2rem;margin-top:.6rem}
.zitate .zitat{margin-top:.6rem}
.zitate .zitat p{font:500 1.02rem/1.42 Barlow,sans-serif;color:#E6ECE8}
#t-stimmen h2{font-size:clamp(1.7rem,1.2rem + 1.4vw,2.6rem)!important}
#t-stimmen .sterne b{font-size:clamp(2.6rem,2rem + 2vw,4rem)}
#t-sorgen .text-platte{inset:-3rem -4rem;background:radial-gradient(ellipse at 50% 50%,rgb(10 15 19/.9),rgb(10 15 19/.7) 60%,transparent 85%)}
@media (max-width:860px){.zitate{grid-template-columns:1fr;gap:.2rem}.zitate .zitat p{font-size:.92rem}.js .text--breit{top:auto}}
:root{--sc-canvas:#0E1418;--sc-surface:#141D22;--sc-ink:#E6ECE8;--sc-ink-soft:#AEBDB6;--sc-accent:#2FD46A;--sc-accent-ink:#0E1418;--sc-font-display:Jost,sans-serif;--sc-font-text:Barlow,sans-serif}
.spur>[data-sc-act]{position:relative}
/* Leistungen: ohne JS als Raster im Fluss, mit JS als fahrende Leiste in der Text-Ebene */
.leiste{position:static;display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;padding:0;transform:none}
.js .text--voll{inset:0;top:0;left:0;max-width:none;padding:0}
.js .leiste{position:absolute;left:0;top:50%;display:flex;padding:0 var(--rand);transform:translateY(-50%)}
/* Kontrast-Nachbesserung (Messlauf 13.10.): Knopf-Grün eine Stufe dunkler, dichtere Platten */
.knopf{background:#007F37}
.knopf:hover{background:#00742F}
#schluss .text-platte{inset:-2rem -2.5rem;background:rgb(10 15 19/.9);border-radius:18px;box-shadow:0 0 60px 30px rgb(10 15 19/.7)}
#schluss .recht{color:#C9D4CF}#schluss .recht a{color:#C9D4CF}
@media (max-width:860px){
  .text-platte{inset:-1.4rem -1.25rem -2rem;background:linear-gradient(0deg,rgb(10 15 19/.96),rgb(10 15 19/.9) 85%,rgb(10 15 19/.6))}
}

/* ===== V3 Inselwelt ===== */
.js .buehne{background:#07131C}
html,body{background:#07131C}
.welt-rahmen{position:absolute;inset:0;opacity:0;visibility:hidden}
.welt{position:absolute;left:0;top:0;width:6000px;height:3000px;transform-origin:0 0;will-change:transform}
.welt .insel{position:absolute;display:block;max-width:none;user-select:none;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 62% 64% at 50% 50%,#000 78%,transparent 100%);mask-image:radial-gradient(ellipse 62% 64% at 50% 50%,#000 78%,transparent 100%)}
.welt .insel.gruen{filter:drop-shadow(0 0 4px rgb(47 212 106/.9));transition:opacity .2s}
.welt .insel.verdecker{-webkit-mask-image:none;mask-image:none}
.netz{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}
.bahn{fill:none;stroke:#2FD46A;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgb(47 212 106/.9))}
.bahn.ast{stroke-width:4;stroke-opacity:.85}
.bahn-grund{fill:none;stroke:#2FD46A;stroke-opacity:.12;stroke-width:4;stroke-dasharray:2 12;stroke-linecap:round}
.stueck{position:absolute;margin:0;display:block;max-width:none;transform:translate(-50%,-100%);pointer-events:none;opacity:0;will-change:left,top,opacity}
.stueck img{display:block;height:100%;width:auto;position:relative;z-index:1;filter:drop-shadow(0 0 2px rgb(47 212 106/.95)) drop-shadow(0 0 10px rgb(47 212 106/.45))}
.stueck .tag{position:absolute;z-index:2;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);background:#007F37;color:#fff;font:700 16px/1.3 Barlow,sans-serif;padding:3px 10px;border-radius:4px;white-space:nowrap;max-width:none}
.plattform{position:absolute;z-index:0;left:-18%;width:136%;bottom:-18px;height:40px;opacity:0;overflow:visible;transition:opacity .25s}
.plattform path{fill:rgb(47 212 106/.35);stroke:#2FD46A;stroke-width:3;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px rgb(47 212 106/.9))}
/* Wahl: drei Vorschläge + Freitext */
.wahl{margin-top:1.5rem;max-width:32rem}
.wahl .kleinkopf{margin-bottom:.7rem}
.chips{display:flex;gap:.5rem;flex-wrap:wrap}
.chip{font:700 1.02rem Barlow,sans-serif;color:#fff;background:rgb(14 20 24/.7);border:1.5px solid #3c5a4a;border-radius:999px;padding:.55rem 1rem;cursor:pointer;transition:background .15s,border-color .15s}
.chip:hover{border-color:#2FD46A}
.chip[aria-pressed=true]{background:#007F37;border-color:#2FD46A}
.frei{display:flex;gap:.5rem;margin-top:.7rem}
.frei input{flex:1;min-width:0;font:400 1.05rem Barlow,sans-serif;padding:.65rem .85rem;border-radius:6px;border:1px solid #3a4a52;background:rgb(14 20 24/.85);color:#fff}
.frei input::placeholder{color:#8fa39a}
/* Durchstrich über jede Zeile der Sorge */
.sorge{display:inline;background:linear-gradient(#2FD46A,#2FD46A) no-repeat 0 60%/calc(var(--strich,0)*100%) .09em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.sorge::after{content:none}
#t-hero .zweit{color:#EEF3F0;text-shadow:0 1px 3px rgb(0 0 0/.9),0 0 14px rgb(0 0 0/.85)}
.welt .gruen-teil{position:absolute;display:block;max-width:none;pointer-events:none;opacity:0;filter:drop-shadow(0 0 3px rgb(47 212 106/.8));will-change:opacity}

/* ===== V4: Schrift Barlow (Interview 13.10.), Fakt-Kapsel, FAQ, Zum Anfang ===== */
@font-face{font-family:"Barlow SC";src:url(fonts/barlow-sc-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Barlow SC";src:url(fonts/barlow-sc-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Barlow;src:url(fonts/barlow-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url(fonts/barlow-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Barlow;src:url(fonts/barlow-700.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--schrift-titel:"Barlow SC",system-ui,sans-serif;--schrift-text:Barlow,system-ui,sans-serif;--sc-font-display:"Barlow SC",sans-serif;--sc-font-text:Barlow,sans-serif}
body{font-family:var(--schrift-text);font-size:clamp(1.12rem,1.04rem + .3vw,1.3rem)}
h1,h2,h3,.sorge,.zitat p,.zahlen dd,.sterne b,.telefon,.karte__startname{font-family:var(--schrift-titel);letter-spacing:0}
.kleinkopf{font-family:var(--schrift-titel);font-weight:600;letter-spacing:.1em}
.knopf,.chip,.frei input,.stueck .tag,.etikett__name,.zitate .zitat p,.rechner p{font-family:var(--schrift-text)}
.knopf{font-weight:700;letter-spacing:.01em}
/* Fakt: Kapsel mit Punkt, bricht sauber um (vorher: Pille mit 999px-Radius, Punkt abgeschnitten, Text über dem Rand) */
.fakt{display:flex;align-items:flex-start;gap:.65rem;width:fit-content;max-width:min(30rem,100%);margin-top:1.1rem;padding:.6rem 1rem .6rem .85rem;border-radius:12px;
  border:1px solid rgb(47 212 106/.55);background:rgb(0 156 60/.16);font:600 1.02rem/1.4 var(--schrift-text);color:#fff;box-sizing:border-box}
.fakt::before{content:"";flex:0 0 .55rem;width:.55rem;height:.55rem;margin-top:.45em;border-radius:50%;background:var(--gruen-licht);box-shadow:0 0 8px var(--gruen-licht)}
/* FAQ */
.fragen{margin-top:1.2rem;max-width:40rem;max-height:min(62vh,34rem);overflow:auto;overscroll-behavior:contain;padding-right:.3rem}
.frage{border-top:1px solid #2a3a43}
.frage:last-child{border-bottom:1px solid #2a3a43}
.frage summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem .2rem;font:600 clamp(1.08rem,1rem + .3vw,1.25rem)/1.35 var(--schrift-text);color:#fff}
.frage summary::-webkit-details-marker{display:none}
.frage summary::after{content:"";flex:0 0 .7rem;height:.7rem;border:solid var(--gruen-licht);border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-25%);transition:transform .2s}
.frage[open] summary::after{transform:rotate(-135deg) translateY(-25%)}
.frage p{padding:0 .2rem 1rem;color:#D6DFDA;font-size:1.05rem;line-height:1.55;max-width:60ch}
.frage a{color:var(--gruen-licht)}
.js #t-faq{max-width:min(42rem,48vw)}
/* Zum Anfang (unten links) */
.nach-oben{position:fixed;z-index:60;left:var(--rand);bottom:clamp(1rem,3vh,1.75rem);display:inline-flex;align-items:center;gap:.5rem;padding:.6rem .95rem .6rem .75rem;border-radius:999px;
  background:rgb(14 20 24/.88);border:1px solid #3c5a4a;color:#fff;text-decoration:none;font:600 .95rem/1 var(--schrift-text);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .25s,visibility .25s,border-color .15s}
.nach-oben svg{width:1.1rem;height:1.1rem;fill:none;stroke:var(--gruen-licht);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.nach-oben:hover{border-color:var(--gruen-licht)}
.nach-oben.an{opacity:1;visibility:visible;transform:none}
html:not(.js) .nach-oben{position:static;display:inline-flex;margin:2rem var(--rand);opacity:1;visibility:visible;transform:none}
@media (max-width:860px){
  .nach-oben{left:1rem;bottom:calc(.9rem + env(safe-area-inset-bottom));padding:.65rem}
  .nach-oben span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .js .text{bottom:calc(4.6rem + env(safe-area-inset-bottom))}
  .js #t-faq{max-width:none}
  .fragen{max-height:52vh}
}
/* Ansprechpartner im Schluss */
.ansprech{display:flex;align-items:center;gap:1.1rem;margin-top:1.4rem}
.ansprech img{flex:0 0 auto;width:clamp(5.5rem,7vw,7rem);height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;border:2px solid var(--gruen-licht);box-shadow:0 0 0 4px rgb(47 212 106/.15)}
.ansprech .telefon{margin-top:0}
.ansprech__name{margin-top:.55rem;color:#E3EAE6;font-size:1.05rem}
.ansprech__name b{color:#fff;font-weight:600}

.sprung{position:fixed;z-index:80;top:.7rem;left:50%;display:flex;gap:.5rem;padding:.5rem;border-radius:12px;background:rgb(14 20 24/.96);border:1px solid #3c5a4a;transform:translate(-50%,-250%)}
.sprung:focus-within{transform:translate(-50%,0)}
.sprung a{color:#fff;font:600 .95rem/1 var(--schrift-text);padding:.6rem .8rem;border-radius:8px;text-decoration:none;white-space:nowrap}
.sprung a:focus-visible{outline:2px solid var(--gruen-licht);outline-offset:2px;background:#16241d}
html:not(.js) .sprung,html:not(.js) .text-platte{display:none}
