:root{
  --bg:#FBFAF7; --bg2:#F4F5F7; --card:#FFFFFF; --card2:#F7F8FA;
  --paper:#FBFAF7; --beige:#EEEBE3;
  --ink:#121A24; --text:#232B36; --muted:#6B7480; --faint:#98A2B0;
  --line:#E6E4DE; --line2:#D4D3CB;
  --navy:#13233B; --accent:#1D3E6B; --accent2:#2C5A94; --accent-lite:#8FC6DE;
  --green:#2E7D5B; --greenDk:#E7F3EC; --greenLn:#BBDDCB;
  --amber:#9A6A16; --amberDk:#FBF3DE; --amberLn:#EAD9A6;
  --red:#B15540;   --redDk:#FBEEE9;   --redLn:#E4B9AC;
  --display:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --serif:'Manrope',system-ui,-apple-system,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background-color:var(--bg);
  color:var(--text);
  font-family:var(--display);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
}
.wrap{max-width:920px;margin:0 auto;padding:0 22px}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

/* ---------- NAV ---------- */
header.nav{position:sticky;top:0;z-index:50;background:var(--navy);border-bottom:1px solid #0c1a2e}
.nav-inner{max-width:960px;margin:0 auto;padding:10px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative}
.brand{font-size:14px;letter-spacing:.04em;font-weight:700;color:#fff;white-space:nowrap;text-decoration:none}
.brand span{color:var(--accent-lite)}
.brand:hover{text-decoration:none}
.nav-toggle{display:none;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:16px;line-height:1;padding:7px 11px;border-radius:8px;cursor:pointer}
.nav-links{display:flex;gap:4px;align-items:center}
.nav-item{position:relative}
.nav-item.has-sub::after{content:"";position:absolute;top:100%;left:0;right:0;height:8px}
.nav-top{display:inline-flex;align-items:center;gap:5px;color:rgba(255,255,255,.82);font-size:13px;font-weight:600;letter-spacing:.01em;padding:8px 12px;border-radius:8px;background:transparent;border:none;cursor:pointer;font-family:var(--display);white-space:nowrap;text-decoration:none}
.nav-top:hover{color:#fff;background:rgba(255,255,255,.08);text-decoration:none}
.nav-top .caret{width:9px;height:9px;opacity:.7;transition:transform .15s}
.nav-item.has-sub:hover .caret{transform:rotate(180deg)}
.nav-top.cta{color:#fff;background:var(--accent)}
.nav-top.cta:hover{background:#2C5A94;color:#fff}
.nav-sub{position:absolute;top:calc(100% + 8px);left:0;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 36px rgba(6,22,77,.18);padding:7px;display:none;flex-direction:column;gap:2px;z-index:60}
.nav-item.has-sub:hover .nav-sub,.nav-item.sub-open .nav-sub{display:flex}
.nav-sub a{color:var(--text);font-size:13.5px;font-weight:500;padding:9px 12px;border-radius:8px;text-decoration:none;white-space:nowrap}
.nav-sub a:hover{background:#EFF3F8;color:var(--accent);text-decoration:none}
@media(max-width:820px){
  .nav-toggle{display:block}
  .nav-links{position:absolute;top:calc(100% + 1px);left:0;right:0;background:var(--navy);flex-direction:column;align-items:stretch;gap:2px;padding:10px 14px 16px;border-top:1px solid rgba(255,255,255,.1);display:none;max-height:78vh;overflow:auto;box-shadow:0 16px 30px rgba(0,0,0,.35)}
  .nav-links.open{display:flex}
  .nav-item{width:100%}
  .nav-item.has-sub::after{display:none}
  .nav-top{width:100%;justify-content:space-between;padding:12px 10px;font-size:15px}
  .nav-item.has-sub:hover .nav-sub{display:none}
  .nav-item.sub-open .nav-sub{display:flex}
  .nav-sub{position:static;box-shadow:none;border:none;background:transparent;padding:2px 0 8px 12px;min-width:0}
  .nav-sub a{color:rgba(255,255,255,.8);padding:9px 10px;font-size:14px}
  .nav-sub a:hover{background:rgba(255,255,255,.08);color:#fff}
  .nav-top.cta{margin-top:8px;justify-content:center}
}

/* ---------- HERO ---------- */
.hero{
  position:relative;overflow:hidden;text-align:center;
  padding:76px 22px 60px;color:var(--ink);
  background:
    radial-gradient(130% 120% at 88% -18%,rgba(29,62,107,.10) 0%,rgba(29,62,107,0) 50%),
    linear-gradient(180deg,#FBFAF7 0%,#EEF2F8 100%);
  border-bottom:3px solid var(--accent);
}
.hero > *{position:relative;z-index:1}
.eyebrow{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:20px;display:inline-flex;align-items:center;gap:10px;justify-content:center}
.hero h1{font-family:var(--display);font-weight:700;font-size:clamp(31px,6vw,52px);line-height:1.12;letter-spacing:-.025em;color:var(--ink)}
.hero h1 b{font-weight:800;color:var(--accent)}
.hero p.sub{max-width:620px;margin:22px auto 0;color:#55606E;font-size:17px}
.hero .cta{margin-top:34px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:9px;font-family:var(--display);font-size:14px;font-weight:600;letter-spacing:.01em;cursor:pointer;border:1.5px solid var(--accent);background:transparent;color:var(--accent);transition:.15s;text-decoration:none}
.btn:hover{background:var(--accent);color:#fff;text-decoration:none}
.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn.primary:hover{background:#0a1a2e}
.hero .btn.primary{background:var(--accent);border-color:var(--accent)}
.hero .btn.primary:hover{background:#16314f}

/* ---------- DISCLAIMER / INFO ---------- */
.disc{background:var(--amberDk);border:1px solid var(--amberLn);border-radius:14px;padding:16px 18px;margin:20px 0;font-size:13.5px;color:#7a561a;display:flex;gap:12px;align-items:flex-start}
.disc svg{flex:0 0 auto;margin-top:2px}
.disc b{color:inherit;font-weight:700}

/* ---------- SECTIONS ---------- */
section{padding:52px 0;border-top:1px solid var(--line);scroll-margin-top:66px}
section:first-of-type{border-top:none}
.kicker{font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-weight:700;display:inline-flex;align-items:center;gap:10px}
.kicker::before{content:"";width:24px;height:2px;background:var(--accent);display:inline-block}
h2{font-family:var(--display);font-size:clamp(24px,4vw,33px);font-weight:700;letter-spacing:-.025em;line-height:1.2;color:var(--ink)}
h2 i,h2 em{font-style:normal;font-weight:700;color:var(--accent)}
h2+p.lead{color:var(--muted);font-size:17px;margin-top:14px;max-width:680px}
h3{font-family:var(--display);font-size:19px;font-weight:700;margin:26px 0 8px;color:var(--ink)}
p{margin:12px 0;color:var(--text)}
ul.clean{list-style:none;margin:14px 0;display:grid;gap:10px}
ul.clean li{position:relative;padding-left:26px;color:var(--text)}
ul.clean li::before{content:"";position:absolute;left:4px;top:10px;width:7px;height:7px;border-radius:50%;background:var(--accent)}

.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 2px 16px rgba(6,22,77,.05)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:680px){.grid2,.grid3{grid-template-columns:1fr}}

.pill{display:inline-block;font-size:11px;letter-spacing:.03em;padding:3px 10px;border-radius:20px;font-weight:700}
.pill.g{background:var(--greenDk);color:var(--green);border:1px solid var(--greenLn)}
.pill.a{background:var(--amberDk);color:var(--amber);border:1px solid var(--amberLn)}
.pill.r{background:var(--redDk);color:var(--red);border:1px solid var(--redLn)}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{display:inline-block;font-size:13px;font-weight:600;color:#1D3E6B;background:#EFF6FB;border:1px solid #C9DCEA;border-radius:20px;padding:6px 13px}

/* ---------- Einstiegs-Pfade unter dem Hero ---------- */
.paths-title{text-align:center;font-weight:800;font-size:22px;color:var(--ink);letter-spacing:-.01em;margin:2px 0 16px}
.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 4px}
.paths .card{display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease,border-color .15s}
.paths .card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(6,22,77,.10);border-color:var(--line2)}
.path-ico{width:42px;height:42px;border-radius:12px;background:#EFF6FB;border:1px solid #DCE7F1;display:flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:14px}
.path-tag{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
.paths .card h3{margin:7px 0 6px;font-size:19px}
.paths .card p{font-size:14px;color:var(--muted);margin:0 0 18px}
.path-link{margin-top:auto;font-weight:700;color:var(--accent);font-size:14.5px}
.path-link:hover{text-decoration:underline}
.paths .card.feat{border:1.5px solid var(--accent);background:linear-gradient(180deg,#F4F9FD,#fff)}
.paths .card.feat .path-ico{background:var(--accent);color:#fff;border-color:var(--accent)}
.paths .card.feat .path-tag{color:var(--accent)}
@media(max-width:760px){.paths{grid-template-columns:1fr;gap:12px}}

/* ---------- Social-Links (Footer + Story) ---------- */
.social{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.social a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--accent);background:#fff;border:1px solid var(--line2);border-radius:10px;padding:9px 14px;text-decoration:none}
.social a:hover{border-color:var(--accent)}
footer a.fbrand{display:inline-block;text-decoration:none}
footer a.fbrand:hover{text-decoration:underline}

/* ---------- Blutwert-Checkliste (für Leute ohne Befund) ---------- */
details.bwl{background:#EFF6FB;border:1px solid #C9DCEA;border-radius:14px;margin:6px 0 22px;overflow:hidden}
details.bwl>summary{list-style:none;cursor:pointer;padding:16px 20px;font-size:15px;color:var(--accent);display:flex;align-items:center;gap:8px}
details.bwl>summary::-webkit-details-marker{display:none}
details.bwl>summary::after{content:"+";margin-left:auto;font-size:22px;font-weight:400;line-height:1;color:var(--accent)}
details.bwl[open]>summary::after{content:"–"}
details.bwl>summary b{color:var(--ink)}
.bwl-body{padding:2px 20px 20px}
.bwl-groups{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.bwl-group h4{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin:0 0 9px;font-weight:700}
.bwl-item{display:flex;gap:9px;align-items:flex-start;margin-bottom:8px;font-size:14px;line-height:1.4}
.bwl-item .cbx{flex:0 0 auto;width:15px;height:15px;border:1.5px solid var(--accent);border-radius:4px;margin-top:2px}
.bwl-item b{color:var(--ink);font-weight:700}
.bwl-item .why{color:var(--muted)}
.bwl-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px;padding-top:14px;border-top:1px solid #C9DCEA}
.bwl-hint{font-size:13px;color:var(--accent);font-weight:600}
.bwl-foot .btn{padding:9px 16px;font-size:14px}
@media(max-width:640px){.bwl-groups{grid-template-columns:1fr}}

/* ---------- Sonstiges-Freitextfeld im Symptom-Check ---------- */
.sym-other{width:100%;margin-top:12px;padding:11px 14px;border:1px solid var(--line2);border-radius:10px;font-family:inherit;font-size:14px;color:var(--text);background:var(--card2)}
.sym-other:focus{outline:none;border-color:var(--accent);background:#fff}

.compare{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
@media(max-width:680px){.compare{grid-template-columns:1fr}}
.compare .card h3{margin-top:0}
.range-bar{height:14px;border-radius:8px;margin:14px 0 8px;background:linear-gradient(90deg,#E4B9AC 0%,#EAD9A6 22%,#BBDDCB 45%,#BBDDCB 78%,#EAD9A6 92%,#E4B9AC 100%);position:relative;border:1px solid var(--line)}
.range-bar .lbl{position:absolute;top:20px;font-size:10.5px;color:var(--faint);transform:translateX(-50%)}

table{width:100%;border-collapse:collapse;margin:14px 0;font-size:14px}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line)}
th{color:var(--muted);font-weight:700;font-size:12px;letter-spacing:.03em;text-transform:uppercase}
td b{color:var(--ink)}
.tag{font-size:11px;padding:2px 8px;border-radius:5px;background:var(--bg2);border:1px solid var(--line2);color:var(--muted)}

/* ---------- ADAM ---------- */
.q{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.q:last-child{border-bottom:none}
.q .qt{font-size:14.5px;color:var(--text)}
.q .qt small{display:block;color:var(--faint);font-size:12px}
.toggle{display:flex;gap:6px;flex:0 0 auto}
.toggle button{border:1.5px solid var(--line2);background:#fff;color:var(--muted);padding:6px 16px;border-radius:8px;font-size:13px;cursor:pointer;font-weight:600;font-family:var(--display);transition:.15s}
.toggle button.sel{background:var(--accent);border-color:var(--accent);color:#fff}
.result-box{margin-top:20px;padding:18px;border-radius:12px;border:1px solid var(--line2);background:var(--bg2);display:none}
.result-box.show{display:block}
.result-box .big{font-size:16px;font-weight:700;margin-bottom:6px}

/* ---------- BLOOD ANALYZER ---------- */
.marker{border:1px solid var(--line);border-radius:12px;padding:16px 16px 14px;background:var(--card);margin-bottom:14px;box-shadow:0 1px 8px rgba(6,22,77,.04)}
.marker .mhead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.marker .mname{font-weight:700;font-size:15px;color:var(--ink)}
.marker .mref{font-size:12px;color:var(--faint)}
.marker .minput{display:flex;gap:8px;margin-top:12px;align-items:center;flex-wrap:wrap}
.marker input[type=number]{width:130px;background:var(--bg2);border:1px solid var(--line2);color:var(--ink);padding:10px 12px;border-radius:9px;font-size:15px;font-family:inherit}
.marker input[type=number]:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(29,62,107,.12)}
.marker select{background:var(--bg2);border:1px solid var(--line2);color:var(--ink);padding:10px 8px;border-radius:9px;font-size:13px;font-family:inherit;cursor:pointer}
.mout{margin-top:12px;font-size:13.5px;border-left:3px solid var(--faint);padding:2px 0 2px 12px;display:none}
.mout.show{display:block}
.mout.g{border-color:var(--green)} .mout.a{border-color:var(--amber)} .mout.r{border-color:var(--red)} .mout.n{border-color:var(--accent)}
.mout .mstatus{font-weight:700;margin-bottom:3px}
.mout.g .mstatus{color:var(--green)} .mout.a .mstatus{color:var(--amber)} .mout.r .mstatus{color:var(--red)} .mout.n .mstatus{color:var(--accent)}
.mout .mtext{color:var(--text)}
.mout .arzt{margin-top:7px;color:var(--accent);font-size:13px}
.mout .arzt b{color:var(--accent2)}
.privacy{display:flex;gap:10px;align-items:center;font-size:12.5px;color:#2c6a4e;background:var(--greenDk);border:1px solid var(--greenLn);border-radius:10px;padding:11px 14px;margin:6px 0 20px}
.privacy b{color:var(--green)}
.synth{margin-top:8px;padding:18px;border-radius:12px;border:1px solid var(--line2);background:var(--card);display:none;box-shadow:0 2px 16px rgba(6,22,77,.05)}
.synth.show{display:block}
.synth .synth-lead{border-left:3px solid var(--accent);padding:8px 0 10px 14px;margin:0 0 12px}
.sym-card{margin-bottom:16px}
.sym-grid{display:flex;flex-wrap:wrap;gap:9px}
.sym{display:inline-flex;align-items:center;gap:9px;border:1.5px solid var(--line2);background:var(--card2);border-radius:10px;padding:9px 14px;cursor:pointer;font-size:13.5px;color:var(--text);user-select:none;transition:.12s;font-family:var(--display)}
.sym:hover{border-color:var(--accent)}
.sym .box{width:17px;height:17px;border:1.6px solid var(--line2);border-radius:5px;flex:none;position:relative;transition:.12s}
.sym.on{border-color:var(--accent);background:#EFF6FB;color:var(--ink);font-weight:600}
.sym.on .box{border-color:var(--accent);background:var(--accent)}
.sym.on .box::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}

/* ---------- FAQ ---------- */
details{border:1px solid var(--line);border-radius:12px;padding:0 18px;margin-bottom:10px;background:var(--card)}
details[open]{box-shadow:0 2px 16px rgba(6,22,77,.05)}
summary{cursor:pointer;padding:16px 0;font-weight:700;font-size:15px;list-style:none;display:flex;justify-content:space-between;align-items:center;color:var(--ink)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--accent);font-size:20px;font-weight:400}
details[open] summary::after{content:"–"}
details .body{padding:0 0 18px;color:var(--text);font-size:14.5px}

/* ---------- STEPS ---------- */
.step{display:flex;gap:16px;margin:16px 0}
.step .n{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--accent);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}
.step .st h3{margin:2px 0 4px}
.quote{border-left:3px solid var(--accent);padding:4px 0 4px 18px;margin:18px 0;color:var(--ink);font-weight:500;font-size:18px;line-height:1.55}
.copybox{background:var(--bg2);border:1px solid var(--line2);border-radius:10px;padding:14px 16px 48px;font-size:14px;color:var(--text);position:relative;margin-top:12px}
.copybtn{position:absolute;bottom:10px;right:10px;font-size:11.5px;font-weight:600;padding:7px 14px;border-radius:7px;border:1px solid var(--line2);background:#fff;color:var(--accent);cursor:pointer;font-family:var(--display)}
.copybtn:hover{border-color:var(--accent);background:#EFF6FB}

/* ---------- BOOKING ---------- */
.book-toggle{display:flex;gap:12px;margin:24px 0 18px;flex-wrap:wrap}
.book-toggle button{flex:1;min-width:150px;display:flex;flex-direction:column;gap:3px;align-items:flex-start;padding:16px 18px;border-radius:12px;border:1.5px solid var(--line2);background:var(--card);color:var(--muted);cursor:pointer;transition:.15s;font-family:var(--display)}
.book-toggle button b{color:var(--ink);font-size:17px}
.book-toggle button span{font-size:14px}
.book-toggle button:hover{border-color:var(--accent)}
.book-toggle button.sel{border-color:var(--accent);background:#EFF6FB}
.book-toggle button.sel span{color:var(--accent)}
.calendly-mount{min-width:320px;height:680px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--card)}
.book-fallback{display:none;text-align:center;padding:30px 24px;border:1px dashed var(--line2);border-radius:12px;background:var(--card)}
.book-fallback p{color:var(--muted);margin:0 0 16px}
.offer-card{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;border:1.5px solid var(--accent);background:#EFF6FB;border-radius:12px;padding:16px 20px;margin:24px 0 18px}
.offer-card b{font-size:17px;color:var(--ink)}
.offer-sub{font-size:13px;color:var(--muted);margin-top:2px;font-weight:400}
.offer-price{font-size:22px;font-weight:800;color:var(--accent);line-height:1.1;text-align:right}
.offer-price span{display:block;font-size:11.5px;font-weight:500;color:var(--muted)}
.tier-toggle{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 6px}
@media(max-width:600px){.tier-toggle{grid-template-columns:1fr}}
.tier-toggle button{position:relative;text-align:left;border:1.5px solid var(--line2);background:var(--card);border-radius:14px;padding:18px 20px 20px 50px;cursor:pointer;font-family:var(--display);transition:.15s;display:flex;flex-direction:column;gap:6px}
.tier-toggle button:hover{border-color:var(--accent);box-shadow:0 4px 16px rgba(29,62,107,.08)}
.tier-toggle button.sel{border-color:var(--accent);background:#EFF6FB;box-shadow:0 4px 18px rgba(29,62,107,.12)}
.tier-toggle b{font-size:17px;color:var(--ink)}
.tier-desc{font-size:13px;color:var(--muted);line-height:1.45}
.tier-price{font-size:22px;font-weight:800;color:var(--accent);margin-top:4px}
.tier-badge{position:absolute;top:-11px;right:16px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;padding:4px 11px;border-radius:20px;letter-spacing:.02em;box-shadow:0 3px 10px rgba(29,62,107,.25)}
.tier-radio{position:absolute;top:20px;left:18px;width:20px;height:20px;border-radius:50%;border:2px solid var(--line2);background:#fff;transition:.15s}
.tier-toggle button:hover .tier-radio{border-color:var(--accent)}
.tier-toggle button.sel .tier-radio{border-color:var(--accent)}
.tier-toggle button.sel .tier-radio::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--accent)}

/* ---------- BUCHUNGS-VORSCHAU (Calendly/Stripe Mockup) ---------- */
.booking-preview{display:none;margin:0 0 4px}
.bp-badge{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.02em;color:var(--accent);background:#EFF6FB;border:1px solid #C9DCEA;border-radius:20px;padding:5px 12px;margin-bottom:12px}
.bp-widget{display:grid;grid-template-columns:0.9fr 1.1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 4px 20px rgba(6,22,77,.06);background:#fff}
@media(max-width:640px){.bp-widget{grid-template-columns:1fr}}
.bp-left{padding:22px;border-right:1px solid var(--line)}
@media(max-width:640px){.bp-left{border-right:none;border-bottom:1px solid var(--line)}}
.bp-host{width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;margin-bottom:12px}
.bp-hostname{font-size:13px;color:var(--muted);font-weight:600}
.bp-title{font-size:20px;font-weight:800;color:var(--ink);margin:2px 0 14px;letter-spacing:-.02em}
.bp-meta{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:9px}
.bp-meta li{font-size:14px;color:var(--text);display:flex;align-items:center;gap:9px}
.bp-meta li svg{flex:none}
.bp-blurb{font-size:13px;color:var(--muted);line-height:1.5;margin:0}
.bp-right{padding:22px}
.bp-calhead{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700;color:var(--ink);margin-bottom:10px}
.bp-calhead span{color:var(--muted);font-weight:400;letter-spacing:3px}
.bp-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:5px}
.bp-dow div{text-align:center;font-size:10.5px;color:var(--faint);font-weight:600}
.bp-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.bp-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:12.5px;border-radius:50%;color:var(--faint)}
.bp-day.avail{background:#EFF6FB;color:var(--accent);font-weight:700;cursor:pointer;transition:.12s}
.bp-day.avail:hover{background:var(--accent);color:#fff}
.bp-day.sel{background:var(--accent);color:#fff;font-weight:700}
.bp-slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.bp-slot{border:1.5px solid var(--accent);color:var(--accent);border-radius:8px;padding:8px 14px;font-size:13.5px;font-weight:600;cursor:pointer;transition:.12s}
.bp-slot:hover{background:var(--accent);color:#fff}
.bp-pay{margin-top:16px;border:1px solid var(--line);border-radius:14px;padding:18px 20px;background:linear-gradient(180deg,#fff,#F7F9FC)}
.bp-paytitle{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}
.bp-card-field{background:#fff;border:1px solid var(--line2);border-radius:8px;padding:11px 13px;font-size:14px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px}
.bp-card-row{display:flex;gap:9px}
.bp-card-row .bp-card-field{flex:1;margin-bottom:0}
.bp-paybtn{width:100%;margin-top:12px;background:#635BFF;color:#fff;border:none;border-radius:9px;padding:13px;font-size:15px;font-weight:700;font-family:var(--display);cursor:default}
.bp-secured{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--muted);margin-top:10px}
.bp-note{font-size:12.5px;color:var(--faint);margin-top:12px;line-height:1.5}

/* ---------- LEAD CAPTURE ---------- */
.lead-capture{background:linear-gradient(180deg,#fff,#F5F8FC);border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:0 3px 20px rgba(6,22,77,.06);margin-top:18px}
.lead-form{display:flex;flex-direction:column;gap:12px;max-width:540px}
.lead-form .row{display:flex;gap:10px;flex-wrap:wrap}
.lead-form input[type=text],.lead-form input[type=email]{flex:1;min-width:180px;background:var(--bg2);border:1px solid var(--line2);border-radius:10px;padding:12px 14px;font-size:15px;font-family:inherit;color:var(--ink)}
.lead-form input:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(29,62,107,.12)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--muted);line-height:1.45}
.consent input{margin-top:3px;flex:0 0 auto;width:16px;height:16px;accent-color:var(--accent)}
.lead-note{font-size:12px;color:var(--faint)}
.lead-success{display:none;padding:16px 18px;border-radius:12px;background:var(--greenDk);border:1px solid var(--greenLn);color:#2c6a4e;font-size:14px}
.lead-success.show{display:block}

/* ---------- STORY / SOCIAL PROOF ---------- */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}
@media(max-width:600px){.stats{grid-template-columns:1fr}}
.stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 16px;text-align:center;box-shadow:0 2px 16px rgba(6,22,77,.05)}
.stat .num{font-family:var(--display);font-size:29px;font-weight:800;color:var(--accent);line-height:1.05;letter-spacing:-.01em}
.stat .lbl{font-size:12.5px;color:var(--muted);margin-top:8px;line-height:1.4}
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
@media(max-width:680px){.quotes{grid-template-columns:1fr}}
.qcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;box-shadow:0 2px 16px rgba(6,22,77,.05)}
.qcard p{font-size:15px;color:var(--ink);margin:0 0 12px;line-height:1.55}
.qcard .stars{color:#E0A93B;font-size:14px;letter-spacing:3px;margin-bottom:10px}
.qcard .who{font-size:13px;color:var(--muted);font-weight:600}

/* ---------- CONVERSION / CTA ---------- */
.trust{margin-top:22px;display:flex;gap:8px 20px;justify-content:center;flex-wrap:wrap;font-size:12.5px;color:#7a8699;font-weight:600}
.trust span{display:inline-flex;align-items:center;gap:6px}
.trust b{color:var(--accent)}
.cta-band{background:linear-gradient(155deg,#13233B 0%,#1D3E6B 100%);color:#fff;border-radius:16px;padding:30px 26px;margin:24px 0;text-align:center;box-shadow:0 8px 30px rgba(6,22,77,.18)}
.cta-band h3{color:#fff;font-family:var(--display);font-weight:700;font-size:23px;letter-spacing:-.02em;margin:0 0 8px}
.cta-band p{color:#cdd9e8;font-size:15px;margin:0 auto 20px;max-width:520px}
.cta-band .btn{background:#fff;color:var(--navy);border-color:#fff;font-size:15px;padding:14px 28px}
.cta-band .btn:hover{background:#e9eef5;color:var(--navy)}
.mini-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:12px;padding:15px 20px;margin:22px 0;box-shadow:0 2px 12px rgba(6,22,77,.05)}
.mini-cta .t{font-size:14.5px;color:var(--ink);font-weight:600}
.mini-cta .btn{white-space:nowrap;padding:10px 18px}
.sticky-cta{position:fixed;right:18px;bottom:18px;z-index:70;opacity:0;pointer-events:none;transition:opacity .25s ease;box-shadow:0 10px 30px rgba(6,22,77,.30)}
.sticky-cta.show{opacity:1;pointer-events:auto;animation:ctaWiggle 10s ease-in-out .8s infinite}
.sticky-cta.show:hover,.sticky-cta.show:focus-visible{animation:none}
@keyframes ctaWiggle{
  0%{transform:translateX(0) scale(1)}
  2%{transform:scale(1.08)}
  4%{transform:translateX(-6px) scale(1.05)}
  6%{transform:translateX(6px) scale(1.05)}
  8%{transform:translateX(-5px) scale(1.04)}
  10%{transform:translateX(5px) scale(1.04)}
  12%{transform:translateX(-3px) scale(1.02)}
  14%{transform:translateX(3px) scale(1.02)}
  16%,100%{transform:translateX(0) scale(1)}
}
@media(max-width:600px){.sticky-cta{left:14px;right:14px;bottom:14px;justify-content:center}}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--line);padding:44px 0 60px;color:var(--muted);font-size:13px;background:var(--beige)}
footer .fbrand{font-size:15px;letter-spacing:.04em;color:var(--ink);font-weight:700;margin-bottom:8px}
footer p{color:var(--muted);font-size:13px}
.mono{font-variant-numeric:tabular-nums}

/* ---------- BARRIEREFREIHEIT / POLITUR ---------- */
a:focus-visible, button:focus-visible, .btn:focus-visible, summary:focus-visible,
.sym:focus-visible, .toggle button:focus-visible, .book-toggle button:focus-visible,
.marker input:focus-visible, .marker select:focus-visible, .lead-form input:focus-visible,
.nav-top:focus-visible, .brand:focus-visible{
  outline:2px solid var(--accent); outline-offset:2px; border-radius:8px;
}
.nav-links .nav-top:focus-visible{ outline-color:var(--accent-lite); }
.sticky-cta:focus-visible{ outline:2px solid #fff; outline-offset:3px; }
.hero .btn:focus-visible{ outline-color:var(--accent); }
/* Tabellen auf kleinen Screens lesbar halten */
@media(max-width:560px){
  table{ font-size:13.5px; }
  th,td{ padding:9px 8px; }
}
/* Bewegungsreduzierung respektieren */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ transition-duration:.001ms !important; animation-duration:.001ms !important; }
}
