/* =========================================================================
   DESIGN v3 – "Klar & Vertrauen" (Entwurf B) für die 4U-Marken
   Wird NACH style.css geladen (nur bei build.pl --design=v3).
   Marken-Akzent kommt aus dem inline-Block <style>:root{--v3-accent…} im <head>.
   Schrift: Inter (variabel, selbst gehostet, kein Google-CDN).
   ========================================================================= */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('../font/inter-var-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  /* Signatur (alle Marken gleich) */
  --v3-ink:#17261d; --v3-deep:#12302a; --v3-sig:#0F5C4D; --v3-sig2:#2d5a42; --v3-dark:#0f1f17;
  --v3-soft:#f3f6f1; --v3-line:#dfe6dc; --v3-muted:#46564c; --v3-tint:#e6f0ea;
  /* Marken-Akzent (Cerise-Pink für alle Marken; build.pl überschreibt inline) */
  --v3-accent:#e0277e; --v3-accent-ink:#a8195d; --v3-accent-soft:#fde8f1; --v3-btn:#dc257b; --v3-btn-tx:#ffffff;

  /* Basis-Variablen der style.css umbiegen -> alles Alte zieht automatisch mit */
  --cerise:var(--v3-sig); --cerise-dark:#0b4a3e; --cerise-darker:#12302a; --cerise-light:#3f8a78;
  --cerise-lighter:#cfe3dc; --cerise-lightest:#eef5f2;
  --citron:var(--v3-accent); --citron-dark:var(--v3-accent-ink); --citron-lighter:var(--v3-accent-soft);
  --citron-lightest:var(--v3-soft); --citron-darkest:#12302a;
  --ink:var(--v3-ink); --ink-strong:var(--v3-deep); --muted:var(--v3-muted); --line:var(--v3-line); --bg-soft:var(--v3-soft);
  --radius-s:10px; --radius-m:14px; --radius-l:18px;
  --shadow-s:0 1px 2px rgba(18,48,42,.06); --shadow-m:0 8px 22px rgba(18,48,42,.09); --shadow-l:0 18px 50px rgba(29,59,43,.14);
  --maxw:1160px;
  --font-head:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --font-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}
body.v3{font-size:1rem;line-height:1.62;color:var(--v3-ink);background:#fff}
.v3 a{color:var(--v3-sig)}
.v3 a:hover{text-decoration:underline}
.v3 h1,.v3 h2,.v3 h3,.v3 h4{font-family:var(--font-head);color:var(--v3-deep);font-weight:800;letter-spacing:-.02em}
.v3 h1{font-size:clamp(1.85rem,4.6vw,3.5rem);line-height:1.06;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.v3 h2,.v3 h3{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.v3 .hero__grid>*,.v3 .split>*,.v3 .contact-grid>*{min-width:0}
.v3 h2{font-size:clamp(1.6rem,3.1vw,2.35rem);line-height:1.12}
.v3 h3{font-size:clamp(1.1rem,1.8vw,1.3rem);line-height:1.25;font-weight:700;letter-spacing:-.01em}
.v3 h4{font-size:1rem;font-weight:700}
.v3 h2{margin-bottom:.7rem}
.v3 h3{margin-bottom:.4rem}
.v3 .eyebrow{font-family:var(--font-head);font-weight:800;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--v3-sig2)}
.v3 .lead{font-size:1.15rem;color:var(--v3-muted)}
.v3 strong{font-weight:700}

/* ---------- Layout ---------- */
.v3 .container{max-width:var(--maxw);padding-inline:20px}
.v3 .section{padding-block:clamp(2.75rem,6vw,4.75rem)}
.v3 .section--soft,.v3 .section--mint{background:var(--v3-soft)}
.v3 .section--tint{background:var(--v3-tint)}
.v3 .section-head{max-width:760px;margin:0 0 2rem;text-align:left}
.v3 .section-head p{color:var(--v3-muted);font-size:1.08rem}
.v3 .section-head p:last-child{margin-bottom:0}
.v3 .center .section-head,.v3 .container.center .section-head{margin-inline:auto;text-align:center}
.v3 .container.prose,.v3 .container.rat-article{max-width:var(--maxw)!important;margin-inline:auto}
.v3 .container.prose>*,.v3 .container.rat-article>*{max-width:780px}
.v3 .container.prose.center>*{margin-inline:auto}
.v3 .prose p,.v3 .prose li{color:var(--v3-ink);font-size:1.05rem}
.v3 .prose h2{margin:2rem 0 .8rem;font-size:clamp(1.3rem,2.2vw,1.7rem)}
.v3 .prose h3{margin:1.6rem 0 .5rem}
.v3 .prose ul,.v3 .prose ol{display:grid;gap:.35rem;margin-bottom:1rem}
.v3 .prose a{text-decoration:underline;text-underline-offset:2px}
.v3 .crumbs{font-size:.88rem;color:var(--v3-muted);padding-block:1.1rem .4rem}
.v3 .crumbs a{color:var(--v3-muted)}
.v3 .crumbs a:hover{color:var(--v3-sig)}

/* ---------- Buttons ---------- */
.v3 .btn{border-radius:10px;font-family:var(--font-head);font-weight:700;font-size:1rem;padding:.95rem 1.4rem;line-height:1.1;border:1.5px solid transparent;gap:.55rem;box-shadow:none}
.v3 .btn--lg{padding:.95rem 1.4rem;font-size:1.02rem}
.v3 .btn:hover{transform:translateY(-1px);text-decoration:none}
.v3 .btn:focus-visible,.v3 a:focus-visible,.v3 summary:focus-visible,.v3 button:focus-visible{outline:3px solid var(--v3-accent);outline-offset:2px}
.v3 .btn--primary{background:var(--v3-btn);color:var(--v3-btn-tx);border-color:var(--v3-btn)}
.v3 .btn--primary:hover{background:var(--v3-btn);color:var(--v3-btn-tx);filter:brightness(.94)}
.v3 .btn--whatsapp{background:var(--v3-sig);color:#fff;border-color:var(--v3-sig)}
.v3 .btn--whatsapp:hover{background:#0b4a3e;color:#fff}
.v3 .btn--dark,.v3 .btn--ghost,.v3 .btn--tel{background:#fff;color:var(--v3-sig);border-color:var(--v3-sig)}
.v3 .btn--dark:hover,.v3 .btn--ghost:hover,.v3 .btn--tel:hover{background:var(--v3-tint);color:var(--v3-sig)}
.v3 .btn img{width:1.25em;height:1.25em}
.v3 .btn .ic{width:1.15em;height:1.15em;flex:none}
.v3 .btn-row{gap:.75rem}

/* ---------- Logo (Kiste und Besen / Markenfamilie: Kachel + Namensblock + Schwung) ---------- */
.v3logo{display:inline-flex;align-items:center;gap:17px;text-decoration:none;--v3-tile:#0F5C4D}
.v3logo:hover{text-decoration:none}
.v3logo__tile{width:72px;height:72px;border-radius:19px;background:var(--v3-tile);display:grid;place-items:center;flex:none;color:#fff}
.v3logo__tile svg{width:46px;height:46px;display:block}
.v3logo__txt{display:flex;flex-direction:column;gap:8px;min-width:0}
.v3logo__name{display:flex;align-items:center;gap:9px;font:800 35px/1 var(--font-head);letter-spacing:-.015em;color:#12302a;white-space:nowrap}
.v3logo__u{font:800 22px/1 var(--font-head);color:var(--v3-tile);border:3px solid var(--v3-tile);border-radius:10px;padding:3px 9px 4px}
.v3logo__tag{font:700 13px/1 var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:#5b6f67;white-space:nowrap}
.v3logo__ul{display:block;width:100%;height:16px;margin-top:1px;fill:#e0277e}
.v3logo--sm .v3logo__name{font-size:30px}.v3logo--sm .v3logo__u{font-size:19px}
.v3logo--xs .v3logo__name{font-size:24px}.v3logo--xs .v3logo__u{font-size:15px;border-width:2px;border-radius:8px;padding:2px 7px 3px}.v3logo--xs .v3logo__tag{font-size:11px}
@media (max-width:720px){
  .v3logo{gap:12px}.v3logo__tile{width:52px;height:52px;border-radius:14px}.v3logo__tile svg{width:33px;height:33px}
  .v3logo__name{font-size:24px;gap:7px}.v3logo__u{font-size:15px;border-width:2px;border-radius:8px;padding:2px 7px 3px}
  .v3logo--sm .v3logo__name{font-size:21px}.v3logo--sm .v3logo__u{font-size:13px}
  .v3logo--xs .v3logo__name{font-size:16px}.v3logo--xs .v3logo__u{font-size:10px;padding:1px 5px 2px;border-radius:6px}
  .v3logo__tag{font-size:10px}.v3logo--xs .v3logo__tag{font-size:8.5px}
  .v3logo__txt{gap:6px}.v3logo__ul{height:11px}
}
@media (max-width:480px){
  .v3logo{gap:9px}.v3logo__tile{width:44px;height:44px;border-radius:12px}.v3logo__tile svg{width:28px;height:28px}
  .v3logo__name{font-size:22px;gap:5px}.v3logo__u{font-size:13px;padding:1px 5px 2px}
  .v3logo--sm .v3logo__name{font-size:18px}.v3logo--sm .v3logo__u{font-size:11px}
  .v3logo--xs .v3logo__name{font-size:13px}.v3logo--xs .v3logo__u{font-size:9px;border-width:1.5px;padding:1px 4px}
  .v3logo__tag{font-size:8.5px;letter-spacing:.1em}.v3logo--xs .v3logo__tag{display:none}.v3logo__ul{height:9px}
}
/* Footer auf dunklem Grund: kleinere Variante, helle Kachel, farbiges Symbol, ohne Schwung */
.v3logo--foot{gap:13px}
.v3logo--foot .v3logo__tile{width:52px;height:52px;border-radius:14px;background:#fff;color:var(--v3-tile)}
.v3logo--foot .v3logo__tile svg{width:33px;height:33px}
.v3logo--foot .v3logo__name{font-size:25px;color:#fff;gap:9px}.v3logo--foot .v3logo__u{font-size:16px;color:#fff;border:2px solid #fff;border-radius:8px;padding:2px 7px 3px}
.v3logo--foot.v3logo--sm .v3logo__name{font-size:22px}.v3logo--foot.v3logo--xs .v3logo__name{font-size:18px}.v3logo--foot.v3logo--xs .v3logo__u{font-size:12px;padding:1px 5px 2px}
.v3logo--foot .v3logo__tag{font-size:10.5px;color:#a9c6bb;display:block}
@media (max-width:480px){.v3logo--foot .v3logo__name{font-size:20px}.v3logo--foot.v3logo--sm .v3logo__name{font-size:17px}.v3logo--foot.v3logo--xs .v3logo__name{font-size:14px}.v3logo--foot .v3logo__tile{width:44px;height:44px}.v3logo--foot .v3logo__tag{font-size:9px}}

/* ---------- Header ---------- */
.v3 .nav{background:#fff;backdrop-filter:none;border-bottom:1px solid var(--v3-line)}
.v3 .nav__inner{height:96px;gap:1.2rem}
.v3 .nav__logo{flex:none;display:block}
.v3 .nav__links{gap:1.35rem}
.v3 .nav__links a,.v3 .nav__dropdown>button{white-space:nowrap}
.v3 .nav__links a,.v3 .nav__dropdown>button{font-family:var(--font-head);font-weight:600;font-size:.95rem;color:var(--v3-ink)}
.v3 .nav__links a:hover,.v3 .nav__dropdown>button:hover{color:var(--v3-sig);text-decoration:none}
.v3 .nav__links a.nav__blog{color:#e0277e;font-weight:800}
.v3 .nav__links a.nav__blog:hover{color:#e0277e;text-decoration:underline;text-underline-offset:4px}
.v3 .nav__menu{border-radius:14px;border:1px solid var(--v3-line);box-shadow:var(--shadow-m)}
.v3 .nav__menu a:hover{background:var(--v3-soft);color:var(--v3-sig)}
.v3 .nav__cta{gap:.6rem}
.v3 .nav__call{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1rem;border-radius:10px;border:1.5px solid var(--v3-sig);background:#fff;color:var(--v3-sig);font-family:var(--font-head);font-weight:700;font-size:.97rem;white-space:nowrap}
.v3 .nav__call:hover{background:var(--v3-tint);transform:none;box-shadow:none;border-color:var(--v3-sig);text-decoration:none}
.v3 .nav__call svg{width:18px;height:18px}
.v3 .nav__anfrage{padding:.7rem 1.05rem;font-size:.95rem;white-space:nowrap}
.v3 .nav__toggle span{background:var(--v3-deep)}
@media (max-width:1560px){.v3 .nav__anfrage{display:none}}
/* Hamburger + feste Mobil-Leiste bis 1279px (grosses Logo + lange Markennamen) */
@media (max-width:1279px){
  .v3 .nav__inner{height:84px}
  .v3 .nav__links,.v3 .nav__cta{display:none}
  .v3 .nav__toggle{display:block}
  .v3 .nav[data-open="true"] .nav__links{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;background:#fff;border-bottom:1px solid var(--v3-line);padding:1rem 20px 1.2rem;gap:1rem;box-shadow:var(--shadow-m);max-height:calc(100vh - 90px);overflow:auto}
  .v3 .nav[data-open="true"] .nav__menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:.2rem 0 0 .5rem;min-width:0}
  .v3 .cta-bar{display:flex}
  .v3 .wa-float{display:none}
  body.v3{padding-bottom:78px}
  .v3 .footer{padding-bottom:5.5rem}
}

/* ---------- Hero ---------- */
.v3 .hero{background:linear-gradient(180deg,var(--v3-soft),#fff);padding-block:clamp(2rem,5vw,3.75rem);overflow:visible;overflow-x:clip}
.v3 .hero--home{padding-top:6.2rem}
@media (max-width:900px){.v3 .hero--home{padding-top:2.2rem}}
.v3 .hero__grid{grid-template-columns:1.1fr .9fr;gap:clamp(1.75rem,4vw,2.75rem);align-items:center}
.v3 .hero__title{margin:.6rem 0 1rem;text-transform:none;text-shadow:none;line-height:1.06}
.v3 .hero__title--green{color:var(--v3-deep);text-transform:none;text-shadow:none}
.v3 .hero__title-top{display:block;color:var(--v3-sig);width:fit-content;padding-bottom:12px}
.v3 .hero__title-top::after{background-color:var(--v3-accent);width:min(210px,70%);left:0;transform:none}
.v3 .hero__title-main{display:block;color:var(--v3-deep)}
.v3 .hero__text{font-size:1.15rem;color:var(--v3-muted);max-width:52ch;margin-bottom:1.5rem}
.v3 .hero .btn-row{margin-top:.2rem}
.v3 .hero__usps{margin-top:1.4rem;gap:.6rem 1.2rem}
.v3 .hero__usp{font-weight:600;font-size:.95rem;color:var(--v3-ink)}
.v3 .hero__usp::before{content:"";width:1.15rem;height:1.15rem;background:var(--v3-sig);border-radius:50%;
  -webkit-mask:none;mask:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E");background-size:70%;background-repeat:no-repeat;background-position:center}
.v3 .hero__media img.media-photo{border-radius:18px;box-shadow:var(--shadow-l)}
.v3 .hero__media--graphic img{animation:none}
@media (max-width:900px){.v3 .hero__grid{grid-template-columns:1fr}.v3 .hero__media{order:0}}

/* Schnellanfrage-Karte im Hero */
.v3 .formcard{position:relative;background:#fff;border:1px solid var(--v3-line);border-radius:18px;padding:1.6rem 1.6rem 1.5rem;box-shadow:var(--shadow-l)}
.v3 .formcard__hand{position:absolute;right:-24px;top:-72px;width:146px;height:auto;transform:rotate(8deg);pointer-events:none;filter:drop-shadow(0 6px 10px rgba(18,48,42,.22))}
.v3 .formcard h2{font-size:1.4rem;margin:0 0 .3rem;padding-right:110px}
.v3 .formcard__sub{padding-right:40px}
.v3 .formcard__sub{margin:0 0 .6rem;font-size:.95rem;color:var(--v3-muted)}
.v3 .vform{display:grid;gap:.15rem}
.v3 .vform label{display:block;font-weight:700;font-size:.86rem;margin:.6rem 0 .3rem;color:var(--v3-deep)}
.v3 .vform input,.v3 .vform select,.v3 .vform textarea{width:100%;font:inherit;font-size:.98rem;padding:.8rem .9rem;border:1.5px solid var(--v3-line);border-radius:10px;background:#fbfcfa;color:var(--v3-ink)}
.v3 .vform input:focus,.v3 .vform select:focus,.v3 .vform textarea:focus{outline:none;border-color:var(--v3-sig);box-shadow:0 0 0 3px rgba(15,92,77,.15);background:#fff}
.v3 .vform .btn{width:100%;justify-content:center;margin-top:1rem}
.v3 .vform__row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.v3 .vform__hint{font-size:.78rem;color:var(--v3-muted);margin:.7rem 0 0;line-height:1.45}
@media (max-width:1239px){.v3 .formcard__hand{right:-10px}}
@media (max-width:900px){.v3 .formcard{margin-top:4.6rem}.v3 .formcard__hand{right:4px;top:-62px;width:112px}.v3 .formcard h2{padding-right:80px}.v3 .formcard__sub{padding-right:0}}
@media (max-width:480px){.v3 .vform__row{grid-template-columns:1fr}}

/* ---------- Vertrauens-Streifen (Fakten) ---------- */
.v3 .section--soft[aria-label="Fakten auf einen Blick"]{background:#fff;border-block:1px solid var(--v3-line);padding-block:1.6rem}
.v3 .facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem 1.4rem}
.v3 .fact{flex-direction:row;align-items:center;text-align:left;gap:.85rem;background:transparent;border:0;border-radius:0;box-shadow:none;padding:.2rem 0}
.v3 .fact:hover{transform:none;box-shadow:none}
.v3 .fact__ico{width:2.6rem;height:2.6rem;border-radius:12px;background:var(--v3-tint);color:var(--v3-sig);box-shadow:none}
.v3 .fact__ico svg{width:1.35rem;height:1.35rem}
.v3 .fact__k{font-size:.98rem;color:var(--v3-deep)}
.v3 .fact__v{font-size:.86rem;color:var(--v3-muted);margin-top:.1rem}
@media (max-width:860px){.v3 .facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.v3 .facts{grid-template-columns:1fr}}

/* ---------- Leistungs-Karten ---------- */
.v3 #leistungen{padding-top:clamp(2.5rem,5vw,4rem)}
.v3 #leistungen .section-head{margin-bottom:2rem}
.v3 .svc-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.1rem}
.v3 .svc-card{border:1px solid var(--v3-line);border-radius:16px;padding:1.5rem;gap:.55rem;background:#fff;box-shadow:none;text-decoration:none}
.v3 .svc-card:hover{transform:none;box-shadow:0 14px 34px rgba(29,59,43,.12);border-color:var(--v3-accent);text-decoration:none}
.v3 .svc-card__icon{width:54px;height:54px}
.v3 .svc-card h3{color:var(--v3-deep)}
.v3 .svc-card p{color:var(--v3-muted);font-size:.96rem}
.v3 .svc-card__link{color:var(--v3-sig);font-weight:700;font-size:.93rem}

/* ---------- Ablauf ---------- */
.v3 .steps{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.1rem}
.v3 .step{text-align:left;border:1px solid var(--v3-line);border-radius:16px;padding:1.5rem;background:#fff}
.v3 .step__num{top:1.1rem;right:1.1rem;width:2.15rem;height:2.15rem;display:grid;place-items:center;border-radius:50%;background:var(--v3-sig);color:#fff;font-weight:800;font-size:1rem}
.v3 .step img,.v3 .step svg{margin:0 0 .9rem;width:60px;height:60px}
.v3 .step h3{font-size:1.1rem}
.v3 .step p{font-size:.95rem}

/* ---------- Preis-Orientierung (Rechner) ---------- */
.v3 .calc{gap:1.3rem;grid-template-columns:1.4fr 1fr}
.v3 .calc__form{border:1px solid var(--v3-line);border-radius:16px;box-shadow:none}
.v3 .calc__q>.calc__label{font-size:1rem}
.v3 .calc__opt label{border-radius:10px;border:1.5px solid var(--v3-line);background:#fff;font-weight:600;font-size:.93rem}
.v3 .calc__opt label:hover{border-color:var(--v3-sig2)}
.v3 .calc__opt input:checked+label{background:var(--v3-sig);border-color:var(--v3-sig);color:#fff}
.v3 .calc__result{background:var(--v3-deep);border-radius:16px;box-shadow:none;top:96px}
.v3 .calc__result .eyebrow{color:#a9d6c6;opacity:1}
.v3 .calc__price{font-weight:800}
.v3 .calc__result .btn--whatsapp,.v3 .quote .btn--whatsapp,.v3 .section--dark .btn--whatsapp{background:#fff;color:var(--v3-sig);border-color:#fff}
.v3 .calc__result .btn--dark,.v3 .quote .btn--ghost,.v3 .section--dark .btn--dark{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.v3 .calc__result .btn--dark:hover,.v3 .quote .btn--ghost:hover,.v3 .section--dark .btn--dark:hover{background:rgba(255,255,255,.1);color:#fff}
.v3 .calc__result .btn--primary,.v3 .quote .btn--primary,.v3 .section--dark .btn--primary{background:var(--v3-btn);color:var(--v3-btn-tx);border-color:var(--v3-btn)}
.v3 .calc__hint{color:#cfe0d7}
.v3 .calc__disclaimer{color:var(--v3-muted)}

/* ---------- Band / Dunkel-CTA ---------- */
.v3 .section--dark{background:var(--v3-sig);color:#fff}
.v3 .section--dark h2{color:#fff}
.v3 .section--dark p{color:#d6ebe3}
.v3 .quote{background:var(--v3-sig);border-radius:18px;box-shadow:none}

/* ---------- Willkommen / Split ---------- */
.v3 .split{gap:clamp(1.75rem,4vw,3.5rem)}
.v3 .media-photo{border-radius:18px;box-shadow:var(--shadow-l)}

/* ---------- Kundenstimmen / Bewertungen ---------- */
.v3 .reviews__rating{font-weight:800;color:var(--v3-deep)}
.v3 .testi-card{border:1px solid var(--v3-line);border-radius:16px;box-shadow:none}
.v3 .testi-card__stars,.v3 .reviews__stars{color:#f5a623}
.v3 .trust-pill{background:var(--v3-tint);color:var(--v3-sig);font-weight:700}

/* ---------- Info-Karten ---------- */
.v3 .info-card{border:1px solid var(--v3-line);border-radius:16px}
.v3 .info-card h3{font-size:1.1rem}

/* ---------- FAQ ---------- */
.v3 .faq{max-width:820px;margin-inline:0}
.v3 .faq__item{border:0;border-bottom:1px solid var(--v3-line);border-radius:0;background:transparent;margin:0;box-shadow:none}
.v3 .faq__item[open]{border-color:var(--v3-line);box-shadow:none}
.v3 .faq__item summary{padding:1.05rem .2rem;font-weight:700;font-size:1.05rem;color:var(--v3-deep)}
.v3 .faq__item summary::after{color:var(--v3-sig)}
.v3 .faq__item>p,.v3 .faq__item>div{padding:0 .2rem 1.1rem;color:var(--v3-muted)}
.v3 .faq__item p{max-width:70ch}

/* ---------- Spezialgebiete / Ratgeber ---------- */
.v3 .chips{justify-content:flex-start}
.v3 .chip{border-radius:10px;border:1.5px solid var(--v3-line);font-weight:600;color:var(--v3-deep)}
.v3 .chip:hover{border-color:var(--v3-sig);background:var(--v3-tint);color:var(--v3-sig)}
.v3 .rat-grid{gap:1.1rem}
.v3 .rat-card{border:1px solid var(--v3-line);border-radius:16px;background:#fff;box-shadow:none;text-decoration:none}
.v3 .rat-card:hover{transform:none;border-color:var(--v3-accent);box-shadow:0 14px 34px rgba(29,59,43,.12);text-decoration:none}
.v3 .rat-card h3{color:var(--v3-deep)}
.v3 .rat-card__link{color:var(--v3-sig);font-weight:700}
.v3 .lokal-seo h3{color:var(--v3-deep)}
.v3 .lokal-seo .lokal-check li::before{background:var(--v3-tint);color:var(--v3-sig)}

/* ---------- Kontakt / Formular ---------- */
.v3 .contact-grid{gap:1.5rem}
.v3 .contact-quick,.v3 .form{border:1px solid var(--v3-line);border-radius:18px;box-shadow:var(--shadow-m)}
.v3 .form label{font-size:.86rem;font-weight:700;color:var(--v3-deep)}
.v3 .form input,.v3 .form textarea{border:1.5px solid var(--v3-line);border-radius:10px;background:#fbfcfa}
.v3 .form input:focus,.v3 .form textarea:focus{border-color:var(--v3-sig);box-shadow:0 0 0 3px rgba(15,92,77,.15);background:#fff}
.v3 .form__consent input{width:auto}

/* ---------- Antwort-Box (GEO "Kurz erklärt") ---------- */
.v3 .answer-box{background:var(--v3-accent-soft);border-left:5px solid var(--v3-accent);border-radius:0 14px 14px 0;margin:0;padding:0}
.v3 .answer-box .container{padding-block:1.5rem}
.v3 .answer-box .ab-eyebrow{display:inline-block;font-size:.76rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--v3-accent-ink);margin:0 0 .4rem}
.v3 .answer-box h2{font-size:clamp(1.2rem,2.2vw,1.55rem);margin:0 0 .5rem;line-height:1.25}
.v3 .answer-box p{margin:0;max-width:72ch;font-size:1.03rem;line-height:1.7;color:var(--v3-ink)}
.v3 .answer-wrap{padding-block:clamp(1.5rem,3vw,2.5rem)}

/* ---------- Footer ---------- */
.v3 .footer{background:var(--v3-dark);color:#b7c4bb;padding-block:3rem 2.2rem;font-size:.94rem}
.v3 .footer a{color:#cfe0d7}
.v3 .footer a:hover{color:#fff}
.v3 .footer h4{color:#fff;font-size:.95rem;letter-spacing:.02em}
.v3 .footer__logo{margin-bottom:1.1rem}
.v3 .footer__logo:has(img){background:transparent;padding:0}
.v3 .footer__bottom{border-top-color:rgba(255,255,255,.12);color:#8fa399}
.v3 .footer__bottom a{color:#8fa399}
.v3 .footer__bottom a:hover{color:#fff}

/* ---------- Schwebend: WhatsApp + mobile CTA-Leiste ---------- */
.v3 .wa-float{background:var(--v3-sig);box-shadow:var(--shadow-l);animation:none}
.v3 .wa-float img{width:34px;height:34px}
.v3 .cta-bar{background:#fff;backdrop-filter:none;border-top:1px solid var(--v3-line);box-shadow:0 -4px 18px rgba(18,48,42,.13);gap:.45rem}
.v3 .cta-bar .btn{flex:1;justify-content:center;padding:.8rem .4rem;font-size:.92rem;min-width:0}
.v3 .cta-bar .btn img{width:1.1rem;height:1.1rem}

/* ---------- Cookie-Banner (Consent v2) im neuen Look ---------- */
html body #fa-consent{background:var(--v3-deep);border-top:3px solid var(--v3-accent);font-family:var(--font-body);padding:14px 20px calc(14px + env(safe-area-inset-bottom))}
html body #fa-consent a{color:#8fe3c6}
html body #fa-consent button{border-radius:10px;font-weight:700;font-family:var(--font-body)}
html body #fa-consent .ok{background:var(--v3-btn);color:#fff;border:2px solid var(--v3-btn)}
html body #fa-consent .no{background:#fff;color:var(--v3-deep);border:2px solid #fff}
html body #fa-consent button{padding:10px 18px;min-height:44px}
@media (max-width:1279px){html body #fa-consent.show{bottom:70px;padding-bottom:12px}}

/* ---------- Text-Wordmark-Fallback ---------- */
.v3 .wordmark__name{color:var(--v3-deep)}.v3 .wordmark__4u{color:var(--v3-accent)}

/* ---------- Kleinkram ---------- */
.v3 img,.v3 svg{max-width:100%}
.v3 table{max-width:100%}
.v3 .prose{overflow-wrap:break-word}
@media (max-width:720px){.v3 .section{padding-block:2.5rem}.v3 .hero__text{font-size:1.05rem}.v3 .calc{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.v3 *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- Info-Formular: Dialog + Zusatzfelder ---------- */
.v3 .vform textarea{resize:vertical;min-height:4.2rem}
.v3 .vform__opt{font-weight:500;color:var(--v3-muted);font-size:.8rem}
.v3 .vform label.vform__check{display:grid;grid-template-columns:auto 1fr;gap:.6rem;align-items:start;font-weight:400;font-size:.85rem;margin:.9rem 0 0;line-height:1.45}
.v3 .vform__check input{width:1.15rem;height:1.15rem;margin:.1rem 0 0;accent-color:var(--v3-sig)}
.v3 .vform__hint{margin:.5rem 0 0}
.v3 .vform__status{min-height:1.2rem;margin:.6rem 0 0;font-size:.9rem;font-weight:600;color:var(--v3-sig)}
.v3 .vform__status.is-bad{color:#b3261e}
.v3 .vform input[aria-invalid="true"]{border-color:#b3261e}
dialog.infodlg{margin:auto;border:0;padding:0;border-radius:18px;width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto;box-shadow:0 30px 80px rgba(15,31,23,.45);color:var(--v3-ink,#17261d);font-family:var(--font-body)}
dialog.infodlg::backdrop{background:rgba(15,31,23,.62)}
.infodlg__box{position:relative;padding:1.6rem 1.5rem 1.4rem}
.infodlg__box h2{font-size:1.4rem;margin:0 0 .3rem;padding-right:3rem}
.infodlg__x{position:absolute;top:.6rem;right:.6rem;width:44px;height:44px;border:0;border-radius:10px;background:transparent;font-size:1.9rem;line-height:1;cursor:pointer;color:var(--v3-deep,#12302a)}
.infodlg__x:hover{background:var(--v3-tint,#e6f0ea)}
body:has(dialog[open]){overflow:hidden}
@media (max-width:480px){.infodlg__box{padding:1.2rem 1rem 1rem}}

@media (max-width:720px){.v3 .nav__inner{height:72px}}

/* Schritte: Zahlenkreise in Cerise-Pink */
.v3 .step__num{background:#e0277e;color:#fff}
.v3 ol.steps .n{background:#e0277e;color:#fff}

/* Mobil-Leiste: Text darf auf 2 Zeilen umbrechen, nie abgeschnitten */
.v3 .cta-bar .btn{white-space:normal;line-height:1.15;text-align:center;min-height:48px;overflow-wrap:normal;hyphens:none}
.v3 .cta-bar .btn--whatsapp{gap:.3rem;font-size:.85rem}
.v3 .cta-bar .btn--whatsapp svg,.v3 .cta-bar .btn--whatsapp img{width:1rem;height:1rem;flex:none}

/* ---------- Zensus-Block "Wohnsituation" ---------- */
.v3 .zs{margin:1.8rem 0;padding:1.3rem 1.4rem;border:1px solid var(--v3-line);border-radius:14px;background:var(--v3-soft)}
.v3 .zs h3{margin-top:0}
.v3 .zs p{margin:.6rem 0}
.v3 .zs__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.9rem;margin:1rem 0}
.v3 .zs__f{display:flex;flex-direction:column;gap:.1rem;background:#fff;border:1px solid var(--v3-line);border-radius:12px;padding:.7rem .85rem}
.v3 .zs__f strong{font-size:1.3rem;color:var(--v3-deep);line-height:1.2}
.v3 .zs__k{overflow-wrap:normal;hyphens:manual;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--v3-sig2)}
.v3 .zs__d{font-size:.84rem;color:var(--v3-muted)}
.v3 .zs .zs__q{font-size:.78rem;color:var(--v3-muted);margin:.4rem 0 0}
/* ---------- Hubs / schlanker Footer ---------- */
.v3 .hub-list{list-style:none;padding:0;margin:.4rem 0 1.4rem;columns:220px auto;column-gap:1.6rem}
.v3 .hub-list li{margin:0;padding:.18rem 0;break-inside:avoid}
.v3 .hub-az a{display:inline-block;padding:.1rem .4rem;font-weight:700}
.v3 .hub-h2{font-size:1.25rem;margin:0 0 .8rem}
.v3 .footer__near{border-top:1px solid rgba(255,255,255,.12);margin-top:1.8rem;padding-top:1.2rem}
.v3 .footer__cities--row{columns:auto;display:flex;flex-wrap:wrap;gap:.35rem 1.1rem}
.v3 .footer__cities--row a{display:inline;margin:0}
