/* Final client review, 17 September. Preserve the established architecture and imagery. */
:root{--akzent:#328E00;--akzent-text:#256b00;--on-accent:#fff}
.kicker,.partner-rolle{color:var(--akzent-text)}
.editorial-link{min-height:48px;padding:14px 22px;border:1px solid var(--fg);background:var(--fg);color:var(--bg);font-size:15px;gap:28px}
.editorial-link:hover{background:var(--akzent);border-color:var(--akzent);color:var(--on-accent)}
.hero-text .editorial-link{background:var(--akzent);border-color:var(--akzent);color:var(--on-accent);font-weight:600;padding:15px 22px;font-size:15px}
.hero-text .editorial-link:hover{background:var(--bg);border-color:var(--bg);color:var(--fg)}
html .kopf .kopf-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;background:var(--akzent);color:var(--on-accent);border:1px solid var(--akzent);font-size:13px;font-weight:600}
html .kopf .kopf-cta:hover{background:var(--bg);color:var(--fg);border-color:var(--fg)}
.btn-primaer:hover,html[data-features~="cta"] .stickybar .btn{color:var(--on-accent)}
.btn{font-size:14px}
.btn-sekundaer{border-color:var(--fg)}
.phase{padding-top:32px;padding-left:18px;padding-right:24px;min-height:218px}
.phase.aktuell{background:color-mix(in srgb,var(--akzent) 10%,var(--bg));border:1px solid var(--akzent);padding:32px 18px 20px;gap:12px}
.phase.aktuell:before{display:none}
.phase-status{display:inline-flex;align-self:flex-start;background:var(--akzent);color:var(--on-accent);padding:6px 10px;font-size:12px;font-weight:600;letter-spacing:0}
.phase.aktuell .phase-nummer{display:none}
.phase.aktuell .phase-name{font-weight:600;font-size:20px}
.phase-datum{font-size:13px}
.zeit-hinweis{font-size:12px}
.ensemble-komposition{grid-template-columns:minmax(0,.92fr) minmax(0,1fr);gap:6%;align-items:start}
.ensemble-plan{width:100%;max-width:580px;margin:0 auto}
.ensemble-ansicht{max-width:none}
.ensemble-kapitel{max-width:none}
.ensemble-schritt button{min-height:64px;gap:20px}
.ensemble-schritt button>span:first-child{font-size:14px;color:var(--akzent-text)}
.ensemble-schritt small{font-size:14px;line-height:1.6}
.ensemble-schritt.ist-aktiv b{color:var(--akzent-text)}
.ensemble-beschreibung{padding:24px;margin-top:24px;background:var(--bg);border:1px solid var(--linie);min-height:195px}
.ensemble-beschreibung h3{font-size:24px;letter-spacing:-.025em;margin-bottom:12px}
.ensemble-beschreibung p{font-size:16px;line-height:1.75;max-width:55ch}
.ensemble-plan figcaption{display:grid;gap:10px;font-size:13px;line-height:1.6}
.ensemble-plan figcaption a{text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.plan-fokus{border:2px solid var(--akzent);background:color-mix(in srgb,var(--akzent) 21%,transparent);transition:opacity .25s var(--ease)}
.filter-panel{padding:22px 26px 26px;background:var(--bg-2);border:1px solid var(--linie-stark);margin-bottom:16px}
.filter-panel>summary{font-size:17px;padding:0 0 20px;font-weight:600}
.filter-panel:not([open])>summary{padding-bottom:0}
.filter{border:0;padding:0;margin:0;gap:22px}
.filter legend,.filter-feld>span{font-size:13px;color:var(--fg);font-weight:600;letter-spacing:0}
.filter-feld select,.bereich{background-color:var(--bg);border:1px solid var(--linie-stark);padding-left:12px}
.filter-feld select{padding-right:30px;min-height:48px}
.bereich{padding-right:8px}
.filter-reset{font-size:14px;color:var(--fg)}
.einheiten-ergebnis{font-size:14px;gap:20px;line-height:1.6}
.einheiten thead th{font-size:13px}
.einheit-name,.z-preis{font-size:18px}
.z-etage,.z-flaeche,.einheiten .z-zimmer{font-size:15px;line-height:1.6}
.badge-frei{font-size:12px;color:var(--akzent-text);letter-spacing:.025em}
.detail .daten dt,.plan-note,.daten-hinweis{font-size:13px;line-height:1.65}
.detail .daten dd{font-size:17px;line-height:1.5}
.unit-description{font-size:16px;line-height:1.8;max-width:65ch}
.detail-aktionen .btn{font-size:14px}
.stellplaetze{display:grid;grid-template-columns:1fr auto;gap:32px;margin-top:52px;padding:32px;border:1px solid var(--linie-stark);background:var(--bg-2)}
.stellplaetze h3{font-size:32px;margin-bottom:14px}
.stellplaetze p{font-size:16px;line-height:1.7;max-width:52ch}
.stellplaetze .kicker{display:block;margin-bottom:12px}
.stellplaetze-preise>span{font-size:13px;color:var(--fg-2)}
.stellplaetze-preise>p{font-size:23px;margin:10px 0 18px;color:var(--fg)}
.stellplaetze-preise>p>span{font-size:14px;color:var(--fg-2)}
.lage-lifestyle{align-items:start}
.lage-erzaehlung{padding-top:4px}
.lage-erzaehlung h3{font-size:clamp(28px,3.3vw,50px);line-height:1.12;margin-bottom:26px}
.lage-erzaehlung p{font-size:16px;line-height:1.85;max-width:65ch;color:var(--fg-2)}
.distanz-ca{font:inherit;font-size:.5em;letter-spacing:0;white-space:nowrap}
.poi-legende .distanz-ca{font-size:inherit}
.lage-raster{grid-template-columns:minmax(0,1.55fr) minmax(250px,1fr);align-items:center}
.lage-karte{background:#e4eddf;border:0;isolation:isolate}
.lage-svg>rect:first-child{fill:#e4eddf}
.lage-svg path[stroke="#ffffff"]{stroke:#fafbf6}
.lage-kartenname{position:absolute;left:5%;top:5%;font-family:var(--font-display);font-size:clamp(17px,2vw,28px);font-weight:600;letter-spacing:-.025em;color:var(--fg);z-index:1;padding:5px 9px;background:color-mix(in srgb,var(--bg) 90%,transparent)}
.lage-strassenname{font-size:10px;color:#3c5238;letter-spacing:.035em}
.lage-punkt{width:38px;height:38px;background:#285945;color:var(--bg);box-shadow:0 0 0 3px var(--bg),0 3px 12px #23382421}
.lage-punkt svg{width:21px;height:21px}
.lage-punkt b{position:absolute;right:-5px;bottom:-6px;border-radius:50%;min-width:18px;height:18px;padding:1px 4px;background:var(--bg);color:var(--fg);font-size:10px;line-height:16px;text-align:center}
.lage-punkt:nth-of-type(8),.lage-punkt:nth-of-type(9){background:#956149}
.lage-haus{border-color:var(--akzent);border-width:3px;padding:9px 11px;box-shadow:0 0 0 12px #328e001a,0 5px 20px #23382425;z-index:2}
.lage-haus img{width:43px}
.poi-legende>div{padding:16px 0}
.poi-legende dt,.poi-legende dd{font-size:14px;line-height:1.6}
.poi-marke{background:#285945;color:var(--bg)}
.lage-karte-fuss{font-size:12px;line-height:1.6}
.neubau-raster{display:block}
.neubau .abschnitt-kopf{margin-bottom:48px}
.neubau .kicker{color:oklch(83% .09 132)}
.energie-signatur{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:8%;align-items:center;padding:20px 0 60px}
.energie-zeichen>span{display:block;font-family:var(--font-display);font-size:clamp(180px,25vw,360px);font-weight:400;line-height:.85;letter-spacing:-.09em;color:var(--akzent)}
.energie-zeichen sup{font-size:.52em;vertical-align:top;position:relative;top:.07em;letter-spacing:0}
.energie-zeichen>p{font-size:14px;line-height:1.6;letter-spacing:.06em;text-transform:uppercase;margin-top:24px;color:var(--bg)}
.energie-erzaehlung h3{font-size:clamp(28px,3.1vw,44px);line-height:1.12;margin-bottom:24px}
.energie-erzaehlung>p{font-size:16px;line-height:1.8;max-width:60ch;color:oklch(87% .008 115)}
.energie-erzaehlung dl{display:flex;flex-wrap:wrap;gap:26px 42px;margin:25px 0}
.energie-erzaehlung dt{font-size:12px;margin-bottom:8px}
.energie-erzaehlung dd{font-size:28px;font-family:var(--font-display)}
.energie-erzaehlung dd span{font-size:14px}
.energie-erzaehlung .energie-pflicht{font-size:12px;line-height:1.7}
.neubau .vorteile{display:grid;grid-template-columns:1fr 1fr;gap:0 56px}
.vorteile h3{font-size:clamp(21px,2vw,30px)}
.vorteile>li{gap:22px;padding:22px 0}
.foerderung{padding-block:var(--abschnitt);background:var(--bg-2)}
.foerderung-inhalte{display:grid;grid-template-columns:1fr 1fr;gap:8%}
.foerderung-inhalte article{border-top:1px solid var(--linie-stark);padding-top:28px}
.foerderung-kopf{min-height:165px;display:flex;flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:24px}
.foerderung-kopf h3{font-size:clamp(28px,3vw,45px);line-height:1.15}
.kfw-logo{width:105px;height:auto;object-fit:contain;margin-bottom:0}
.foerderung-inhalte p{font-size:16px;line-height:1.8;max-width:65ch;margin-bottom:16px}
.foerderung-quelle{display:inline-flex;align-items:center;gap:15px;min-height:44px;text-decoration:underline;text-underline-offset:5px;font-size:14px;font-weight:600}
.foerderung-hinweis{border-top:1px solid var(--linie);padding-top:24px;margin-top:38px;font-size:13px;line-height:1.7;max-width:85ch;color:var(--fg-2)}
.materialwahl{display:grid;grid-template-columns:minmax(220px,.6fr) minmax(0,1.4fr);gap:24px 6%;margin-top:75px;padding-block:38px;border-top:1px solid var(--linie-stark);border-bottom:1px solid var(--linie)}
.materialwahl-kopf{padding-top:5px}
.materialwahl-kopf h3{font-size:clamp(34px,4vw,54px);line-height:1.08;margin-bottom:24px}
.materialwahl-kopf p{font-size:16px;line-height:1.7;max-width:30ch}
.material-vorschau{min-width:0}
.material-vorschau .material-bild{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.material-vorschau figcaption{font-size:13px}
.material-optionen{grid-column:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;position:static}
.material-option{background:var(--bg);color:var(--fg);border:1px solid var(--linie-stark);padding:12px;min-height:76px;gap:10px;backdrop-filter:none;display:flex;align-items:center;flex-wrap:wrap;font-size:13px}
.material-option>img{width:42px;height:42px;object-fit:cover;flex-shrink:0}
.material-option:hover,.material-option.ist-aktiv{background:var(--bg-2);color:var(--fg);border-color:var(--akzent)}
.material-option.ist-aktiv{box-shadow:inset 0 0 0 1px var(--akzent)}
.material-auswahl{margin-left:auto;color:var(--akzent-text);font-size:18px}
.marken-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:30px 45px;padding:48px 0}
.marken-logos img{max-width:135px;max-height:38px;width:125px;height:auto}
.marken-logos a,.marken-logos .marken-logo{min-width:130px;min-height:54px}
.marken-logos .logo-siedle{filter:invert(1)}
.technische-details .spezifikation summary{font-size:17px;line-height:1.5}
.spezifikation li{font-size:15px;line-height:1.75}
.ausstattung .produkt{padding:20px;background:var(--bg-2);min-width:0}
.produkt img{width:100%;height:180px;object-fit:contain}
.ausstattung .produkt figcaption,.produkt-quelle{font-size:13px;line-height:1.65}
.energie-hinweis{font-size:12px;line-height:1.75}
.partner-logo{height:65px;margin-bottom:25px}
.partner-logo .logo-seidler{height:64px;width:auto;max-width:100%}
.partner-logo .logo-concept-in{height:28px;max-width:165px}
.partner-logo .logo-benini{height:32px}
.instagram-link{display:inline-flex;align-items:center;gap:10px;min-height:44px}
.instagram-link svg{flex-shrink:0}
.fuss-logos{justify-content:flex-start}
@media(max-width:999px){
 .ensemble-komposition{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4%}
 .ensemble-beschreibung{padding:20px;min-height:230px}
 .ensemble-beschreibung h3{font-size:22px}
 .ensemble-beschreibung p{font-size:15px}
 .material-optionen{grid-column:1/-1}
 .lage-raster{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px}
 .lage-punkt{width:32px;height:32px}.lage-punkt svg{width:18px;height:18px}
 .foerderung-kopf{min-height:175px}
}
@media(max-width:759px){
 html .kopf .kopf-cta{font-size:12px;padding:10px 12px}
 .kopf-aktionen{gap:12px}
 .hero-text .editorial-link{font-size:14px;min-width:0}
 .phase,.phase.aktuell{min-height:0;padding:22px 18px;grid-template-columns:34px 1fr;gap:6px 14px}
 .phase.aktuell{margin-left:-5px;border:1px solid var(--akzent);margin-bottom:10px}
 .phase-status{grid-column:1/-1;justify-self:start;margin-bottom:9px;font-size:12px}
 .phase.aktuell .phase-datum,.phase.aktuell .phase-name{grid-column:1/-1}
 .phase-datum{font-size:12px}.phase-name{font-size:17px}
 .ensemble-komposition{display:flex;gap:30px}
 .ensemble-plan{width:100%;max-width:460px}
 .ensemble-schritt b{font-size:19px}
 .ensemble-schritt small{font-size:13px}
 .ensemble-beschreibung{min-height:0;padding:22px}
 .filter-panel{padding:20px;margin-top:30px}
 .filter-panel[open]{padding-bottom:22px}
 .filter-panel>summary{font-size:16px;padding:0}
 .filter-panel[open]>summary{padding-bottom:22px}
 .filter{gap:22px 16px}
 .filter legend,.filter-feld>span{font-size:12px}
 .einheiten-ergebnis{font-size:13px;gap:15px}
 .einheiten-ergebnis>a{max-width:125px}
 .einheiten tr.zeile{padding-block:24px;row-gap:10px}
 .einheit-name,.z-preis{font-size:16px}
 .z-etage,.z-flaeche,.einheiten .z-zimmer{font-size:14px}
 .badge-frei{font-size:11px}
 .detail .daten dd{font-size:16px}.detail .daten dt{font-size:12px}
 .unit-description{font-size:15px}
 .stellplaetze{grid-template-columns:1fr;gap:24px;padding:25px;margin-top:35px}
 .stellplaetze h3{font-size:28px}
 .stellplaetze p{font-size:15px}
 .stellplaetze-preise>p{font-size:24px}
 .lage-erzaehlung h3{font-size:35px}
 .lage-erzaehlung p{font-size:15px;line-height:1.8}
 .lage-distanzen{gap:10px}
 .lage-distanzen dd{font-size:30px}
 .lage-distanzen .distanz-ca{display:block;font-size:14px;margin-bottom:5px}
 .lage-distanzen dt{font-size:11px}
 .lage-raster{grid-template-columns:1fr;gap:22px}
 .lage-punkt{width:30px;height:30px}
 .lage-haus{padding:7px;border-width:2px;box-shadow:0 0 0 8px #328e001a}
 .lage-haus img{width:29px}
 .poi-legende>div{padding:13px 0}
 .poi-legende dt,.poi-legende dd{font-size:14px}
 .energie-signatur{grid-template-columns:1fr;gap:42px;padding:5px 0 40px}
 .energie-zeichen>span{font-size:210px}
 .energie-zeichen>p{font-size:12px;margin-top:18px}
 .energie-erzaehlung h3{font-size:33px}
 .energie-erzaehlung>p{font-size:15px}
 .energie-erzaehlung dl{gap:24px}
 .energie-erzaehlung dd{font-size:28px}
 .neubau .vorteile{grid-template-columns:1fr;gap:0}
 .vorteile h3{font-size:24px}
 .foerderung-inhalte{grid-template-columns:1fr;gap:42px}
 .foerderung-kopf{min-height:0;margin-bottom:24px;gap:17px}
 .foerderung-kopf h3{font-size:34px}
 .foerderung-inhalte p{font-size:15px}
 .foerderung-quelle{font-size:13px}
 .materialwahl{grid-template-columns:1fr;margin-top:45px;gap:25px}
 .materialwahl-kopf h3{font-size:37px}
 .materialwahl-kopf h3 br{display:none}
 .materialwahl-kopf p{max-width:45ch;font-size:15px}
 .material-optionen{grid-column:auto;gap:8px}
 .material-option{padding:10px 8px;font-size:12px;display:grid;justify-items:start;gap:10px;position:relative}
 .material-option>img{width:48px;height:48px}
 .material-auswahl{position:absolute;right:8px;top:8px;font-size:16px}
 .marken-logos{gap:20px 25px;padding-block:35px}
 .marken-logos a,.marken-logos .marken-logo{min-width:120px}
 .marken-logos img{max-width:115px;max-height:32px}
 .technische-details .spezifikation summary{font-size:16px}
 .spezifikation li{font-size:14px}
 .produkt img{height:145px}
 .ausstattung .produkt{padding:12px}
 .ausstattung .produkt figcaption,.produkt-quelle{font-size:12px}
 .partner-karte{grid-template-columns:125px 1fr;gap:12px 20px}
 .partner-logo{height:62px;margin:0}
 .partner-logo .logo-seidler{height:57px;max-width:125px}
 .partner-logo .logo-concept-in{height:22px;max-width:110px}
 .partner-karte h3{font-size:16px}
}
@media(max-width:359px){
 .kopf{--marke:29px}.kopf-aktionen{gap:8px}
 html .kopf .kopf-cta{font-size:11px;padding:10px}
 .filter-panel{padding:18px 14px}
 .einheiten tr.zeile{grid-template-columns:minmax(0,1fr) auto 44px;column-gap:7px}
 .einheit-name,.z-preis{font-size:15px}
 .z-etage,.z-flaeche,.einheiten .z-zimmer{font-size:13px}
 .partner-karte{grid-template-columns:1fr;gap:12px}
 .partner-logo,.partner-mehr{grid-column:1;grid-row:auto}
 .material-option{font-size:11px}
}
/* Preserve the supplied product photography; blend away its white studio field. */
.ausstattung .produkt{background:transparent;isolation:isolate}
.ausstattung .produkt img{mix-blend-mode:multiply}
.material-optionen{padding:0;background:none}
.materialwahl-kopf p{color:var(--fg-2)}
.marken-logos img[src$="living-ceramics.svg"]{filter:brightness(0)}
.ausstattung .produkt{background:var(--bg)}
