@font-face{font-family:"Archivo";font-style:normal;font-weight:400 800;font-stretch:62% 125%;font-display:swap;src:url(fonts/archivo-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Archivo";font-style:normal;font-weight:400 800;font-stretch:62% 125%;font-display:swap;src:url(fonts/archivo-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --ink:#13302F; --ink-2:#3E5A57; --ink-3:#6B827F;
  --paper:#FFFFFF; --mist:#EEF3F1; --mist-2:#E3EBE8; --line:#D3DFDB;
  --primary:#0B6B4F; --primary-2:#085A42; --on-primary:#FFFFFF;
  --partner-bg:#FFF1CC; --partner-ink:#6A4300; --partner-line:#E8C46A;
  --c-a:#00843D; --c-b:#4FA843; --c-c:#B5CC18; --c-d:#F2C200; --c-e:#F39200; --c-f:#E2531A; --c-g:#C4161C;
  --radius-s:4px; --radius-m:8px;
  --w:1180px; --text:68ch;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html body{margin:0;background:var(--paper);color:var(--ink);font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;font-variation-settings:"wdth" 100;font-size:17px;line-height:1.55}
a{color:var(--primary)} a:hover{color:var(--primary-2)}
:focus-visible{outline:3px solid #2A7BE4;outline-offset:2px}
img{max-width:100%}
.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}
h1,h2,h3{font-variation-settings:"wdth" 116;line-height:1.12;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(2rem,4.6vw,3.35rem);font-weight:780}
h2{font-size:clamp(1.5rem,2.8vw,2.1rem);font-weight:740}
h3{font-size:1.18rem;font-weight:700;font-variation-settings:"wdth" 108}
p{margin:0 0 1em}
.muted{color:var(--ink-2)} .small{font-size:.88rem}
.num{font-variant-numeric:tabular-nums}
/* Kopf */
.site-head{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:20}
.site-head .wrap{display:flex;align-items:center;gap:24px;min-height:64px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:800;font-variation-settings:"wdth" 120;font-size:1.06rem;white-space:nowrap}
.logo-mark{display:grid;grid-template-rows:repeat(4,5px);gap:2px;width:26px}
.logo-mark i{display:block;height:5px;clip-path:polygon(0 0,82% 0,100% 50%,82% 100%,0 100%)}
.logo-mark i:nth-child(1){width:44%;background:var(--c-a)}.logo-mark i:nth-child(2){width:62%;background:var(--c-c)}.logo-mark i:nth-child(3){width:80%;background:var(--c-e)}.logo-mark i:nth-child(4){width:100%;background:var(--c-g)}
.logo{gap:8px}.logo .tld{color:var(--ink-3);font-weight:600;margin-left:-8px}
@media (max-width:480px){.logo{font-size:.92rem;font-variation-settings:"wdth" 96}.site-head .wrap{gap:12px}}
.nav{display:flex;gap:22px;margin-left:auto}
.nav a{color:var(--ink);text-decoration:none;font-weight:560;font-size:.97rem}
.nav a:hover{color:var(--primary)}
.nav a.cta{background:var(--primary);color:var(--on-primary);padding:8px 14px;border-radius:var(--radius-s)}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:var(--radius-s);padding:8px 12px;font:inherit;color:var(--ink)}
@media (max-width:860px){.nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--paper);flex-direction:column;gap:0;border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav a{padding:14px 20px;border-top:1px solid var(--mist-2)}.nav a.cta{border-radius:0}.menu-btn{display:block}}
.crumbs{font-size:.86rem;color:var(--ink-3);padding:14px 0 0}
.crumbs a{color:var(--ink-2)}
/* Hero */
.hero{padding:44px 0 8px}
.hero p.lead{font-size:1.16rem;max-width:58ch;color:var(--ink-2)}
.stand{display:inline-flex;gap:8px;align-items:center;font-size:.9rem;color:var(--ink-2);background:var(--mist);border-radius:var(--radius-s);padding:4px 10px}
.stand b{color:var(--ink)}
/* Rechner */
.calc{margin:26px 0 0;background:var(--mist);border-radius:var(--radius-m);padding:22px}
.calc-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1.25fr;gap:18px;align-items:end}
@media (max-width:940px){.calc-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.calc-grid{grid-template-columns:1fr}}
.field label,.field .lbl{display:block;font-weight:650;font-size:.92rem;margin-bottom:6px}
.seg{display:flex;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-s);padding:3px;gap:3px}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{flex:1;text-align:center;margin:0;padding:8px 6px;border-radius:3px;cursor:pointer;font-weight:560;font-size:.95rem}
.seg input:checked+label{background:var(--ink);color:#fff}
.seg input:focus-visible+label{outline:3px solid #2A7BE4}
.field select,.field input[type=number]{width:100%;font:inherit;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--paper);color:var(--ink)}
.m2{display:flex;align-items:center;gap:8px}.m2 input{max-width:120px}
.calc-note{margin:14px 0 0;font-size:.86rem;color:var(--ink-2)}
/* Ergebnis: Preisbalken im Stil der Energieausweis-Skala */
.results{margin:28px 0 0}
.res-head{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:baseline;justify-content:space-between;margin-bottom:12px}
.res-head h2{margin:0;font-size:1.5rem}
.sortby{display:flex;gap:8px;align-items:center;font-size:.92rem}
.sortby select{font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius-s)}
.partner-zone{border:1px solid var(--partner-line);background:#FFFBF0;border-radius:var(--radius-m);padding:12px 14px;margin-bottom:14px}
.partner-zone .zone-lbl{font-size:.85rem;color:var(--partner-ink);margin:0 0 8px}
.row{display:grid;grid-template-columns:minmax(150px,var(--bar,60%)) 1fr auto;align-items:stretch;border-bottom:1px solid var(--mist-2);min-height:64px}
.row .bar{position:relative;background:var(--col,var(--c-d));color:#fff;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%);padding:10px 34px 10px 14px;display:flex;flex-direction:column;justify-content:center;min-width:150px}
.row .bar .price{font-size:1.42rem;font-weight:800;font-variation-settings:"wdth" 112;line-height:1;white-space:nowrap}
.row .bar .pnote{font-size:.78rem;opacity:.95}
.row .bar.dark{color:var(--ink)}
.row .info{padding:10px 16px;display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0}
.row .name{font-weight:700;font-size:1.04rem}
.row .name a{color:var(--ink);text-decoration:none}.row .name a:hover{text-decoration:underline}
.row .facts{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.86rem;color:var(--ink-2)}
.row .go{display:flex;align-items:center;padding:8px 0 8px 8px}
.btn{display:inline-block;background:var(--primary);color:var(--on-primary);text-decoration:none;font-weight:650;padding:10px 16px;border-radius:var(--radius-s);border:0;font:inherit;cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--primary-2);color:#fff}
.btn.ghost{background:transparent;color:var(--primary);border:1px solid var(--primary)}
.tag-partner{display:inline-block;font-size:.74rem;font-weight:700;color:var(--partner-ink);background:var(--partner-bg);border:1px solid var(--partner-line);border-radius:3px;padding:0 6px;margin-left:6px;vertical-align:2px}
@media (max-width:720px){.row{grid-template-columns:1fr auto;grid-template-areas:"bar go" "info info"}.row .bar{grid-area:bar;max-width:none;width:max(176px,var(--barm,100%))}.row .pn-ab{display:none}.row .go{grid-area:go}.row .info{grid-area:info;padding:8px 2px 12px}}
.legend{display:flex;gap:6px;align-items:center;font-size:.82rem;color:var(--ink-2);margin-top:10px;flex-wrap:wrap}
.legend i{display:inline-block;width:18px;height:10px}
.empty{padding:22px;background:var(--mist);border-radius:var(--radius-m)}
.disclose{font-size:.86rem;color:var(--ink-2);margin-top:12px}
/* Tabelle */
section.block{padding:56px 0}
section.block.alt{background:var(--mist)}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--paper)}
table.cmp{border-collapse:collapse;width:100%;min-width:860px;font-size:.93rem}
table.cmp th,table.cmp td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--mist-2);vertical-align:top}
table.cmp thead th{position:sticky;top:0;background:var(--ink);color:#fff;font-weight:650;white-space:nowrap}
table.cmp thead th button{all:unset;cursor:pointer;display:inline-flex;gap:6px;align-items:center}
table.cmp thead th button:focus-visible{outline:3px solid #8EC1FF}
table.cmp thead th[aria-sort=ascending] button::after{content:"▲";font-size:.7em}
table.cmp thead th[aria-sort=descending] button::after{content:"▼";font-size:.7em}
table.cmp td.p{font-variant-numeric:tabular-nums;white-space:nowrap}
table.cmp tbody tr:hover{background:#F7FAF9}
.table-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:10px 0 0;font-size:.86rem;color:var(--ink-2)}
/* Preisspannen */
.spans{display:grid;gap:14px;max-width:820px}
.span-row{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center}
.span-track{position:relative;height:30px;background:var(--mist-2);border-radius:3px}
.span-fill{position:absolute;top:0;bottom:0;background:linear-gradient(90deg,var(--c-a),var(--c-d) 55%,var(--c-g));clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%)}
.span-lbl{display:flex;justify-content:space-between;font-size:.88rem;color:var(--ink-2);margin-top:4px}
@media (max-width:560px){.span-row{grid-template-columns:1fr}}
/* Fließtext */
.prose{max-width:var(--text)}
.prose h2{margin-top:1.6em}.prose h3{margin-top:1.3em}
.prose ul,.prose ol{padding-left:1.2em}.prose li{margin:.3em 0}
.prose table{border-collapse:collapse;width:100%;margin:1em 0;font-size:.95rem}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.prose th{background:var(--mist)}
.callout{border-left:5px solid var(--primary);background:var(--mist);padding:14px 18px;margin:1.4em 0;border-radius:0 var(--radius-m) var(--radius-m) 0}
.callout.law{border-left-color:var(--c-e)}
.callout p:last-child{margin:0}
.src{font-size:.84rem;color:var(--ink-3)}
.two{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}
@media (max-width:960px){.two{grid-template-columns:1fr}}
.aside{position:sticky;top:84px;border:1px solid var(--line);border-radius:var(--radius-m);padding:18px}
.aside h3{font-size:1.02rem}
.toc ol{margin:0;padding-left:1.1em;font-size:.94rem}.toc li{margin:.35em 0}
/* Kacheln Bundesländer */
.bl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.bl-grid a{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-s);text-decoration:none;color:var(--ink);font-weight:600}
.bl-grid a:hover{border-color:var(--primary)}
.bl-grid small{color:var(--ink-3);font-weight:500}
.links-list{columns:2 260px;padding-left:1.1em}.links-list li{margin:.4em 0;break-inside:avoid}
/* FAQ */
.faq details{border-bottom:1px solid var(--line);padding:14px 0}
.faq summary{cursor:pointer;font-weight:680;font-size:1.06rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:400;font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:.7em 0 0;max-width:var(--text)}
/* Profil */
.facts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:0;border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden}
.facts-grid div{padding:14px 16px;border-right:1px solid var(--mist-2);border-bottom:1px solid var(--mist-2)}
.facts-grid dt{font-size:.84rem;color:var(--ink-3);margin:0 0 2px}.facts-grid dd{margin:0;font-weight:640}
.price-board{display:grid;gap:8px;max-width:640px}
/* Für Anbieter */
.models{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:3px solid var(--ink)}
.models>div{padding:22px 22px 8px 0;border-right:1px solid var(--line);padding-left:22px}
.models>div:first-child{padding-left:0}.models>div:last-child{border-right:0}
@media (max-width:860px){.models{grid-template-columns:1fr}.models>div{border-right:0;border-bottom:1px solid var(--line);padding-left:0}}
.models .what{font-size:.92rem;color:var(--ink-2)}
form.contact{display:grid;gap:12px;max-width:560px}
form.contact label{font-weight:620;font-size:.93rem}
form.contact input,form.contact textarea,form.contact select{width:100%;font:inherit;padding:10px;border:1px solid var(--line);border-radius:var(--radius-s)}
/* Fuß */
.site-foot{background:var(--ink);color:#DCE7E4;padding:44px 0 30px;margin-top:0;font-size:.93rem}
.site-foot a{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:28px}
@media (max-width:1000px){.foot-grid{grid-template-columns:1fr 1fr 1fr}.foot-grid>div:first-child{grid-column:1/-1}}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr}}
.site-foot h4{margin:0 0 10px;font-size:.95rem;color:#fff}
.site-foot ul{list-style:none;margin:0;padding:0}.site-foot li{margin:.35em 0}
.foot-note{border-top:1px solid #2E4D4A;margin-top:28px;padding-top:16px;font-size:.84rem;color:#A9BDB8}
.mobile-cta{display:none}
@media (max-width:720px){.mobile-cta{display:block;position:fixed;left:0;right:0;bottom:0;padding:10px 16px;background:var(--paper);border-top:1px solid var(--line);z-index:30}.mobile-cta .btn{display:block;text-align:center}body.has-mcta{padding-bottom:64px}}
@media (prefers-reduced-motion:no-preference){.row{animation:in .35s ease both}@keyframes in{from{opacity:0}to{opacity:1}}}
.draft-note{background:#14313A;color:#fff;font-size:.82rem;padding:6px 0;text-align:center}

/* --- WordPress/Elementor-Integration --- */
body,button,input,select,textarea{font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif}
a{text-decoration-thickness:1px;text-underline-offset:2px}
.elementor-widget-html{width:100%}
.e-con.ea-sec{--padding-top:56px;--padding-bottom:56px}
.e-con.ea-alt{background:var(--mist)}
.e-con.ea-hero{--padding-top:40px;--padding-bottom:8px}
.e-con.ea-dark{background:var(--ink);color:#fff}
.ea-dark a{color:#fff}
.lead{font-size:1.16rem;max-width:62ch;color:var(--ink-2)}
.hero--sub{padding:16px 0 8px}
.block--tight{padding:24px 0 56px}
.btns{display:flex;flex-wrap:wrap;gap:10px}
.btn.ghost:hover{background:var(--mist);color:var(--primary-2)}
.crumbs{font-size:.86rem;color:var(--ink-3);padding:14px 0 0}
.crumbs a{color:var(--ink-2)}
.crumbs .breadcrumb_last{color:var(--ink-3)}
.prose > *:first-child{margin-top:0}
.prose h2{font-size:clamp(1.4rem,2.4vw,1.85rem)}
.prose img{height:auto}
.prose blockquote,.callout{border-left:5px solid var(--primary);background:var(--mist);padding:14px 18px;margin:1.4em 0;border-radius:0 var(--radius-m) var(--radius-m) 0}
.prose blockquote p:last-child{margin:0}
.prose blockquote ul{margin:.4em 0}
.prose code{font-family:inherit;background:none;padding:0}
.prose .table-scroll{overflow-x:auto}
table.cmp caption{caption-side:bottom;text-align:left;padding:10px 12px;color:var(--ink-2);font-size:.88rem}
.faq-a{margin:.7em 0 0;max-width:var(--text)}
.faq-a p{margin:0 0 .6em}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-err{background:#FDECEA;border-left:4px solid var(--c-g);padding:10px 14px}
.consent{display:flex;gap:8px;align-items:flex-start;font-size:.9rem;font-weight:400}
.consent input{width:auto;margin-top:4px}
.az-l{font-size:1.4rem;margin:1.4em 0 .4em;border-bottom:2px solid var(--ink);padding-bottom:4px}
.az-list{list-style:none;padding:0;margin:0}
.az-list li{display:flex;flex-wrap:wrap;gap:4px 14px;padding:10px 0;border-bottom:1px solid var(--mist-2)}
.az-list span{color:var(--ink-2);font-size:.92rem}
.bl-links a{display:inline-block;margin:0 8px 4px 0}
.site-foot .fh{margin:0 0 10px;font-size:.95rem;color:#fff;font-variation-settings:"wdth" 100;letter-spacing:0}
.nav-t{position:absolute;opacity:0;pointer-events:none}
.menu-btn{cursor:pointer;user-select:none}
@media (max-width:860px){.nav-t:checked ~ .nav{display:flex}.site-head .wrap{position:relative}}
.nav-t:focus-visible + .menu-btn{outline:3px solid #2A7BE4}
@media (max-width:720px){body{padding-bottom:64px}}
.legend i{border-radius:2px}
.ea-toc{columns:2 240px;padding-left:1.1em}
.kasten{border:1px solid var(--line);border-radius:var(--radius-m);padding:18px 20px;margin:1.4em 0}
.kasten h3{margin-top:0}

.rg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.rg{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius-m);text-decoration:none;color:var(--ink);background:var(--paper)}
.rg b{font-size:1.1rem;font-variation-settings:"wdth" 112}
.rg span{color:var(--ink-2);font-size:.95rem}
.rg:hover{border-color:var(--primary)}
.ea-hero .lead-wrap{max-width:var(--text)}
.ea-hero .lead-wrap p:not(.lead){color:var(--ink-2)}
.nav{align-items:center}
.sortby{white-space:nowrap}
.ea-hero .calc{margin-top:10px}
.ea-hero .lead{margin-bottom:0}
main.site-main{max-width:none;width:100%;padding:0;margin:0}
table.cmp th,table.cmp td{border-left:0;border-right:0;border-top:0}
table.cmp tbody>tr:nth-child(odd)>td{background:transparent}
table.cmp tbody tr:hover>td{background:#F7FAF9}
.prose table td,.prose table th{border-left:0;border-right:0;border-top:0}
.prose table tbody>tr:nth-child(odd)>td{background:transparent}
.e-con.ea-sec + .e-con.ea-sec:not(.ea-alt){--padding-top:8px}
body main.site-main{max-width:none!important;width:100%!important;padding-inline:0!important;margin-inline:0!important}
.bl-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.bl-grid small{white-space:nowrap;margin-left:8px}
h1,h2,h3{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
@media (max-width:420px){h1{font-size:1.8rem}}
/* HWB-Rechner */
.hwb-out{border:1px solid var(--line);border-radius:var(--radius-m);padding:20px;margin-top:16px;background:var(--paper)}
.hwb-kl{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.hwb-kl>div{display:flex;align-items:center;gap:12px;min-width:220px}
.hwb-kl b{display:inline-block;min-width:3.2em;text-align:center;color:#fff;font-size:1.5rem;font-weight:800;padding:6px 12px;border-radius:var(--radius-s);text-shadow:0 1px 1px rgba(0,0,0,.35)}
.hwb-calc .calc-note label{cursor:pointer}
.byline{color:var(--ink-3);font-size:.86rem;margin:-.2em 0 1em}
.related h2{font-size:1.3rem}
.hwb-out .facts-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
