.estimator-root{background:var(--paper);min-height:100dvh;color:var(--ink);flex-direction:column;display:flex}.estimator-root .est-header{background:var(--bg-dark);color:#fff;border-bottom:1px solid #ffffff14;padding:16px 0}.estimator-root .est-header .container{justify-content:space-between;align-items:center;gap:16px;display:flex}.estimator-root .est-back{color:#ffffffb3;font-size:13px;font-family:var(--mono);text-decoration:none}.estimator-root .est-back:hover{color:#fff}.estimator-root .est-brand{font-family:var(--serif);color:#fff;letter-spacing:-.01em;font-size:16px;font-weight:600}.estimator-root .est-call{background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:600;font-family:var(--mono);border-radius:999px;align-items:center;gap:6px;padding:8px 14px;text-decoration:none;display:inline-flex}.estimator-root .est-stage{flex:1;padding:32px 0 64px}@media (max-width:720px){.estimator-root .est-stage{padding:18px 0 48px}}.estimator-root .est-stepbar{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:8px;margin-bottom:18px;font-size:11px;display:flex}.estimator-root .est-stepbar .dot{background:var(--line);border-radius:50%;width:8px;height:8px}.estimator-root .est-stepbar .dot.active{background:var(--accent)}.estimator-root .est-stepbar .dot.done{background:var(--ink)}.estimator-root .est-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 1px 0 var(--line-2), 0 24px 60px -40px #0000002e;max-width:720px;margin:0 auto;padding:28px}@media (max-width:720px){.estimator-root .est-card{border-radius:var(--radius);padding:20px}}.estimator-root .est-h1{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);margin:0 0 8px;font-size:32px;line-height:1.05}@media (max-width:720px){.estimator-root .est-h1{font-size:26px}}.estimator-root .est-sub{color:var(--ink-2);margin:0 0 20px;font-size:14.5px;line-height:1.5}.estimator-root .est-address-pill{border:1px solid var(--line);border-radius:var(--radius);background:var(--accent-wash);flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 18px;padding:10px 14px;display:flex}.estimator-root .est-address-pill-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-size:11px}.estimator-root .est-address-pill-value{color:var(--ink);word-break:break-word;flex:auto;min-width:0;font-size:14px;font-weight:500}.estimator-root .est-field-grid{grid-template-columns:1fr;gap:14px;display:grid}@media (min-width:600px){.estimator-root .est-field-grid.cols-2{grid-template-columns:1fr 1fr}}.estimator-root .est-radio-grid{grid-template-columns:1fr;gap:10px;margin-top:8px;display:grid}@media (min-width:600px){.estimator-root .est-radio-grid{grid-template-columns:1fr 1fr}}.estimator-root .est-radio-grid.cols-3{grid-template-columns:1fr}@media (min-width:600px){.estimator-root .est-radio-grid.cols-3{grid-template-columns:1fr 1fr 1fr}}.estimator-root .est-radio{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:var(--paper);align-items:flex-start;gap:10px;padding:14px;transition:border-color .15s,background .15s;display:flex}.estimator-root .est-radio:hover{border-color:var(--ink-3)}.estimator-root .est-radio input{accent-color:var(--accent);margin-top:3px}.estimator-root .est-radio .est-radio-name{color:var(--ink);margin:0;font-size:14.5px;font-weight:600}.estimator-root .est-radio .est-radio-detail{color:var(--ink-3);margin:2px 0 0;font-size:12.5px}.estimator-root .est-radio.selected{border-color:var(--accent);background:var(--accent-soft)}.estimator-root .est-row{justify-content:space-between;align-items:center;gap:12px;margin-top:22px;display:flex}.estimator-root .est-row.right{justify-content:flex-end}.estimator-root .est-section-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:18px 0 6px;font-size:10.5px}.estimator-root .est-map{border-radius:var(--radius);border:1px solid var(--line);background:#0a0a0a;width:100%;height:460px;overflow:hidden}@media (max-width:720px){.estimator-root .est-map{height:340px}}.estimator-root .est-map-badge{background:var(--ink);color:var(--paper);font-family:var(--mono);border-radius:999px;align-items:center;gap:8px;margin-top:12px;padding:8px 14px;font-size:12px;display:inline-flex}.estimator-root .est-map-badge .dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.estimator-root .est-link-btn{color:var(--accent-ink);cursor:pointer;font-size:13px;font-family:var(--sans);background:0 0;border:none;padding:0;text-decoration:underline}.estimator-root .est-slider{appearance:none;background:var(--paper-3);border-radius:999px;outline:none;width:100%;height:6px}.estimator-root .est-slider::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;border:3px solid var(--paper);border-radius:50%;width:24px;height:24px;box-shadow:0 1px 6px #00000040}.estimator-root .est-slider::-moz-range-thumb{background:var(--accent);cursor:pointer;border:3px solid var(--paper);border-radius:50%;width:24px;height:24px}.estimator-root .est-comparison{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px;display:grid}@media (max-width:600px){.estimator-root .est-comparison{grid-template-columns:repeat(2,1fr)}}.estimator-root .est-comparison .item{border:1px solid var(--line);border-radius:var(--radius-sm);text-align:center;color:var(--ink-2);padding:10px;font-size:12px}.estimator-root .est-comparison .item .sqft{font-family:var(--mono);color:var(--ink);font-size:14px;font-weight:600;display:block}.estimator-root .est-range{grid-template-columns:1fr;gap:14px;margin:18px 0;display:grid}@media (min-width:600px){.estimator-root .est-range{grid-template-columns:1fr 1fr 1fr;align-items:end}}.estimator-root .est-range .tier{border:1px solid var(--line);border-radius:var(--radius);text-align:center;background:var(--paper);padding:18px}.estimator-root .est-range .tier.mid{background:var(--accent-soft);border-color:var(--accent);transform:scale(1)}@media (min-width:600px){.estimator-root .est-range .tier.mid{transform:scale(1.04)}}.estimator-root .est-range .tier .label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 4px;font-size:11px}.estimator-root .est-range .tier .amount{font-family:var(--serif);color:var(--ink);letter-spacing:-.02em;font-size:30px;font-weight:600;line-height:1}.estimator-root .est-range .tier.mid .amount{color:var(--accent-ink);font-size:36px}.estimator-root .est-disclaimer{color:var(--ink-3);text-align:center;margin:12px 0 24px;font-size:11.5px;line-height:1.5}.estimator-root .est-result-shot{border-radius:var(--radius);border:1px solid var(--line);background:var(--paper-2);width:100%;margin-top:16px}.estimator-root .est-result-shot.placeholder{text-align:center;color:var(--ink-3);font-size:13px;font-family:var(--mono);padding:24px}.estimator-root .est-street-view{margin:18px 0 22px}.estimator-root .est-street-view img{border-radius:var(--radius-lg,var(--radius));border:1px solid var(--line);background:var(--paper-2);width:100%;display:block}.estimator-root .est-street-caption{text-align:center;color:var(--ink-3);margin-top:6px;font-size:12px}.estimator-root .est-cta-row{grid-template-columns:1fr;gap:10px;margin-top:18px;display:grid}@media (min-width:600px){.estimator-root .est-cta-row{grid-template-columns:1fr 1fr}}.estimator-root .est-cta-row a{border:1px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 18px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.estimator-root .est-cta-row a.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.estimator-root .est-error{color:#991b1b;border-radius:var(--radius);background:#fee2e2;border:1px solid #fca5a5;margin-top:12px;padding:10px 14px;font-size:13px}.estimator-root .est-spinner{border:3px solid var(--paper-3);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;margin:0 auto;animation:.7s linear infinite est-spin}@keyframes est-spin{to{transform:rotate(360deg)}}.estimator-root .est-loading{text-align:center;color:var(--ink-2);padding:48px 16px;font-size:13.5px}.estimator-root .est-instr{background:var(--paper-2);border-left:3px solid var(--accent);border-radius:var(--radius-sm);color:var(--ink-2);margin-top:10px;padding:10px 14px;font-size:13px;line-height:1.5}.estimator-root .est-instr strong{color:var(--ink)}.estimator-root .roof-report{width:100%}.estimator-root .rr-doc{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);position:relative;overflow:hidden}.estimator-root .rr-accent-bar{background:var(--accent);height:6px}.estimator-root .rr-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px 16px;display:flex}.estimator-root .rr-brand{align-items:center;gap:10px;min-width:0;display:flex}.estimator-root .rr-brand-logo{object-fit:contain;width:auto;height:34px}.estimator-root .rr-brand-name{font-family:var(--serif);color:var(--ink);letter-spacing:-.01em;font-size:19px;font-weight:600}.estimator-root .rr-doc-meta{text-align:right;flex:none}.estimator-root .rr-doc-title{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);margin:0;font-size:11px}.estimator-root .rr-doc-date{color:var(--ink-3);margin:3px 0 0;font-size:12px}.estimator-root .rr-prepared{background:var(--accent-wash);border-bottom:1px solid var(--line);grid-template-columns:1fr;gap:10px;padding:16px 24px;display:grid}@media (min-width:600px){.estimator-root .rr-prepared{grid-template-columns:auto 1fr;gap:6px 28px}}.estimator-root .rr-prepared-item{flex-direction:column;gap:2px;min-width:0;display:flex}.estimator-root .rr-k{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:10px}.estimator-root .rr-v{color:var(--ink);word-break:break-word;font-size:14.5px;font-weight:500}.estimator-root .rr-hero-photo{object-fit:cover;border-bottom:1px solid var(--line);width:100%;max-height:280px;display:block}.estimator-root .rr-intent-note{color:var(--ink-2);background:var(--paper-2);border-bottom:1px solid var(--line);margin:0;padding:12px 24px;font-size:13px}.estimator-root .rr-section{border-bottom:1px solid var(--line);padding:20px 24px}.estimator-root .rr-section:last-of-type{border-bottom:none}.estimator-root .rr-section-title{font-family:var(--serif);color:var(--ink);letter-spacing:-.01em;margin:0 0 4px;font-size:18px;font-weight:600}.estimator-root .rr-section-sub{color:var(--ink-3);margin:0 0 14px;font-size:13px;line-height:1.5}.estimator-root .rr-measure{grid-template-columns:1fr 1fr;gap:12px;margin:12px 0;display:grid}.estimator-root .rr-measure-fact{border:1px solid var(--line);border-radius:var(--radius);text-align:center;background:var(--paper);padding:14px}.estimator-root .rr-measure-num{font-family:var(--serif);color:var(--ink);font-size:26px;font-weight:600;line-height:1;display:block}.estimator-root .rr-measure-unit{color:var(--ink-3);margin-top:5px;font-size:11.5px;display:block}.estimator-root .rr-roof-shot{border-radius:var(--radius);border:1px solid var(--line);background:var(--paper-2);width:100%;margin-top:12px}.estimator-root .rr-mat-toggle{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.estimator-root .rr-mat-chip{border:1px solid var(--line);background:var(--paper);color:var(--ink-2);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:500;transition:border-color .15s,background .15s,color .15s}.estimator-root .rr-mat-chip:hover{border-color:var(--ink-3)}.estimator-root .rr-mat-chip.active{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.estimator-root .rr-mat-print{color:var(--ink-2);margin:0 0 10px;font-size:13px;display:none}.estimator-root .rr-range{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft);text-align:center;margin:6px 0 4px;padding:18px 16px}.estimator-root .rr-range-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 6px;font-size:11px}.estimator-root .rr-range-value{font-family:var(--serif);letter-spacing:-.02em;color:var(--accent-ink);margin:0;font-size:34px;font-weight:600;line-height:1.05}@media (max-width:600px){.estimator-root .rr-range-value{font-size:26px}}.estimator-root .rr-range-dash{color:var(--ink-3);padding:0 2px;font-weight:400}.estimator-root .rr-fineprint{color:var(--ink-3);margin:12px 0 0;font-size:11.5px;line-height:1.5}.estimator-root .rr-menu{margin:6px 0 0;padding:0;list-style:none}.estimator-root .rr-menu-item{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.estimator-root .rr-menu-item:last-child{border-bottom:none}.estimator-root .rr-menu-name{color:var(--ink);margin:0;font-size:14.5px;font-weight:600}.estimator-root .rr-menu-detail{color:var(--ink-3);margin:2px 0 0;font-size:12.5px;line-height:1.4}.estimator-root .rr-menu-price{font-family:var(--mono);color:var(--accent-ink);white-space:nowrap;flex:none;font-size:13.5px;font-weight:600}.estimator-root .rr-menu-price.free{color:var(--ink)}.estimator-root .rr-disclaimer{color:var(--ink-3);border-top:1px solid var(--line);background:var(--paper-2);margin:0;padding:16px 24px;font-size:11px;line-height:1.5}.estimator-root .rr-actions{margin-top:18px}.estimator-root .rr-download-btn{border:1px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:8px;margin-bottom:14px;padding:11px 18px;font-size:13.5px;font-weight:600;display:inline-flex}.estimator-root .rr-download-btn:hover{background:var(--paper-2)}.estimator-root .rr-footer{text-align:center;color:var(--ink-3);margin-top:18px;font-size:13px}@media print{.estimator-root .est-header,.estimator-root .est-stepbar,.estimator-root .report-print-hide{display:none!important}.estimator-root .est-stage{padding:0!important}.estimator-root .est-card{box-shadow:none!important;border:none!important;max-width:none!important;padding:0!important}.estimator-root .rr-doc{border:none;border-radius:0}.estimator-root .rr-mat-print{display:block}.estimator-root .rr-section,.estimator-root .rr-menu-item{break-inside:avoid}}
