.lp-actions{display:flex;align-items:center;gap:1rem}
.lp-phone{font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap}
.lp-check{list-style:none;padding:0;margin:1.2rem 0 1.6rem;display:grid;gap:.6rem}
.lp-check li{position:relative;padding-left:1.8rem;line-height:1.55}
.lp-check li::before{content:"";position:absolute;left:0;top:.35em;width:1.05rem;height:1.05rem;border-radius:50%;background:var(--accent,#2f7d5b) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") center/80% no-repeat}
.lp-topic{padding:clamp(3rem,7vw,6rem) 0}
.lp-topic.alt{background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lp-split{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.lp-split.rev>img{order:2}
.lp-split>img{width:100%;height:auto;border-radius:6px;object-fit:cover;aspect-ratio:4/3}
.lp-box{border-left:4px solid var(--accent,#2f7d5b);background:#fff;padding:1rem 1.2rem;margin:0 0 1.6rem;border-radius:0 6px 6px 0}
.lp-box p{margin:0}
.lp-flow{grid-template-columns:repeat(3,1fr)}
.lp-more{padding:clamp(2.5rem,5vw,4rem) 0;background:var(--ink);color:#fff}
.lp-more h2{color:#fff;margin:0 0 .4rem}
.lp-more p{margin:0;opacity:.85;max-width:60ch}
.lp-more-inner{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.lp-sticky{display:none}
@media (max-width:860px){
  .lp-split{grid-template-columns:1fr}
  .lp-split.rev>img{order:0}
  .lp-flow{grid-template-columns:1fr}
  .lp-phone{display:none}
  .lp-sticky{display:grid;grid-template-columns:1fr 1.4fr;gap:.6rem;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(0,0,0,.08)}
  .lp-sticky .btn{justify-content:center;text-align:center}
  body{padding-bottom:4.5rem}
}
.lp-topic h2{margin-bottom:1rem}
.lp-hero-img{margin:0}
.lp-hero-img img{width:100%;height:auto;border-radius:6px;aspect-ratio:4/3;object-fit:cover}
.lp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem;margin-top:1.6rem}
.lp-cards>div{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:1.3rem 1.4rem}
.lp-cards h3{margin:0 0 .5rem;font-size:1.05rem}
.lp-cards p{margin:0;line-height:1.6}
.lp-steps{counter-reset:s;list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:.9rem}
.lp-steps li{counter-increment:s;position:relative;padding:1rem 1.2rem 1rem 3.6rem;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;line-height:1.55}
.lp-steps li::before{content:counter(s);position:absolute;left:1.1rem;top:1rem;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--green,#1d4a3b);color:#fff;font-weight:700;display:grid;place-items:center;font-size:.9rem}
/* ---- Bewertungen ---- */
.stars{color:#c99a2e;letter-spacing:.08em;font-size:1rem;line-height:1}
.lp-rating{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.45rem;margin-top:1.1rem;color:var(--ink);text-decoration:none;font-size:var(--text-sm)}
.lp-rating strong{font-family:var(--font-display)}
.lp-rating:hover{text-decoration:underline}
.lp-reviews{padding:clamp(3rem,7vw,5.5rem) 0;background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2rem}
.rv-card{margin:0;background:#fff;border:1px solid var(--line);padding:1.4rem 1.5rem;display:flex;flex-direction:column;gap:.6rem}
.rv-title{font-family:var(--font-display);font-weight:700;color:var(--ink);margin:0}
.rv-card blockquote{margin:0;line-height:1.6;flex:1}
.rv-card figcaption{font-size:var(--text-xs);color:var(--muted)}
.rv-more{margin-top:1.4rem}.rv-more a{font-weight:700;color:var(--ink)}
.team-quote{border-left:3px solid var(--accent);padding:.2rem 0 .2rem 1rem;margin:.8rem 0;font-style:normal;color:var(--ink)}
/* ---- Schnell-Check ---- */
.qc{background:#fff;border:1px solid var(--line);padding:clamp(1.25rem,3vw,2rem);margin-top:1.6rem;scroll-margin-top:100px}
.qc-head{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem}
.qc-count{font-size:var(--text-xs);font-weight:700;color:var(--muted);white-space:nowrap}
.qc-bar{flex:1;height:6px;background:var(--surface-2);border-radius:99px;overflow:hidden}
.qc-bar span{display:block;height:100%;width:20%;background:var(--accent);transition:width .3s}
.qc-step{border:0;padding:0;margin:0;min-width:0}
.qc-step legend{font-size:var(--text-lg);font-weight:700;margin-bottom:1rem;padding:0}
.qc-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}
.qc-choices.qc-2{grid-template-columns:repeat(2,1fr)}
.qc-choices.qc-3{grid-template-columns:repeat(3,1fr)}
.qc-choices .choice span{min-height:3.4rem}
.qc-choices.invalid-group .choice span{border-color:var(--error)}
.qc-field{margin-top:1rem}
.qc-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.qc input:not([type=radio]):not([type=checkbox]),.qc select,.qc textarea,.rr input:not([type=radio]):not([type=checkbox]){width:100%;font:inherit;padding:.8rem .9rem;border:1px solid #cfd6d3;background:#fff;color:var(--ink);border-radius:0}
.qc .invalid,.rr .invalid{border-color:var(--error)!important;box-shadow:0 0 0 1px var(--error)}
.qc label,.rr .lbl{font-weight:600;font-size:var(--text-sm);color:var(--ink)}
.qc .opt{font-weight:400;color:var(--muted)}
.qc-note{margin-top:1rem;padding:.9rem 1.1rem;background:#fff8e8;border-left:4px solid var(--warn);font-size:var(--text-sm);line-height:1.55}
.qc-frist{margin-top:.9rem;font-weight:600;min-height:1.4em}
.qc-frist.is-ok{color:var(--ok)}.qc-frist.is-urgent{color:var(--warn)}.qc-frist.is-late{color:var(--error)}
.qc-consent{margin-top:1.1rem;font-size:var(--text-sm)}
.qc-consent.invalid-check span{color:var(--error)}
.qc-err{margin-top:1rem;color:var(--error);font-weight:600}
.qc-nav{display:flex;justify-content:space-between;gap:.8rem;margin-top:1.5rem}
.qc-nav #qcNext,.qc-nav #qcSend{margin-left:auto;min-width:10rem}
.qc-foot{margin-top:1rem;font-size:var(--text-xs);color:var(--muted)}
.qc-done{background:#fff;border:1px solid var(--line);border-left:4px solid var(--ok);padding:1.5rem;margin-top:1.6rem}
.qc-done h3{margin-bottom:.6rem}.qc-done p{margin:.4rem 0}
.qc-done .cta-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}
.qc-done .summary-pre{white-space:pre-wrap;font-size:var(--text-xs);background:var(--surface-2);padding:1rem;max-height:14rem;overflow:auto}
.lp-alt-cta{margin-top:.9rem;font-size:var(--text-sm)}
.lp-alt-cta a{font-weight:700;color:var(--ink)}
/* ---- Rückruf-Dialog ---- */
.rr{border:0;padding:0;max-width:440px;width:calc(100% - 2rem);margin:auto;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.rr::backdrop{background:rgba(10,10,10,.55)}
.rr form{padding:1.8rem;position:relative}
.rr h2{font-size:var(--text-lg);margin-bottom:.4rem}
.rr-x{position:absolute;top:.6rem;right:.8rem;border:0;background:none;font-size:1.6rem;cursor:pointer;color:var(--muted);line-height:1}
.rr .field{display:flex;flex-direction:column;gap:.35rem}
/* ---- Fristen-Rechner ---- */
.frist-calc{display:grid;grid-template-columns:minmax(0,260px) 1fr;gap:1.2rem;align-items:end;margin:1.4rem 0 1rem;padding:1.3rem;background:var(--surface-2);border:1px solid var(--line)}
.frist-calc input{width:100%;font:inherit;padding:.8rem .9rem;border:1px solid #cfd6d3;background:#fff}
.frist-out{margin:0;padding-bottom:.7rem;color:var(--muted)}
#frist .small{margin-bottom:1.4rem}
@media (max-width:860px){
  .rv-grid{grid-template-columns:1fr}
  .frist-calc{grid-template-columns:1fr}
}
@media (max-width:560px){
  .qc-choices,.qc-choices.qc-2,.qc-row{grid-template-columns:1fr}
  .qc-choices.qc-3{grid-template-columns:repeat(3,1fr)}
  .qc-choices.qc-3 small{display:none}
  .qc-nav .btn{padding:.85rem 1rem}
  .qc-nav #qcNext,.qc-nav #qcSend{min-width:0;flex:1}
}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
/* ---- Persönlich (Dialog über Porträt) ---- */
.team-photo{position:relative;display:block;padding:0;border:0;background:none;cursor:pointer;width:100%;font:inherit}
.team-photo img{display:block;transition:transform .25s ease,filter .25s ease}
.team-photo:hover img,.team-photo:focus-visible img{filter:brightness(.92)}
.team-photo:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.team-photo-hint{position:absolute;left:.5rem;bottom:.5rem;background:rgba(255,255,255,.94);color:var(--green);font-family:var(--font-display);font-weight:600;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .6rem;display:inline-flex;align-items:center;gap:.35rem}
.team-photo-hint::after{content:"";width:.5rem;height:.5rem;border-right:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg)}
.lp-pers{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .45s ease,opacity .35s ease,margin .45s ease;margin-top:0}
.lp-pers.is-open{grid-template-rows:1fr;opacity:1;margin-top:clamp(1.5rem,3vw,2.5rem)}
.lp-pers-clip{overflow:hidden;min-height:0}
.lp-pers-in{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,.75fr) minmax(0,1.3fr);gap:clamp(1rem,2.5vw,2rem);align-items:center;background:var(--surface-2);padding:clamp(1.25rem,3vw,2.25rem);border-top:3px solid var(--green)}
.lp-pers-img{margin:0}
.lp-pers-img img{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;object-position:center 40%;display:block;border-radius:6px}
.lp-personal-text h2{margin:0 0 1rem;font-size:var(--text-lg)}
.lp-personal-text p{line-height:1.7;max-width:60ch;margin:0 0 .9rem}
.lp-personal-sign{margin:1.1rem 0 0;font-family:var(--font-display);font-weight:700;color:var(--green)}
@media (max-width:860px){.lp-pers-in{grid-template-columns:1fr 1fr}.lp-personal-text{grid-column:1 / -1}}
@media (prefers-reduced-motion:reduce){.lp-pers{transition:none}}
.lp-personal-sign span{display:block;font-weight:600;font-size:var(--text-xs);color:var(--muted);margin-top:.25rem}

/* ---- Telefontermin ---- */
.rr-mode{margin:.25rem 0 1rem;display:grid;grid-template-columns:1fr 1fr;border-radius:999px;width:100%}
.rr-mode span{text-align:center;white-space:nowrap;padding:.45rem .6rem}
.rr-days{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.35rem;scrollbar-width:thin}
.rr-day{position:relative;flex:0 0 auto;cursor:pointer}
.rr-day input,.rr-slot input{position:absolute;opacity:0;pointer-events:none}
.rr-day span{display:flex;flex-direction:column;align-items:center;min-width:3.6rem;padding:.45rem .4rem;border:1px solid #cfd6d3;background:#fff;line-height:1.15}
.rr-day small{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.rr-day strong{font-size:1.1rem;color:var(--ink)}
.rr-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.6rem,1fr));gap:.4rem}
.rr-slot{position:relative;cursor:pointer}
.rr-slot span{display:block;text-align:center;padding:.5rem .2rem;border:1px solid #cfd6d3;background:#fff;font-size:var(--text-sm);font-variant-numeric:tabular-nums}
.rr-day input:checked+span,.rr-slot input:checked+span{background:var(--green);border-color:var(--green);color:#fff}
.rr-day input:checked+span small,.rr-day input:checked+span strong{color:#fff}
.rr-day input:focus-visible+span,.rr-slot input:focus-visible+span{outline:2px solid var(--brass);outline-offset:2px}
.rr-slots.invalid-group{outline:2px solid var(--error);outline-offset:3px}
.rr-done{margin-top:1rem;padding:1rem;background:var(--surface-2);font-size:var(--text-sm)}
.rr-done p{margin:0 0 .6rem}
.rr .row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
@media (max-width:560px){.rr .row{grid-template-columns:1fr}}
dialog.rr{max-height:92vh;overflow-y:auto}

/* ---- Aktuelles auf Landingpages ---- */
.lp-news .news-grid{margin-top:1.5rem}
.lp-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin-top:1.5rem}
.lp-topics a{display:block;padding:1.25rem;background:#fff;border:1px solid #d9dfdc;color:var(--ink);text-decoration:none}
.lp-topics a:hover{border-color:var(--green)}
.lp-topics strong{display:block;font-family:var(--font-display,inherit);font-size:1.1rem;margin-bottom:.3rem;color:var(--green)}
.lp-topics span{font-size:var(--text-sm);color:var(--muted)}
a[href^="tel:"]{white-space:nowrap}
.rr-bk{border:1px solid #d9dfdc;background:#fff;margin:.5rem 0}
.rr-bk iframe{display:block;width:100%;height:min(70vh,640px);border:0}
.rr-bk-note{margin-top:.5rem}
.rr:has(#rrTermin:not([hidden])){max-width:820px}
.rr-bk-ph{padding:1.5rem;text-align:left}
.rr-bk-ph p{margin:0 0 .75rem}
.rr-bk-ph .small{color:var(--muted)}

.qc-up{margin-top:1.4rem;padding:1.2rem 1.25rem;border:1px dashed var(--line);background:var(--surface-2)}
.qc-up h4{margin:0 0 .5rem;font-size:var(--text-base)}.qc-up h4 .opt{font-weight:400;font-size:var(--text-xs);color:var(--muted,#666)}
.qc-up-steps{margin:.6rem 0 1rem 1.2rem;padding:0}.qc-up-steps li{margin:.2rem 0}
.qc-up .btn{margin-bottom:.6rem}.qc-up .small{font-size:var(--text-xs);margin:0}

.hero-cta{flex-wrap:wrap}
.lp-rg{margin-top:1rem;padding:1rem 1.25rem;background:var(--surface-2,#f6f5f3);border-left:3px solid var(--green);border-radius:6px}
.lp-rg-h{margin:0 0 .6rem;font-weight:700;font-size:var(--text-sm)}
.lp-rg ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.35rem 1.25rem}
.lp-rg li a{color:var(--ink);font-size:var(--text-sm);text-decoration:none;border-bottom:1px solid transparent}
.lp-rg li a::before{content:"\2192\00a0";color:var(--green)}
.lp-rg li a:hover{border-bottom-color:var(--green)}
.lp-rg-all{margin:.75rem 0 0;font-size:var(--text-sm)}.lp-rg-all a{font-weight:700;color:var(--green)}
@media (max-width:560px){.lp-rg ul{grid-template-columns:1fr}}
