.estimator-page{background:#f4f3f0}.estimator-page .header-row{height:88px;min-height:0;flex-wrap:nowrap}.header-phone{font-weight:700;font-size:15px;white-space:nowrap}.header-phone span{color:#fa3340;margin-left:10px}.estimate-wrap{width:min(740px,calc(100% - 40px));margin:0 auto;padding:35px 0 50px}.back-home{display:inline-block;font-size:12px;color:#555;margin-bottom:32px}.intro h1{font-size:clamp(40px,6vw,57px);line-height:1.08}.intro h1 em{color:var(--red);font-style:normal}.intro>p:last-child{max-width:620px;color:#575757;font-size:16px}.intro .eyebrow{margin-bottom:13px}.estimate-card{background:white;border:1px solid #deddd8;border-top:4px solid var(--red);padding:32px;box-shadow:0 12px 32px #00000006}.progress-head{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:700;margin-bottom:9px}.progress-head>span:last-child{color:#696969}progress{display:block;width:100%;height:5px;border:0;background:#eee;border-radius:4px;margin-bottom:34px;overflow:hidden}progress::-webkit-progress-bar{background:#eee}progress::-webkit-progress-value{background:var(--red)}progress::-moz-progress-bar{background:var(--red)}.step h2,#confirmation h2{font-family:'DM Sans',Arial,sans-serif;font-size:29px;letter-spacing:-.7px;line-height:1.2;margin-bottom:12px}.step h2:focus,#confirmation h2:focus{outline:none}.step>p{color:#555;font-size:15px}.step label:not(.choice):not(.check-option){display:block;font-size:13px;font-weight:700;margin:22px 0 8px}.step input:not([type=radio]):not([type=checkbox]){font:inherit;width:100%;min-width:0;padding:14px 15px;background:white;border:1px solid #aaa;border-radius:4px;color:#171717;min-height:52px}.step input:disabled{background:#f4f4f4;color:#777}.step input:focus-visible,button:focus-visible{outline:3px solid #171717;outline-offset:3px}.step .check-option{display:flex;gap:10px;align-items:flex-start;font-size:14px;margin:18px 0}.check-option input{width:20px;height:20px;flex-shrink:0;margin:2px 0 0;accent-color:var(--red)}.step .field-note,.field-note{font-size:12px;color:#616161;line-height:1.6}.field-note a,.notice a{text-decoration:underline;text-underline-offset:3px;font-weight:700}fieldset{border:0;margin:0;padding:0;min-width:0}.choices{display:grid;gap:10px}.choice{display:flex;align-items:center;gap:12px;border:1px solid #ccc;padding:15px 16px;min-height:54px;border-radius:4px;cursor:pointer;font-size:14px}.choice:hover{border-color:#555}.choice:has(input:checked){border-color:var(--red);background:#fff5f5;box-shadow:inset 0 0 0 1px var(--red)}.choice input{margin:0;accent-color:var(--red);width:19px;height:19px;flex-shrink:0}.step-actions{display:flex;justify-content:space-between;gap:16px;margin-top:30px}.step-actions .button{margin-left:auto;border-radius:4px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;min-height:52px}.secondary{border:1px solid #bbb;border-radius:4px;background:white;min-height:52px;padding:12px 18px;font:inherit;font-size:14px;cursor:pointer}.secondary:hover{background:#eee}.button:disabled{opacity:.5;cursor:not-allowed}.notice{padding:14px 17px;background:#fff5e6;border:1px solid #e3cfaf;font-size:13px;color:#4d3d24;line-height:1.6;border-radius:4px}.form-error{color:#a9101a;background:#fff1f2;padding:12px 15px;margin:18px 0 0;border-left:3px solid var(--red);font-size:14px}.quote-box{background:#f5f5f2;padding:24px;margin:22px 0;border-radius:5px}.quote-box .range{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:clamp(36px,7vw,48px);font-weight:700;line-height:1.15;margin:6px 0 12px;letter-spacing:-.5px}.quote-box .range-label{font-size:12px;text-transform:uppercase;letter-spacing:.8px}.quote-box p:last-child{margin:0;font-size:13px}.option-row{border-top:1px solid #ddd;padding:14px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px}.option-row strong{white-space:nowrap}.scope-list{font-size:13px;padding-left:20px}.scope-list li{margin:6px 0}.result-subheading{font-size:14px;margin:18px 0 6px;font-weight:700}.answer-summary{border-block:1px solid #ddd;margin:24px 0}.answer-summary summary{font-size:13px}.answer-summary dl{display:grid;grid-template-columns:100px 1fr;font-size:13px;gap:8px 20px;padding-bottom:12px}.answer-summary dt{color:#626262}.answer-summary dd{margin:0;overflow-wrap:anywhere}.assessment-intro{margin-top:30px}.assessment-intro h3{font-size:21px;margin-bottom:8px}.assessment-intro p{font-size:14px;color:#555}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.contact-grid .wide{grid-column:1/-1}.consent{margin-top:23px!important}.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.reassurance{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:25px;font-size:12px;color:#616161}.reassurance strong{color:#333}.estimator-page .footer-bottom{padding-bottom:22px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.success-mark{background:#ecf6ef;color:#267643;width:50px;height:50px;border-radius:100%;display:grid;place-items:center;font-size:24px;margin-bottom:18px}#confirmation{padding:15px 0}#confirmation p{font-size:15px}.admin-wrap{max-width:1100px}.admin-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.metric{background:white;border:1px solid #ddd;padding:18px}.metric strong{font-size:30px;display:block}.metric span{font-size:12px}.lead-card{background:white;border:1px solid #ddd;border-top:3px solid #171717;padding:24px;margin:18px 0}.lead-card h2{font-family:inherit;font-size:20px;letter-spacing:0;line-height:1.3;margin-bottom:8px}.lead-card p{font-size:14px;margin-bottom:10px;overflow-wrap:anywhere}.lead-card label{display:block;font-size:12px;font-weight:bold}.lead-card input,.lead-card select{font:inherit;width:100%;padding:12px;border:1px solid #aaa;margin-top:5px;min-height:48px}.lead-controls{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;margin-top:20px}.admin-notice{margin-bottom:15px}.admin-toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.empty-state{background:white;padding:35px;border:1px solid #ddd}.pending{color:#8f3c00}.admin-error{color:#a9101a}.admin-status{font-size:13px;margin-top:10px}.privacy h2{font-family:inherit;font-size:22px;letter-spacing:0;line-height:1.3;margin:30px 0 12px}.privacy p,.privacy li{font-size:15px}@media(max-width:600px){.estimator-page .brand{width:147px}.estimator-page .header-row{height:78px}.header-phone{font-size:13px}.header-phone span{display:none}.estimate-wrap{width:calc(100% - 28px);padding-top:22px}.back-home{margin-bottom:24px}.intro{padding:0 5px}.intro h1{font-size:40px}.intro>p:last-child{font-size:14px}.estimate-card{padding:24px 19px}.progress-head{font-size:11px}progress{margin-bottom:28px}.step h2{font-size:25px}.step>p{font-size:14px}.choice{font-size:14px;padding:14px 12px}.contact-grid{grid-template-columns:1fr}.step-actions{gap:10px}.step-actions .button{padding:14px 16px;font-size:13px;gap:12px}.secondary{padding:12px 14px;font-size:13px}.reassurance{grid-template-columns:1fr;gap:0;padding:0 5px}.reassurance p{margin-bottom:12px}.quote-box{padding:20px 16px}.admin-metrics{gap:7px}.metric{padding:12px}.metric strong{font-size:26px}.metric span{font-size:11px}.lead-card{padding:20px 16px}.lead-controls{grid-template-columns:1fr}.lead-controls .button{width:100%}.answer-summary dl{grid-template-columns:80px 1fr;gap:8px 12px}}@media(max-width:350px){.estimator-page .brand{width:125px}.header-phone{font-size:12px}.intro h1{font-size:35px}.estimate-card{padding:22px 15px}.step-actions{flex-wrap:wrap}.step-actions .button{flex:1}.utility .wrap{width:calc(100% - 28px)}}
/* Selectable replacement prices */
.price-size{width:100%;min-height:52px;padding:13px;font:inherit;font-size:16px;border:1px solid #aaa;border-radius:4px;background:#fff;color:#171717;margin-bottom:8px}.price-size:focus-visible{outline:3px solid #171717;outline-offset:3px}.price-choices legend{margin-bottom:12px}.price-choice-content{display:flex;flex-direction:column;gap:6px;min-width:0}.price-choice-content>strong{font-size:19px}.price-choice{align-items:flex-start}.price-choice input{margin-top:4px}
/* Compact email-quote flow */
.compact-estimate{max-width:590px;padding-top:28px}.compact-estimate .intro h1{font-size:clamp(32px,6vw,44px);margin-bottom:10px}.compact-estimate .intro>p:last-child{font-size:15px;margin-bottom:22px}.compact-estimate .estimate-card{padding:26px}.compact-estimate .step h2{font-size:25px}.choice-detail{display:block;font-size:12px;color:#626262;margin-top:3px}.compact-estimate .choices{gap:8px}.compact-estimate .choice{padding:12px 14px}.compact-estimate input{font-size:16px!important}.compact-estimate .field-note{font-size:13px}.compact-estimate .step-actions{margin-top:22px}.compact-estimate progress{margin-bottom:24px}@media(max-width:600px){.compact-estimate .estimate-card{padding:22px 18px}.compact-estimate .step h2{font-size:23px}.compact-estimate .intro h1{font-size:36px}}
/* Owner readability revision: bold, high-contrast estimator text. */
.estimator-page:has(.compact-estimate){font-weight:700}
.compact-estimate,.compact-estimate .intro>p:last-child,.compact-estimate .step>p,.compact-estimate .field-note,.compact-estimate .step .field-note,.compact-estimate .choice-detail,.compact-estimate .progress-head,.compact-estimate .progress-head>span:last-child,.compact-estimate .notice{color:#111;font-weight:700}
.compact-estimate :is(label,small,legend,button,input,a,summary,strong){font-weight:700}
.compact-estimate :is(h1,h2,h3){font-weight:800;color:#111}
.compact-estimate .choice{font-size:16px}
.compact-estimate .field-note,.compact-estimate .choice-detail,.compact-estimate .progress-head,.compact-estimate .notice{font-size:14px}
.compact-estimate .step input:disabled{color:#111}
.compact-estimate input::placeholder{color:#111;opacity:1;font-weight:700}
.compact-estimate .form-error{color:#a9101a;font-weight:700}
.compact-estimate .button:disabled{opacity:1;background:#e5e5e5;color:#111;border-color:#aaa;cursor:not-allowed}
.estimator-page:has(.compact-estimate) .utility,.estimator-page:has(.compact-estimate) .footer-bottom{color:#fff;font-weight:700}
/* Set answer glyphs directly, including mobile text fill, instead of inheriting color. */
.compact-estimate :is(label,legend,p,h1,h2,h3,small),
.compact-estimate .choice,.compact-estimate .choice *,
.compact-estimate .check-option *, .compact-estimate .progress-head *,
.compact-estimate .option-row *, .compact-estimate input{
 color:#000!important;-webkit-text-fill-color:#000!important;opacity:1!important;font-weight:700!important;
}
.compact-estimate :is(fieldset,.choices,.step){opacity:1!important}
.compact-estimate input::placeholder{color:#000!important;-webkit-text-fill-color:#000!important;opacity:1!important}
