.estimate-page{padding-top:64px;background-image:radial-gradient(#1750e817 1px,transparent 1px);background-size:12px 12px;min-height:85vh}
.estimate-intro{max-width:900px;margin:0 auto 36px;text-align:center}.estimate-intro h1{font-family:Barlow,Impact,sans-serif;font-size:clamp(48px,6.5vw,88px);line-height:1;margin:18px 0 24px}.estimate-intro>p:not(.eyebrow){font-size:18px;line-height:1.6}.estimate-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:24px 0}.estimate-badges span{border:2px solid var(--ink);padding:7px 12px;font-size:14px;font-weight:800;background:var(--yellow)}
.estimate-shell{max-width:900px;margin:auto;border:3px solid var(--ink);background:var(--paper);box-shadow:10px 10px 0 var(--blue);scroll-margin-top:25px}.estimate-steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:0;border-bottom:3px solid var(--ink);background:#e9e9e0}.estimate-steps li{display:flex;gap:10px;align-items:center;padding:19px 24px;font-size:16px;font-weight:800}.estimate-steps li[aria-current]{background:var(--yellow)}.estimate-steps b{font-family:Barlow,Impact,sans-serif;font-size:25px}.estimate-panel{padding:36px 40px 40px}.estimate-panel h2{font-size:clamp(34px,4vw,50px);margin-bottom:22px}.estimate-panel p{line-height:1.65}.estimate-panel>p:not(.eyebrow){max-width:700px}.estimate-panel [hidden],.estimate-shell [hidden]{display:none!important}
.photo-drop{display:flex!important;align-items:center;flex-direction:column;position:relative;padding:26px 20px;border:3px dashed var(--blue);background:#eaf0ff;cursor:pointer;text-align:center;margin:24px 0}.photo-drop>span{font-size:45px;color:var(--blue);line-height:1.1}.photo-drop strong{font-size:21px}.photo-drop small{font-size:14px;margin:7px 0 15px}.photo-drop input{max-width:100%;font-size:14px;background:transparent;border:0}.photo-drop:focus-within{outline:3px solid var(--blue);outline-offset:4px}.photo-previews{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.photo-previews>div{position:relative}.photo-previews img{width:100%;aspect-ratio:4/3;object-fit:cover;border:2px solid var(--ink)}.photo-previews button{position:absolute;right:4px;top:4px;background:var(--yellow);border:2px solid var(--ink);font-size:23px;width:34px;height:34px;cursor:pointer}
.estimate-check{display:flex!important;gap:12px;align-items:flex-start;margin:24px 0!important;font-weight:400!important;font-size:15px!important;line-height:1.6}.estimate-check input{width:21px!important;height:21px;flex:0 0 21px;margin:2px 0 0!important;accent-color:var(--blue)}.estimate-check a{color:var(--blue);text-underline-offset:3px}.estimate-hint{display:block;font-size:14px!important;color:#465360;line-height:1.6;margin:17px 0}.estimate-panel label:not(.photo-drop){display:block;font-size:16px;font-weight:800;margin:18px 0}.estimate-panel select,.estimate-panel textarea{display:block;width:100%;border:2px solid var(--ink);box-shadow:3px 3px 0 #131d271c;background:white;font:inherit;font-weight:400;font-size:16px;padding:13px;margin-top:9px}.estimate-panel textarea{resize:vertical}.estimate-panel :is(select,textarea):focus{outline:3px solid var(--blue);outline-offset:2px}.estimate-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px}.estimate-back,.estimate-edit{font:inherit;font-size:15px;font-weight:800;background:transparent;border:0;border-bottom:2px solid var(--ink);padding:10px 0;cursor:pointer}.estimate-panel .button{font-size:16px;min-height:56px}.estimate-notice,.estimate-error{margin:24px;padding:18px;border:2px solid var(--ink);font-size:16px;line-height:1.6;background:#fff3c6}.estimate-error{background:#fff0ef;border-color:#ad2929}.estimate-notice a{display:block;color:var(--blue)}
.estimate-loading{text-align:center;min-height:430px}.estimate-spinner{position:relative;width:112px;height:112px;display:grid;place-items:center;margin:14px auto 32px}.estimate-spinner:before{content:'';position:absolute;inset:0;border:8px solid #d8dfeb;border-top-color:var(--blue);border-right-color:var(--yellow);border-radius:50%;animation:estimate-spin 1.5s linear infinite}.estimate-spinner span{font-size:45px;color:var(--blue)}.estimate-loading p{margin-left:auto;margin-right:auto}.estimate-price{background:var(--yellow);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);padding:24px;margin:28px 0;display:grid;gap:8px}.estimate-price>strong{font-family:Barlow,Impact,sans-serif;font-size:clamp(36px,5vw,60px);line-height:1.1}.estimate-price>span{font-size:15px;font-weight:800}.estimate-price p{margin:5px 0;font-size:16px}.estimate-findings{display:grid;gap:18px}.estimate-findings>div{border-top:2px solid var(--ink);padding-top:18px}.estimate-findings h3{font-size:18px}.estimate-findings ul{padding-left:22px;line-height:1.7;font-size:16px}.estimate-direct{display:block;text-align:center;margin:34px auto 0;font-weight:800;color:var(--blue);font-size:16px}.estimate-settings-form{padding-top:28px;max-width:700px}
@keyframes estimate-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.estimate-page{padding-top:36px}.estimate-panel{padding:26px 20px}.estimate-shell{margin-right:7px;box-shadow:7px 7px 0 var(--blue)}.estimate-steps li{padding:13px 7px;gap:5px;font-size:13px;flex-direction:column}.estimate-steps b{font-size:23px}.estimate-actions{align-items:stretch;flex-direction:column}.estimate-actions .button{width:100%;justify-content:space-between}.estimate-intro h1{font-size:clamp(42px,11vw,70px)}.estimate-panel h2{font-size:37px}.estimate-price{padding:18px 14px}.estimate-price>strong{font-size:34px}.photo-drop{padding:20px 12px}.photo-previews{gap:8px}.estimate-notice,.estimate-error{margin:18px}.estimate-intro>p:not(.eyebrow){font-size:16px}}
@media(prefers-reduced-motion:reduce){.estimate-spinner:before{animation:none}}
/* Comic upload card and transparent pricing. */
.comic-upload.photo-drop{position:relative;display:grid!important;grid-template-columns:140px 1fr;gap:12px 26px;align-items:center;text-align:left;padding:40px 30px 24px;border:3px solid var(--ink);background:var(--blue);color:#fff;box-shadow:7px 7px 0 var(--ink);overflow:visible;background-image:radial-gradient(#ffffff30 1px,transparent 1px);background-size:7px 7px;transition:transform .2s,box-shadow .2s}
.comic-upload .upload-sticker{position:absolute;top:-17px;left:20px;display:block;font-size:14px;line-height:1.3;font-weight:900;color:var(--ink);background:var(--yellow);border:2px solid var(--ink);padding:7px 12px;transform:rotate(-2deg)}
.comic-upload .upload-camera{grid-row:1/4;display:grid;place-items:center;width:130px;height:130px;background:var(--yellow);color:var(--ink);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);transform:rotate(-6deg)}.upload-camera svg{width:90px;height:80px;stroke:var(--ink);stroke-width:5;fill:none}
.comic-upload.photo-drop>strong{font-family:Barlow,Impact,sans-serif;font-size:42px;line-height:1}.comic-upload .upload-action{font:800 16px/1.4 'DM Sans',sans-serif;background:var(--paper);color:var(--ink);border:2px solid var(--ink);display:flex;justify-content:space-between;align-items:center;padding:12px 16px;max-width:280px;box-shadow:4px 4px 0 var(--ink)}.upload-action b{color:var(--blue);font-size:25px}.comic-upload.photo-drop small{font-size:14px;color:white;margin:2px 0}
.comic-upload input[type=file]{position:absolute;width:1px;height:1px;opacity:0;padding:0;border:0;left:20px;bottom:10px}.comic-upload:focus-within{outline:4px solid var(--yellow);outline-offset:5px}.photo-count{margin:24px 0 14px;font-size:14px;font-weight:800}.photo-previews>div{background:#fff;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--blue);padding:6px}.photo-previews img{border:0}.photo-previews button{box-shadow:2px 2px 0 var(--ink);top:10px;right:10px}.estimate-location{margin:25px 0;padding:20px;border:2px solid var(--ink);background:#eaf0ff}.estimate-panel input:not([type=checkbox]):not([type=file]){width:100%;font:inherit;font-size:16px;font-weight:400;padding:13px;border:2px solid var(--ink);margin-top:9px;background:#fff}.estimate-location .form-row{gap:18px}.estimate-location label{margin:8px 0!important}.price-breakdown{border-top:2px dashed var(--ink);margin-top:12px;padding-top:10px}.price-breakdown p{font-size:15px;margin:6px 0}.pricing-settings{max-width:900px;margin-top:28px;margin-bottom:55px}.pricing-settings h2{font-size:42px}.pricing-settings h3{font-size:23px;margin:20px 0}.material-included{background:var(--yellow);padding:18px;border:2px solid var(--ink);font-weight:800;margin:20px 0}.material-included small{display:block;font-weight:400;font-size:14px;margin-top:8px}.estimate-settings-form input,.estimate-settings-form select{min-width:0}.estimate-steps li{font-size:14px}
@media(hover:hover){.comic-upload:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--ink)}.comic-upload:hover .upload-action{background:var(--yellow)}}
@media(max-width:760px){.comic-upload.photo-drop{grid-template-columns:1fr;padding:32px 18px 20px;gap:16px;text-align:center}.comic-upload .upload-camera{grid-row:auto;width:85px;height:85px;margin:0 auto}.upload-camera svg{width:64px;height:57px}.comic-upload.photo-drop>strong{font-size:36px}.comic-upload .upload-action{width:100%;max-width:none;text-align:left}.comic-upload .upload-sticker{left:10px;font-size:14px;padding:6px 8px}.estimate-location{padding:15px}.pricing-settings h2{font-size:34px}.photo-previews{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.comic-upload.photo-drop{transition:none}}

.estimate-ack-wrap{max-width:900px;margin:0 auto 28px}.estimate-info-toggle{display:flex;text-align:left;align-items:center;gap:12px;background:var(--paper);border:2px solid var(--ink);padding:14px 18px;font-weight:800;cursor:pointer;color:var(--ink);width:100%;font-size:16px}.estimate-info-toggle:hover{background:var(--yellow)}.estimate-ack.estimate-clarity{position:relative;margin:14px 0 0;border:3px solid var(--ink);border-top:8px solid var(--yellow);padding:28px;box-shadow:6px 6px 0 var(--blue);background:var(--paper)}.estimate-ack:before{content:'';position:absolute;top:-19px;left:30px;width:20px;height:20px;background:var(--yellow);border-left:3px solid var(--ink);border-top:3px solid var(--ink);transform:rotate(45deg)}.ack-tag{display:block;font-size:14px;font-weight:800;letter-spacing:.04em;margin-bottom:18px}.estimate-ack h2{font-size:clamp(30px,4vw,42px);margin-bottom:18px}.estimate-ack .button{margin-top:20px}.estimate-ack small{display:block;margin-top:16px;font-size:14px;line-height:1.6}.estimate-shell[inert]{opacity:.45}.estimate-ack[hidden]{display:none}@media(max-width:600px){.estimate-ack.estimate-clarity{padding:20px}.estimate-ack .button{width:100%;font-size:15px;padding:14px;gap:10px}}

/* A compact modal keeps acknowledgement visible without stretching the page. */
body.estimate-dialog-open{overflow:hidden}.estimate-ack.estimate-clarity{position:fixed;inset:0;margin:auto;width:min(620px,calc(100% - 36px));max-height:calc(100dvh - 48px);overflow:auto;padding:28px;text-align:left;color:var(--ink)}.estimate-ack:not([open]){display:none}.estimate-ack::backdrop{background:#131d27bb;backdrop-filter:blur(5px)}.estimate-ack:before{display:none}.estimate-ack .ack-tag{padding-right:32px;font-size:12px}.estimate-ack h2{font-size:clamp(28px,4vw,38px)}.estimate-ack p{font-size:15px;line-height:1.6;margin:12px 0}.estimate-ack small{font-size:13px;line-height:1.5}.ack-close{position:absolute;top:12px;right:12px;width:34px;height:34px;background:var(--yellow);border:2px solid var(--ink);font-size:24px;cursor:pointer}.estimate-ack .button{margin-top:8px}.wipe-sweep{display:none;pointer-events:none}.is-wiping .wipe-sweep{display:flex;position:fixed;z-index:5;top:0;left:0;width:100%;height:70px;justify-content:space-around;align-items:center;animation:glass-wipe .9s ease-in-out both;background:linear-gradient(transparent,#b9edffb0);border-bottom:9px solid var(--ink);box-shadow:0 6px 0 var(--blue)}.wipe-sweep i{position:absolute;width:18px;height:110px;top:50px;left:65%;background:var(--blue);border:3px solid var(--ink);transform:rotate(-18deg);transform-origin:top}.wipe-sweep span{font-size:45px;color:var(--yellow);text-shadow:2px 2px var(--ink)}.estimate-ack.is-wiping{animation:clean-dialog .9s ease-in-out both;overflow:hidden}.estimate-ack.is-wiping::backdrop{animation:clean-backdrop .9s ease-in-out both}.estimate-shell.just-cleaned{position:relative}
@keyframes glass-wipe{from{transform:translateY(-130px) rotate(-5deg)}to{transform:translateY(100vh) rotate(5deg)}}@keyframes clean-dialog{0%,35%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.97)}}@keyframes clean-backdrop{0%,35%{background:#131d27bb;backdrop-filter:blur(5px)}100%{background:transparent;backdrop-filter:blur(0)}}@keyframes clean-sparkle{0%{opacity:0;transform:scale(.3) rotate(-35deg)}40%{opacity:1;transform:scale(1.2)}100%{opacity:0;transform:scale(.7) rotate(30deg)}}
@media(max-width:600px){.estimate-ack.estimate-clarity{padding:20px;max-height:calc(100dvh - 28px);width:calc(100% - 28px)}.estimate-ack h2{font-size:29px}.estimate-ack .ack-tag{font-size:12px;letter-spacing:0}.estimate-ack .button{font-size:14px}}
@media(prefers-reduced-motion:reduce){.estimate-ack.is-wiping,.estimate-ack.is-wiping::backdrop,.is-wiping .wipe-sweep,}
/* Readable notice copy and a centered confirmation action. */
.estimate-ack.estimate-clarity{width:min(700px,calc(100% - 36px));padding:30px}
.estimate-ack p{font-size:18px;line-height:1.65;margin:16px 0}
.estimate-ack .ack-tag{font-size:14px;line-height:1.5}
.estimate-ack small{font-size:16px;line-height:1.6;text-align:center}
.estimate-ack .button{display:flex;width:fit-content;max-width:100%;justify-content:center;margin:24px auto 0;font-size:18px;padding:16px 22px;gap:20px}
@media(max-width:600px){.estimate-ack.estimate-clarity{width:calc(100% - 28px);padding:22px 18px}.estimate-ack p{font-size:17px}.estimate-ack small{font-size:16px}.estimate-ack .button{font-size:16px;padding:14px 12px;gap:10px}.estimate-ack .ack-tag{font-size:14px}}

/* Let the recognizable squeegee finish its pass before the notice fades. */
.estimate-ack.is-wiping{animation:clean-dialog-visible 2.5s linear both;transform:none;overflow:hidden}
.estimate-ack.is-wiping::backdrop{animation:clean-backdrop-visible 2.5s linear both}
.is-wiping .wipe-sweep{position:fixed;top:0;left:50%;width:min(420px,90vw);height:auto;border:0;box-shadow:none;background:none;display:flex;align-items:flex-start;justify-content:center;animation:recognizable-wipe 2.5s cubic-bezier(.4,0,.25,1) both;filter:drop-shadow(5px 8px 0 #131d2740)}
.wipe-sweep svg{display:block;width:100%;height:auto;flex-shrink:0}.wipe-sweep .wipe-star{position:absolute;top:5%;left:-3%;font-size:48px;animation:wipe-twinkle .65s ease-in-out 3 alternate}.wipe-sweep .wipe-star:last-child{left:auto;right:-3%;top:35%}
@keyframes recognizable-wipe{0%{transform:translate(-50%,-260px) rotate(-12deg)}18%{transform:translate(-50%,8vh) rotate(-8deg)}30%{transform:translate(-50%,12vh) rotate(-5deg)}78%{transform:translate(-50%,68vh) rotate(7deg)}100%{transform:translate(-50%,110vh) rotate(12deg)}}
@keyframes clean-dialog-visible{0%,78%{opacity:1}100%{opacity:0}}
@keyframes clean-backdrop-visible{0%,78%{background:#131d27bb;backdrop-filter:blur(5px)}100%{background:transparent;backdrop-filter:blur(0)}}
@keyframes wipe-twinkle{from{opacity:.3;scale:.7}to{opacity:1;scale:1.15}}
@media(prefers-reduced-motion:reduce){.estimate-ack.is-wiping,.estimate-ack.is-wiping::backdrop,.is-wiping .wipe-sweep,.wipe-sweep .wipe-star{animation:none}}

/* Foam blooms over the notice, then clears behind the squeegee. */
.wipe-foam{display:none;pointer-events:none}.is-wiping .wipe-foam{display:block;position:fixed;inset:0;z-index:4;overflow:hidden;background:radial-gradient(ellipse at center,#f8fdfffa 0%,#dff7ffdd 65%,#edfaffaa 100%);animation:foam-clear 2.8s linear both}
.wipe-foam i{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;border:3px solid #a8dbea;background:radial-gradient(circle at 30% 25%,white 0 10%,#ffffffba 15%,#e3f9ffed 65%,#b8e9f5cc 100%);box-shadow:inset -8px -9px 16px #8dd0e54a,0 0 0 9px #ffffff9c;animation:foam-bubble 1.05s ease-out var(--delay) both}
.wipe-foam i:before{content:'';position:absolute;left:20%;top:17%;width:25%;height:13%;border-top:5px solid white;border-radius:50%;transform:rotate(-30deg)}
.estimate-ack.is-wiping{animation:foam-dialog 2.8s linear both}.estimate-ack.is-wiping::backdrop{animation:foam-backdrop 2.8s linear both}.is-wiping .wipe-sweep{animation:foam-squeegee 2.8s linear both}.wipe-sweep .wipe-star{animation-duration:.8s}
@keyframes foam-clear{0%{opacity:0;clip-path:inset(0)}20%,28%{opacity:1;clip-path:inset(0)}76%{opacity:1;clip-path:inset(85% 0 0)}90%,100%{opacity:0;clip-path:inset(100% 0 0)}}
@keyframes foam-bubble{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}65%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes foam-squeegee{0%,20%{transform:translate(-50%,-280px) rotate(-10deg)}28%{transform:translate(-50%,-70px) rotate(-8deg)}76%{transform:translate(-50%,calc(85vh - 70px)) rotate(7deg)}90%,100%{transform:translate(-50%,110vh) rotate(12deg)}}
@keyframes foam-dialog{0%,76%{opacity:1}94%,100%{opacity:0}}
@keyframes foam-backdrop{0%,76%{background:#131d27bb;backdrop-filter:blur(5px)}94%,100%{background:transparent;backdrop-filter:blur(0)}}
@media(max-width:600px){.wipe-foam i{width:calc(var(--size)*.7);height:calc(var(--size)*.7)}}
@media(prefers-reduced-motion:reduce){.is-wiping .wipe-foam,.wipe-foam i,.estimate-ack.is-wiping,.estimate-ack.is-wiping::backdrop,.is-wiping .wipe-sweep{animation:none}.wipe-foam{display:none}}

.access-review{padding:24px;margin:24px 0;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--blue);background:var(--yellow)}.access-review h3{font-family:Barlow,Impact,sans-serif;font-size:36px}.access-review label{display:block;margin:18px 0;font-weight:700}.access-review input:not([type=checkbox]),.access-review select{display:block;width:100%;padding:12px;border:2px solid var(--ink);background:var(--paper);font-size:16px}.access-review .estimate-check{display:flex}.access-review small{font-size:14px}.access-review[hidden],#standard-result-actions[hidden]{display:none}@media(max-width:600px){.access-review{padding:18px}.access-review h3{font-size:30px}}

.estimate-findings[hidden]{display:none}

.manual-review{margin-top:24px;border-top:2px solid var(--ink);padding-top:18px}.manual-review summary{cursor:pointer;font-weight:800;font-size:16px}.access-review textarea{display:block;width:100%;padding:12px;font-size:16px;border:2px solid var(--ink);background:var(--paper)}#estimate-special-costs{font-weight:700;line-height:1.6}
.offer-contact{margin-top:35px;padding-top:30px;border-top:2px solid #131d27}.offer-contact h2{font-size:44px}.customer-fields .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.customer-fields label{display:block;margin-bottom:18px}.customer-fields input,.customer-fields select{display:block;width:100%;margin-top:6px}.customer-fields h3{margin:25px 0 15px}.customer-fields .checkbox{display:flex;gap:12px;align-items:flex-start}.customer-fields .checkbox input{width:18px;flex-shrink:0}.customer-fields .muted{font-size:13px;color:#5d6876}.offer-success{padding:22px;background:#e6f5ec;border:2px solid #226b4d;color:#164a35;font-weight:600}#offer-status:not(:empty){margin-top:20px}#access-review>[data-open-offer]{margin-top:22px}[hidden]{display:none!important}@media(max-width:600px){.customer-fields .field-grid{grid-template-columns:1fr}.offer-contact h2{font-size:34px}}

.wipe-foam i:nth-child(1){--x:4%;--y:12%;--size:85px;--delay:0ms}.wipe-foam i:nth-child(2){--x:22%;--y:8%;--size:110px;--delay:100ms}.wipe-foam i:nth-child(3){--x:45%;--y:15%;--size:76px;--delay:160ms}.wipe-foam i:nth-child(4){--x:70%;--y:6%;--size:115px;--delay:80ms}.wipe-foam i:nth-child(5){--x:90%;--y:18%;--size:90px;--delay:180ms}.wipe-foam i:nth-child(6){--x:10%;--y:35%;--size:125px;--delay:100ms}.wipe-foam i:nth-child(7){--x:34%;--y:39%;--size:95px;--delay:210ms}.wipe-foam i:nth-child(8){--x:58%;--y:34%;--size:130px;--delay:60ms}.wipe-foam i:nth-child(9){--x:84%;--y:44%;--size:110px;--delay:220ms}.wipe-foam i:nth-child(10){--x:2%;--y:64%;--size:105px;--delay:150ms}.wipe-foam i:nth-child(11){--x:24%;--y:66%;--size:135px;--delay:50ms}.wipe-foam i:nth-child(12){--x:51%;--y:62%;--size:100px;--delay:170ms}.wipe-foam i:nth-child(13){--x:76%;--y:70%;--size:140px;--delay:120ms}.wipe-foam i:nth-child(14){--x:96%;--y:66%;--size:100px;--delay:240ms}.wipe-foam i:nth-child(15){--x:12%;--y:92%;--size:125px;--delay:180ms}.wipe-foam i:nth-child(16){--x:40%;--y:88%;--size:130px;--delay:90ms}.wipe-foam i:nth-child(17){--x:67%;--y:94%;--size:115px;--delay:200ms}.wipe-foam i:nth-child(18){--x:91%;--y:91%;--size:125px;--delay:100ms}
