.estimate-header{background:var(--cream);border-bottom:1px solid var(--line)}
.estimate-header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.estimate-header-inner img{width:210px;height:auto}
.estimate-header-inner>div{display:flex;align-items:center;gap:22px}
.estimate-header-call{font-size:11px;font-weight:900;letter-spacing:.05em}
.estimate-header-call:hover{text-decoration:underline}
.estimate-hero{background:#10271e;color:#fff;position:relative;overflow:hidden}
.estimate-hero:after{content:"✳";position:absolute;right:3%;top:-165px;font:900 620px/1 var(--display);color:rgba(185,232,74,.065);pointer-events:none}
.estimate-hero-inner{min-height:360px;display:flex;align-items:end;justify-content:space-between;gap:40px;padding-top:65px;padding-bottom:54px;position:relative;z-index:1}
.estimate-hero h1{font:900 clamp(78px,8.7vw,140px)/.78 var(--display);letter-spacing:-.035em;margin:25px 0 22px}
.estimate-hero h1 em{font-style:normal;color:var(--leaf)}
.estimate-hero p{font-size:16px;color:#d4e5d4;max-width:580px;margin:0}
.estimate-hero-index{font:900 25px/1 var(--display);color:var(--leaf);text-align:right;white-space:nowrap}
.estimate-hero-index span{display:block;margin-top:10px;font:800 10px/1.3 var(--body);letter-spacing:.12em;color:#b7cfb6}
.estimate-main{padding:80px 0 110px;background:var(--cream)}
.estimate-layout{display:grid;grid-template-columns:minmax(235px,.62fr) minmax(0,1fr);gap:8%;align-items:start}
.estimate-side{padding-top:25px;position:sticky;top:30px}
.estimate-side h2{font:900 clamp(52px,5vw,78px)/.86 var(--display);margin:22px 0 35px}
.estimate-side ol{list-style:none;margin:0;padding:0;border-top:1px solid #cad6c4}
.estimate-side li{display:flex;flex-direction:column;padding:17px 0;border-bottom:1px solid #cad6c4}
.estimate-side li strong{font-size:13px}
.estimate-side li span{font-size:12px;color:#627365;line-height:1.55;margin-top:4px}
.estimate-fine{font-size:12px;line-height:1.6;color:#627365;margin:26px 0 0}
.estimate-fine a{font-weight:800;text-decoration:underline;color:#206639}
.estimate-card{background:var(--paper);box-shadow:0 20px 55px rgba(19,54,30,.12);border:1px solid #e1e5d8}
.estimate-card-top,.estimate-card-bottom{padding:17px 30px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:10px;font-weight:900;letter-spacing:.1em}
.estimate-card-top{border-bottom:1px solid var(--line)}
.estimate-card-top span:last-child{color:#59855b}
.estimate-card-bottom{border-top:1px solid var(--line);color:#6c7e6c}
.estimate-card-bottom a{color:#245c32;text-decoration:underline}
.estimate-step{padding:36px 40px 42px}
.estimate-step h2{font:900 clamp(40px,4vw,58px)/.92 var(--display);text-transform:uppercase;margin:8px 0 11px}
.estimate-step h3{font:900 34px/.95 var(--display);text-transform:uppercase;margin:9px 0 10px}
.estimate-step-copy{font-size:13px;line-height:1.6;color:#657568;margin:0 0 26px;max-width:530px}
.upload-box{display:flex;min-height:174px;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:3px;border:2px dashed #8db787;background:#f1f8e9;cursor:pointer;color:#20492d;transition:background .2s,border-color .2s}
.upload-box:hover,.upload-box:focus-within{background:#e6f4dc;border-color:#337d47}
.upload-box .upload-icon{font:900 42px/1 var(--display)}
.upload-box strong{font-size:14px}
.upload-box span:not(.upload-icon){font-size:11px;color:#5b7b60}
.upload-box input{width:1px;height:1px;opacity:0;position:absolute}
.photo-preview{position:relative;max-height:250px;overflow:hidden;background:#122a1b;margin-top:12px}
.photo-preview img{width:100%;max-height:250px;object-fit:contain}
.photo-preview button{position:absolute;right:10px;top:10px;background:#fff;border:0;color:#215d30;padding:9px 11px;font-size:10px;font-weight:900;letter-spacing:.05em}
.estimate-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 15px;margin-top:25px}
.estimate-disclosure{font-size:11px;line-height:1.6;color:#607466;background:#edf3e7;border-left:3px solid #85b963;padding:12px 14px;margin:25px 0 0}
.estimate-submit{width:100%;margin-top:25px}
.estimate-submit:disabled{opacity:.55;cursor:wait;transform:none}
.estimate-price{background:#dff0d1;border-left:6px solid #65ae48;padding:22px 25px;margin:22px 0 20px;display:flex;flex-direction:column}
.estimate-price>span{font-size:10px;letter-spacing:.12em;font-weight:900;color:#477d4d}
.estimate-price strong{font:900 clamp(42px,5.5vw,70px)/1 var(--display);letter-spacing:-.01em;margin:6px 0;color:#173f23}
.estimate-price small{color:#486b50;font-size:11px}
.estimate-result-note{font-size:13px;line-height:1.6;color:#526454;margin:0}
.contact-fields{margin-top:10px}
.contact-guidance{font-size:11px;line-height:1.55;color:#536b58;margin:12px 0 0}
.contact-choices{display:grid;gap:10px;margin-top:20px}
.consent-choice{display:flex;align-items:flex-start;gap:12px;padding:13px 15px;border:1px solid #d7e2d1;background:#f6f8f2;cursor:pointer}
.consent-choice:focus-within{outline:2px solid #5b9c48;outline-offset:2px}
.consent-choice input{width:18px;height:18px;flex:0 0 18px;accent-color:#357c42;margin:1px 0 0}
.consent-choice span{font-size:11px;line-height:1.5;color:#4e6855}
.consent-choice strong{color:#234d2e}
.quote-delivery{font-size:12px;line-height:1.55;color:#275237;background:#e6f2dd;border-left:4px solid #75a95c;padding:14px 17px;margin-top:16px}
.saved-quote-link{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px}
.saved-quote-link a,.saved-quote-link button{font-size:10px;font-weight:900;letter-spacing:.05em;color:#235d34;border:1px solid #9ac68e;background:#f4faed;padding:10px 12px;cursor:pointer;text-decoration:none}
.saved-quote-link a:hover,.saved-quote-link button:hover{background:#e4f2d8}
.saved-quote-link small{flex-basis:100%;font-size:10px;line-height:1.45;color:#657568}
.saved-quote-link[hidden],.quote-delivery[hidden]{display:none!important}
.estimate-complete #complete-quote-link a{font-size:11px;font-weight:900;color:#27673a;text-decoration:underline}
.estimate-complete .complete-delivery{background:#eaf3e1;border-left:3px solid #78ae5b;text-align:left;padding:11px 13px}
.estimate-divider{border-top:1px solid #d6dfd2;margin:34px 0 28px}
.estimate-start-over{background:none;border:0;color:#346945;font-size:11px;font-weight:900;letter-spacing:.06em;margin-top:20px;padding:8px 0}
.estimate-start-over:hover{text-decoration:underline}
.service-area-review{background:#e9f1de;border-left:4px solid #76a95b;padding:18px 20px;margin:18px 0}
.service-area-review p{font-size:13px;line-height:1.6;color:#405a44;margin:0 0 16px}
.service-area-review .button{font-size:11px}
.estimate-complete{text-align:center;padding-top:55px;padding-bottom:60px}
.estimate-complete h2{margin-top:15px}
.estimate-complete p{font-size:13px;color:#607466;max-width:410px;margin:0 auto 20px}
.complete-check{width:65px;height:65px;display:grid;place-items:center;border-radius:50%;background:var(--leaf);color:#214f2c;font-size:30px;font-weight:900;margin:0 auto 22px}
.estimate-complete .success-reference{background:#e8f2dd;display:inline-block;padding:8px 15px;font-size:11px;color:#335f3c}
.estimate-complete .button{margin-top:7px}
@media(max-width:900px){.estimate-layout{gap:35px;grid-template-columns:minmax(200px,.48fr) minmax(0,1fr)}.estimate-side h2{font-size:56px}.estimate-hero-index{display:none}}
@media(max-width:700px){.estimate-header-call{display:none}.estimate-header-inner img{width:170px}.estimate-hero-inner{min-height:320px;padding:50px 0}.estimate-hero h1{font-size:clamp(67px,13vw,100px)}.estimate-main{padding:45px 0 70px}.estimate-layout{display:block}.estimate-side{position:static;padding:0 0 28px}.estimate-side h2{font-size:55px;margin-bottom:18px}.estimate-side ol{display:none}.estimate-fine{margin-top:0}.estimate-step{padding:28px 23px 33px}.estimate-card-top,.estimate-card-bottom{padding-left:22px;padding-right:22px}}
@media(max-width:520px){.container{width:min(100% - 34px,1320px)}.topline-areas{display:none!important}.estimate-header-inner{min-height:72px}.estimate-header-inner .button{min-height:39px;padding:8px 11px;font-size:9px;gap:8px}.estimate-hero h1{font-size:63px}.estimate-hero p{font-size:14px}.estimate-hero:after{display:none}.estimate-fields{grid-template-columns:1fr}.estimate-card-top{font-size:9px}.estimate-card-bottom{font-size:9px}.estimate-price strong{font-size:52px}}
.home-estimate-section{background:#eaf0e2;border-top:1px solid #cddbc7;border-bottom:1px solid #cddbc7}
.home-estimate-section .estimate-side{top:105px}
.home-estimate-side h2{margin-bottom:22px}
.home-estimate-lead{font-size:15px;line-height:1.65;color:#405945;max-width:390px;margin-bottom:29px}
.home-estimate-direct{display:inline-block;margin-top:17px;border-bottom:1px solid #79a567;color:#245f34;font-size:11px;font-weight:900;letter-spacing:.03em;padding-bottom:3px}
.home-estimate-direct:hover{color:#378244}
@media(max-width:700px){.home-estimate-section .estimate-side{top:auto}.home-estimate-side h2{margin-bottom:15px}.home-estimate-lead{margin-bottom:17px;max-width:610px}}
@media(max-width:520px){.home-estimate-side h2{font-size:clamp(51px,13vw,67px)}}
