/* safe4u Arbeitsschutz-Check · Version 1.2.0 · Fachlicher Stand 10/2026
   Helles Erscheinungsbild im Stil der safe4u-Website: Weiß, CI-Grau, CI-Grün als gezielter Akzent.
   Schrift: Ubuntu (Ubuntu Font Licence), lokal aus ../assets/fonts. Bevorzugt WOFF2, alternativ die
   TTF-Dateien aus dem offiziellen Download. Fehlen die Dateien, greifen Systemschriften.
   Es werden keine externen Server angefragt. */
@font-face{font-family:"Ubuntu";font-style:normal;font-weight:400;font-display:swap;src:url("../assets/fonts/ubuntu-400.woff2") format("woff2"),url("../assets/fonts/Ubuntu-Regular.ttf") format("truetype")}
@font-face{font-family:"Ubuntu";font-style:normal;font-weight:500;font-display:swap;src:url("../assets/fonts/ubuntu-500.woff2") format("woff2"),url("../assets/fonts/Ubuntu-Medium.ttf") format("truetype")}
@font-face{font-family:"Ubuntu";font-style:normal;font-weight:700;font-display:swap;src:url("../assets/fonts/ubuntu-700.woff2") format("woff2"),url("../assets/fonts/Ubuntu-Bold.ttf") format("truetype")}

/* ---------- Grundlagen ---------- */
:root{
  color-scheme:light;
  --bg:#f5f6f2; --surface:#ffffff; --surface-2:#f0f2ec; --line:#e1e4dc; --line-2:#cdd2c6;
  --ink:#2a2c29; --muted:#636762; --grey:#737473;
  --green:#84bd3f; --green-600:#76ab34; --green-ink:#46731a; --green-soft:#eef6e2; --green-softer:#f7fbf1; --on-green:#1b260e;
  --amber:#9a5f08; --amber-dot:#e3a237; --amber-soft:#fdf4e2; --amber-line:#efd6a3;
  --rad:12px; --rad-s:8px;
  --shadow-s:0 1px 2px rgba(34,44,24,.06);
  --shadow:0 1px 2px rgba(34,44,24,.05),0 12px 32px -18px rgba(34,44,24,.22);
  --f:"Ubuntu","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f);font-size:16px;line-height:1.55;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
img,svg{max-width:100%}
[hidden]{display:none!important}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.015em;line-height:1.15;text-wrap:balance;overflow-wrap:break-word;hyphens:auto}
p{margin:0}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:4px}
.wrap{max-width:1120px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--green-ink)}
.eyebrow::before{content:"";width:18px;height:2px;background:var(--green);border-radius:2px}
noscript p{max-width:640px;margin:24px auto;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--rad)}

/* ---------- Kopfzeile ---------- */
.bar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.bar-in{display:flex;align-items:center;gap:16px;min-height:92px;padding-block:10px}
.brand{flex:none;display:flex;align-items:center}
.brand .logo{display:block;height:70px;width:auto;transition:height .3s var(--ease)}
.bar-side{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.bar-label{font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.bar-tel{font-size:15px;font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap}
.bar-tel:hover{color:var(--green-ink)}
.prog{margin-left:auto;display:flex;align-items:center;gap:14px;min-width:0}
.back{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px 0 10px;border:1px solid var(--line);border-radius:99px;background:var(--surface);font-size:14px;font-weight:500;color:var(--ink);transition:border-color .2s,background .2s}
.back:hover{border-color:var(--line-2);background:var(--surface-2)}
.prog-txt{font-size:14px;font-weight:500;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.tally{display:flex;gap:6px}
.tally span{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px;border-radius:99px;background:var(--surface-2);font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}
.tally i{width:8px;height:8px;border-radius:50%}
.t-ok i{background:var(--green)}
.t-no i{background:var(--amber-dot)}
.prog-line{height:3px;background:transparent}
.prog-fill{height:100%;width:0;background:var(--green);transition:width .5s var(--ease)}
body.in-flow .bar-in{min-height:72px}
body.in-flow .brand .logo{height:50px}
body.in-flow .bar-side{display:none}
body.in-flow .prog-line{background:var(--surface-2)}

/* ---------- Buttons ---------- */
.btn-primary,.next,.mailbtn,.pkg-cta,#dockBtn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border:0;border-radius:var(--rad-s);background:var(--green);color:var(--on-green);font-size:17px;font-weight:700;text-decoration:none;letter-spacing:.005em;box-shadow:0 1px 0 rgba(0,0,0,.06),0 8px 20px -10px rgba(84,140,30,.55);transition:background .2s,transform .2s var(--ease),box-shadow .2s}
.btn-primary:hover,.next:hover,.mailbtn:hover,.pkg-cta:hover,#dockBtn:hover{background:var(--green-600);transform:translateY(-1px);box-shadow:0 1px 0 rgba(0,0,0,.06),0 14px 24px -12px rgba(84,140,30,.6)}
.btn-primary svg,.next svg,.pkg-cta svg{transition:transform .25s var(--ease)}
.btn-primary:hover svg,.next:hover svg{transform:translateX(4px)}
.pkg-cta:hover svg{transform:translateY(3px)}
.btn-primary.big{min-height:60px;padding:0 32px;font-size:18px}
.btn-ghost,.send,.skip{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 22px;border:1.5px solid var(--line-2);border-radius:var(--rad-s);background:var(--surface);color:var(--ink);font-size:16px;font-weight:500;transition:border-color .2s,background .2s}
.btn-ghost:hover,.send:hover,.skip:hover{border-color:var(--grey);background:var(--surface-2)}

/* ---------- Bildschirme ---------- */
.screen.enter-f{animation:enterF .45s var(--ease) both}
.screen.enter-b{animation:enterB .45s var(--ease) both}
@keyframes enterF{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes enterB{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}

/* ---------- Start ---------- */
#scr-start{background:linear-gradient(180deg,#fff 0,#fff 62%,var(--bg) 100%)}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,72px);align-items:center;padding-block:clamp(36px,7vw,88px) clamp(28px,5vw,56px)}
.hero-text{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.hero h1{font-size:clamp(38px,6.2vw,68px);line-height:1.05;letter-spacing:-.025em}
.hero h1 em{font-style:normal;color:var(--green-ink);position:relative;white-space:nowrap}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.14em;background:var(--green);opacity:.35;border-radius:2px;transform-origin:left;animation:underline 1s .5s var(--ease) both}
@keyframes underline{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero .lead{font-size:clamp(17px,1.6vw,19px);color:var(--muted);max-width:34em}
.facts{display:flex;flex-wrap:wrap;margin:2px 0 4px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:100%;max-width:520px}
.facts>div{flex:1;min-width:120px;padding:12px 16px 12px 0}
.facts>div+div{padding-left:16px;border-left:1px solid var(--line)}
.facts dt{font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:2px 0 0;font-size:18px;font-weight:700}
.hero-note{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}
.hero-note::before{content:"";width:16px;height:16px;flex:none;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2346731a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E")}
.hero-visual{position:relative;display:grid;place-items:center;aspect-ratio:1;max-width:460px;width:100%;justify-self:center}
.quarters{position:absolute;inset:4%;width:92%;height:92%;opacity:.9}
.quarters path{fill:var(--surface-2)}
.quarters path:nth-child(2){fill:var(--green-soft)}
.hero-visual .plak{position:relative;width:78%;filter:drop-shadow(0 20px 30px rgba(34,44,24,.14))}
.plak-cap{position:absolute;bottom:2%;right:4%;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--surface);padding:5px 10px;border-radius:99px;border:1px solid var(--line)}
.promise{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-bottom:clamp(28px,5vw,48px)}
.promise>div{display:grid;grid-template-columns:auto 1fr;column-gap:14px;row-gap:4px;padding:26px 24px 8px 0}
.promise>div+div{padding-left:24px;border-left:1px solid var(--line)}
.promise svg{grid-row:span 2;color:var(--green-ink);margin-top:2px}
.promise b{font-size:17px}
.promise span{font-size:15px;color:var(--muted)}

/* Laufband */
.ticker{overflow:hidden;border-block:1px solid var(--line);background:var(--surface);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ticker-track{display:flex;width:max-content;animation:tick 32s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-track>div{display:flex;flex:none}
.ticker i{display:inline-flex;align-items:center;gap:22px;padding:18px 0 18px 22px;font-style:normal;font-size:16px;font-weight:500;color:var(--grey);white-space:nowrap;transition:color .2s}
.ticker i::after{content:"";width:7px;height:7px;border-radius:2px 7px 2px 7px;background:var(--green)}
.ticker i:nth-child(3n+1){color:var(--ink)}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Fragen ---------- */
#scr-q,#scr-scan{padding-block:clamp(28px,6vw,64px) clamp(40px,7vw,80px)}
.q{max-width:760px;margin:0 auto;padding-inline:clamp(16px,4vw,40px);display:flex;flex-direction:column;gap:26px}
.q h2{font-size:clamp(26px,3.6vw,38px);margin-top:10px}
.hint{margin-top:12px;color:var(--muted);font-size:16px;max-width:40em}
.law{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.law::before{content:"§";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--surface-2);font-weight:700;color:var(--grey)}
.stagger>*{animation:rise .5s var(--ease) both;animation-delay:calc(var(--i,0)*45ms + 80ms)}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Branchen */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-height:118px;padding:16px;border:1.5px solid var(--line);border-radius:var(--rad);background:var(--surface);text-align:left;font-size:15px;font-weight:500;line-height:1.3;box-shadow:var(--shadow-s);transition:border-color .2s,transform .2s var(--ease),box-shadow .2s,background .2s}
.tile:hover{border-color:var(--line-2);transform:translateY(-2px);box-shadow:var(--shadow)}
.tile .ic{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--surface-2);color:var(--grey);transition:background .2s,color .2s}
.tile:hover .ic{background:var(--green-soft);color:var(--green-ink)}
.tile[aria-pressed="true"]{border-color:var(--green);background:var(--green-softer)}
.tile[aria-pressed="true"] .ic{background:var(--green);color:var(--on-green)}
.tile[aria-pressed="true"]::after{content:"";position:absolute;top:12px;right:12px;width:20px;height:20px;border-radius:50%;background:var(--green) no-repeat center/12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.3l2.6 2.5L10 3.4' fill='none' stroke='%231b260e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}

/* Mitarbeiterzahl */
.size{display:grid;grid-template-columns:1fr;gap:0;border:1px solid var(--line);border-radius:var(--rad);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}
.size-main{padding:clamp(20px,4vw,32px);display:flex;flex-direction:column;gap:18px}
.size-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.size-lbl{font-size:14px;font-weight:500;color:var(--muted)}
.stepper{display:flex;align-items:stretch;border:1.5px solid var(--line-2);border-radius:var(--rad-s);overflow:hidden;background:var(--surface)}
.stepper:focus-within{border-color:var(--green)}
.pm{width:52px;border:0;background:var(--surface-2);font-size:24px;font-weight:500;line-height:1;color:var(--ink);transition:background .15s}
.pm:hover{background:var(--line)}
.pm:active{background:var(--line-2)}
.num-in{width:3.4em;border:0;background:transparent;text-align:center;font-size:40px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;padding:6px 0;-moz-appearance:textfield;appearance:textfield}
.num-in:focus{outline:none}
.num-in::-webkit-outer-spin-button,.num-in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.stepper.sm .pm{width:42px;font-size:20px}
.stepper.sm .num-in{font-size:20px;width:3.2em;padding:8px 0}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;margin:0;--p:6%}
input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--green) var(--p),var(--line) var(--p))}
input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:var(--line)}
input[type=range]::-moz-range-progress{height:4px;border-radius:4px;background:var(--green)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-10px;border-radius:50%;background:#fff;border:2px solid var(--green);box-shadow:0 2px 6px rgba(34,44,24,.2);transition:transform .15s}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid var(--green);box-shadow:0 2px 6px rgba(34,44,24,.2)}
input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}
.scale{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:-8px}
.pres{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:18px;border-top:1px dashed var(--line)}
.pres label{font-size:15px;font-weight:500;max-width:22em}
.pres label small{display:block;font-weight:400;color:var(--muted);font-size:13px}
.live{background:var(--green-softer);border-top:1px solid var(--line);padding:18px clamp(20px,4vw,32px) 20px}
.live-head{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--green-ink)}
.pulse{position:relative;width:8px;height:8px;border-radius:50%;background:var(--green)}
.pulse::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--green);opacity:0;animation:pulse 2s ease-out infinite}
@keyframes pulse{0%{transform:scale(.5);opacity:.8}100%{transform:scale(1.6);opacity:0}}
.live-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:12px}
.live-grid div{display:flex;flex-direction:column;gap:2px;padding-right:12px}
.live-grid div+div{padding-left:16px;border-left:1px solid var(--line)}
.live-grid b{font-size:24px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums;display:inline-block}
.live-grid span{font-size:13px;color:var(--muted);line-height:1.35}

/* Ausstattung */
.chips{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.chip{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--rad-s);background:var(--surface);text-align:left;font-size:15px;font-weight:500;line-height:1.25;transition:border-color .2s,background .2s,transform .2s var(--ease)}
.chip:hover{border-color:var(--line-2);transform:translateY(-1px)}
.chip .tk{flex:none;width:22px;height:22px;border-radius:6px;border:1.5px solid var(--line-2);background:var(--surface);transition:background .2s,border-color .2s}
.chip[aria-pressed="true"]{border-color:var(--green);background:var(--green-softer)}
.chip[aria-pressed="true"] .tk{border-color:var(--green);background:var(--green) no-repeat center/13px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.3l2.6 2.5L10 3.4' fill='none' stroke='%231b260e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}

/* Antworten */
.answers{display:flex;flex-direction:column;gap:10px}
.ans{position:relative;display:flex;align-items:center;gap:16px;min-height:66px;padding:12px 18px 12px 14px;border:1.5px solid var(--line);border-radius:var(--rad);background:var(--surface);font-size:18px;font-weight:500;text-align:left;box-shadow:var(--shadow-s);transition:border-color .2s,background .2s,transform .2s var(--ease),box-shadow .2s}
.ans:hover{border-color:var(--line-2);transform:translateX(3px);box-shadow:var(--shadow)}
.ans .dot{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;flex:none;transition:transform .25s var(--ease)}
.ans.yes .dot{background:var(--green-soft);color:var(--green-ink)}
.ans.no .dot{background:var(--surface-2);color:var(--grey)}
.ans.mid .dot{background:var(--amber-soft);color:var(--amber)}
.ans kbd{margin-left:auto;display:grid;place-items:center;min-width:28px;height:28px;padding:0 6px;border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;font-family:inherit;font-size:13px;color:var(--muted);background:var(--surface)}
.ans.yes[aria-pressed="true"]{border-color:var(--green);background:var(--green-softer)}
.ans.yes[aria-pressed="true"] .dot{background:var(--green);color:var(--on-green)}
.ans.no[aria-pressed="true"]{border-color:var(--grey);background:var(--surface-2)}
.ans.no[aria-pressed="true"] .dot{background:var(--grey);color:#fff}
.ans.mid[aria-pressed="true"]{border-color:var(--amber-dot);background:var(--amber-soft)}
.ans.mid[aria-pressed="true"] .dot{background:var(--amber-dot);color:#3b2400}
.ans.picked .dot{animation:pop .35s var(--ease)}
@keyframes pop{50%{transform:scale(1.18)}}
.bump{animation:pop .35s var(--ease)}
.btn-row{display:flex;gap:12px;flex-wrap:wrap}
.firm-in input{width:100%;min-height:62px;padding:0 18px;border:1.5px solid var(--line-2);border-radius:var(--rad-s);background:var(--surface);font-size:20px;transition:border-color .2s,box-shadow .2s}
.firm-in input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 4px var(--green-soft)}
.q .next{align-self:flex-start}

/* Auswertung läuft */
.scan{max-width:620px;margin:0 auto;padding-inline:clamp(16px,4vw,40px);display:flex;flex-direction:column;gap:24px}
.scan h2{font-size:clamp(26px,3.6vw,36px);margin-top:10px}
.scan-list{list-style:none;margin:0;padding:6px 20px;border:1px solid var(--line);border-radius:var(--rad);background:var(--surface);box-shadow:var(--shadow)}
.scan-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;font-size:16px;font-weight:500;transition:color .3s}
.scan-list li+li{border-top:1px solid var(--line)}
.scan-list .st{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;flex:none}
.scan-list .wait{color:var(--muted)}
.scan-list .wait .st{border:2px solid var(--line);border-top-color:var(--green);animation:spin .8s linear infinite}
.scan-list .ok .st{background:var(--green);animation:pop .35s var(--ease)}
.scan-list .no .st{background:var(--amber-soft);border:1.5px solid var(--amber-line);animation:pop .35s var(--ease)}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- Ergebnis ---------- */
#scr-result{padding-bottom:24px}
.res-top{background:#fff;border-bottom:1px solid var(--line)}
.res-hero{display:grid;grid-template-columns:minmax(260px,400px) 1fr;grid-template-areas:"badge logo" "badge text";column-gap:clamp(24px,5vw,64px);align-items:center;padding-block:clamp(28px,5vw,56px)}
.res-hero>.res-logo{grid-area:logo;align-self:end}
.res-badge{grid-area:badge}
.res-text{grid-area:text;align-self:start}
.res-badge{position:relative;display:grid;place-items:center}
.res-badge .quarters{inset:0;width:100%;height:100%}
.res-badge svg.plak{position:relative;width:88%;filter:drop-shadow(0 18px 28px rgba(34,44,24,.13))}
.res-logo{display:block;width:clamp(220px,32vw,340px);height:auto;margin-bottom:22px}
.res-meta{font-size:15px;color:var(--muted);margin-bottom:6px}
.res-meta b{color:var(--ink);font-weight:500}
.res-hero h2{font-size:clamp(30px,4.2vw,46px);letter-spacing:-.025em}
.level{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:6px 14px 6px 10px;border-radius:99px;font-size:14px;font-weight:700;background:var(--lv-bg);color:var(--lv-ink);border:1px solid var(--lv-line);transition:background .3s,color .3s}
.level::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--lv-dot)}
.lv-good{--lv-bg:var(--green-soft);--lv-ink:var(--green-ink);--lv-line:#cfe4b4;--lv-dot:var(--green)}
.lv-mid{--lv-bg:var(--amber-soft);--lv-ink:var(--amber);--lv-line:var(--amber-line);--lv-dot:var(--amber-dot)}
.lv-low{--lv-bg:#fbefe0;--lv-ink:#8a4f06;--lv-line:#efcf9e;--lv-dot:#d98a2b}
.stamp.pop{animation:pop .45s var(--ease)}
#vText{margin-top:14px;font-size:17px;color:var(--muted);max-width:34em}
.vtoggle{display:inline-flex;margin-top:22px;padding:4px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line)}
.vtoggle button{min-height:40px;padding:0 18px;border:0;border-radius:99px;background:transparent;font-size:15px;font-weight:500;color:var(--muted);transition:background .25s,color .25s,box-shadow .25s}
.vtoggle button[aria-pressed="true"]{background:#fff;color:var(--ink);box-shadow:var(--shadow-s),0 0 0 1px var(--line)}
.vtoggle .goal[aria-pressed="true"]{background:var(--green);color:var(--on-green);box-shadow:none}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);margin-top:26px;border-top:1px solid var(--line)}
.kpi{padding:16px 12px 0 0}
.kpi+.kpi{padding-left:16px;border-left:1px solid var(--line)}
.kpi .v{font-size:32px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}
.kpi .k{font-size:13px;color:var(--muted);line-height:1.35;margin-top:4px}
.res-note{margin-top:18px;font-size:13px;color:var(--muted)}

.block{padding-top:clamp(36px,6vw,64px)}
.block-head{display:flex;flex-direction:column;gap:10px;margin-bottom:22px;max-width:44em}
.block-head h3{font-size:clamp(24px,3vw,32px)}
.block-head p{color:var(--muted)}
.panel{border:1px solid var(--line);border-radius:var(--rad);background:var(--surface);box-shadow:var(--shadow)}

/* Nachweis */
.case{display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden}
.case-head{padding:clamp(22px,4vw,32px);display:flex;flex-direction:column;gap:12px;background:var(--surface-2);border-right:1px solid var(--line)}
.case-head h3{font-size:clamp(22px,2.6vw,28px)}
.case-head p{color:var(--muted);font-size:15px}
.case-list{padding:8px clamp(18px,3vw,28px)}
.case-q{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;font-size:15px}
.case-q+.case-q{border-top:1px solid var(--line)}
.case-q b{flex:none;display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:99px;font-size:13px;font-weight:700;white-space:nowrap}
.case-q b.y{background:var(--green-soft);color:var(--green-ink)}
.case-q b.n{background:var(--amber-soft);color:var(--amber)}
.case-foot{grid-column:1/-1;padding:18px clamp(22px,4vw,32px);border-top:1px solid var(--line);background:var(--amber-soft);font-size:15px}
.case-foot ul{margin:8px 0 0;padding-left:20px;color:#5b4520}
.case-foot li+li{margin-top:4px}
.case-foot.good{background:var(--green-softer)}

/* Offene Punkte */
.todo{display:flex;flex-direction:column;gap:12px}
.task{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:20px clamp(18px,3vw,26px);border:1px solid var(--line);border-left:4px solid var(--amber-dot);border-radius:var(--rad);background:var(--surface);box-shadow:var(--shadow-s);transition:box-shadow .25s,transform .25s var(--ease)}
.task:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
.task.p2{border-left-color:var(--line-2)}
.task .n{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--surface-2);font-weight:700;font-size:15px;color:var(--grey)}
.task h4{font-size:19px;letter-spacing:-.01em}
.task p{margin-top:6px;color:var(--muted);font-size:15px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.tag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:6px;font-size:12.5px;font-weight:500;background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}
.tag.prio1{background:var(--amber-soft);color:var(--amber);border-color:var(--amber-line)}
.tag.prio2{background:#fff;color:var(--ink)}
.tag.who{background:var(--green-soft);color:var(--green-ink);border-color:#cfe4b4}
.tag.who::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green)}
.cat{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;font-size:12.5px;font-weight:500;border:1px solid var(--line);background:#fff;color:var(--ink);white-space:nowrap}
.cat-pflicht{border-color:var(--grey);color:var(--ink)}
.cat-orient{border-style:dashed;border-color:var(--line-2)}
.cat-gb{color:var(--muted)}
.cat-empf{border-color:#cfe4b4;color:var(--green-ink)}
.allgood{padding:22px;border:1px solid #cfe4b4;border-radius:var(--rad);background:var(--green-softer);font-weight:500}
.done-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;align-items:center}
.done-list::before{content:"Erfüllt:";font-size:13px;font-weight:500;color:var(--muted);margin-right:4px}
.done-list span{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 8px;border-radius:99px;background:var(--green-soft);color:var(--green-ink);font-size:13.5px;font-weight:500}
.done-list span::before{content:"";width:16px;height:16px;border-radius:50%;background:var(--green) no-repeat center/10px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.3l2.6 2.5L10 3.4' fill='none' stroke='%231b260e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}

/* AED-Empfehlung */
.rec{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:22px clamp(18px,3vw,28px)}
.rec-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:12px;background:var(--green-soft);color:var(--green-ink)}
.rec h3{font-size:20px;margin-top:6px}
.rec p{margin-top:6px;color:var(--muted);font-size:15px}
.rec .tags{margin-top:0;justify-content:flex-end}
.rec .eyebrow::before{display:none}

/* Paket */
.pkg{overflow:hidden}
.pkg-head{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end;padding:clamp(22px,4vw,34px);border-bottom:1px solid var(--line)}
.pkg-head h3{font-size:clamp(24px,3vw,32px);margin-top:10px}
.pkg-head p{margin-top:10px;color:var(--muted);max-width:38em}
.pkg-cols{display:grid;grid-template-columns:repeat(3,1fr)}
.pkg-col{padding:22px clamp(18px,3vw,26px) 26px}
.pkg-col+.pkg-col{border-left:1px solid var(--line)}
.pn{font-size:18px;font-weight:700}
.pc{font-size:13px;color:var(--muted);margin-top:2px}
.pkg-col ul{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.pkg-col li{display:flex;gap:10px;align-items:flex-start;font-size:15px;font-weight:500}
.ck{flex:none;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--green);margin-top:1px}
.pkg-col .none{margin-top:16px;font-size:14px;color:var(--muted)}
.pkg-col.dim .pn{color:var(--grey)}
.pkg-extern{padding:14px clamp(18px,3vw,26px);border-top:1px solid var(--line);font-size:14px;color:var(--muted);background:var(--surface-2)}
.pkg-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px clamp(18px,3vw,26px);border-top:1px solid var(--line);background:var(--green-softer)}
.perks{display:flex;flex-wrap:wrap;gap:8px 20px}
.perks span{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500}
.perks span::before{content:"";width:8px;height:8px;border-radius:2px 8px 2px 8px;background:var(--green)}

/* Ablauf */
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;counter-reset:s}
.steps3>div{position:relative;padding:0 24px 0 0}
.steps3 .sn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;border:2px solid var(--green);font-weight:700;font-size:17px;color:var(--green-ink);position:relative;z-index:1}
.steps3>div:not(:last-child)::before{content:"";position:absolute;top:21px;left:44px;right:0;height:2px;background:linear-gradient(90deg,var(--green),var(--line));transform-origin:left;transition:transform .9s var(--ease) .2s}
.steps3 b{display:block;margin-top:16px;font-size:18px}
.steps3 span:not(.sn){display:block;margin-top:6px;color:var(--muted);font-size:15px}

/* Anfrage */
.lead-wrap{display:grid;grid-template-columns:.95fr 1.05fr;overflow:hidden}
.lead-info{padding:clamp(22px,4vw,36px);background:var(--surface-2);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:18px}
.lead-logo{width:clamp(200px,24vw,260px);height:auto;display:block}
.lead-info h3{font-size:clamp(24px,2.8vw,30px)}
.lead-info>p{color:var(--muted)}
.lead-open{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.lead-open li{display:flex;gap:10px;align-items:flex-start;font-size:15px;font-weight:500}
.lead-open li::before{content:"";flex:none;width:8px;height:8px;margin-top:8px;border-radius:2px 8px 2px 8px;background:var(--green)}
.contact{display:flex;flex-direction:column;gap:8px;margin-top:auto}
.contact .line{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--rad-s);background:#fff}
.contact .line svg{flex:none;color:var(--green-ink)}
.contact .line span{flex:1;min-width:0;font-weight:500;overflow-wrap:anywhere}
.contact .line button{flex:none;border:0;background:transparent;font-size:13px;font-weight:500;color:var(--green-ink);padding:6px 8px;border-radius:6px}
.contact .line button:hover{background:var(--green-soft)}
.addr{font-size:13px;color:var(--muted)}
.lead-form{padding:clamp(22px,4vw,36px);display:flex;flex-direction:column;gap:14px}
.lead-form h4{font-size:18px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld{display:flex;flex-direction:column;gap:6px}
.lead-form label,.fld-lbl{font-size:13px;font-weight:500;color:var(--muted)}
.lead-form input[type=text],.lead-form input[type=tel]{width:100%;min-height:48px;padding:0 14px;border:1.5px solid var(--line-2);border-radius:var(--rad-s);background:#fff;font-size:16px;transition:border-color .2s,box-shadow .2s}
.lead-form input:focus,.lead-form textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 4px var(--green-soft)}
.cb{display:flex;padding:3px;border-radius:var(--rad-s);background:var(--surface-2);border:1px solid var(--line)}
.cb button{flex:1;min-height:40px;border:0;border-radius:6px;background:transparent;font-size:14px;font-weight:500;color:var(--muted);transition:background .2s,color .2s}
.cb button[aria-pressed="true"]{background:#fff;color:var(--ink);box-shadow:var(--shadow-s),0 0 0 1px var(--line)}
.lead-form textarea{width:100%;min-height:150px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--rad-s);background:var(--surface-2);font-size:13.5px;line-height:1.5;color:var(--muted);resize:vertical}
.actions{display:grid;grid-template-columns:1.3fr 1fr;gap:10px}
.mailbtn,.send{width:100%}
.small-note{font-size:13px;color:var(--muted)}
.small-note a{color:var(--green-ink)}
.toast{min-height:20px;font-size:14px;font-weight:700;color:var(--green-ink)}

/* Anhang */
.appendix{display:flex;flex-direction:column;gap:10px}
details{border:1px solid var(--line);border-radius:var(--rad);background:var(--surface);overflow:hidden}
summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:0 20px;font-size:17px;font-weight:700;cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"";width:12px;height:12px;flex:none;border-right:2px solid var(--grey);border-bottom:2px solid var(--grey);transform:rotate(45deg) translate(-3px,-3px);transition:transform .25s var(--ease)}
details[open] summary::after{transform:rotate(225deg) translate(-3px,-3px)}
summary:hover{background:var(--surface-2)}
summary small{font-size:13px;font-weight:400;color:var(--muted);margin-left:auto}
.det-body{padding:4px 20px 20px;border-top:1px solid var(--line)}
.det-note{margin:14px 0;font-size:14px;color:var(--muted)}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14.5px}
th{text-align:left;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 12px 8px 0;border-bottom:1.5px solid var(--line-2)}
td{padding:12px 12px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
td:first-child{font-weight:500}
td.src{color:var(--muted);font-size:13.5px}
.extra{list-style:none;margin:8px 0 0;padding:0}
.extra li{display:flex;flex-direction:column;gap:6px;padding:14px 0}
.extra li+li{border-top:1px solid var(--line)}
.extra b{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:16px}
.extra span{color:var(--muted);font-size:15px}

.res-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding-top:clamp(32px,5vw,48px)}
.res-actions button{min-height:46px;font-size:15px}

/* Schwebender Button */
.dock{position:fixed;left:0;right:0;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:15;display:flex;justify-content:center;pointer-events:none;transition:transform .4s var(--ease),opacity .3s}
.dock.away{transform:translateY(130%);opacity:0}
#dockBtn{pointer-events:auto;box-shadow:0 12px 30px -10px rgba(34,44,24,.45)}
#dockBtn b{display:grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:99px;background:var(--on-green);color:#fff;font-size:14px}
#app.has-dock{padding-bottom:84px}

/* Einblenden beim Scrollen */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}
.steps3.rv:not(.in)>div::before{transform:scaleX(0)}
.rv .todo>*{transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:calc(var(--i,0)*70ms)}
.rv:not(.in) .todo>*{opacity:0;transform:translateY(10px)}

/* ---------- Footer ---------- */
.site-foot{margin-top:clamp(48px,7vw,80px);background:#fff;border-top:1px solid var(--line);padding-block:clamp(32px,5vw,48px) 28px}
.group{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,5vw,56px);align-items:center;padding-bottom:28px;border-bottom:1px solid var(--line)}
.group-head img{display:block;width:clamp(180px,20vw,220px);height:auto}
.group-head p{margin-top:12px;font-size:14px;color:var(--muted)}
.group-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr)}
.group-list li{display:flex;flex-direction:column;gap:2px;padding:4px 0 4px 18px;border-left:3px solid var(--line)}
.group-list li:first-child{border-left-color:var(--green)}
.group-list b{font-size:16px}
.group-list span{font-size:13px;color:var(--muted)}
.foot-meta{display:flex;flex-direction:column;gap:10px;padding-top:22px;font-size:13px;color:var(--muted)}
.foot-disc{max-width:62em}
.legal{display:flex;gap:20px}
.legal a{color:var(--ink);font-weight:500;text-decoration:none;border-bottom:1px solid var(--line-2)}
.legal a:hover{color:var(--green-ink);border-color:var(--green)}


/* ---------- Bewegung & Hover (V6.1) ---------- */
/* Startseite baut sich nacheinander auf */
.hero-text>*{animation:rise .7s var(--ease) backwards}
.hero-text>:nth-child(1){animation-delay:.05s}.hero-text>:nth-child(2){animation-delay:.13s}.hero-text>:nth-child(3){animation-delay:.21s}
.hero-text>:nth-child(4){animation-delay:.29s}.hero-text>:nth-child(5){animation-delay:.37s}.hero-text>:nth-child(6){animation-delay:.45s}
.hero-visual{animation:fadeScale .9s .15s var(--ease) backwards}
@keyframes fadeScale{from{opacity:0;transform:scale(.93)}}
/* Viertelkreise aus dem Logo bewegen sich ganz leicht */
.quarters path{animation:drift 8s ease-in-out infinite alternate}
.quarters path:nth-child(1){--dx:-5px;--dy:-5px}
.quarters path:nth-child(2){--dx:5px;--dy:-5px;animation-delay:-2.7s}
.quarters path:nth-child(3){--dx:5px;--dy:5px;animation-delay:-5.4s}
@keyframes drift{to{transform:translate(var(--dx),var(--dy))}}
/* Plakette schwebt und neigt sich zum Mauszeiger */
.hero-visual .plak{animation:float 6s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-8px)}}
.hero-visual,.res-badge{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .6s var(--ease)}
.plak path[id]{transform-box:view-box;transform-origin:50% 50%;transition:fill .35s ease,transform .3s var(--ease)}
.plak path[id]:hover{transform:scale(1.045)}
/* Start-Button: dezenter Puls, damit er gefunden wird */
#startBtn,#dockBtn{animation:ring 3s 1.6s ease-out infinite}
@keyframes ring{0%{box-shadow:0 8px 20px -10px rgba(84,140,30,.55),0 0 0 0 rgba(132,189,63,.45)}60%,100%{box-shadow:0 8px 20px -10px rgba(84,140,30,.55),0 0 0 14px rgba(132,189,63,0)}}
/* Lichtkante über grüne Buttons beim Drüberfahren */
.btn-primary,.next,.mailbtn,.pkg-cta,#dockBtn{position:relative;overflow:hidden;isolation:isolate}
.btn-primary::before,.next::before,.mailbtn::before,.pkg-cta::before,#dockBtn::before{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:translateX(-160%) skewX(-20deg);transition:transform .75s var(--ease);pointer-events:none;z-index:-1}
.btn-primary:hover::before,.next:hover::before,.mailbtn:hover::before,.pkg-cta:hover::before,#dockBtn:hover::before{transform:translateX(330%) skewX(-20deg)}
.back svg{transition:transform .25s var(--ease)}
.back:hover svg{transform:translateX(-3px)}
/* Kopfzeile wird beim Scrollen schlanker */
.bar{transition:box-shadow .3s}
body.scrolled .bar{box-shadow:0 6px 24px -16px rgba(34,44,24,.35)}
.bar-in{transition:min-height .3s var(--ease)}
body.scrolled:not(.in-flow) .bar-in{min-height:72px}
body.scrolled:not(.in-flow) .brand .logo{height:54px}
/* Fortschrittsbalken mit Glanz */
.prog-fill{background:linear-gradient(90deg,var(--green) 0,#b4dc80 50%,var(--green) 100%) 0 0/200% 100%;animation:sheen 2.6s linear infinite}
@keyframes sheen{to{background-position:-200% 0}}
/* Lichtpunkt folgt dem Mauszeiger auf Karten */
@media (hover:hover){
  .tile:hover,.chip:hover,.ans:hover,.task:hover,.pkg-col:hover,.promise>div:hover,.case-q:hover{background-image:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(132,189,63,.14),transparent 70%)}
}
.tile .ic{transition:background .2s,color .2s,transform .35s var(--ease)}
.tile:hover .ic{transform:scale(1.08) rotate(-5deg)}
.ans:hover .dot{transform:scale(1.08)}
.chip:hover .tk{border-color:var(--green)}
.promise>div{transition:background-color .3s;border-radius:4px}
.promise svg{transition:transform .35s var(--ease)}
.promise>div:hover svg{transform:translateY(-4px) scale(1.06)}
.ticker i:hover{color:var(--green-ink)}
.panel{transition:box-shadow .3s,transform .3s var(--ease)}
.pkg-col{transition:background-color .3s}
.pkg-col li .ck{transition:transform .3s var(--ease)}
.pkg-col:hover li .ck{transform:scale(1.12)}
.case-q{transition:background-color .2s;margin-inline:-10px;padding-inline:10px;border-radius:6px}
.contact .line{transition:border-color .2s,transform .2s var(--ease)}
.contact .line:hover{border-color:var(--green);transform:translateX(3px)}
.group-list li{transition:border-color .3s,transform .3s var(--ease)}
.group-list li:hover{border-left-color:var(--green);transform:translateX(4px)}
.legal a{background:linear-gradient(var(--green),var(--green)) 0 100%/0 1px no-repeat;transition:background-size .3s var(--ease),color .2s}
.legal a:hover{background-size:100% 1px}
.done-list span{transition:transform .2s var(--ease)}
.done-list span:hover{transform:translateY(-2px)}
details{transition:border-color .2s,box-shadow .2s}
details:hover{border-color:var(--line-2)}
/* Ergebnis: Inhalte erscheinen gestaffelt */
.rv .case-q,.rv .done-list span,.rv .pkg-col li,.rv .lead-open li{transition:opacity .5s var(--ease),transform .5s var(--ease),background-color .2s;transition-delay:calc(var(--i,0)*80ms + .15s)}
.rv:not(.in) .case-q,.rv:not(.in) .lead-open li{opacity:0;transform:translateX(-10px)}
.rv:not(.in) .done-list span,.rv:not(.in) .pkg-col li{opacity:0;transform:translateY(8px)}
.steps3.in .sn{animation:pop .5s var(--ease) backwards}
.steps3.in>div:nth-child(2) .sn{animation-delay:.35s}
.steps3.in>div:nth-child(3) .sn{animation-delay:.7s}
.promise.rv>div{transition:opacity .6s var(--ease),transform .6s var(--ease),background-color .3s}
.promise.rv>div:nth-child(2){transition-delay:.1s}.promise.rv>div:nth-child(3){transition-delay:.2s}
.promise.rv:not(.in)>div{opacity:0;transform:translateY(14px)}
.promise.rv,.promise.rv.in{opacity:1;transform:none}


/* ---------- Desktop-Struktur (V6.2) ---------- */
/* Abschnitts-Navigation auf der Ergebnisseite */
.res-nav{border-top:1px solid var(--line);background:rgba(255,255,255,.96)}
.res-nav-in{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding-block:6px}
.res-nav-in::-webkit-scrollbar{display:none}
.res-nav a{position:relative;flex:none;padding:8px 14px;border-radius:99px;font-size:14px;font-weight:500;color:var(--muted);text-decoration:none;white-space:nowrap;transition:color .2s,background .2s}
.res-nav a:hover{color:var(--ink);background:var(--surface-2)}
.res-nav a[aria-current="true"]{color:var(--green-ink);background:var(--green-soft)}
#sec-ueber,#sec-nachweis,#sec-plan,#sec-paket,#leadBlock,#sec-anhang{scroll-margin-top:150px}
/* Offene Punkte: Begründung aufklappbar, damit die Liste ruhig bleibt */
.task h4+.tags{margin-top:10px}
.task-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.task-more>div{overflow:hidden}
.task-more p{margin-top:12px}
.task.open .task-more{grid-template-rows:1fr}
.more{display:inline-flex;align-items:center;gap:6px;margin-top:6px;margin-bottom:-6px;padding:10px 0;border:0;background:none;font-size:14px;font-weight:500;color:var(--green-ink)}
.more svg{transition:transform .3s var(--ease)}
.task.open .more svg{transform:rotate(180deg)}
.more:hover span{text-decoration:underline;text-underline-offset:3px}
/* Ablauf im Anfragebereich */
.lead-steps{grid-column:1/-1;padding:22px clamp(22px,4vw,36px) 26px;border-bottom:1px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:18px}
.lead-steps .steps3 b{font-size:16px;margin-top:12px}
.lead-steps .steps3 span:not(.sn){font-size:14px}
.lead-steps .steps3 .sn{width:38px;height:38px;font-size:15px}
.lead-steps .steps3>div:not(:last-child)::before{top:18px;left:38px}
@media (min-width:901px){.dock{display:none}#app.has-dock{padding-bottom:0}}
/* Große Bildschirme: alles wächst gleichmäßig mit, statt klein in der Mitte zu stehen */
@media (min-width:1600px) and (min-height:860px){html{zoom:1.12}}
@media (min-width:1880px) and (min-height:960px){html{zoom:1.25}}
@media (min-width:2250px) and (min-height:1120px){html{zoom:1.45}}
@media (min-width:2700px) and (min-height:1300px){html{zoom:1.7}}
@media (min-width:3300px) and (min-height:1600px){html{zoom:2}}


/* Alles erfüllt: trotzdem Kontakt anbieten */
.hero-cta{display:flex;align-items:center;gap:14px 18px;flex-wrap:wrap;margin-top:22px}
.hero-cta span{font-size:14px;color:var(--muted);max-width:22em}
.allgood{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;font-weight:400}
.allgood>div{display:flex;flex-direction:column;gap:4px;max-width:44em}
.allgood b{font-size:17px}
.allgood span{color:var(--muted);font-size:15px}
.keep{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.keep li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink)}
.keep .ck{background:var(--green-soft)}
.pkg-col .none{margin-top:14px}
.topics{display:flex;flex-wrap:wrap;gap:8px}
.topics button{min-height:38px;padding:0 14px;border:1.5px solid var(--line-2);border-radius:99px;background:#fff;font-size:14px;font-weight:500;color:var(--muted);transition:border-color .2s,background .2s,color .2s}
.topics button:hover{border-color:var(--green)}
.topics button[aria-pressed="true"]{border-color:var(--green);background:var(--green-soft);color:var(--green-ink)}
.topics button[aria-pressed="true"]::before{content:"✓ "}
@media (max-width:680px){.hero-cta .btn-primary,.allgood .btn-ghost{width:100%}}


/* ---------- Kundengewinnung (V1.1) ---------- */
.hero-call{font-size:15px;color:var(--muted);margin-top:-8px}
.hero-call a{color:var(--ink);font-weight:700;text-decoration:none;border-bottom:1.5px solid var(--green);white-space:nowrap}
.hero-call a:hover{color:var(--green-ink)}
.hero-text>:nth-child(7){animation-delay:.53s}
.trust{list-style:none;margin:0 0 clamp(28px,5vw,48px);padding:18px 22px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 28px;border:1px solid var(--line);border-radius:var(--rad);background:var(--surface);box-shadow:var(--shadow-s)}
.trust li{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--muted);line-height:1.45}
.trust svg{flex:none;width:26px;height:26px;padding:4px;border-radius:50%;background:var(--green-soft);color:var(--green-ink)}
.trust b{display:block;font-size:15px;color:var(--ink)}
.call{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--rad-s);background:var(--green);color:var(--on-green);text-decoration:none;font-weight:700;font-size:17px;transition:background .2s,transform .2s var(--ease)}
.call:hover{background:var(--green-600);transform:translateY(-1px)}
.call>svg{flex:none;width:40px;height:40px;padding:9px;border-radius:50%;background:rgba(255,255,255,.35)}
.call small{display:block;font-size:13px;font-weight:500;opacity:.85}
.lead-info .call+.contact{margin-top:0}
.res-actions a.btn-ghost{min-height:46px;font-size:15px;text-decoration:none}
.res-actions a.btn-ghost svg{color:var(--green-ink)}
.dock{gap:10px;align-items:center}
.dock-call{pointer-events:auto;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--green-ink);border:1.5px solid var(--line);box-shadow:0 12px 30px -10px rgba(34,44,24,.45);text-decoration:none}
.dock-call:hover{border-color:var(--green)}
@media (max-width:900px){.trust{grid-template-columns:1fr;gap:12px}}
@media (max-width:680px){.res-actions>*{flex:1 1 100%}.call{font-size:16px}.lead-steps{order:3;border-bottom:0;border-top:1px solid var(--line)}}


/* ---------- Dankeschön & SiGeKo (V1.2) ---------- */
.hero-text>:nth-child(8){animation-delay:.61s}
.gift-teaser{display:flex;align-items:center;gap:12px;max-width:520px;padding:12px 16px;border:1px dashed #b9d996;border-radius:var(--rad-s);background:var(--green-softer);font-size:15px;color:var(--ink);line-height:1.45}
.gift-teaser svg{flex:none;color:var(--green-ink)}
.gift-teaser b{color:var(--green-ink)}
.goodie{display:grid;grid-template-columns:auto 1fr auto;gap:22px 28px;align-items:center;padding:clamp(22px,4vw,34px);background:linear-gradient(120deg,var(--green-softer),#fff 60%);border-color:#cfe4b4;position:relative;overflow:hidden}
.goodie::after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:0 0 0 180px;background:var(--green-soft);opacity:.6;pointer-events:none}
.goodie>*{position:relative;z-index:1}
.goodie-ic{display:grid;place-items:center;width:64px;height:64px;border-radius:16px;background:var(--green);color:var(--on-green);box-shadow:0 10px 22px -12px rgba(84,140,30,.7)}
.goodie h3{font-size:clamp(21px,2.6vw,26px);margin-top:8px}
.goodie p{margin-top:8px;color:var(--muted);max-width:40em}
.goodie ul{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.goodie li{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500}
.goodie li::before{content:"";width:8px;height:8px;border-radius:2px 8px 2px 8px;background:var(--green)}
.goodie-ic{animation:wiggle 4s 2s ease-in-out infinite}
@keyframes wiggle{0%,86%,100%{transform:none}90%{transform:rotate(-8deg) scale(1.05)}94%{transform:rotate(6deg) scale(1.05)}}
.goodie-opt{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border:1.5px dashed #b9d996;border-radius:var(--rad-s);background:var(--green-softer);text-align:left;transition:border-color .2s,background .2s}
.goodie-opt:hover{border-color:var(--green)}
.goodie-opt .tk{flex:none;width:24px;height:24px;border-radius:6px;border:1.5px solid var(--line-2);background:#fff}
.goodie-opt[aria-pressed="true"]{border-style:solid;border-color:var(--green);background:var(--green-soft)}
.goodie-opt[aria-pressed="true"] .tk{border-color:var(--green);background:var(--green) no-repeat center/14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.3l2.6 2.5L10 3.4' fill='none' stroke='%231b260e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.goodie-opt b{display:block;font-size:15px}
.goodie-opt small{font-size:13px;color:var(--muted)}
.rec.sg .rec-ic{background:var(--amber-soft);color:var(--amber)}
@media (max-width:900px){.goodie{grid-template-columns:auto 1fr}.goodie .btn-primary{grid-column:1/-1}}
@media (max-width:680px){.goodie{grid-template-columns:1fr}.goodie-ic{width:52px;height:52px}.goodie .btn-primary{width:100%}}

/* ---------- Responsiv ---------- */
@media (max-width:900px){
  .hero{grid-template-columns:1fr}
  .hero-visual{max-width:340px}
  .tiles{grid-template-columns:repeat(2,1fr)}
  .res-hero{grid-template-columns:1fr;grid-template-areas:"logo" "badge" "text"}
  .res-hero>.res-logo{justify-self:center;margin-bottom:8px}
  .res-badge{max-width:340px;width:100%;justify-self:center}
  .res-logo{margin-inline:0}
  .case,.lead-wrap{grid-template-columns:1fr}
  .case-head,.lead-info{border-right:0;border-bottom:1px solid var(--line)}
  .pkg-cols{grid-template-columns:1fr}
  .pkg-col+.pkg-col{border-left:0;border-top:1px solid var(--line)}
  .group{grid-template-columns:1fr}
}
@media (max-width:680px){
  .bar-in{min-height:68px;gap:10px}
  .brand .logo{height:54px}
  summary small{display:none}
  .cb button{font-size:13px}
  body.in-flow .bar-in{min-height:60px}
  body.in-flow .brand .logo{height:38px}
  .bar-label{font-size:11px}
  .bar-tel{font-size:14px}
  .prog{gap:8px}
  .prog-txt{display:none}
  .back{padding:0 10px;height:38px}
  .back span{display:none}
  .tally span{height:30px;padding:0 9px}
  .facts>div{min-width:0;padding-right:10px}
  .facts>div+div{padding-left:12px}
  .facts dd{font-size:16px}
  .btn-primary.big{width:100%}
  .hero-visual{max-width:300px}
  .promise{grid-template-columns:1fr;border-top:0}
  .promise>div,.promise>div+div{padding:16px 0;border-left:0;border-top:1px solid var(--line)}
  .chips{grid-template-columns:1fr 1fr}
  .chip{font-size:14px;padding:10px 12px;gap:10px}
  .q .next{width:100%}
  .btn-row>*{flex:1 1 100%}
  .ans{min-height:62px;font-size:17px}
  .ans kbd{display:none}
  .live-grid{grid-template-columns:1fr;gap:0}
  .live-grid div,.live-grid div+div{flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 0;border-left:0}
  .live-grid div+div{border-top:1px solid var(--line)}
  .live-grid b{order:2;font-size:20px}
  .num-in{font-size:34px}
  .size-top{flex-direction:column;align-items:stretch}
  .stepper{justify-content:space-between}
  .stepper .num-in{flex:1}
  .pres{flex-direction:column;align-items:stretch}
  .kpis{grid-template-columns:1fr}
  .kpi,.kpi+.kpi{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 0;border-left:0}
  .kpi+.kpi{border-top:1px solid var(--line)}
  .kpi .v{order:2;font-size:26px}
  .kpi .k{margin-top:0}
  .vtoggle{display:flex;width:100%}
  .vtoggle button{flex:1;padding:0 10px}
  .rec{grid-template-columns:auto 1fr}
  .rec .tags{grid-column:1/-1;justify-content:flex-start}
  .pkg-head{grid-template-columns:1fr}
  .pkg-cta{width:100%}
  .steps3{grid-template-columns:1fr;gap:22px}
  .steps3>div{display:grid;grid-template-columns:44px 1fr;column-gap:16px;padding:0}
  .steps3>div::before{display:none}
  .lead-steps .steps3>div{grid-template-columns:38px 1fr}
  .res-nav a{padding:7px 12px;font-size:13.5px}
  #sec-ueber,#sec-nachweis,#sec-plan,#sec-paket,#leadBlock,#sec-anhang{scroll-margin-top:124px}
  .steps3 .sn{grid-row:span 2}
  .steps3 b{margin-top:8px}
  .row2,.actions{grid-template-columns:1fr}
  .group-list{grid-template-columns:1fr;gap:12px}
  .case-q{flex-direction:column;align-items:flex-start;gap:6px}
  th:nth-child(3),td:nth-child(3){display:none}
}

/* ---------- Bewegung reduzieren ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
  .ticker-track{animation:none!important;flex-wrap:wrap;width:auto}
  .ticker-track>div+div{display:none}
  .ticker-track>div{flex-wrap:wrap;justify-content:center;padding:6px 16px}
  .ticker i{padding:6px 0 6px 18px}
  .rv,.rv:not(.in) .todo>*{opacity:1!important;transform:none!important}
  .pulse::after{display:none}
  .goodie-ic{animation:none!important}
  .hero-visual,.res-badge{transform:none!important}
  .rv .case-q,.rv .done-list span,.rv .pkg-col li,.rv .lead-open li,.promise.rv>div{opacity:1!important;transform:none!important}
}

/* ---------- Druck / PDF ---------- */
@media print{
  @page{margin:14mm}
  body{background:#fff;font-size:11pt}
  .bar{position:static;border:0}
.task-more{grid-template-rows:1fr!important}.more{display:none!important}
  .gift-teaser,#goodieBtn,.hero-call,.trust,#fwdBtn,.call,.hero-cta,.allgood button,.res-nav,.bar-side,.prog,.prog-line,.dock,.vtoggle,.res-actions,.pkg-cta,.lead-form,.contact button,#scr-start,.ticker{display:none!important}
  .rv{opacity:1!important;transform:none!important}
  .panel,.task,details{box-shadow:none;break-inside:avoid}
  details>*:not(summary){display:block!important}
  details .det-body{display:block}
  .lead-wrap{grid-template-columns:1fr}
  .res-top{border:0}
  .site-foot{margin-top:24px}
  a{text-decoration:none}
}
