:root{--color-page: #f4f3f1;--color-surface: #ffffff;--color-surface-muted: #faf9f7;--color-text: #07090d;--color-text-muted: #4c5563;--color-border: #dedbd6;--color-border-strong: #c9c5be;--color-accent: #d20a16;--color-accent-dark: #ad0711;--color-accent-soft: #fff1f1;--color-danger: #9f1d22;--color-success: #f2fff6;--radius-card: 24px;--radius-control: 16px;--shadow-soft: 0 18px 50px rgba(7, 9, 13, .06);--space-page: clamp(22px, 4vw, 56px);--content-width: 1120px;color:var(--color-text);background:var(--color-page);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-page)}button,input,select,textarea{font:inherit}button{border:0;border-radius:999px;background:var(--color-accent);color:#fff;cursor:pointer;font-weight:800;min-height:52px;padding:0 26px;transition:background .16s ease,border-color .16s ease,transform .16s ease}button:hover{background:var(--color-accent-dark);transform:translateY(-1px)}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(210,10,22,.28);outline-offset:3px}button.secondary-action{background:#fff;border:1px solid var(--color-border-strong);color:var(--color-text)}button.secondary-action:hover{background:var(--color-surface-muted);border-color:var(--color-text)}.button-link{align-items:center;border-radius:999px;display:inline-flex;font-weight:850;justify-content:center;min-height:52px;padding:0 24px;text-decoration:none;transition:background .16s ease,border-color .16s ease,transform .16s ease}.button-link:hover{transform:translateY(-1px)}.button-link--primary{background:var(--color-accent);color:#fff}.button-link--primary:hover{background:var(--color-accent-dark)}.button-link--secondary{background:#fff;border:1px solid var(--color-border-strong);color:var(--color-text)}.button-link--secondary:hover{background:var(--color-surface-muted);border-color:var(--color-text)}.app-shell{align-items:flex-start;display:flex;flex-direction:column;gap:clamp(42px,7vw,86px);min-height:100vh;padding:28px var(--space-page) 64px}.app-shell--form{gap:clamp(28px,4vw,48px)}.app-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:14px;margin:0 auto;padding:0 0 26px;width:min(100%,var(--content-width))}.brand-mark{background:var(--color-accent);border-radius:999px;box-shadow:0 0 22px #d20a1647;flex:0 0 auto;height:18px;width:18px}.app-header strong{color:var(--color-text);display:block;font-size:1.12rem;letter-spacing:0}.app-header span{color:var(--color-text-muted);display:block;font-size:.78rem;font-weight:700;letter-spacing:.08em;margin-top:3px;text-transform:uppercase}.progress-stepper{display:grid;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr));margin:-18px auto 0;width:min(100%,var(--content-width))}.progress-step{align-items:center;background:#ffffffa8;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);display:flex;gap:9px;min-width:0;padding:8px 10px}.progress-step span{align-items:center;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:999px;color:inherit;display:inline-flex;flex:0 0 auto;font-size:.78rem;font-weight:900;height:24px;justify-content:center;width:24px}.progress-step strong{display:block;font-size:.82rem;font-weight:850;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-step--completed{color:var(--color-text)}.progress-step--completed span{background:var(--color-text);border-color:var(--color-text);color:#fff}.progress-step--current{background:#fff;border-color:#d20a166b;color:var(--color-accent-dark)}.progress-step--current span{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.progress-step--upcoming{opacity:.72}.hero-panel,.form-panel{margin:0 auto;width:min(100%,var(--content-width))}.hero-panel{max-width:var(--content-width)}.form-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);padding:clamp(28px,5vw,52px)}.form-header{border-bottom:1px solid var(--color-border);margin-bottom:32px;padding-bottom:28px}.eyebrow{align-items:center;color:var(--color-text-muted);display:flex;font-size:.76rem;font-weight:800;gap:12px;letter-spacing:.12em;margin:0 0 22px;text-transform:uppercase}.eyebrow:before{background:var(--color-accent);content:"";display:inline-block;height:1px;width:36px}h1{color:var(--color-text);font-size:clamp(3.3rem,8vw,6.4rem);font-weight:900;letter-spacing:0;line-height:.98;margin:0;max-width:900px}#form-title,#work-title,#exit-title,#result-title,#contact-title{font-size:clamp(2.35rem,6vw,4.5rem)}.subtitle{color:var(--color-text-muted);font-size:clamp(1.12rem,2.2vw,1.5rem);line-height:1.55;margin:26px 0 36px;max-width:720px}.partner-access-badge{background:var(--color-accent-soft);border:1px solid rgba(210,10,22,.22);border-radius:999px;color:var(--color-accent-dark);display:inline-flex;font-size:.86rem;font-weight:850;margin:0 0 18px;padding:8px 13px}.partner-hero-logo{display:block;height:auto;margin:0 0 18px;max-height:64px;max-width:min(260px,80vw);object-fit:contain}.partner-banner{align-items:flex-start;background:#fff;border:1px solid rgba(210,10,22,.24);border-left:4px solid var(--color-accent);border-radius:18px;box-shadow:var(--shadow-soft);display:grid;gap:5px;margin:-24px auto 0;padding:16px 18px;width:min(100%,var(--content-width))}.partner-banner strong{color:var(--color-text);font-size:1rem;font-weight:900}.partner-banner span{color:var(--color-text-muted);font-size:.93rem;line-height:1.45}.partner-banner small{border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.82rem;line-height:1.45;margin-top:5px;padding-top:9px}.partner-hero-copy{border-left:3px solid var(--color-accent);display:grid;gap:8px;margin:-14px 0 28px;max-width:780px;padding-left:16px}.partner-hero-copy p{color:var(--color-text-muted);line-height:1.55;margin:0}.partner-hero-copy p:first-child{color:var(--color-text);font-weight:850}.building-form,.contact-form{display:grid;gap:22px}.contact-form{border-top:1px solid var(--color-border);margin-top:32px;padding-top:28px}.contact-form--standalone{border-top:0;margin-top:0;padding-top:0}.contact-form h2,.family-summary-panel h2,.analysis-preview h2,.analysis-includes-panel h2{color:var(--color-text);font-size:1.45rem;font-weight:900;letter-spacing:0;margin:0}.early-exit-panel,.result-panel,.contact-summary-panel,.family-summary-panel,.pending-panel,.analysis-preview,.analysis-includes-panel,.insulation-section,.ventilation-section,.heating-section,.gtb-usage-field,.subwork-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card)}.early-exit-panel,.result-panel,.contact-summary-panel,.family-summary-panel,.analysis-preview,.analysis-includes-panel{display:grid;gap:16px;padding:clamp(20px,3vw,30px)}.early-exit-panel p,.result-panel p,.contact-summary-panel p,.analysis-preview p,.analysis-preview li,.analysis-includes-panel p,.analysis-includes-panel li,.pending-panel p{color:var(--color-text-muted);line-height:1.58;margin:0}.analysis-includes-panel{background:var(--color-surface-muted);margin-bottom:28px}.contact-summary-panel{margin-bottom:28px}.contact-summary-panel div{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.contact-summary-panel div>span{color:var(--color-text-muted);font-weight:750}.contact-summary-panel div>strong:not(.status-badge){color:var(--color-accent-dark);font-size:1.35rem}.partner-context-card,.partner-contact-note{background:var(--color-surface-muted);border:1px solid rgba(210,10,22,.22);border-radius:var(--radius-card);display:grid;gap:10px;margin-bottom:28px;padding:clamp(18px,3vw,26px)}.partner-context-card h2{color:var(--color-text);font-size:1.35rem;font-weight:900;margin:0}.partner-context-card p,.partner-contact-note p{color:var(--color-text-muted);line-height:1.58;margin:0}.partner-contact-note p:first-child{color:var(--color-text);font-weight:850}.analysis-includes-panel ul{display:grid;gap:9px 18px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding-left:20px}.preview-kicker{background:var(--color-accent-soft);border:1px solid rgba(210,10,22,.2);border-radius:999px;color:var(--color-accent-dark)!important;display:inline-block;font-size:.92rem;font-weight:850;justify-self:start;padding:7px 12px}.result-panel{border-color:#d20a1647}.result-panel--low-potential{background:#fffaf1;border-color:#ead39d}.result-panel--low-potential .result-amount{background:#fffdf8;border-color:#ead39d}.result-panel--low-potential .result-amount>span{color:#8a5f0a}.result-amount{background:linear-gradient(180deg,#fff,#fff8f8);border:1px solid rgba(210,10,22,.22);border-radius:22px;display:grid;gap:12px;padding:clamp(18px,3vw,26px)}.result-amount>span{color:var(--color-accent);font-size:clamp(3rem,8vw,5.4rem);font-weight:900;letter-spacing:0;line-height:1}.result-amount>strong{color:var(--color-text);font-size:1rem}.status-line{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.status-line span{color:var(--color-text-muted);font-size:.86rem;font-weight:850}.status-badge{background:var(--color-accent-soft);border:1px solid rgba(210,10,22,.22);border-radius:999px;color:var(--color-accent-dark);display:inline-block;font-size:.88rem;line-height:1.2;padding:6px 11px}.status-badge--positive{background:#f2fff6;border-color:#b6dec1;color:#176031}.status-badge--review{background:#fff8e8;border-color:#ead39d;color:#77530d}.status-badge--negative{background:#fff1f1;border-color:#d20a1642;color:var(--color-accent-dark)}.status-badge--scope{background:#f5f5f5;border-color:var(--color-border-strong);color:var(--color-text-muted)}.result-prudence{border-top:1px solid var(--color-border);padding-top:14px}.family-summary-panel,.pending-panel,.technical-details{margin-top:20px}.family-summary-list{display:grid;gap:0}.family-summary-row{align-items:center;border-top:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;padding:14px 0}.family-summary-row:first-child{border-top:0}.family-summary-row div{display:grid;gap:4px}.family-summary-row strong{color:var(--color-text)}.family-summary-row span{color:var(--color-text-muted)}.family-summary-row>span{color:var(--color-accent-dark);font-weight:900;white-space:nowrap}.pending-panel{background:var(--color-surface-muted);display:grid;gap:10px;padding:18px}.quick-guide{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-card);display:grid;gap:18px;padding:20px}.quick-guide h2{color:var(--color-text);font-size:1.25rem;font-weight:900;letter-spacing:0;margin:0}.quick-guide p{color:var(--color-text-muted);line-height:1.55;margin:0}.quick-guide-steps{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.quick-guide-step{align-items:center;background:#fff;border:1px solid var(--color-border);border-radius:16px;display:flex;gap:10px;min-width:0;padding:12px}.quick-guide-step span{align-items:center;background:var(--color-accent);border-radius:999px;color:#fff;display:inline-flex;flex:0 0 auto;font-size:.82rem;font-weight:900;height:26px;justify-content:center;width:26px}.quick-guide-step strong{color:var(--color-text);font-size:.92rem;font-weight:850;line-height:1.25}.technical-details{border-top:1px solid var(--color-border);padding-top:18px}.advanced-fields{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-control);display:grid;gap:14px;padding:14px 16px}.advanced-fields summary{color:var(--color-text);cursor:pointer;font-weight:900}.advanced-fields[open]{background:#fff}.advanced-fields[open] summary{margin-bottom:12px}.technical-details summary{color:var(--color-text-muted);cursor:pointer;font-size:.92rem;font-weight:800}.technical-details pre,.json-preview pre{background:#111;border-radius:18px;color:#f8f7f5;font-size:.88rem;line-height:1.55;overflow-x:auto;padding:18px}.analysis-preview h3{color:var(--color-text);font-size:1rem;font-weight:900;letter-spacing:0;margin:0 0 8px}.analysis-preview ul{margin:0;padding-left:20px}.preview-grid,.preview-highlight{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.preview-highlight{border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border);padding:16px 0}.preview-highlight div{display:grid;gap:4px}.preview-highlight span{color:var(--color-text-muted)}.preview-highlight strong{color:var(--color-accent-dark);font-size:1.3rem}.field-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.field{display:grid;gap:9px}.field span,.segmented-field legend,.work-family-field legend,.gtb-usage-field legend,.subwork-panel legend{color:var(--color-text);font-size:.95rem;font-weight:850}.field small{color:var(--color-text-muted);font-size:.88rem;line-height:1.45}.required-marker{color:var(--color-accent);font-weight:900}.required-fields-note{color:var(--color-text-muted);font-size:.88rem;margin:-4px 0 4px}.advisor-field{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-control);padding:14px}.field input,.field select,.field textarea{background:#fff;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text);width:100%}.field input,.field select{min-height:52px;padding:0 16px}.field textarea{line-height:1.5;min-height:132px;padding:14px 16px;resize:vertical}.field input:hover,.field select:hover,.field textarea:hover{border-color:#9d9890}.field input[aria-invalid=true]{border-color:var(--color-danger)}.field select{cursor:pointer}.form-message{color:var(--color-danger);font-size:.92rem;line-height:1.45;margin:-8px 0 0}.success-message{background:var(--color-success);border:1px solid #2b8f51;border-radius:var(--radius-control);color:#176133;font-size:.95rem;font-weight:800;line-height:1.45;margin:0;padding:13px 15px}.consent-field{align-items:flex-start;color:var(--color-text-muted);display:grid;gap:10px;grid-template-columns:20px minmax(0,1fr);line-height:1.48}.consent-field input{accent-color:var(--color-accent);height:18px;margin:3px 0 0;width:18px}.segmented-field,.work-family-field{border:0;display:grid;gap:12px;margin:0;padding:0}.gtb-usage-field,.insulation-section,.ventilation-section,.heating-section,.subwork-panel{display:grid;gap:18px;padding:20px}.insulation-section h2,.ventilation-section h2,.heating-section h2{color:var(--color-text);font-size:1.45rem;font-weight:900;letter-spacing:0;margin:0 0 6px}.subwork-panel legend,.gtb-usage-field legend{padding:0 6px}.error-list{background:#fff4f4;border:1px solid rgba(210,10,22,.42);border-radius:var(--radius-control);display:grid;gap:6px;padding:13px 15px}.error-list p{color:var(--color-danger);font-size:.92rem;line-height:1.45;margin:0}.help-text{color:var(--color-text-muted);font-size:.94rem;line-height:1.5;margin:0}.work-family-grid,.usage-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.work-family-card,.usage-card,.segmented-control label{cursor:pointer;min-width:0;position:relative}.work-family-card input,.usage-card input,.segmented-control input{opacity:0;pointer-events:none;position:absolute}.work-family-card input+span,.usage-card input+span,.segmented-control input+span{align-items:center;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-card);color:var(--color-text);display:flex;gap:12px;font-weight:850;min-height:68px;padding:16px 18px;width:100%}.work-family-card input+span{min-height:88px}.usage-card input+span,.segmented-control input+span{min-height:52px}.work-family-icon{align-items:center;background:var(--color-accent-soft);border:1px solid rgba(210,10,22,.2);border-radius:999px;display:inline-flex;flex:0 0 auto;height:42px;justify-content:center;width:42px}.work-family-icon svg{fill:none;height:25px;stroke:var(--color-accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:25px}.work-family-label{min-width:0}.work-family-card input:checked+span,.usage-card input:checked+span,.segmented-control input:checked+span{background:var(--color-accent-soft);border-color:#d20a168c;color:var(--color-accent-dark)}.work-family-card input:focus-visible+span,.usage-card input:focus-visible+span,.segmented-control input:focus-visible+span{outline:3px solid rgba(210,10,22,.28);outline-offset:3px}.usage-card input:disabled+span{color:var(--color-text-muted);cursor:not-allowed}.segmented-control{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.segmented-control input+span{justify-content:center;text-align:center}.primary-action{justify-self:start;margin-top:4px}.form-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}.form-actions .primary-action{margin-top:0}.result-actions{margin-top:24px}.json-preview{border-top:1px solid var(--color-border);margin-top:34px;padding-top:24px}.json-preview h2{color:var(--color-text);font-size:1.1rem;font-weight:900;letter-spacing:0;margin:0 0 12px}.partner-page{gap:clamp(34px,5vw,64px)}.partner-hero,.partner-section{margin:0 auto;width:min(100%,var(--content-width))}.partner-hero{align-items:end;display:grid;gap:clamp(24px,4vw,48px);grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr)}.partner-hero h1{font-size:clamp(3rem,7vw,5.9rem)}.partner-hero__content>p:not(.eyebrow):not(.subtitle),.partner-section p,.partner-section li{color:var(--color-text-muted);font-size:1rem;line-height:1.62}.partner-hero__content>p:not(.eyebrow):not(.subtitle){max-width:760px}.partner-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.partner-proof,.partner-assurance{background:#fff;border:1px solid rgba(210,10,22,.24);border-left:4px solid var(--color-accent);border-radius:8px;display:grid;gap:12px;padding:clamp(20px,3vw,28px)}.partner-proof strong,.partner-assurance strong{color:var(--color-accent-dark);font-size:1.12rem;font-weight:900}.partner-proof span,.partner-assurance p{color:var(--color-text-muted);line-height:1.58}.partner-section{border-top:1px solid var(--color-border);padding-top:clamp(34px,5vw,56px)}.partner-section h2{color:var(--color-text);font-size:clamp(2rem,4vw,3.35rem);font-weight:900;letter-spacing:0;line-height:1.05;margin:0;max-width:880px}.partner-section h3{color:var(--color-text);font-size:1.15rem;font-weight:900;letter-spacing:0;margin:0}.partner-section__header{display:grid;gap:16px;margin-bottom:24px}.partner-section__header p{margin:0;max-width:760px}.partner-section--split{align-items:start;display:grid;gap:clamp(24px,4vw,46px);grid-template-columns:minmax(0,1fr) minmax(280px,.82fr)}.partner-section--split>div{display:grid;gap:16px}.partner-section--highlight{background:#fff;border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-soft);display:grid;gap:16px;padding:clamp(24px,4vw,38px)}.partner-section--highlight p{max-width:860px}.partner-inline-cta{justify-self:start;margin-top:4px}.partner-check-list,.partner-flow-list{background:#fff;border:1px solid var(--color-border);border-radius:8px;display:grid;gap:12px;margin:0;padding:22px 24px 22px 42px}.partner-check-list li::marker,.partner-flow-list li::marker{color:var(--color-accent);font-weight:900}.partner-card-grid{display:grid;gap:16px}.partner-card-grid--levels{grid-template-columns:repeat(4,minmax(0,1fr))}.partner-card-grid--targets{grid-template-columns:repeat(3,minmax(0,1fr))}.partner-card,.partner-target{background:#fff;border:1px solid var(--color-border);border-radius:8px;display:grid;gap:14px;min-width:0;padding:20px}.partner-card__kicker{color:var(--color-accent-dark);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.partner-card p,.partner-target p{margin:0}.partner-card ul{display:grid;gap:8px;margin:0;padding-left:18px}.partner-card li{font-size:.94rem}.partner-consent-card{background:var(--color-text);border-radius:8px;color:#fff;display:grid;gap:14px;padding:clamp(22px,3vw,30px)}.partner-consent-card strong{font-size:1.1rem}.partner-consent-card p,.partner-consent-card blockquote{color:#ffffffd1;line-height:1.58;margin:0}.partner-consent-card blockquote{border-left:3px solid var(--color-accent);font-size:.92rem;padding-left:14px}.partner-benefit-grid{display:grid;gap:12px 28px;grid-template-columns:repeat(2,minmax(0,1fr));margin:4px 0 0;padding-left:20px}.partner-benefit-grid li::marker{color:var(--color-accent)}.partner-brand-line{align-items:center;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:center;margin:0 auto;padding:18px 22px;width:min(100%,var(--content-width))}.partner-brand-line strong{color:var(--color-accent-dark)}.partner-brand-line span{color:var(--color-text-muted)}.partner-form-help{background:var(--color-surface-muted);border-left:3px solid var(--color-accent);margin:0;padding:14px 16px}.partner-prudence{border-top:1px solid var(--color-border);margin-top:6px;padding-top:14px}.partner-footer-cta{align-items:center;background:var(--color-text);border-radius:8px;display:flex;gap:18px;justify-content:space-between;margin:0 auto;padding:clamp(22px,4vw,34px);width:min(100%,var(--content-width))}.partner-footer-cta h2{color:#fff;font-size:clamp(1.55rem,3vw,2.35rem);letter-spacing:0;line-height:1.08;margin:0;max-width:680px}.partner-form-section{background:#fff;border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-soft);padding:clamp(24px,4vw,42px)}.partner-request-form{max-width:880px}@media (max-width: 720px){.app-shell{gap:30px;padding:22px 18px 36px}.app-header{padding-bottom:18px}.app-header span{font-size:.68rem}.progress-stepper{gap:6px;grid-template-columns:repeat(5,minmax(108px,1fr));margin-top:-10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.progress-step{padding:7px 8px}.progress-step strong{font-size:.78rem}.form-panel{border-radius:20px;padding:22px}.field-grid,.preview-grid,.preview-highlight,.segmented-control,.segmented-control--wide,.work-family-grid,.usage-grid{grid-template-columns:1fr}.family-summary-row{align-items:flex-start;flex-direction:column;gap:8px}.quick-guide-steps,.analysis-includes-panel ul{grid-template-columns:1fr}.result-amount>span{font-size:clamp(2.7rem,15vw,4rem)}button,.primary-action,.button-link{width:100%}.partner-hero,.partner-section--split,.partner-card-grid--levels,.partner-card-grid--targets,.partner-benefit-grid{grid-template-columns:1fr}.partner-brand-line{align-items:flex-start;flex-direction:column}.partner-hero__actions{width:100%}.partner-footer-cta{align-items:stretch;flex-direction:column}.partner-form-section{padding:22px}}@media (min-width: 721px) and (max-width: 1060px){.partner-card-grid--levels,.partner-card-grid--targets{grid-template-columns:repeat(2,minmax(0,1fr))}}
