body.estimate-open{overflow:hidden}
.estimate-dialog{width:min(590px,calc(100% - 32px));max-height:calc(100dvh - 40px);border:0;border-radius:15px;padding:0;background:white;color:var(--ink);overflow:auto;overscroll-behavior:contain}
.estimate-dialog::backdrop{background:#171811d9;backdrop-filter:blur(8px)}
.estimate-shell{padding:35px;position:relative}
.estimate-close{position:absolute;right:17px;top:17px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--ink)}
.estimate-close:hover{background:#fbd7d8;color:var(--red)}
.estimate-close>.icon{width:18px;height:18px}
.estimate-header{padding-right:30px}
.estimate-stage-label{color:var(--red);font-size:13px;font-weight:800;letter-spacing:.12em;margin-bottom:15px}
.estimate-header h2{font-size:34px;line-height:1.16;letter-spacing:-.045em}
.estimate-header>p:last-child{font-size:15px;line-height:1.8;margin-block:15px 24px}
.estimate-field{margin-bottom:17px;min-width:0}
.estimate-field>label{display:block;font-size:15px;line-height:1.6;font-weight:700;margin-bottom:7px}
.estimate-field>label>span,.estimate-consent>span>span{color:var(--red)}
.estimate-field>label>small{font-size:13px;font-weight:400;color:var(--muted)}
.estimate-field input,.estimate-field select{display:block;width:100%;min-width:0;min-height:47px;padding:12px 13px;border:1px solid #deded7;background:#fbfaf6;border-radius:6px;font-size:16px;color:var(--ink)}
.estimate-field input:focus,.estimate-field select:focus{background:white;border-color:#555}
.estimate-field input::placeholder{font-size:15px;color:#85867e}
.estimate-area-wrap{position:relative}
.estimate-area-wrap>input{padding:12px 50px 12px 15px;font-size:30px;font-weight:800;height:65px;letter-spacing:-.035em}
.estimate-area-wrap>span{position:absolute;right:16px;top:17px;font-size:21px;font-weight:700;pointer-events:none}
.estimate-field>p{font-size:14px;line-height:1.7;margin-top:7px}
.estimate-result{padding:22px 24px;background:var(--yellow);border-radius:9px;margin-top:6px;margin-bottom:19px}
.estimate-result>p:first-child{font-size:12px;font-weight:800;letter-spacing:.09em;color:#564a11}
.estimate-result>strong{display:block;font-size:47px;line-height:1.2;letter-spacing:-.055em;margin-block:5px 8px;font-weight:800;overflow-wrap:anywhere}
.estimate-result>strong small{font-size:24px;font-weight:600}
.estimate-equation{display:block;font-size:14px;font-weight:700;line-height:1.7}
.estimate-result p.estimate-result-note{font-size:13px;line-height:1.75;margin-top:13px;padding-top:12px;border-top:1px solid #20212029;color:#62531c}
.estimate-result-compact{padding:18px 22px}
.estimate-result-compact>strong{font-size:37px}
.estimate-result-compact p.estimate-result-note{font-size:12px;margin-top:9px;padding-top:9px}
.estimate-next,.estimate-submit{width:100%;font-size:16px;justify-content:space-between;padding-inline:20px}
.estimate-no-obligation{font-size:13px;text-align:center;line-height:1.8;margin-top:11px}
.estimate-callback-intro{font-size:15px;line-height:1.8;margin-block:22px 18px}
.estimate-contact-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.estimate-consent{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.8;color:var(--muted);margin-block:18px}
.estimate-consent input{accent-color:var(--red);width:15px;height:15px;flex-shrink:0;margin:3px 0 0}
.estimate-consent a{text-decoration:underline;text-underline-offset:2px}
.estimate-back{display:block;width:100%;padding:12px 5px 0;background:transparent;color:var(--muted);font-size:14px;line-height:1.8;text-align:center}
.estimate-back:hover{color:var(--red)}
.estimate-response{font-size:15px;line-height:1.85;background:#fff1d8;color:#6e4e10;border-radius:6px;padding:13px 15px;margin-top:16px}
.estimate-response.estimate-response-success{color:#176a31;background:#e8f6eb}
.estimate-fallback{display:flex;align-items:center;gap:9px;font-size:14px;line-height:1.8;font-weight:800;color:var(--green);margin-top:13px}
.estimate-fallback>.icon{width:20px;height:20px}
@media(max-width:600px){.estimate-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px);border-radius:11px}.estimate-shell{padding:29px 23px 24px}.estimate-header{padding-right:25px}.estimate-close{right:12px;top:12px;width:32px;height:32px}.estimate-header h2{font-size:29px}.estimate-stage-label{font-size:12px;margin-bottom:13px;letter-spacing:.1em}.estimate-header>p:last-child{font-size:14px;margin-block:13px 21px}.estimate-field>label{font-size:14px}.estimate-field input,.estimate-field select{font-size:19px;min-height:47px;padding:12px}.estimate-field input::placeholder{font-size:15px}.estimate-area-wrap>input{font-size:30px;padding:12px 50px 12px 14px}.estimate-result{padding:20px;margin-bottom:17px}.estimate-result>strong{font-size:43px}.estimate-result>strong small{font-size:22px}.estimate-equation{font-size:13px}.estimate-result p.estimate-result-note{font-size:13px}.estimate-next,.estimate-submit{font-size:14px;padding-inline:15px;gap:10px}.estimate-next>.icon,.estimate-submit>.icon{width:18px;height:18px}.estimate-contact-row{gap:12px}.estimate-result-compact>strong{font-size:34px}.estimate-callback-intro{font-size:14px;margin-block:18px 16px}.estimate-consent{font-size:12px}.estimate-response{font-size:14px}.estimate-fallback{font-size:13px}.estimate-no-obligation{font-size:12px}}
@media(max-width:370px){.estimate-shell{padding:28px 18px 22px}.estimate-header h2{font-size:27px}.estimate-contact-row{grid-template-columns:1fr;gap:0}.estimate-next,.estimate-submit{font-size:13px}.estimate-result{padding:18px}.estimate-result>strong{font-size:38px}.estimate-result>strong small{font-size:21px}.estimate-result-compact>strong{font-size:33px}}
@media(prefers-reduced-motion:reduce){.estimate-dialog *{scroll-behavior:auto}}

/* Center both step labels independently of their right-side arrows. */
.estimate-form .estimate-next,.estimate-form .estimate-submit{position:relative;justify-content:center;text-align:center;padding-inline:44px}
.estimate-form .estimate-next>.icon,.estimate-form .estimate-submit>.icon{position:absolute;right:18px;top:50%;transform:translateY(-50%)}
