@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&display=swap');
:root{--gold:#C8A35A;--gold-soft:#D6B87A;--gold-light:#e7d7b8;--anthracite:#2F343A;--surface-muted:#F5F5F5;--border-subtle:#ececec;--radius-lg:18px;--radius-md:14px;--radius-sm:10px}
*{box-sizing:border-box}html,body{margin:0;overflow-x:hidden}body{font-family:'Montserrat',sans-serif;color:var(--anthracite);background:#fff}a{color:var(--gold);text-decoration:none}a:hover{color:var(--anthracite)}input,select,button{font-family:'Montserrat',sans-serif}
.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:18px 40px;border-bottom:1px solid var(--border-subtle);position:sticky;top:0;background:#fff;z-index:10}.site-header img{width:180px;display:block}.site-header nav{display:flex;align-items:center;gap:24px;overflow-x:auto;flex:1;justify-content:center;min-width:0}.site-header nav a{font:500 13px 'Montserrat';color:#2F343Ab3;white-space:nowrap}.site-header nav a.active{font-weight:600;color:var(--gold)}.site-header .phone{font-size:14px;white-space:nowrap;color:#2F343Ab3}
.backlink-wrap{max-width:1200px;margin:auto;padding:28px 24px 0}.backlink{display:inline-flex;align-items:center;gap:8px;font:500 13px 'Montserrat';color:#2F343A80}.title-section{max-width:820px;margin:auto;padding:32px 24px 8px;text-align:center}.eyebrow{font:600 12px 'Montserrat';letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}.title-section h1{font:400 clamp(28px,4vw,40px)/1.2 'Montserrat';margin:0 0 16px}.title-section p{font:16px/1.7 'Montserrat';color:#2F343Ab3;margin:0}.variant-switch-wrap{max-width:420px;margin:24px auto 0;padding:0 24px}.variant-switch-wrap label{display:block;font:600 12px 'Montserrat';letter-spacing:.06em;text-transform:uppercase;color:#2F343A80;margin-bottom:8px;text-align:center}.variant-switch{width:100%;padding:14px 16px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:#fff;color:var(--anthracite);font-weight:600}.variant-panel{display:none}.variant-panel.active{display:block}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border-radius:var(--radius-sm);border:1px solid transparent;font:600 14px 'Montserrat';cursor:pointer;transition:all .2s ease;text-align:center}.btn-primary{background:var(--gold);color:#fff;box-shadow:0 6px 16px #c8a35a59}.btn-primary:hover{background:var(--gold-soft)}.btn-outline{background:#fff;border-color:var(--gold-light);color:var(--anthracite)}.btn-outline:hover{background:var(--surface-muted)}.btn:focus-visible,.budget-toggle-head:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.rechner-wrap{max-width:1200px;margin:36px auto 0;padding:0 24px 64px}.rechner-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);gap:24px;align-items:start}.rechner-form{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:36px;display:flex;flex-direction:column;gap:24px}.rechner-form>.label{font:600 12px 'Montserrat';letter-spacing:.06em;text-transform:uppercase;color:#2F343A80}.budget-section{border-top:1px solid var(--border-subtle);padding-top:24px}.budget-step{font:600 11px 'Montserrat';letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}.budget-section h2{font:500 24px/1.25 'Montserrat';margin:0 0 6px}.budget-description,.budget-help{font-size:13px;line-height:1.6;color:#2F343Ab3;margin:0 0 18px}.slider-head{display:flex;justify-content:space-between;gap:16px;font:500 14px 'Montserrat';margin:18px 0 10px}.slider-head strong{color:var(--gold);white-space:nowrap}.budget-slider{width:100%;height:4px;border-radius:999px;background:var(--border-subtle);accent-color:var(--gold)}.slider-labels{display:flex;justify-content:space-between;font-size:12px;color:#2F343A80;margin-top:7px}.budget-help{margin:7px 0 14px}.budget-toggle-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#fff;margin-top:16px;overflow:hidden}.budget-toggle-card.active{border-color:var(--gold)}.budget-toggle-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;border:0;background:transparent;padding:17px;text-align:left;color:var(--anthracite);cursor:pointer}.budget-toggle-head b{display:block;font-size:14px}.budget-toggle-head small{display:block;font-size:12px;line-height:1.5;color:#2F343A99;margin-top:4px}.budget-toggle-indicator{width:40px;height:23px;border-radius:999px;background:var(--border-subtle);position:relative;flex:0 0 auto}.budget-toggle-indicator:after{content:'';position:absolute;width:17px;height:17px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.budget-toggle-card.active .budget-toggle-indicator{background:var(--gold)}.budget-toggle-card.active .budget-toggle-indicator:after{transform:translateX(17px)}.budget-toggle-body{display:none;padding:0 17px 18px}.budget-toggle-card.active#p-fewo .budget-toggle-body{display:block}.budget-note,.budget-callout{border-left:4px solid var(--gold);background:#fff;padding:13px 16px;font-size:13px;line-height:1.6;color:#2F343Ab3;margin-top:18px}.budget-callout{margin-top:0}.budget-note b,.budget-callout b{color:var(--anthracite)}
.rechner-result{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 2px 6px #2f343a0f,0 12px 28px #2f343a12;padding:30px;position:sticky;top:96px}.budget-main-value{font-size:40px;font-weight:600;margin:0 0 18px}.budget-status{border-left:4px solid var(--gold);background:var(--surface-muted);padding:15px 16px;margin-bottom:22px}.budget-status strong{display:block;font-size:16px;margin-bottom:6px}.budget-status span{display:block;font-size:12px;line-height:1.55;color:#2F343Ab3}.budget-status.rot{border-color:#a85b5b}.budget-status.gelb{border-color:var(--gold)}.budget-status.gruen{border-color:#78926f}.budget-results{border-top:1px solid var(--border-subtle)}.budget-result-title{font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);padding:15px 0 5px}.budget-result-row{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--border-subtle);padding:12px 0;font-size:13px}.budget-result-row b{white-space:nowrap}.budget-result-row.is-minus b{color:#a85b5b}.budget-result-row.is-total{border-top:2px solid var(--gold);font-weight:600}.budget-runtime{text-align:right;font-size:12px;color:#2F343A80;margin-top:8px}.budget-mail,.budget-print{width:100%;margin-top:18px}.budget-small,.budget-signature,.budget-disclaimer{font-size:12px;line-height:1.6;color:#2F343A99;text-align:center}.budget-signature{font-style:italic}.budget-disclaimer{text-align:left;margin-top:20px}.fs-wrap{max-width:760px;margin:36px auto;padding:0 24px 64px}.fs-card{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:40px 36px;display:flex;flex-direction:column;gap:32px}.fs-progress-head{display:flex;justify-content:space-between;font-size:12px;color:#2F343A80}.fs-progress-head .pct{color:var(--gold)}.fs-progress-track{height:4px;background:var(--border-subtle)}.fs-progress-bar{height:100%;background:var(--gold);width:33%}.fs-question{display:none;text-align:center}.fs-question.active{display:block}.fs-question h2{font-weight:400}.fs-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.fs-option{cursor:pointer;text-align:center;padding:28px 20px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:#fff;font-weight:600}.fs-option.selected{border-color:var(--gold);background:#c8a35a14}.fs-contact{display:none}.fs-contact.active{display:block}.fs-contact-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.field{display:flex;flex-direction:column;gap:8px}.field input,.field select{height:48px;padding:0 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.fs-nav{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--border-subtle);padding-top:24px}.karte-wrap{max-width:1400px;margin:36px auto;padding:0 24px 64px;display:flex;flex-direction:column;gap:16px}.map-slot{height:460px;display:flex;align-items:center;justify-content:center;background:#f0f0f0;border-radius:var(--radius-lg);color:#2F343A80}.slider-panel,.settings-panel,.kennzahl-card,.ergebnis-card{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:22px}.karte-body{display:grid;grid-template-columns:2fr 1fr;gap:16px}.kennzahlen{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.ergebnis-card{grid-column:1/-1}.switch-row{display:flex;justify-content:space-between}.switch{position:relative}.switch input{opacity:0}.contact-section{max-width:1200px;margin:auto;padding:0 24px 64px;text-align:center}.contact-section p{color:#2F343Ab3}.contact-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.site-footer{background:var(--surface-muted);padding:56px 40px;border-top:1px solid var(--border-subtle)}.footer-inner{max-width:1200px;margin:auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px}.footer-inner img{width:150px}.footer-address{font-size:14px;line-height:1.8;opacity:.75}.footer-right{display:flex;flex-direction:column;gap:16px;align-items:flex-end}.revoke-btn{padding:12px 20px;border:1px solid var(--gold-light);border-radius:999px;background:#fff;color:var(--anthracite);font-weight:600}.legal-links{font-size:13px;opacity:.55;display:flex;gap:16px;flex-direction:column;align-items:flex-end}.legal-links .row{display:flex;gap:16px}
@media(max-width:980px){.rechner-grid{grid-template-columns:1fr}.rechner-result{position:static}.karte-body{grid-template-columns:1fr}}@media(max-width:640px){.site-header{padding:14px 20px}.site-header nav{justify-content:flex-start;gap:18px}.rechner-form{padding:24px 20px}.footer-inner{flex-direction:column}.footer-right{align-items:flex-start}.map-slot{height:280px}.karte-wrap{padding-left:16px;padding-right:16px}}@media print{.site-header nav,.phone,.backlink-wrap,.variant-switch-wrap,.budget-slider,.slider-labels,.budget-toggle-indicator,.budget-mail,.budget-print,.budget-small,.budget-signature,.contact-section{display:none!important}.rechner-result{position:static;box-shadow:none}.rechner-form{break-inside:avoid}.budget-toggle-body{display:block!important}body{background:#fff}}
