@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/manrope-latin.woff2) format('woff2')}@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url(fonts/dm-sans-latin.woff2) format('woff2')}
:root{--ink:#183d32;--muted:#66756c;--green:#244f3d;--lime:#d6edac;--line:#dde4d9;--cream:#f7f8f2;font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #56823e;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;letter-spacing:-.045em}h2{font-size:30px;line-height:1.25;margin-bottom:12px}h3{font-size:18px;line-height:1.4;margin-bottom:10px}p{line-height:1.65}em{font-style:normal;color:#577b4c}.brand{font-family:Manrope,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;display:flex;align-items:center;font-size:24px;letter-spacing:-1px;font-weight:800;gap:9px;white-space:nowrap}.brandmark{background:var(--ink);color:var(--lime);width:37px;height:39px;display:grid;place-items:center;border-radius:9px;font-size:31px;font-weight:500}.brand-divider{width:1px;height:26px;background:var(--line);margin:0 9px}.brand small{font-size:8px;letter-spacing:1.7px;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:13px 21px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font-weight:600;font-size:13px;line-height:1.3;transition:background .2s,transform .2s}.button:hover:not(:disabled){background:#eef2e6;transform:translateY(-1px)}.button.primary{color:#fff;background:var(--ink);border-color:var(--ink)}.button.primary:hover:not(:disabled){background:#316047}.button.small{min-height:41px;padding:10px 16px;font-size:12px}.button.quiet{border-color:transparent;background:transparent}.text-button{background:none;border:0;color:var(--green);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px;min-height:42px;padding:9px 4px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;line-height:1.5;margin-bottom:16px}h1{font-size:clamp(46px,4.35vw,70px);font-weight:600;line-height:1.09;letter-spacing:-.065em;margin:0 0 24px}.estimator{max-width:1348px;margin:auto;padding:0 22px;scroll-margin-top:25px}.estimator-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:27px}.estimator-intro h2{font-size:34px;font-weight:600;margin:0}.estimator-intro .eyebrow{margin-bottom:10px}.estimator-intro>p{font-size:12px;color:var(--muted);margin:0}.stepper{display:grid;grid-template-columns:repeat(4,1fr);background:#eef1e7;border-radius:12px;margin-bottom:24px;padding:6px;gap:6px}.stepper button{border:0;background:transparent;text-align:left;position:relative;border-radius:8px;padding:15px 12px 15px 57px;color:var(--muted);min-height:68px}.stepper button>span{position:absolute;left:17px;top:19px;border:1px solid #bfcbbc;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:12px}.stepper b{display:block;font-size:12px}.stepper small{display:block;font-size:10px;margin-top:4px}.stepper button.active{background:var(--ink);color:white;box-shadow:0 3px 8px #183d3215}.stepper .active>span{border-color:#c6e59b;color:var(--ink);background:var(--lime)}.stepper .active small{color:#d1dece}.stepper .complete>span{background:#d6e8c6;border-color:#c7ddbb;color:var(--ink)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:24px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:20px;padding:30px}.sectionhead{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:23px}.sectionhead .eyebrow{margin-bottom:8px}.sectionhead h2{font-size:26px;font-weight:600}.sectionhead p:not(.eyebrow){font-size:12px;color:var(--muted);margin-bottom:0}.pill{display:inline-flex;align-items:center;white-space:nowrap;font-size:9px;font-weight:600;color:#3a654b;background:#edf3e7;border:1px solid #dce8d5;border-radius:50px;padding:7px 10px;line-height:1.2}.searchbox{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #bdcebb;border-radius:10px;padding:5px;box-shadow:0 0 0 4px #f4f6ee}.searchbox>span{padding-left:12px;font-size:25px;color:#6c8560}.searchbox input{border:0!important;min-width:0;flex:1;background:transparent!important;padding:12px 4px!important;font-size:12px!important;margin:0!important}.searchbox .button{min-height:43px;padding:12px 15px;white-space:nowrap;font-size:12px}.mode-tabs{display:flex;gap:6px;margin:23px 0 17px;border-bottom:1px solid var(--line);padding-bottom:9px}.mode-tabs button{background:transparent;border:0;border-radius:6px;color:var(--muted);font-size:12px;padding:11px 14px;min-height:42px}.mode-tabs button.selected{background:#eef4e6;color:var(--ink);font-weight:700}.map-guide{background:#f3f6ed;padding:14px;border-radius:10px;display:flex;align-items:center;gap:12px;margin-bottom:12px}.guide-number{width:30px;height:30px;flex-shrink:0;border-radius:50%;background:var(--lime);display:grid;place-items:center;font-weight:700}.map-guide b{font-size:12px}.map-guide p{font-size:11px;line-height:1.5;margin:4px 0 0;color:var(--muted)}.map-guide .text-button{margin-left:auto;white-space:nowrap;font-size:10px}.map-shell{height:360px;position:relative;overflow:hidden;border-radius:12px;background:#e2e8dc}#map{width:100%;height:100%}.map-message{position:absolute;inset:0;background:#e8eddf;display:flex;justify-content:center;align-items:center;text-align:center;flex-direction:column;gap:16px;padding:35px}.map-message p{max-width:380px;margin:0;font-size:13px}.map-message>span{font-size:12px}.map-instruction{position:absolute;left:50%;bottom:29px;transform:translateX(-50%);border-radius:8px;padding:10px 16px;background:#173e32eb;color:white;pointer-events:none;font-size:12px;box-shadow:0 3px 15px #0003;white-space:nowrap}.spinner{width:28px;height:28px;border:3px solid #bbccb0;border-top-color:var(--ink);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.drawing-toolbar{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.drawing-toolbar .button{font-size:11px;min-height:43px;padding:11px 14px}.measurement-message{font-size:11px;font-weight:500;color:var(--green);margin:10px 0 0}.hint{color:var(--muted);font-size:11px;line-height:1.65}.map-caution{margin:7px 0 18px;font-size:10px}.measurement-summary{display:flex;align-items:center;gap:22px;margin:23px 0;padding:20px;background:#f5f7f0;border:1px solid #e7eadf;border-radius:10px}.measurement-summary>div>span{display:block;font-size:8px;letter-spacing:1px;color:var(--muted);margin-bottom:8px}.measurement-summary strong{display:block;font-weight:500;line-height:1}.measurement-summary b{font-family:Manrope,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;font-size:24px;font-weight:600;letter-spacing:-.8px}.measurement-summary small{font-size:10px;color:var(--muted)}.measurement-summary>.pill{margin-left:auto;font-size:8px}.roof-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;margin-bottom:23px}label{font-size:12px;font-weight:600}label>span{color:var(--muted)}input:not([type=radio]):not([type=checkbox]):not([type=range]):not([type=file]),select{width:100%;border:1px solid #cdd8c6;border-radius:7px;padding:12px;background:white;color:var(--ink);margin-top:7px;font-size:13px}select{min-height:43px}.roof-details p{font-size:11px;margin:15px 0 0}.complexity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.complexity-grid label{position:relative;border:1px solid var(--line);border-radius:10px;padding:12px;cursor:pointer}.complexity-grid label:has(input:checked){background:#f2f7e9;border-color:#789a61}.complexity-grid input{position:absolute;right:9px;top:9px;accent-color:var(--ink)}.complexity-grid svg{width:90px;height:44px;display:block;margin-bottom:7px;fill:#dce6d4;stroke:#507447;stroke-width:2;stroke-linejoin:round}.complexity-grid b{font-size:11px;display:block}.complexity-grid small{font-size:9px;color:var(--muted);line-height:1.5;display:block;margin-top:4px}.step-actions{border-top:1px solid var(--line);margin-top:25px;padding-top:22px;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.step-actions>span{font-size:11px;color:var(--muted)}.step-actions .error{width:100%;margin:0}.error{font-size:12px;color:#a33b28;background:#fff2eb;padding:12px;border-radius:7px}.manual-card{background:#f4f7ed;border-radius:12px;padding:23px}.manual-heading{display:flex;gap:13px;align-items:center;margin-bottom:20px}.manual-heading>span{font-size:34px;color:#62824c}.manual-heading h3{font-size:17px;margin:0 0 5px}.manual-heading p{font-size:11px;color:var(--muted);margin:0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field-grid label span,.manual-card>label>span{font-size:10px;float:right}.or-divider{text-align:center;display:flex;align-items:center;gap:12px;font-size:10px;color:var(--muted);margin:18px 0}.or-divider:before,.or-divider:after{content:'';height:1px;background:var(--line);flex:1}.manual-card>.hint{margin:14px 0 0}.plan-card{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden;position:sticky;top:24px}.plan-image-wrap{height:186px;position:relative}.plan-image-wrap img{width:100%;height:100%;object-fit:cover}.image-label{position:absolute;bottom:0;left:0;right:0;color:white;background:linear-gradient(transparent,#122d27b3);padding:29px 19px 14px;font-size:8px;letter-spacing:1.5px}.plan-body{padding:22px}.plan-body .eyebrow{font-size:9px;color:var(--muted);margin-bottom:10px}.plan-body h3{font-size:21px;font-weight:600;margin-bottom:7px}.plan-body>p:not(.eyebrow){font-size:11px;color:var(--muted);margin-bottom:25px}.plan-progress{font-size:9px;display:flex;justify-content:space-between;margin-bottom:9px}.progress-track{height:4px;background:#eef1e7;border-radius:4px;overflow:hidden}.progress-track>span{display:block;width:25%;height:100%;background:#78975a;transition:width .3s}.plan-body dl{margin:17px 0}.plan-body dl>div{padding:14px 0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.6}.plan-body dt{color:var(--muted);font-size:9px;margin-bottom:5px}.plan-body dd{margin:0;font-weight:600}.plan-promise{display:flex;gap:9px;padding-top:7px;align-items:center}.plan-promise>span{font-size:24px;color:#759559}.plan-promise p{font-size:9px;line-height:1.7;color:var(--muted);margin:0}.plan-promise b{color:var(--ink);font-weight:500}.material-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.material-card{border:1px solid var(--line);border-radius:13px;position:relative;cursor:pointer;overflow:hidden;transition:box-shadow .2s,border-color .2s;background:white}.material-card:hover{border-color:#89a86a;box-shadow:0 5px 18px #183d320d}.material-card:has(input:checked){border:2px solid #476b38;background:#f5f8ef}.material-card input{position:absolute;top:13px;right:13px;width:19px;height:19px;accent-color:var(--ink);z-index:1}.material-photo{display:block;height:150px;overflow:hidden}.material-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.material-card:hover img{transform:scale(1.035)}.material-info{display:block;padding:15px 17px 18px}.material-info b{color:var(--ink);font-size:14px;display:block;font-family:Manrope,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;font-weight:700}.material-info small{display:block;color:var(--muted);font-size:10px;line-height:1.6;margin-top:7px;font-weight:400}.material-info .tag{font-size:7px;letter-spacing:1.4px;display:block;margin-bottom:6px;color:#698557}.material-selected{position:absolute;left:10px;top:11px;border-radius:4px;padding:5px 8px;background:white;color:var(--green);font-size:8px;font-weight:700;opacity:0}.material-card:has(input:checked) .material-selected{opacity:1}.selection-note{display:flex;gap:15px;background:#f0f5e7;border-radius:10px;padding:18px;margin-top:20px}.selection-note>span{font-size:28px}.selection-note p{margin:0;font-size:12px}.selection-note b{display:block}.selection-note p>span{font-size:11px;display:block;color:var(--muted);margin-top:4px}.extras{display:flex;flex-direction:column;gap:15px}.extra-card{display:grid;grid-template-columns:160px 1fr;position:relative;border:1px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;min-height:160px}.extra-card:has(input:checked){border:2px solid #6f9155;background:#f6f9f0}.extra-card>img{width:100%;height:100%;object-fit:cover;min-height:160px}.extra-copy{padding:20px 45px 20px 20px;display:flex;flex-direction:column;justify-content:center}.extra-copy .tag{font-size:8px;letter-spacing:1.3px;color:#6d8657;margin-bottom:7px}.extra-copy b{font-size:18px;color:var(--ink);font-family:Manrope,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;letter-spacing:-.5px;font-weight:700}.extra-copy>span:not(.tag){font-size:11px;line-height:1.6;color:var(--muted);margin-top:8px}.selection-status{color:var(--green);font-size:10px;display:block;margin-top:10px}.extra-card input{position:absolute;opacity:0;top:20px;right:17px}.extra-card:focus-within{outline:3px solid #789a61;outline-offset:3px}.check-indicator{position:absolute;right:17px;top:20px;width:21px;height:21px;border-radius:50%;border:1px solid #b8c9ad;color:transparent;display:grid;place-items:center;font-size:12px}.extra-card:has(input:checked) .check-indicator{color:#fff;background:var(--green);border-color:var(--green)}.reveal-note{display:flex;gap:16px;align-items:center;padding:22px;background:#f2f5e9;margin-top:23px;border-radius:12px}.reveal-note>span{font-size:32px}.reveal-note h3{font-size:16px;margin-bottom:5px}.reveal-note p{font-size:11px;color:var(--muted);margin:0}.result-image{width:100%;height:240px;object-fit:cover;border-radius:12px}.result-top{background:#f1f6e9;padding:27px;border-radius:12px;margin-top:18px}.result-top .eyebrow{font-size:9px;margin-bottom:10px}.quote-range{font-size:38px;font-family:Manrope,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;font-weight:700;letter-spacing:-1.8px;line-height:1.3}.result-top>p:not(.eyebrow){font-size:11px;color:var(--muted);margin:10px 0 0}.quote-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:22px 0;border-bottom:1px solid var(--line)}.quote-facts span{font-size:9px;color:var(--muted);display:block;margin-bottom:8px}.quote-facts b{font-size:12px}.breakdown{margin:12px 0 0}.breakdown summary{font-size:12px;cursor:pointer;font-weight:600;padding:15px 0;list-style:none;display:flex;justify-content:space-between}.quote-line,.total-row{display:flex;justify-content:space-between;gap:25px;font-size:11px;padding:10px 0;line-height:1.5}.quote-line span:first-child{color:var(--muted)}.total-row{border-top:1px solid var(--line);font-size:13px;padding-top:15px}.result-cta{margin-top:25px}.result-cta p{font-size:12px;color:var(--muted)}.quote-actions{display:flex;gap:10px;flex-wrap:wrap}.disclaimer{font-size:10px;line-height:1.7;color:var(--muted);background:#f7f8f4;padding:15px;margin:23px 0}.company{font-size:12px}.company span{display:block;font-size:10px;color:var(--muted);margin-top:5px}
.confidence{max-width:1280px;margin:80px auto 70px;padding:0 30px;text-align:center}.confidence h2{font-size:38px;font-weight:600;line-height:1.2}.confidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:35px}.confidence-grid article>span{display:inline-grid;place-items:center;background:#e7eddd;width:43px;height:43px;border-radius:12px;font-size:25px;margin-bottom:16px}.confidence-grid h3{font-size:18px}.confidence-grid p{font-size:12px;color:var(--muted);max-width:290px;margin:auto}.faq{max-width:1200px;margin:0 auto 80px;padding:40px 25px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.faq h2{font-size:33px;font-weight:600}.faq .eyebrow{font-size:8px}.faq details{border-bottom:1px solid var(--line)}.faq summary{font-size:13px;font-weight:600;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:18px 0;cursor:pointer}.faq details p{font-size:12px;color:var(--muted);line-height:1.7;max-width:530px}.page-footer{max-width:1348px;padding:25px 25px 35px;margin:auto;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px}.page-footer .brand{font-size:22px}.page-footer p{font-size:11px;margin:0;color:var(--muted)}.page-footer small{display:block;font-size:9px}.page-footer .text-button{font-size:10px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:18px;max-width:700px;width:calc(100% - 35px);padding:30px;max-height:90vh;overflow:auto;color:var(--ink);box-shadow:0 30px 90px #0002}dialog::backdrop{background:#132a246e;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:20px}.dialog-head h2{font-size:26px}.icon-button{border:1px solid var(--line);border-radius:50%;background:#f6f7f0;width:35px;height:35px;font-size:24px;color:var(--ink);flex-shrink:0}.dialog-head .eyebrow{font-size:9px;margin-bottom:5px}dialog h3{margin-top:25px;font-size:17px}dialog .field-grid label{font-size:11px}dialog .check-label{display:flex;gap:8px;align-items:center;margin:25px 0;font-size:12px}input[type=checkbox],input[type=radio]{accent-color:var(--ink)}#map-config{border-top:1px solid var(--line);padding-top:20px}#map-config summary{cursor:pointer;font-size:12px;font-weight:600;margin-bottom:15px}#key-status{float:right;font-size:10px;font-weight:400;color:var(--muted)}.dialog-actions{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:24px}#settings-status{font-size:11px;color:#a33b28}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border:1px solid #ffffff30;border-radius:10px;padding:16px 24px;box-shadow:0 6px 30px #0003;font-size:12px;max-width:calc(100% - 35px);z-index:200;min-width:250px}.skip{position:absolute;top:-100px;left:15px;background:white;padding:12px;z-index:300}.skip:focus{top:10px}#tutorial{max-width:540px;padding:30px}#close-tutorial{float:right}#tutorial h2{font-size:26px;max-width:360px}#tutorial>.eyebrow{font-size:9px;margin-top:10px}.tutorial-demo svg{width:100%;display:block}.tutorial-demo>span{display:block;font-size:8px;letter-spacing:1px;text-align:center;margin-top:8px;color:var(--muted)}.demo-cursor{animation:point 3s ease-in-out infinite}.demo-outline{stroke-dasharray:760;animation:trace 3s ease-in-out infinite}@keyframes point{50%{transform:translate(-8px,-6px)}}@keyframes trace{0%{stroke-dashoffset:760}70%,100%{stroke-dashoffset:0}}.tutorial-steps{padding-left:23px;margin:22px 0}.tutorial-steps li{padding-left:7px;margin:15px 0;font-size:13px}.tutorial-steps li::marker{font-weight:700;color:#689250}.tutorial-steps span{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin-top:3px}#tutorial-done{width:100%}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visualizer{margin:32px 0;border-top:1px solid var(--line);padding-top:26px}.visualizer-heading{display:flex;justify-content:space-between;align-items:start;gap:15px}.visualizer-heading .eyebrow{font-size:8px;margin-bottom:8px}.visualizer-heading h3{font-size:22px;margin-bottom:8px}.visualizer-heading p:not(.eyebrow){font-size:11px;color:var(--muted)}.visualizer-heading>.pill{font-size:8px}.photo-upload{border:1px dashed #a8bd94;background:#f5f8ef;border-radius:13px;padding:30px 20px;text-align:center}.upload-icon{font-size:34px;color:#719459}.photo-upload h3{font-size:19px;margin:8px 0}.photo-upload p{font-size:12px;color:var(--muted)}.photo-upload small{display:block;font-size:9px;color:var(--muted);margin-top:13px}.upload-label{cursor:pointer}.photo-tools{display:flex;align-items:center;gap:9px;margin-bottom:14px}.photo-tools>div{flex:1}.photo-tools b{font-size:12px}.photo-tools p{font-size:10px;color:var(--muted);margin:4px 0 0;line-height:1.5}.photo-editor{position:relative;line-height:0;background:#edf0e5;border-radius:10px;overflow:hidden}#photo-canvas{width:100%;height:auto;display:block;cursor:crosshair;touch-action:manipulation}.photo-corner-hint{position:absolute;top:12px;left:12px;pointer-events:none;line-height:1.3;background:#173e32e6;color:white;border-radius:6px;padding:9px 12px;font-size:10px}.photo-edit-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0}.photo-edit-actions .button{font-size:10px;padding:11px 14px}.comparison-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:27px 0 14px}.comparison-heading h3{font-size:17px;margin:0}.compare-modes{display:flex;background:#f0f3e7;padding:4px;border-radius:7px}.compare-modes button{font-size:9px;border:0;background:transparent;padding:9px 10px;color:var(--muted);border-radius:4px}.compare-modes .selected{background:var(--ink);color:#fff}.comparison-slider{position:relative;overflow:hidden;border-radius:11px;--split:50%;line-height:0;isolation:isolate}.comparison-slider>img{width:100%}#before-clip{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--split)) 0 0)}#before-clip img{width:100%;height:100%}.before-label,.after-label{position:absolute;top:13px;left:13px;padding:9px 10px;background:#ffffffeb;border-radius:4px;font-size:8px;font-weight:700;letter-spacing:1px;line-height:1.3;pointer-events:none}.after-label{left:auto;right:13px;background:#173e32e6;color:#fff}#comparison-divider{position:absolute;top:0;bottom:0;left:var(--split);width:3px;background:#fff;transform:translateX(-50%);box-shadow:0 0 4px #0005;pointer-events:none}#comparison-divider span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;color:var(--ink);width:37px;height:37px;border-radius:50%;display:grid;place-items:center;font-size:20px;box-shadow:0 2px 10px #0003}#comparison-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}#comparison-slider:focus-within{outline:3px solid #6b964b;outline-offset:4px}.comparison-side{display:grid;grid-template-columns:1fr 1fr;gap:10px}.comparison-side figure{margin:0;background:#f1f5e9;border-radius:9px;overflow:hidden}.comparison-side figure img{width:100%}.comparison-side figcaption{font-size:10px;font-weight:600;padding:10px}.preview-tuning{display:flex;align-items:center;gap:16px;margin-top:15px}.preview-tuning label{flex:1;font-size:9px}.preview-tuning input{display:block;width:100%;accent-color:var(--ink);margin-top:10px}.preview-tuning .button{font-size:9px}.preview-disclaimer{font-size:9px;color:var(--muted);margin-top:16px;line-height:1.7}
@media(max-width:1100px){.brand small,.brand-divider{display:none}.workspace{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.panel{padding:22px}.plan-body{padding:19px}.sectionhead{flex-wrap:wrap}.sectionhead>.pill{font-size:8px}.measurement-summary{gap:13px;padding:15px}.measurement-summary>.pill{display:none}.extra-card{grid-template-columns:130px 1fr}.extra-copy{padding:15px 38px 15px 15px}.material-photo{height:132px}.stepper button{padding-left:46px}.stepper button>span{left:10px}.stepper b{font-size:11px}.stepper small{font-size:9px}.quote-range{font-size:30px}}
@media(max-width:800px){.brand{font-size:22px}.estimator{padding:0 5%}.estimator-intro{display:block}.estimator-intro h2{font-size:29px}.estimator-intro>p{margin-top:13px}.workspace{display:block}.plan-card{display:none}.stepper{gap:3px;padding:5px;margin-bottom:18px}.stepper button{padding:11px 5px;text-align:center;min-height:78px}.stepper button>span{position:static;width:25px;height:25px;margin:0 auto 6px;font-size:10px}.stepper b{font-size:10px}.stepper small{display:none}.panel{padding:23px}.sectionhead h2{font-size:25px}.sectionhead .eyebrow{font-size:9px}.material-photo{height:175px}.confidence{margin:55px auto;padding:0 6%}.confidence h2{font-size:33px}.confidence-grid{gap:18px}.confidence-grid h3{font-size:15px}.confidence-grid p{font-size:11px}.faq{grid-template-columns:1fr;gap:14px;margin:0 5% 40px;padding:30px 0 0}.faq h2{font-size:29px}.page-footer{margin:0 5%;padding:22px 0;flex-wrap:wrap;gap:15px}.page-footer p{font-size:10px}.page-footer .brand{font-size:20px}.map-guide .text-button{font-size:9px}.extra-card{grid-template-columns:155px 1fr}.measurement-summary>.pill{display:inline-flex}.preview-tuning{flex-wrap:wrap}.preview-tuning .button{width:100%}}
@media(max-width:480px){.brand{font-size:19px;gap:7px}.estimator-intro h2{font-size:27px;max-width:280px}.estimator-intro .eyebrow{font-size:8px}.estimator-intro>p{font-size:11px}.stepper b{font-size:8px}.panel{padding:18px;border-radius:13px}.sectionhead h2{font-size:22px}.sectionhead p:not(.eyebrow){font-size:11px}.searchbox{flex-wrap:wrap;padding:6px}.searchbox>span{padding-left:5px}.searchbox input{font-size:11px!important;padding:7px 2px!important}.searchbox .button{width:100%;min-height:40px;font-size:11px}.mode-tabs{gap:3px;margin-top:19px}.mode-tabs button{font-size:10px;padding:10px 8px;flex:1}.map-guide{gap:9px;padding:11px;align-items:start;flex-wrap:wrap}.map-guide>div:nth-child(2){flex:1}.map-guide b{font-size:11px}.map-guide p{font-size:10px}.map-guide .text-button{width:100%;text-align:left;margin-left:39px;padding:0;min-height:24px}.map-shell{height:330px}.drawing-toolbar .button{font-size:10px;padding:11px}.drawing-toolbar #clear{padding:9px 6px}.map-instruction{font-size:10px;max-width:90%;white-space:normal;text-align:center}.measurement-summary{flex-wrap:wrap;gap:17px;padding:15px}.measurement-summary b{font-size:22px}.measurement-summary>div>span{font-size:7px}.measurement-summary>.pill{margin-left:0;font-size:8px}.roof-details{grid-template-columns:1fr;gap:0}.roof-details p{font-size:10px;margin-top:8px}.complexity-grid{gap:6px}.complexity-grid label{padding:8px}.complexity-grid svg{width:64px;height:42px;margin-top:12px}.complexity-grid b{font-size:10px}.complexity-grid small{font-size:8px}.complexity-grid input{top:5px;right:5px}.step-actions{gap:14px}.step-actions>.button.primary{width:100%}.step-actions>span{font-size:10px}.material-grid{gap:10px}.material-photo{height:125px}.material-info{padding:12px}.material-info b{font-size:12px}.material-info small{font-size:9px}.material-info .tag{font-size:6px;letter-spacing:1px}.material-card input{width:16px;height:16px;right:7px;top:8px}.material-selected{left:7px;top:10px;font-size:6px;padding:4px}.selection-note{padding:14px;gap:10px}.selection-note p>span{font-size:10px}.extra-card{grid-template-columns:1fr}.extra-card>img{height:155px;min-height:0}.extra-copy{padding:17px 20px}.extra-copy b{font-size:18px}.check-indicator{background:white;top:13px;right:13px}.extra-card input{top:13px;right:13px}.extra-copy>span:not(.tag){font-size:11px}.reveal-note{padding:16px;gap:12px}.reveal-note h3{font-size:15px}.result-image{height:180px}.result-top{padding:20px}.quote-range{font-size:30px}.quote-facts{gap:8px}.quote-facts span{font-size:8px}.quote-facts b{font-size:10px}.quote-actions .button{width:100%}.confidence-grid{grid-template-columns:1fr;gap:26px}.confidence h2{font-size:30px}.confidence-grid p{max-width:275px}.confidence-grid h3{font-size:17px;margin-bottom:7px}.confidence-grid article>span{margin-bottom:10px}.faq summary{font-size:12px;gap:20px}.page-footer p{order:3;width:100%}.field-grid{gap:11px}.manual-card{padding:16px}.field-grid label span{float:none;display:block}.manual-card>label>span{float:none;display:block;margin-top:5px}.manual-heading h3{font-size:15px}.manual-heading p{font-size:10px}.visualizer-heading{display:block}.visualizer-heading>.pill{margin-bottom:14px}.visualizer-heading h3{font-size:20px}.photo-upload{padding:22px 13px}.photo-upload h3{font-size:17px}.photo-upload p{font-size:11px}.photo-upload .button{font-size:11px}.photo-upload small{font-size:8px}.photo-tools{flex-wrap:wrap}.photo-tools>div{flex-basis:100%}.photo-tools .button{min-height:35px;font-size:10px}.photo-corner-hint{font-size:8px;top:8px;left:8px;padding:7px 9px}.photo-edit-actions{gap:7px}.photo-edit-actions .button{font-size:9px;flex:1;min-height:42px}.comparison-heading{flex-wrap:wrap}.comparison-heading h3{font-size:16px}.before-label,.after-label{font-size:6px;padding:6px;left:7px;top:7px;letter-spacing:.5px}.after-label{left:auto;right:7px}.comparison-side{gap:7px}.comparison-side figcaption{font-size:8px;padding:8px}.preview-tuning label{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media print{body{background:white}.topbar,.hero,.benefit-strip,.estimator-intro,.stepper,.plan-card,.confidence,.faq,.page-footer,.step-actions,.quote-actions,.result-cta,dialog,#toast,.skip{display:none!important}.workspace{display:block}.estimator{max-width:none;padding:0}.panel{border:0;padding:0}.step-panel{display:none!important}#step-4{display:block!important}.result-image{height:180px}.breakdown{display:block}.quote-lines{display:block}.result-top{background:#f4f7ee;print-color-adjust:exact}.quote-range{font-size:32px}.result-panel .sectionhead h2{font-size:24px}.disclaimer{font-size:10px}.company{margin-bottom:20px}}
.material-selected{display:none}.material-card:has(input:checked) .material-selected{display:block}.preview-material-label{display:block;max-width:320px;margin:0 0 16px;font-size:11px}.result-image.has-photo{height:auto;max-height:420px;object-fit:contain;background:#f3f5ed}.photo-upload>.text-button{display:block;margin:8px auto 0}
.roof-handle-layer{position:absolute;left:0;top:0;pointer-events:none}.roof-corner{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;border:2px solid #234f38;border-radius:50%;background:#fff;color:#173e32;font:700 12px 'DM Sans',sans-serif;box-shadow:0 2px 9px #0004;padding:0;cursor:grab;pointer-events:auto;touch-action:none;display:grid;place-items:center}.roof-corner:active{cursor:grabbing;background:#d6edac}.roof-corner:focus-visible{outline:3px solid #d6edac;outline-offset:2px}
.visual-question{border:0;padding:0;margin:30px 0;min-width:0}.visual-question legend{font:600 19px Manrope,sans-serif;letter-spacing:-.6px;padding:0;margin-bottom:9px}.question-help{font-size:12px;color:var(--muted);margin:0 0 15px}.pitch-image-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.shape-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.roof-picture-card{position:relative;border:2px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;display:block;background:#fff;transition:border-color .2s,box-shadow .2s}.roof-picture-card:hover{border-color:#90a879}.roof-picture-card:has(input:checked){border-color:var(--green);box-shadow:0 0 0 3px #e9f0df;background:#f0f5e9}.roof-picture-card:has(input:focus-visible){outline:3px solid #709a46;outline-offset:3px}.roof-picture-card input{position:absolute;right:10px;top:10px;width:18px;height:18px;accent-color:var(--green);z-index:1;margin:0}.roof-picture-card img{width:100%;aspect-ratio:1.2;object-fit:cover}.shape-image-grid img{aspect-ratio:1.4}.roof-picture-copy{display:block;padding:12px 10px;min-height:74px}.roof-picture-copy b{display:block;font-size:12px}.roof-picture-copy small{display:block;font-size:10px;color:var(--muted);margin-top:5px;line-height:1.5}.pitch-helper{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:8px 0}.pitch-helper>span{font-size:10px;color:var(--muted)}.exact-pitch{font-size:11px;max-width:350px;margin-bottom:12px}.exact-pitch summary{cursor:pointer;padding:8px 0}.exact-pitch label{display:block;margin:8px 0}.visual-question>.hint{font-size:10px;margin:10px 0 0}.satellite-preview-empty{background:#eef3e7;border:1px dashed #b7c9a7;border-radius:12px;text-align:center;padding:35px 24px}.satellite-preview-empty p{max-width:470px;font-size:12px;color:var(--muted);margin:0 auto 20px}.satellite-preview-empty>span{font-size:32px;display:block;margin-bottom:12px}.roof-comparison{--split:50%;height:340px;position:relative;overflow:hidden;border-radius:12px;background:#dce4d5;isolation:isolate}.roof-comparison.side-view{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.satellite-pane{margin:0;position:relative;min-width:0;height:100%;overflow:hidden}.comparison-map{height:100%;width:100%}.satellite-label{position:absolute;left:12px;top:12px;z-index:2;background:#173d32ed;color:#fff;font-size:9px;font-weight:700;letter-spacing:.6px;padding:10px 12px;border-radius:6px;max-width:calc(100% - 24px);pointer-events:none}.future-label{background:#e5f1cbed;color:#163b2b}.satellite-material-overlay{position:absolute;pointer-events:none;overflow:visible}.roof-comparison.slider-view .satellite-pane{position:absolute;inset:0}.slider-view #new-pane{z-index:1}.slider-view #now-pane{z-index:2;clip-path:inset(0 calc(100% - var(--split)) 0 0)}.slider-view .future-label{left:auto;right:12px}.satellite-divider{position:absolute;left:var(--split);top:0;bottom:26px;width:2px;background:white;z-index:3;pointer-events:none}.satellite-divider>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;background:white;color:var(--ink);border-radius:50%;height:40px;width:40px;box-shadow:0 3px 15px #0003;font-size:22px}#comparison-range{position:absolute;z-index:4;inset:0 0 26px;width:100%;height:calc(100% - 26px);opacity:0;cursor:ew-resize;margin:0}#comparison-range:focus-visible{opacity:.22;outline:3px solid var(--green)}.satellite-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;font-size:10px;color:var(--muted)}.satellite-preview-footer p{margin:0}.satellite-preview-footer .text-button{white-space:nowrap;font-size:10px}#preview-address{font-size:12px;line-height:1.5;max-width:370px;overflow-wrap:anywhere}.preview-tuning label{min-width:0}.preview-tuning input{width:100%}
@media(max-width:680px){.pitch-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roof-picture-card img{aspect-ratio:1.4}.shape-image-grid{gap:7px}.shape-image-grid img{aspect-ratio:1}.shape-image-grid .roof-picture-copy{padding:10px 7px}.shape-image-grid .roof-picture-copy b{font-size:10px}.shape-image-grid .roof-picture-copy small{font-size:9px}.roof-comparison{height:290px}.roof-comparison.side-view{gap:4px}.satellite-label{left:5px;top:7px;font-size:7px;letter-spacing:0;padding:7px;max-width:calc(100% - 10px)}.slider-view .future-label{right:5px}.satellite-preview-footer{align-items:start}.satellite-preview-footer .text-button{white-space:normal;min-width:85px}.pitch-helper{gap:0}.visual-question legend{font-size:18px}.satellite-preview-empty{padding:26px 17px}.roof-picture-copy{min-height:70px}.comparison-heading{flex-wrap:wrap}}
.climate-teaser{display:block;border-top:1px solid var(--line);margin-top:15px;padding-top:12px;font-size:11px;line-height:1.65;color:#526657}.climate-teaser>span{display:block;color:#657b50;font-size:8px;letter-spacing:1px;font-weight:700;margin-bottom:4px}.climate-panel{margin-top:25px;background:#f0f4e8;border:1px solid #dbe5d0;border-radius:14px;padding:24px}.climate-panel-heading{display:flex;align-items:center;gap:14px}.climate-panel-heading>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#ddeaaf;font-size:25px;flex-shrink:0}.climate-panel-heading .eyebrow{font-size:8px;margin-bottom:5px}.climate-panel h3{font-size:22px;margin:0}.climate-facts{display:grid;grid-template-columns:1fr 1.25fr;gap:28px;margin-top:22px}.climate-facts b{font-size:12px}.climate-facts p{font-size:12px;line-height:1.75;color:#556956;margin:7px 0 0}.climate-question{background:white;border-radius:9px;padding:14px 16px;margin:20px 0 12px;font-size:12px;font-weight:600;color:var(--green);line-height:1.7}.fact-sources{font-size:10px;color:var(--muted)}.fact-sources summary{cursor:pointer;min-height:36px;padding:9px 0}.fact-sources a{display:block;text-decoration:underline;text-underline-offset:3px;padding:8px 0;line-height:1.5;overflow-wrap:anywhere}.climate-footnote{font-size:9px;line-height:1.6;color:var(--muted);margin:10px 0 0}.climate-source{font-size:10px;text-decoration:underline;text-underline-offset:4px;line-height:1.6}.extra-copy .extra-fact{display:block;font-size:11px!important;line-height:1.6;border-top:1px solid var(--line);padding-top:13px;margin-top:15px;color:var(--muted)}.extra-copy .extra-fact b{font-family:inherit;letter-spacing:1px;font-size:8px;margin:0 0 6px;display:block;color:#617b50}.extras-sources{margin:18px 0 0}.material-photo{height:auto;aspect-ratio:1.65}.material-photo img{object-position:center 40%}@media(max-width:680px){.climate-panel{padding:18px}.climate-panel h3{font-size:19px}.climate-facts{grid-template-columns:1fr;gap:17px}.climate-facts p{font-size:11px}.climate-question{font-size:11px}.material-photo{aspect-ratio:1.25}.climate-teaser{font-size:10px;margin-top:12px;padding-top:10px}.climate-teaser>span{font-size:7px}}@media(max-width:480px){.material-info{padding:12px}.climate-panel-heading{gap:10px}.climate-panel-heading .eyebrow{font-size:7px;letter-spacing:1px}}
