/* Schönegarten · gemeinsames CSS für /, /einstieg, /vermoegen
   Objekt-Muster (objekt-landingpage.md): normale Barlow, 0px Radius.
   Gold (#B49E51, Navy-Schrift) nur auf zwei Button-Rollen: Formular absenden
   und Termin buchen. Dazu genau ein Wert im Rechner (Ø Eigenaufwand). */
:root{
  --navy:#112532; --darker:#0A1620; --dunkelblau:#1A5875;
  --hellblau:#4996B4; --hellblau-text:#2C7A96; --gold:#B49E51;
  --grau:#C6C6C6; --text-muted:#556773; --linie:#E5E7EB; --cream:#F7F5F0; --white:#fff;
  --auf-dunkel:rgba(255,255,255,.82); --auf-dunkel-leise:rgba(255,255,255,.68);
  --r:0px; --banner-h:0px;
}
*{box-sizing:border-box;}
button,input,select,textarea{font-family:inherit;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Barlow',system-ui,-apple-system,sans-serif;font-weight:300;color:var(--navy);
  background:var(--white);line-height:1.6;font-size:17.5px;-webkit-font-smoothing:antialiased;padding-bottom:var(--banner-h);}
b,strong{font-weight:700;}
h1,h2,h3,h4{font-family:'Barlow',sans-serif;font-weight:800;line-height:1.1;margin:0 0 .5em;letter-spacing:-0.015em;}
p{margin:0 0 1em;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.skip{position:absolute;left:12px;top:-60px;z-index:1000;background:#fff;color:var(--navy);padding:12px 16px;font-weight:700;}
.skip:focus{top:12px;}
:focus-visible{outline:2px solid var(--hellblau-text);outline-offset:2px;}
.hero :focus-visible,.section-dark :focus-visible,.section-blue :focus-visible,header.nav :focus-visible,footer :focus-visible,
.cookie-banner :focus-visible,.selection-footer :focus-visible,.lightbox :focus-visible,.team-closing-text :focus-visible{outline:2px solid #fff;outline-offset:2px;}

.eyebrow{font-weight:700;font-size:13px;letter-spacing:2.36px;text-transform:uppercase;color:var(--hellblau-text);margin-bottom:.9em;display:block;}
.hero .eyebrow,.section-dark .eyebrow,.section-blue .eyebrow,.team-closing-text .eyebrow{color:var(--hellblau);}
.section-blue .eyebrow{color:rgba(255,255,255,.8);}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 26px;min-height:48px;border-radius:var(--r);
  font-weight:700;font-size:1rem;border:2px solid transparent;cursor:pointer;line-height:1.2;text-align:center;
  transition:transform .15s ease,filter .15s ease,background .15s ease,border-color .15s ease,color .15s ease;}
.btn:hover{transform:translateY(-1px);}
.btn-gold{background:var(--gold);color:var(--navy);}
.btn-gold:hover{filter:brightness(1.07);}
.btn-outline{background:transparent;border-color:rgba(255,255,255,.7);color:#fff;}
.btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.1);}
.btn-outline-navy{background:transparent;border-color:var(--navy);color:var(--navy);}
.btn-outline-navy:hover{background:var(--navy);color:#fff;}
.btn-solid-white{background:#fff;color:var(--navy);border-color:#fff;}
.btn-solid-white:hover{filter:brightness(.94);}

section{padding:88px 0;}
.section-dark{background:var(--navy);color:#fff;}
.section-blue{background:var(--dunkelblau);color:#fff;}
.section-paper{background:var(--cream);}
.section-dark p,.section-blue p{color:var(--auf-dunkel);}
.lede{max-width:680px;font-size:1.1rem;}
h2.section-title{font-size:clamp(1.9rem,3.6vw,2.6rem);color:var(--navy);}
.section-dark h2.section-title,.section-blue h2.section-title,.section-dark h3,.section-blue h3{color:#fff;}
.klein{font-size:.88rem;color:var(--text-muted);font-weight:400;}
.section-dark .klein,.section-blue .klein{color:var(--auf-dunkel-leise);}
.caption{font-size:.85rem;color:var(--text-muted);margin-top:10px;font-style:italic;font-weight:400;}

/* NAV */
header.nav{position:sticky;top:0;z-index:60;background:rgba(17,37,50,.97);border-bottom:1px solid rgba(255,255,255,.08);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;max-width:1180px;margin:0 auto;gap:12px;}
.nav-logo{display:inline-flex;align-items:center;min-height:44px;}
.nav-logo img{height:28px;width:auto;}
.nav-right{display:flex;align-items:center;gap:16px;}
.nav-tel{color:var(--auf-dunkel);font-size:.95rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;min-height:44px;min-width:44px;}
.nav-tel:hover{color:#fff;}
.nav-tel svg{width:18px;height:18px;display:inline-block;}
.nav-cta{padding:8px 16px;font-size:.9rem;min-height:44px;}
.nav-back{color:var(--auf-dunkel);font-size:.92rem;font-weight:600;display:inline-flex;align-items:center;min-height:44px;}
.nav-back:hover{color:#fff;}
@media (max-width:640px){
  .nav-inner{padding:6px 12px 6px 16px;}
  .nav-logo img{height:22px;}
  .nav-tel .tel-num,.nav-back{display:none;}
  .nav-right{gap:4px;}
  .nav-cta{padding:8px 12px;font-size:.85rem;}
}

/* HERO: Vollbild-Foto + Verlauf */
.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:92px 0 84px;}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:50% 50%;}
.hero-overlay{position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,#112532e6 0%,#112532b8 38%,#11253255 66%,#11253200 92%);}
.hero-inner{position:relative;z-index:2;}
.hero-inner > *{max-width:700px;}
.hero h1{font-size:clamp(2.3rem,5vw,3.8rem);color:#fff;}
.hero h1,.hero .desc,.hero .eyebrow,.hero .frage,.hero .frage-sub{text-shadow:0 1px 3px rgba(9,20,28,.9),0 2px 12px rgba(9,20,28,.7);}
.hero .frage{font-size:1.3rem;font-weight:600;color:#fff;margin:18px 0 6px;}
.hero .frage-sub{font-size:.95rem;color:#fff;margin:0;font-weight:400;}
.hero .frage-kfw{font-size:.85rem;color:var(--auf-dunkel);margin:6px 0 0;font-weight:400;}
.hero .desc{color:#fff;font-size:1.06rem;max-width:620px;margin:18px 0 0;font-weight:400;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;}
.hero-caption{position:absolute;left:24px;bottom:10px;z-index:2;font-size:.75rem;color:rgba(255,255,255,.88);
  text-shadow:0 1px 3px rgba(0,0,0,.8);}
@media (min-width:1228px){.hero-caption{left:calc(50% - 566px);}}
@media (max-width:760px){
  .hero{padding:0 0 30px;}
  .hero-bg{position:relative;inset:auto;height:min(42vw,160px);background-position:50% 60%;}
  .hero-overlay{top:0;bottom:auto;height:min(42vw,160px);
    background:linear-gradient(180deg,rgba(17,37,50,.25) 0%,rgba(17,37,50,0) 30%,rgba(17,37,50,0) 65%,var(--navy) 100%);}
  .hero-inner{padding-top:16px;display:flex;flex-direction:column;}
  .hero h1{font-size:1.85rem;margin-bottom:.35em;}
  .hero h1,.hero .desc,.hero .eyebrow,.hero .frage,.hero .frage-sub{text-shadow:none;}
  .hero .eyebrow{font-size:11px;letter-spacing:1.6px;margin-bottom:.6em;}
  .hero .frage{font-size:1.08rem;margin:2px 0 2px;}
  .hero .frage-sub{order:3;font-size:.88rem;line-height:1.45;color:var(--auf-dunkel);}
  .hero .frage-kfw{order:6;}
  .hero-ctas{order:4;margin-top:14px;gap:10px;}
  .hero-ctas .btn{padding:10px 16px;font-size:.95rem;}
  .hero .desc{order:5;font-size:1rem;margin:18px 0 0;}
  .hero-caption{top:calc(min(42vw,160px) - 22px);bottom:auto;left:auto;right:12px;}
  .nur-desktop{display:none;}
}

/* KENNZAHLEN */
.kennzahlen{background:#fff;padding:0;border-bottom:1px solid var(--linie);}
.kz-grid{display:grid;grid-template-columns:repeat(3,1fr);}
.kz-item{padding:40px 20px;text-align:center;}
.kz-icon{width:44px;height:44px;margin:0 auto 12px;color:var(--hellblau);}
.kz-icon svg{width:100%;height:100%;display:block;}
.kz-num{font-weight:800;font-size:clamp(1.8rem,3.6vw,2.7rem);color:var(--dunkelblau);line-height:1;margin-bottom:8px;}
.kz-label{color:var(--text-muted);font-size:.95rem;font-weight:400;}
@media (max-width:700px){.kz-grid{grid-template-columns:1fr;}.kz-item{padding:24px 16px;}.kz-num{font-size:30px;}}

/* ZWEISPALTIG */
.twocol{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.twocol img{width:100%;aspect-ratio:16/9;object-fit:cover;}
.quote{font-weight:700;font-size:1.4rem;color:var(--dunkelblau);border-left:3px solid var(--hellblau);padding-left:20px;margin:24px 0;line-height:1.3;}
@media (max-width:860px){.twocol{grid-template-columns:1fr;gap:28px;}}

/* FAKTEN */
.facts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.1);margin-top:40px;}
.fact{background:rgba(255,255,255,.06);padding:30px 26px;}
.fact .eyebrow{margin-bottom:.6em;}
.fact h3{color:#fff;font-size:1.15rem;margin-bottom:.4em;}
.fact p{color:var(--auf-dunkel);font-size:.97rem;margin:0;font-weight:400;}
@media (max-width:900px){.facts-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.facts-grid{grid-template-columns:1fr;}}

/* BILDKNÖPFE, GALERIE */
.bildknopf{display:block;width:100%;padding:0;margin:0;border:0;background:none;cursor:zoom-in;position:relative;}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px;}
.gallery figure{margin:0;overflow:hidden;position:relative;}
.gallery img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .4s ease;}
.gallery figure:hover img{transform:scale(1.04);}
.gallery figure.gross{grid-column:span 2;grid-row:span 2;}
.gallery figure.gross .bildknopf,.gallery figure.gross img{height:100%;}
.gallery figure.gross img{aspect-ratio:auto;}
.gallery figcaption{position:absolute;left:0;bottom:0;padding:5px 10px;font-size:.75rem;color:#fff;background:rgba(17,37,50,.8);font-weight:400;pointer-events:none;}
.gallery-head{margin-top:56px;font-size:1.4rem;}
@media (max-width:760px){.gallery{grid-template-columns:1fr 1fr;}.gallery figure.gross{grid-column:span 2;grid-row:auto;}
  .gallery figure.gross img{aspect-ratio:16/9;height:auto;}}
.mini-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px;}
.mini-gallery figure{margin:0;}
.mini-gallery img{width:100%;aspect-ratio:16/9;object-fit:cover;}
@media (max-width:700px){.mini-gallery{gap:6px;}}
.lightbox{position:fixed;inset:0;background:rgba(6,14,19,.94);z-index:2000;display:none;align-items:center;justify-content:center;padding:56px 20px 24px;flex-direction:column;gap:10px;}
.lightbox.open{display:flex;}
.lightbox img{max-width:100%;max-height:82vh;width:auto;}
.lightbox p{color:var(--auf-dunkel);font-size:.88rem;margin:0;text-align:center;font-weight:400;}
.lightbox-close{position:absolute;top:10px;right:12px;width:44px;height:44px;background:transparent;border:2px solid rgba(255,255,255,.7);color:#fff;font-size:1.3rem;cursor:pointer;}

/* WEICHE */
.weiche{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px;}
.weiche-karte{display:flex;flex-direction:column;background:#fff;border:1px solid var(--linie);transition:border-color .15s ease,transform .15s ease;}
.weiche-karte:hover{border-color:var(--hellblau);transform:translateY(-2px);}
.weiche-karte img{width:100%;aspect-ratio:16/9;object-fit:cover;}
.weiche-body{padding:28px 28px 30px;display:flex;flex-direction:column;flex:1;}
.weiche-zi{font-weight:800;font-size:clamp(1.6rem,3vw,2.2rem);color:var(--navy);line-height:1.1;margin-bottom:6px;}
.weiche-preis{font-weight:700;font-size:1.15rem;color:var(--dunkelblau);margin-bottom:10px;}
.weiche-fuer{color:var(--navy);margin-bottom:6px;}
.weiche-monat{font-size:.94rem;color:var(--text-muted);margin-bottom:22px;font-weight:400;}
.weiche-monat b{color:var(--navy);}
.weiche-body .btn{margin-top:auto;align-self:flex-start;}
.hinweis-zeile{margin-top:26px;color:var(--navy);}
@media (max-width:760px){.weiche{grid-template-columns:1fr;}.weiche-body{padding:22px 20px 24px;}}

/* EHRLICHE EINORDNUNG */
.einordnung{border-left:3px solid var(--hellblau);padding:4px 0 4px 26px;max-width:780px;}
.einordnung p{color:var(--navy);margin:0 0 .8em;}
.einordnung p:last-child{margin-bottom:0;}
.einordnung a{color:var(--hellblau-text);font-weight:700;text-decoration:underline;text-underline-offset:3px;}
.einordnung-kurz{background:#fff;border:1px solid var(--linie);border-left:3px solid var(--hellblau);padding:20px 24px;margin-top:30px;}
.einordnung-kurz p{margin:0;color:var(--navy);}
.einordnung-kurz a{color:var(--hellblau-text);font-weight:700;text-decoration:underline;text-underline-offset:3px;}

/* WARUM */
.warum-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:40px;}
.warum-item .num{font-weight:800;font-size:3rem;color:rgba(255,255,255,.22);line-height:1;margin-bottom:10px;}
.warum-item h3{font-size:1.3rem;color:#fff;}
@media (max-width:860px){.warum-grid{grid-template-columns:1fr;gap:26px;}}

/* CHECKLISTE */
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 40px;margin-top:34px;}
.check-item{display:flex;gap:12px;align-items:flex-start;color:var(--navy);}
.check-item .tick{color:var(--dunkelblau);font-weight:700;flex-shrink:0;}
@media (max-width:700px){.check-grid{grid-template-columns:1fr;}}

/* AUSWAHL */
.disclaimer-box{background:#fff;border-left:3px solid var(--hellblau);padding:16px 20px;font-size:.97rem;color:var(--navy);margin:26px 0 40px;}
.grundriss-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0 40px;}
.grundriss-card{background:#fff;border:1px solid var(--linie);scroll-margin-top:90px;}
.grundriss-card img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff;border-bottom:1px solid var(--linie);}
.grundriss-body{padding:16px 18px 18px;}
.grundriss-body h3{font-size:1.2rem;margin-bottom:.2em;}
.grundriss-body .sub{font-size:.94rem;color:var(--dunkelblau);font-weight:600;margin-bottom:.4em;}
.grundriss-body .preis{font-weight:700;font-size:1.15rem;}
.gr-note{font-style:italic;font-size:.82rem;color:var(--text-muted);margin:.4em 0 0;font-weight:400;}
@media (max-width:860px){.grundriss-row{grid-template-columns:1fr;}}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid var(--linie);}
table.unit-table{width:100%;border-collapse:collapse;font-size:.97rem;}
table.unit-table th{background:#fff;text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--dunkelblau);
  padding:12px;border-bottom:1px solid var(--linie);font-weight:700;white-space:nowrap;}
table.unit-table td{white-space:nowrap;padding:12px;border-bottom:1px solid var(--linie);vertical-align:middle;font-weight:400;}
table.unit-table tbody tr{cursor:pointer;}
table.unit-table tbody tr:hover td,table.unit-table tr.gewaehlt td{background:rgba(73,150,180,.08);}
table.unit-table tr:last-child td{border-bottom:none;}
table.unit-table tr.unavailable td{color:var(--text-muted);}
table.unit-table .plan{display:block;font-size:.78rem;color:var(--text-muted);}
.status-pill{display:inline-block;padding:5px 11px;border-radius:var(--r);font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;}
.status-frei{background:var(--hellblau-text);color:#fff;}
.status-res{background:var(--linie);color:var(--text-muted);}
.unit-check{width:24px;height:24px;accent-color:var(--hellblau-text);cursor:pointer;margin:0;vertical-align:middle;}
.unit-check:disabled{cursor:not-allowed;opacity:.35;}
.unit-link{color:var(--hellblau-text);font-weight:700;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:10px 0;}
@media (max-width:600px){
  .table-scroll{border:0;background:transparent;overflow:visible;}
  table.unit-table,table.unit-table tbody,table.unit-table tr,table.unit-table td{display:block;width:100%;}
  table.unit-table thead{display:none;}
  table.unit-table tbody tr{background:#fff;border:1px solid var(--linie);margin-bottom:12px;padding:12px 14px 12px 54px;position:relative;}
  table.unit-table tr.gewaehlt{border-color:var(--hellblau-text);}
  table.unit-table td{border:0;padding:3px 0;white-space:normal;display:flex;justify-content:space-between;gap:12px;background:transparent !important;}
  table.unit-table td.c-check{position:absolute;left:14px;top:16px;width:auto;padding:0;}
  table.unit-table td.c-name{font-size:1.1rem;}
  table.unit-table td.c-name .unit-link{padding:0 0 4px;}
  table.unit-table td[data-label]::before{content:attr(data-label);color:var(--text-muted);font-size:.88rem;}
  table.unit-table .plan{display:none;}
}
.mehr-zeile{margin:18px 0 0;font-weight:700;color:var(--navy);}
.selection-footer{position:sticky;bottom:var(--banner-h);z-index:20;background:var(--navy);color:#fff;padding:14px 22px;margin-top:30px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;box-shadow:0 -6px 24px rgba(0,0,0,.15);}
.selection-footer .count{font-weight:700;font-size:1.1rem;}
.selection-footer .actions{display:flex;gap:10px;flex-wrap:wrap;}
@media (max-width:600px){
  .selection-footer{padding:8px 12px;gap:8px;}
  .selection-footer .count{font-size:.95rem;}
  .selection-footer .btn{padding:8px 12px;font-size:.88rem;}
}

/* RECHNER */
.calc-box{background:var(--dunkelblau);padding:32px 36px;margin-top:24px;}
.calc-box.ergebnis{background:var(--navy);border:1px solid rgba(255,255,255,.2);}
.calc-title{font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:.04em;color:#fff;margin:0 0 16px;}
.calc-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.14);color:#fff;font-size:1rem;font-weight:400;}
.calc-row .val{font-weight:700;text-align:right;white-space:nowrap;}
.calc-row.total{font-weight:700;border-bottom:1px solid rgba(255,255,255,.4);}
.calc-row.sub span:first-child{color:var(--auf-dunkel);}
.calc-row.headline{border-bottom:1px solid rgba(255,255,255,.4);padding:16px 0;align-items:center;}
.calc-row.headline span:first-child{font-weight:700;}
.calc-row.headline .val{color:var(--gold);font-size:1.6rem;font-weight:800;}
.calc-row.modell .val{font-size:1.15rem;}
.calc-sub{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--auf-dunkel-leise);margin:22px 0 4px;font-weight:700;}
.rechner-select{width:100%;padding:12px 14px;min-height:48px;border:1.5px solid transparent;background:#fff;color:var(--navy);font-size:1rem;
  margin-top:6px;border-radius:var(--r);}
.rechner-facts{display:flex;gap:28px;flex-wrap:wrap;margin-top:20px;}
.rechner-facts .lbl{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--auf-dunkel);margin-bottom:4px;font-weight:400;}
.rechner-facts .v{font-weight:700;color:#fff;font-size:1.12rem;}
.rechner-facts .status-frei{background:var(--hellblau);color:var(--navy);}
.slider-label{display:flex;justify-content:space-between;align-items:baseline;font-size:.97rem;margin-bottom:2px;color:var(--auf-dunkel);font-weight:400;}
.slider-val{font-weight:700;color:#fff;}
.slider-sub{margin:-12px 0 16px;font-size:.84rem;color:var(--auf-dunkel);font-weight:400;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;}
.slider-sub button{background:none;border:none;color:#fff;text-decoration:underline;cursor:pointer;font-size:.84rem;min-height:44px;padding:0 6px;}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;outline-offset:2px;margin:0 0 18px;cursor:pointer;}
input[type=range]::-webkit-slider-runnable-track{height:5px;background:rgba(255,255,255,.25);}
input[type=range]::-moz-range-track{height:5px;background:rgba(255,255,255,.25);}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-9.5px;border-radius:50%;background:#fff;border:3px solid var(--hellblau);box-shadow:0 2px 8px rgba(0,0,0,.35);}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--hellblau);}
.rechner-details,.detail{margin-top:18px;border-top:1px solid rgba(255,255,255,.14);padding-top:6px;}
.rechner-details summary,.detail summary{cursor:pointer;color:#fff;font-weight:700;font-size:.95rem;list-style:none;min-height:44px;display:flex;align-items:center;gap:8px;}
.rechner-details summary::-webkit-details-marker,.detail summary::-webkit-details-marker{display:none;}
.rechner-details summary::before,.detail summary::before{content:'+';font-size:1.2rem;width:1em;}
.rechner-details[open] summary::before,.detail[open] summary::before{content:'−';}
.rechner-details-body{margin-top:14px;}
.detail{margin-top:28px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.18);padding:6px 24px;}
.detail summary{font-size:1.1rem;}
.detail-body{padding:8px 0 22px;}
.segmented{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 14px;}
.st-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 10px;}
.st-tabs button,.segmented button{padding:8px 16px;min-height:44px;border-radius:var(--r);border:1.5px solid rgba(255,255,255,.45);background:transparent;
  color:#fff;font-weight:600;font-size:.95rem;cursor:pointer;}
.st-tabs button.active,.segmented button.active{background:#fff;border-color:#fff;color:var(--navy);}
.st-tabs button:hover:not(.active),.segmented button:hover:not(.active){border-color:#fff;}
.schalter{display:flex;align-items:flex-start;gap:10px;font-size:.97rem;color:#fff;cursor:pointer;margin:8px 0;font-weight:400;min-height:32px;}
.schalter input{width:22px;height:22px;accent-color:var(--hellblau);margin:1px 0 0;flex-shrink:0;}
.schalter small{display:block;font-size:.84rem;color:var(--auf-dunkel);}
.senkung-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px 32px;color:var(--auf-dunkel);font-size:.95rem;font-weight:400;}
.senkung-row select{padding:8px 10px;min-height:44px;background:#fff;color:var(--navy);border:0;border-radius:var(--r);font-size:.95rem;}
.senkung-row select:disabled{opacity:.45;}
.rechner-disclaimer{font-size:.86rem;color:var(--auf-dunkel);margin-top:16px;font-weight:400;}
.marge-hinweis{font-size:.95rem;color:#fff;margin:14px 0 0;}
.schwelle{margin:16px 0 0;padding:14px 16px;border-left:3px solid var(--hellblau);background:rgba(255,255,255,.06);color:#fff;font-weight:400;}
.senkung-hinweis{display:none;font-size:.88rem;color:var(--auf-dunkel);margin:8px 0 0;}
.st-unit{font-size:.92rem;color:var(--auf-dunkel);margin:0 0 14px;font-weight:400;}
.st-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:12px;}
.st-col{background:rgba(255,255,255,.07);padding:22px 22px 18px;}
.st-col h3{font-size:1.1rem;margin-bottom:4px;}
.st-col .st-sub{font-size:.88rem;color:var(--auf-dunkel);margin-bottom:16px;}
.st-zeile{margin-bottom:14px;}
.st-zeile .lbl{font-size:.94rem;color:var(--auf-dunkel);font-weight:400;}
.st-zeile .zahl{font-weight:800;font-size:1.5rem;color:#fff;line-height:1.15;}
.st-bar{height:8px;background:rgba(255,255,255,.1);margin-top:6px;}
.st-bar span{display:block;height:100%;transition:width .3s ease;}
.st-bar .b-spar{background:var(--hellblau);}
.st-bar .b-zu{background:#fff;}
.st-bar .b-tilg{background:rgba(73,150,180,.55);}
.st-mon{font-size:.94rem;color:var(--auf-dunkel);border-top:1px solid rgba(255,255,255,.15);padding-top:10px;margin:6px 0 0;}
.st-mon b{color:#fff;}
.st-fazit{margin:20px 0 0;color:#fff;}
.st-annahmen{font-size:.84rem;color:var(--auf-dunkel);margin-top:16px;font-weight:400;}
@media (max-width:760px){.st-grid{grid-template-columns:1fr;}.detail{padding:4px 14px;}}
@media (max-width:700px){.calc-box{padding:22px 16px;}.calc-row{font-size:.94rem;}.calc-row.headline .val{font-size:1.3rem;}
  .rechner-facts{gap:16px;}.senkung-row{margin-left:0;}}
.hebel-hinweis{margin-top:18px;padding:16px 18px;background:rgba(255,255,255,.06);border-left:3px solid var(--hellblau);}
.hebel-hinweis h3{margin:0 0 6px;font-size:1rem;color:#fff;}
.hebel-hinweis p{margin:0;font-size:.94rem;color:var(--auf-dunkel);font-weight:400;}

/* FAQ */
.faq-item{border-bottom:1px solid var(--linie);}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:18px 0;min-height:56px;font-weight:700;font-size:1.1rem;color:var(--navy);
  cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.faq-q .plus{color:var(--dunkelblau);font-size:1.4rem;font-weight:400;transition:transform .2s ease;flex-shrink:0;}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-a p{padding-bottom:20px;color:var(--navy);margin:0;}

/* KAUFKRAFT */
.kaufkraft{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;border:1px solid var(--linie);padding:30px 32px;}
.kaufkraft h2{font-size:1.5rem;margin-bottom:.3em;}
.kaufkraft p{margin:0;color:var(--navy);max-width:620px;}

/* FORMULAR + TERMIN */
.kontakt-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;margin-top:30px;align-items:start;}
@media (max-width:900px){.kontakt-grid{grid-template-columns:1fr;}}
.unterlagen-liste{margin:0 0 6px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;color:#fff;font-weight:400;}
.unterlagen-liste li::before{content:'✓ ';color:var(--hellblau);font-weight:700;}
.transparenz{border-left:3px solid var(--hellblau);padding:4px 0 4px 16px;margin:20px 0 0;color:#fff;max-width:760px;font-weight:400;}
.form-box{background:var(--dunkelblau);padding:34px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-grid .full{grid-column:1/-1;}
@media (max-width:600px){.form-grid{grid-template-columns:1fr;}.form-box{padding:22px 18px;}}
.field-label{display:block;font-size:.84rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;margin-bottom:6px;}
.field-label .opt{text-transform:none;letter-spacing:0;font-weight:400;color:var(--auf-dunkel);}
input[type=text],input[type=email],input[type=tel]{width:100%;padding:12px 14px;min-height:48px;border:2px solid transparent;border-radius:var(--r);
  font-size:1rem;background:#fff;color:var(--navy);}
input[aria-invalid="true"]{border-color:var(--gold);}
.feld-fehler{display:block;margin-top:6px;font-size:.9rem;color:#fff;font-weight:600;padding-left:10px;border-left:3px solid var(--gold);}
.checkbox-row{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--auf-dunkel);font-weight:400;}
.checkbox-row input{margin-top:2px;width:22px;height:22px;flex-shrink:0;accent-color:var(--hellblau);}
.checkbox-row a{color:#fff;text-decoration:underline;}
.form-footnote{font-size:.86rem;color:var(--auf-dunkel);margin-top:12px;font-weight:400;}
.f-status{display:none;padding:12px 14px;margin-top:12px;font-size:.97rem;}
.f-status.ok{display:block;background:rgba(255,255,255,.08);color:#fff;border-left:3px solid var(--hellblau);}
.f-status.fehler{display:block;background:#fff;color:var(--navy);border-left:3px solid var(--gold);font-weight:600;}
.auswahl-anzeige{background:rgba(255,255,255,.08);padding:10px 12px;color:#fff;font-weight:600;}
.beratung-box{background:var(--dunkelblau);padding:30px;}
.beratung-person{display:flex;align-items:center;gap:18px;margin-bottom:18px;}
.beratung-person img{width:84px;height:84px;object-fit:cover;border-radius:50%;flex-shrink:0;}
.beratung-person .role{color:var(--auf-dunkel);font-size:.88rem;margin-bottom:2px;font-weight:400;}
.beratung-person h3{font-size:1.25rem;margin:0;}
.beratung-box .btn{width:100%;}
.alt-weg{font-size:.95rem;color:var(--auf-dunkel);margin:14px 0 0;}
.alt-weg a{color:#fff;text-decoration:underline;display:inline-block;padding:10px 0;}

/* LAGE + TEAM */
.lage-wrap{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:20px;}
.lage-wrap figure{margin:0;}
.lage-wrap .bildknopf,.lage-wrap img{height:100%;}
.lage-wrap img{width:100%;object-fit:cover;min-height:340px;}
.lage-text{background:#fff;padding:40px;display:flex;flex-direction:column;justify-content:center;}
.lage-text ul{padding-left:18px;margin:0 0 1em;color:var(--navy);}
.lage-text li{margin-bottom:6px;}
.lage-addr{margin-top:10px;font-size:.97rem;color:var(--dunkelblau);font-weight:700;}
@media (max-width:860px){.lage-wrap{grid-template-columns:1fr;}.lage-wrap img{min-height:0;aspect-ratio:16/9;height:auto;}.lage-text{padding:26px 20px;}}
.team-closing{margin-top:50px;display:grid;grid-template-columns:1fr 1.3fr;align-items:stretch;}
.team-closing img{width:100%;height:100%;object-fit:cover;min-height:260px;}
.team-closing-text{background:var(--navy);color:#fff;padding:40px;display:flex;flex-direction:column;justify-content:center;}
.team-closing-text h3{color:#fff;}
.team-closing-text p{color:var(--auf-dunkel);margin:0;}
@media (max-width:860px){.team-closing{grid-template-columns:1fr;}.team-closing img{min-height:0;aspect-ratio:3/2;height:auto;}.team-closing-text{padding:26px 20px;}}

/* FOOTER */
footer{background:var(--darker);color:var(--auf-dunkel);padding:54px 0 28px;font-size:.95rem;font-weight:400;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;margin-bottom:36px;}
.footer-grid img{height:26px;width:auto;margin-bottom:16px;}
.footer-grid h2{color:#fff;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px;font-weight:700;}
.footer-grid a,.footer-grid .linklike{display:flex;align-items:center;min-height:40px;color:var(--auf-dunkel);background:none;border:0;padding:0;font-size:.95rem;cursor:pointer;text-align:left;}
.footer-grid a:hover,.footer-grid .linklike:hover{color:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;font-size:.84rem;color:var(--auf-dunkel-leise);}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr;gap:24px;}}

/* NACH OBEN */
.scroll-top{position:fixed;right:20px;bottom:calc(20px + var(--banner-h));z-index:40;width:44px;height:44px;border-radius:var(--r);background:var(--navy);color:#fff;
  border:1px solid rgba(255,255,255,.3);cursor:pointer;font-size:1.2rem;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .3s ease;}
.scroll-top.show{opacity:1;pointer-events:auto;visibility:visible;}
@media (max-width:600px){.scroll-top{bottom:calc(64px + var(--banner-h));right:12px;}}

/* COOKIE-BANNER: dezent, Desktop Box rechts unten, mobil schmale Leiste.
   OK und Ablehnen gleich groß, Ablehnen als Outline. */
.cookie-banner{position:fixed;right:20px;bottom:20px;max-width:330px;z-index:900;background:rgba(17,37,50,.98);
  border:1px solid rgba(255,255,255,.2);padding:12px 14px;color:#fff;font-size:13.5px;line-height:1.4;display:none;
  box-shadow:0 8px 24px rgba(0,0,0,.35);font-weight:400;}
.cookie-banner.is-visible{display:block;}
.cookie-banner p{margin:0 0 10px;color:#fff;}
.cookie-banner a{color:#fff;text-decoration:underline;text-underline-offset:2px;display:inline-block;padding:6px 0;}
.cookie-banner .row{display:flex;gap:8px;}
.cookie-banner .cbtn{font-size:14px;font-weight:700;padding:8px 12px;min-height:44px;min-width:88px;flex:1 1 0;cursor:pointer;border:2px solid var(--hellblau);border-radius:var(--r);}
.cookie-banner .cbtn:hover{filter:brightness(1.1);}
.cookie-banner #cookieAccept{background:var(--hellblau);color:var(--navy);}
.cookie-banner #cookieReject{background:transparent;color:#fff;}
@media (max-width:760px){
  .cookie-banner{left:0;right:0;bottom:0;max-width:none;border-width:1px 0 0;padding:6px 12px calc(6px + env(safe-area-inset-bottom));
    font-size:12.5px;align-items:center;gap:10px;}
  .cookie-banner.is-visible{display:flex;}
  .cookie-banner p{margin:0;flex:1 1 auto;}
  .cookie-banner a{padding:2px 0;}
  .cookie-banner .row{flex:0 0 auto;gap:6px;}
  .cookie-banner .cbtn{font-size:13px;padding:6px 8px;min-width:72px;flex:0 0 auto;}
}
