/* =====================================================================
   Die Versicherungshexe aus dem Harz – Kinder-Zahnschutz
   Designsystem: warmer Cremegrund, Navy-Text, Hexenblau als Marke,
   EINE warme Aktionsfarbe nur für Buttons, Handschrift nur für ein Wort.
   ===================================================================== */
:root{
  --creme:#FFFAF3; --karte:#FFFFFF; --sand:#F3EADC; --linie:#E9E0D2;
  --navy:#0C2F4D; --text:#14283A; --leise:#5A6B7B;
  --blau:#008FDE; --blau-dunkel:#0072B3; --blau-hell:#E2F2FC; --himmel:#D8ECFA;
  --cta:#F0592B; --cta-dunkel:#D8481C; --cta-schatten:rgba(240,89,43,.32);
  --ok:#1B8A4B; --ok-hell:#E6F5EC; --warn:#8A5A00; --warn-hell:#FFF4DC;
  --fehler:#C2331A; --fehler-hell:#FDECE7;
  --r-s:12px; --r-m:18px; --r-l:26px; --pille:999px;
  --schatten:0 10px 30px rgba(12,47,77,.08);
  --f-kopf:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-text:"Nunito Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-hand:"Caveat","Bradley Hand",cursive;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--f-text);font-size:17px;line-height:1.55;color:var(--text);background:var(--creme);min-height:100vh;overflow-x:hidden}
img{max-width:100%;display:block}
button,input,select{font:inherit;color:inherit}
a{color:var(--blau-dunkel)}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wrap{max-width:1080px;margin:0 auto;padding-inline:20px}
.schmal{max-width:560px;margin:0 auto;padding-inline:20px}

/* ---------- Typo ---------- */
h1,h2,h3{font-family:var(--f-kopf);color:var(--navy);line-height:1.15;text-wrap:balance}
h1{font-size:clamp(27px,7vw,52px);font-weight:900;letter-spacing:-.01em}
h2{font-size:clamp(25px,5.6vw,38px);font-weight:900}
h3{font-size:19px;font-weight:800}
.hand{font-family:var(--f-hand);font-weight:700;color:var(--blau);font-size:1.22em;line-height:.9;position:relative;white-space:nowrap;display:inline-block;padding:0 .06em}
.hand::after{content:"";position:absolute;left:2%;right:2%;bottom:-.08em;height:.14em;background:var(--blau);border-radius:99px;transform:rotate(-1.2deg);opacity:.9}
.eyebrow{font-family:var(--f-kopf);font-weight:800;font-size:12.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--blau-dunkel);margin-bottom:10px}
.lead{font-size:18.5px;color:var(--leise);max-width:34em}
.klein{font-size:13.5px;color:var(--leise);line-height:1.45}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:56px;padding:14px 18px;border:0;border-radius:var(--pille);background:var(--cta);color:#fff;font-family:var(--f-kopf);font-weight:800;font-size:clamp(14.5px,4vw,16.5px);line-height:1.2;text-decoration:none;cursor:pointer;box-shadow:0 12px 26px var(--cta-schatten);transition:transform .12s ease,background .15s ease}
.btn:hover{background:var(--cta-dunkel)}
.btn:active{transform:scale(.98)}
.btn[disabled]{background:#D9D2C6;box-shadow:none;color:#fff;cursor:not-allowed}
.btn-linie{background:#fff;color:var(--navy);box-shadow:none;border:2px solid var(--navy)}
.btn-linie:hover{background:var(--blau-hell)}
.btn-blau{background:var(--blau);box-shadow:0 12px 26px rgba(0,143,222,.28)}
.btn-blau:hover{background:var(--blau-dunkel)}
.btn-text{background:none;border:0;color:var(--leise);font-weight:700;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:12px;font-size:15.5px}
.btn .pfeil{font-size:20px;line-height:1}
:focus-visible{outline:3px solid var(--blau);outline-offset:3px;border-radius:8px}

/* ---------- Kopf ---------- */
.kopf{position:sticky;top:0;z-index:30;background:rgba(255,250,243,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--linie)}
.kopf-in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}
.logo{display:flex;align-items:center;text-decoration:none}
.logo img{height:38px;width:auto}
.kopf-kontakt{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-kopf);font-weight:700;font-size:14px;color:var(--navy);text-decoration:none;padding:9px 14px;border-radius:var(--pille);border:1.5px solid var(--linie);background:#fff;white-space:nowrap}
.testbanner{background:var(--navy);color:#FFD27A;font-size:12.5px;font-weight:700;text-align:center;padding:6px 12px}

/* ---------- Hero ---------- */
.hero{padding-block:28px 44px}
.hero-grid{display:grid;gap:28px;align-items:center}
.hero-cta{display:flex;flex-direction:column;gap:12px;margin-top:22px;max-width:420px}
.hero-fakten{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:20px;font-size:14.5px;color:var(--leise);font-weight:600}
.hero-fakten span{display:inline-flex;align-items:center;gap:7px}
.hero-fakten i{font-style:normal;width:20px;height:20px;border-radius:50%;background:var(--ok-hell);color:var(--ok);display:inline-grid;place-items:center;font-size:12px;font-weight:900}
.hero-bild{position:relative;max-width:420px;margin-inline:auto;width:100%}
.kreis{aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--himmel);box-shadow:0 0 0 10px #fff,0 0 0 13px var(--blau),var(--schatten)}
.kreis img{width:100%;height:100%;object-fit:cover}
.hero-hexe{position:absolute;right:-6px;top:-10px;width:30%;filter:drop-shadow(0 6px 10px rgba(12,47,77,.18))}
.preis-badge{position:absolute;left:-4px;bottom:6%;background:#fff;border-radius:var(--r-m);padding:10px 16px;box-shadow:var(--schatten);font-family:var(--f-kopf);line-height:1.15;border:1px solid var(--linie)}
.preis-badge small{display:block;font-size:11.5px;font-weight:700;color:var(--leise);letter-spacing:.04em;text-transform:uppercase}
.preis-badge b{font-size:24px;font-weight:900;color:var(--navy)}
.preis-badge span{font-size:12.5px;color:var(--leise);font-weight:700}

/* ---------- Abschnitte ---------- */
section.block{padding-block:48px}
.block.hell{background:#fff;border-block:1px solid var(--linie)}
.block.blau{background:var(--navy);color:#E4EEF6}
.block.blau h2,.block.blau h3{color:#fff}
.block-kopf{max-width:640px;margin-bottom:26px}
.block-kopf p{margin-top:10px;color:var(--leise);font-size:18px}
.block.blau .block-kopf p{color:#B9CEDF}

/* Tarif-Vorschau */
.tarif-mini{display:grid;gap:14px}
.tm{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1.5px solid var(--linie);border-radius:var(--r-m);padding:16px 18px;text-decoration:none;color:inherit;transition:transform .12s,border-color .15s}
.tm:hover{border-color:var(--blau);transform:translateY(-2px)}
.tm.emp{border:2.5px solid var(--blau);box-shadow:var(--schatten)}
.tm-rolle{font-family:var(--f-kopf);font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blau-dunkel)}
.tm-name{font-family:var(--f-kopf);font-weight:800;font-size:17px;color:var(--navy);line-height:1.25}
.tm-kfo{font-size:14px;color:var(--leise);margin-top:2px}
.tm-preis{text-align:right;font-family:var(--f-kopf);white-space:nowrap;line-height:1.1}
.tm-preis small{display:block;font-size:11.5px;color:var(--leise);font-weight:700}
.tm-preis b{font-size:23px;font-weight:900;color:var(--navy);font-variant-numeric:tabular-nums}

/* Beispielrechnung */
.rechnung-grid{display:grid;gap:26px;align-items:center}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.vs-k{border-radius:var(--r-m);padding:18px 14px;text-align:center;font-family:var(--f-kopf)}
.vs-k small{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
.vs-k b{display:block;font-size:clamp(28px,8vw,40px);font-weight:900;line-height:1;font-variant-numeric:tabular-nums}
.vs-k span{display:block;font-family:var(--f-text);font-size:13px;margin-top:8px}
.vs-ohne{background:var(--fehler-hell);color:#8E2613}
.vs-mit{background:var(--ok-hell);color:#125E33;outline:2.5px solid var(--ok)}
.posten{list-style:none;background:#fff;border:1px solid var(--linie);border-radius:var(--r-m);padding:4px 18px;margin-top:14px}
.posten li{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px dashed var(--linie);font-size:15.5px;font-variant-numeric:tabular-nums}
.posten li:last-child{border-bottom:0;font-weight:800;color:var(--navy)}
.posten li span:last-child{white-space:nowrap;font-weight:700}
.rechnung-bild{max-width:300px;margin-inline:auto;position:relative}
.sprech{position:absolute;right:-8px;bottom:8%;background:#fff;border:1px solid var(--linie);border-radius:16px 16px 4px 16px;padding:8px 12px;font-family:var(--f-hand);font-size:22px;font-weight:700;color:var(--navy);box-shadow:var(--schatten);line-height:1.05;transform:rotate(-3deg)}

/* Zeitleiste */
.zeit{list-style:none;position:relative;padding-left:34px;display:grid;gap:22px}
.zeit::before{content:"";position:absolute;left:11px;top:8px;bottom:8px;width:3px;background:linear-gradient(var(--blau) 0 62%,var(--cta) 62%);border-radius:9px}
.zeit li{position:relative}
.zeit li::before{content:"";position:absolute;left:-34px;top:3px;width:25px;height:25px;border-radius:50%;background:var(--blau);border:5px solid var(--creme)}
.block.hell .zeit li::before{border-color:#fff}
.zeit li.stopp::before{background:var(--cta)}
.zeit b{display:block;font-family:var(--f-kopf);font-weight:800;color:var(--navy);font-size:17px}
.zeit span{color:var(--leise);font-size:15.5px}
.zeit-grid{display:grid;gap:28px;align-items:center}

/* Ablauf */
.ablauf{list-style:none;counter-reset:a;display:grid;gap:14px}
.ablauf li{counter-increment:a;background:#fff;border:1px solid var(--linie);border-radius:var(--r-m);padding:20px 18px 18px;position:relative}
.ablauf li::before{content:counter(a);font-family:var(--f-kopf);font-weight:900;font-size:17px;width:38px;height:38px;border-radius:50%;background:var(--blau);color:#fff;display:grid;place-items:center;margin-bottom:12px}
.ablauf b{display:block;font-family:var(--f-kopf);font-weight:800;color:var(--navy);margin-bottom:4px}
.ablauf span{color:var(--leise);font-size:15.5px}

/* Claudia */
.claudia{display:grid;gap:26px;align-items:start}
.claudia-foto{position:relative;width:min(240px,62%);margin-inline:auto}
.claudia-foto .kreis{box-shadow:0 0 0 8px rgba(255,255,255,.12),0 0 0 11px var(--blau)}
.claudia-jahre{position:absolute;right:-10px;bottom:4px;background:var(--blau);color:#fff;font-family:var(--f-kopf);font-weight:800;font-size:13px;line-height:1.15;text-align:center;padding:9px 12px;border-radius:14px;box-shadow:var(--schatten)}
.claudia-jahre b{display:block;font-size:20px;font-weight:900}
.zitat{font-family:var(--f-hand);font-size:27px;line-height:1.15;color:#fff;border-left:4px solid var(--blau);padding-left:16px;margin-top:18px}
.ehrenwort{display:grid;gap:12px;margin-top:8px}
.ew{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-m);padding:16px 18px;display:flex;gap:14px;align-items:flex-start}
.ew i{font-style:normal;flex:0 0 36px;height:36px;border-radius:50%;background:var(--blau);display:grid;place-items:center;font-size:17px}
.ew b{display:block;font-family:var(--f-kopf);color:#fff;font-weight:800}
.ew span{font-size:15px;color:#C4D6E5}
.register{margin-top:18px;background:#fff;color:var(--text);border-radius:var(--r-m);padding:14px 18px;font-size:14.5px;display:flex;gap:12px;align-items:center}
.register b{font-family:var(--f-kopf);color:var(--navy);font-variant-numeric:tabular-nums}

/* Versicherer */
.marken{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.marke{background:#fff;border:1px solid var(--linie);border-radius:var(--r-s);padding:14px 8px;text-align:center}
.marke b{display:block;font-family:var(--f-kopf);font-weight:900;font-size:clamp(12.5px,3.5vw,16px);color:var(--navy);letter-spacing:.02em}
.marke span{display:block;font-size:12px;color:var(--leise);margin-top:4px;line-height:1.3}

/* FAQ */
.faq details{background:#fff;border:1px solid var(--linie);border-radius:var(--r-m);margin-bottom:10px}
.faq summary{cursor:pointer;list-style:none;padding:17px 52px 17px 18px;font-family:var(--f-kopf);font-weight:800;color:var(--navy);font-size:16px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--blau-hell);color:var(--blau-dunkel);display:grid;place-items:center;font-size:20px;font-weight:800}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 18px 18px;color:var(--leise);font-size:16px}

/* Schluss */
.schluss{text-align:center}
.schluss .btn{max-width:420px;margin:22px auto 0}
.schluss-hexe{width:96px;margin:0 auto 10px}

/* Fuß */
.fuss{background:#fff;border-top:1px solid var(--linie);padding-block:28px 110px;font-size:14px;color:var(--leise);text-align:center}
.fuss nav{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;margin-bottom:12px}
.fuss a,.fuss button{color:var(--leise);background:none;border:0;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* Klebeleiste mobil */
.kleben{position:fixed;left:0;right:0;bottom:0;z-index:25;background:rgba(255,250,243,.96);backdrop-filter:blur(8px);border-top:1px solid var(--linie);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));transform:translateY(110%);transition:transform .25s ease}
.kleben.an{transform:none}
.kleben .btn{max-width:520px;margin-inline:auto;display:flex;min-height:52px}

/* =====================================================================
   ANTRAG (Funnel)
   ===================================================================== */
body.im-antrag .seite{display:none}
body:not(.im-antrag) #antrag{display:none}
#antrag{min-height:calc(100vh - 64px);padding-bottom:120px}
.etappen{display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:16px 8px 6px;max-width:560px;margin:0 auto;position:relative}
.etappe{text-align:center;position:relative;font-family:var(--f-kopf);font-size:10.5px;font-weight:700;color:#A79F92;line-height:1.2}
.etappe::before{content:"";display:block;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--linie);margin:0 auto 6px;position:relative;z-index:1}
.etappe::after{content:"";position:absolute;top:8.5px;left:-50%;width:100%;height:3px;background:var(--linie)}
.etappe:first-child::after{display:none}
.etappe.durch::before{background:var(--blau);border-color:var(--blau)}
.etappe.durch::after,.etappe.aktiv::after{background:var(--blau)}
.etappe.aktiv{color:var(--navy)}
.etappe.aktiv::before{border-color:var(--blau);box-shadow:0 0 0 4px var(--blau-hell)}

.screen{display:none;padding-top:18px;animation:rein .28s ease}
.screen.an{display:block}
@keyframes rein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.screen h1{font-size:clamp(26px,6.8vw,34px);margin-bottom:10px}
.screen .lead{font-size:17px;margin-bottom:20px}
.mitte{text-align:center}
.begleit{width:132px;height:132px;border-radius:50%;background:var(--blau-hell);margin:6px auto 16px;display:grid;place-items:center;box-shadow:0 0 0 6px #fff,0 0 0 8px var(--blau)}
.begleit img{width:74%}
.begleit.foto{overflow:hidden;background:var(--himmel)}
.begleit.foto img{width:100%;height:100%;object-fit:cover}

.feld{margin-bottom:14px;text-align:left}
.feld label{display:block;font-family:var(--f-kopf);font-weight:700;font-size:13.5px;color:var(--navy);margin-bottom:6px}
input[type=text],input[type=email],input[type=tel],select{width:100%;min-height:54px;padding:14px 16px;border:2px solid var(--linie);border-radius:var(--r-s);background:#fff;font-size:17px;outline:none;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus{border-color:var(--blau);box-shadow:0 0 0 4px var(--blau-hell)}
input.err,select.err{border-color:var(--fehler);background:var(--fehler-hell)}
.gross input{min-height:64px;border-radius:var(--pille);text-align:center;font-size:20px;font-weight:700;box-shadow:var(--schatten)}
.zeile{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.zeile-31{display:grid;grid-template-columns:3fr 1.1fr;gap:10px}
.zeile-12{display:grid;grid-template-columns:1.1fr 2fr;gap:10px}
.fehler{display:none;background:var(--fehler-hell);color:var(--fehler);border-radius:var(--r-s);padding:11px 14px;font-size:15px;font-weight:700;margin:10px 0;text-align:left}
.fehler.an{display:block}
.honig{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

.vorteile{list-style:none;display:grid;gap:14px;margin-top:26px;padding-top:22px;border-top:1px solid var(--linie);text-align:left}
.vorteile li{display:flex;gap:14px;align-items:flex-start}
.vorteile i{font-style:normal;flex:0 0 40px;height:40px;border-radius:50%;background:var(--blau-hell);display:grid;place-items:center;font-size:19px}
.vorteile b{display:block;font-family:var(--f-kopf);font-weight:800;color:var(--navy);font-size:15.5px}
.vorteile span{font-size:14.5px;color:var(--leise)}

/* Auswahl-Optionen */
.optionen{display:grid;gap:12px;text-align:left}
.opt{display:flex;align-items:center;gap:14px;width:100%;background:#fff;border:2px solid var(--linie);border-radius:var(--r-m);padding:18px;font-family:var(--f-kopf);font-weight:800;font-size:16.5px;color:var(--navy);cursor:pointer;text-align:left;transition:border-color .15s,background .15s,transform .1s}
.opt::before{content:"";flex:0 0 24px;height:24px;border-radius:50%;border:2.5px solid #CFC6B7;background:#fff;transition:all .15s}
.opt:hover{border-color:var(--blau)}
.opt:active{transform:scale(.99)}
.opt.gewaehlt{border-color:var(--blau);background:var(--blau-hell)}
.opt.gewaehlt::before{border-color:var(--blau);background:radial-gradient(var(--blau) 0 45%,#fff 50%)}
.opt small{display:block;font-family:var(--f-text);font-weight:400;font-size:14px;color:var(--leise);margin-top:2px}
.hinweis{border-radius:var(--r-m);padding:14px 16px;font-size:15px;display:flex;gap:12px;text-align:left;margin:14px 0}
.hinweis b{display:block;color:inherit}
.hinweis.blau{background:var(--blau-hell);color:#0B4D75}
.hinweis.gelb{background:var(--warn-hell);color:var(--warn)}
.hinweis.gruen{background:var(--ok-hell);color:#125E33}
.aufklapp{background:#fff;border:1px solid var(--linie);border-radius:var(--r-m);margin:12px 0;text-align:left}
.aufklapp summary{cursor:pointer;list-style:none;padding:14px 46px 14px 16px;font-family:var(--f-kopf);font-weight:700;font-size:14.5px;color:var(--navy);position:relative}
.aufklapp summary::-webkit-details-marker{display:none}
.aufklapp summary::after{content:"";position:absolute;right:18px;top:50%;width:9px;height:9px;border-right:2.5px solid var(--blau-dunkel);border-bottom:2.5px solid var(--blau-dunkel);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.aufklapp[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.aufklapp .inhalt{padding:0 16px 16px;font-size:14px;color:var(--leise);line-height:1.5}
.aufklapp .inhalt p+p{margin-top:8px}

/* Tarifkarten */
.karten{display:grid;gap:22px;margin-top:8px}
.tk{position:relative;background:#fff;border:2px solid var(--linie);border-radius:var(--r-l);padding:22px 18px 18px;box-shadow:var(--schatten);text-align:left}
.tk.emp{border:3px solid var(--blau);padding-top:30px}
.tk-rolle{position:absolute;top:-14px;left:18px;font-family:var(--f-kopf);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:6px 14px;border-radius:var(--pille);background:#fff;color:var(--leise);border:2px solid var(--linie)}
.tk.emp .tk-rolle{background:var(--blau);color:#fff;border-color:var(--blau)}
.tk-kopf{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.tk-anbieter{font-family:var(--f-kopf);font-size:12.5px;font-weight:800;letter-spacing:.08em;color:var(--leise);text-transform:uppercase}
.tk-name{font-family:var(--f-kopf);font-size:20px;font-weight:900;color:var(--navy);line-height:1.2}
.tk-preis{text-align:right;font-family:var(--f-kopf);white-space:nowrap;line-height:1.05}
.tk-preis b{font-size:27px;font-weight:900;color:var(--navy);font-variant-numeric:tabular-nums}
.tk-preis small{display:block;font-size:12px;color:var(--leise);font-weight:700;margin-top:3px}
.tk-rating{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.tk-rating span{font-size:12px;font-weight:700;background:var(--sand);color:var(--navy);border-radius:8px;padding:4px 9px}
.tk-kfo{background:var(--blau-hell);border-radius:var(--r-m);padding:14px 16px;margin:4px 0 6px;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:center}
.tk-kfo .label{grid-column:1/-1;font-family:var(--f-kopf);font-size:11.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--blau-dunkel)}
.tk-kfo b{font-family:var(--f-kopf);font-size:34px;font-weight:900;color:var(--navy);line-height:1;white-space:nowrap}
.tk-kfo span{font-size:14px;line-height:1.35;color:#0B4D75}
.tk-zeilen{list-style:none}
.tk-zeilen li{display:flex;justify-content:space-between;gap:12px;padding:11px 2px;border-bottom:1px dashed var(--linie);font-size:15.5px}
.tk-zeilen li:last-child{border-bottom:0}
.tk-zeilen li b{font-family:var(--f-kopf);font-weight:800;color:var(--navy);text-align:right;white-space:nowrap}
.tk .aufklapp{border-radius:var(--r-s);background:var(--creme)}
.dl{display:grid;gap:12px}
.dl dt{font-family:var(--f-kopf);font-weight:800;font-size:13px;color:var(--navy)}
.dl dd{font-size:14px;color:var(--leise)}
.staffel{list-style:none;margin-top:4px}
.staffel li{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px dotted var(--linie);font-variant-numeric:tabular-nums}
.staffel li:last-child{border-bottom:0}
.staffel li b{color:var(--navy);white-space:nowrap}
.tk .btn{margin-top:14px}
.tk:not(.emp) .btn{background:var(--navy);box-shadow:none}
.tk:not(.emp) .btn:hover{background:#083052}
.beratung-box{display:grid;grid-template-columns:64px 1fr;gap:12px 14px;align-items:center;background:#fff;border:1.5px dashed var(--blau);border-radius:var(--r-m);padding:16px;margin-top:22px;text-align:left}
.beratung-box img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.beratung-box b{font-family:var(--f-kopf);font-weight:800;color:var(--navy);display:block;margin-bottom:2px}
.beratung-box .btn{grid-column:1/-1;min-height:50px}

/* Übersicht */
.ueber{background:#fff;border:1px solid var(--linie);border-radius:var(--r-m);padding:6px 16px;margin-bottom:16px;text-align:left}
.ueber-z{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px dashed var(--linie);font-size:15px}
.ueber-z:last-child{border-bottom:0}
.ueber-z small{display:block;font-family:var(--f-kopf);font-size:11.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--leise)}
.ueber-z b{color:var(--navy)}
.ueber-z button{background:none;border:0;color:var(--blau-dunkel);font-weight:700;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;align-self:center}
.summe{display:flex;justify-content:space-between;align-items:center;background:var(--navy);color:#fff;border-radius:var(--r-m);padding:16px 18px;margin-bottom:16px;font-family:var(--f-kopf)}
.summe small{display:block;font-size:12px;font-weight:700;color:#B9CEDF}
.summe b{font-size:26px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
.kasten{background:#fff;border:1px solid var(--linie);border-radius:var(--r-m);padding:18px 16px;margin-bottom:16px;text-align:left}
.kasten h3{margin-bottom:12px}
.doks{list-style:none;display:grid;gap:8px}
.doks a{display:flex;align-items:center;gap:10px;background:var(--creme);border:1px solid var(--linie);border-radius:var(--r-s);padding:12px 14px;font-weight:700;font-size:15px;color:var(--navy);text-decoration:none}
.doks a::before{content:"PDF";font-family:var(--f-kopf);font-size:10px;font-weight:900;background:var(--cta);color:#fff;border-radius:5px;padding:3px 6px;letter-spacing:.04em}
.check{display:flex;gap:12px;align-items:flex-start;padding:12px 0;font-size:14.5px;line-height:1.45;cursor:pointer;border-bottom:1px dashed var(--linie)}
.check:last-of-type{border-bottom:0}
.check input{flex:0 0 24px;width:24px;height:24px;margin-top:1px;accent-color:var(--blau);cursor:pointer}
.check.err{background:var(--fehler-hell);border-radius:var(--r-s);padding:12px}
.linkbtn{background:none;border:0;padding:0;color:var(--blau-dunkel);font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:inherit}
.unter-btn{display:flex;flex-direction:column;gap:6px;margin-top:18px}
.siegelzeile{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-top:16px;font-size:13.5px;color:var(--leise);font-weight:600}

/* Danke */
.danke-haken{width:84px;height:84px;border-radius:50%;background:var(--ok-hell);color:var(--ok);display:grid;place-items:center;font-size:42px;margin:10px auto 16px;box-shadow:0 0 0 8px #fff,0 0 0 10px var(--ok)}
.weiter-liste{list-style:none;counter-reset:w;text-align:left}
.weiter-liste li{counter-increment:w;display:flex;gap:14px;padding:11px 0;font-size:15.5px}
.weiter-liste li::before{content:counter(w);flex:0 0 30px;height:30px;border-radius:50%;background:var(--blau);color:#fff;font-family:var(--f-kopf);font-weight:900;display:grid;place-items:center;font-size:14px}
.kontaktkarte{display:flex;gap:14px;align-items:center;text-align:left}
.kontaktkarte img{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:0 0 72px}

/* Fenster (Modal) */
.fenster{position:fixed;inset:0;z-index:60;background:rgba(12,47,77,.55);display:none;align-items:flex-end;justify-content:center}
.fenster.an{display:flex}
.fenster-in{background:#fff;width:100%;max-width:600px;max-height:86vh;overflow:auto;border-radius:var(--r-l) var(--r-l) 0 0;padding:22px 20px calc(24px + env(safe-area-inset-bottom,0px))}
.fenster-in h3{margin-bottom:12px;padding-right:40px}
.fenster-in p{font-size:15px;color:var(--text);margin-bottom:10px}
.fenster-zu{position:sticky;top:0;float:right;width:38px;height:38px;border-radius:50%;border:0;background:var(--sand);font-size:20px;cursor:pointer;color:var(--navy)}

/* Cookie */
.cookie{position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;border-top:1px solid var(--linie);box-shadow:0 -10px 34px rgba(12,47,77,.14);padding:18px 18px calc(18px + env(safe-area-inset-bottom,0px))}
.cookie-in{max-width:560px;margin:0 auto}
.cookie p{font-size:14.5px;color:var(--leise);margin-bottom:12px}
.cookie p b{color:var(--navy);font-family:var(--f-kopf)}
.cookie-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cookie-btns .btn{min-height:48px;font-size:14px;box-shadow:none;padding-inline:10px}

.toasts{position:fixed;top:74px;left:50%;transform:translateX(-50%);z-index:80;display:flex;flex-direction:column;gap:6px;width:min(92vw,430px);pointer-events:none}
.toast{background:var(--navy);color:#E4EEF6;font-size:12.5px;border-radius:10px;padding:8px 12px;box-shadow:0 8px 22px rgba(0,0,0,.25)}
.toast b{color:#FFD27A}

/* Rechtstexte */
.recht{padding-block:34px 60px}
.recht h1{font-size:32px;margin-bottom:18px}
.recht h2{font-size:22px;margin:28px 0 10px}
.recht h3{font-size:17px;margin:20px 0 8px}
.recht p,.recht li{font-size:16px;margin-bottom:8px;color:var(--text)}
.recht ul,.recht ol{padding-left:22px}
.recht a{word-break:break-word}

/* ---------- Ab Tablet ---------- */
@media (min-width:860px){
  .hero{padding-block:56px 72px}
  .hero-grid{grid-template-columns:1.1fr .9fr;gap:56px}
  .hero-cta{flex-direction:row;max-width:none}
  .hero-cta .btn{width:auto;flex:0 0 auto;white-space:nowrap;padding-inline:26px}
  .logo img{height:46px}
  section.block{padding-block:76px}
  .tarif-mini{grid-template-columns:repeat(3,1fr)}
  .tm{flex-direction:column;align-items:flex-start;padding:22px}
  .tm-preis{text-align:left;margin-top:8px}
  .rechnung-grid,.zeit-grid{grid-template-columns:1fr 1fr;gap:56px}
  .ablauf{grid-template-columns:repeat(3,1fr)}
  .claudia{grid-template-columns:.8fr 1.2fr;gap:56px}
  .ehrenwort{grid-template-columns:1fr 1fr}
  .kleben{display:none}
  .fenster{align-items:center}
  .fenster-in{border-radius:var(--r-l)}
  .fuss{padding-bottom:28px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

[data-ab-preis],.nw{white-space:nowrap}

/* Beratungsseite */
.termin{padding-block:26px 60px}
.termin-kopf{text-align:center;max-width:640px;margin:0 auto 22px}
.termin-kopf .begleit{width:112px;height:112px}
.termin-punkte{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:16px;font-size:14.5px;color:var(--leise);font-weight:600}
.termin-punkte li::before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--ok-hell);color:var(--ok);font-size:12px;font-weight:900;margin-right:7px}
.kalender{background:#fff;border:1px solid var(--linie);border-radius:var(--r-l);box-shadow:var(--schatten);padding:8px;max-width:920px;margin:0 auto;min-height:620px}
.kalender iframe{width:100%;min-height:600px;border:0;display:block}
.doks a.info::before{content:"INFO";background:var(--blau)}
