.price-estimator{min-width:0;padding:clamp(22px,4vw,36px);border:1px solid #cce4d9;border-radius:24px;background:#fff;box-shadow:0 14px 38px #152a380b}
.price-estimator h2{font-size:clamp(25px,3vw,34px);line-height:1.15;letter-spacing:-.8px;margin:0 0 16px}
.price-estimator p{line-height:1.55;color:#52636b}
.price-estimator form{display:grid;gap:10px;margin:22px 0 16px}
.price-estimator label{font-weight:700;font-size:15px}
.price-estimator input,.price-estimator select{width:100%;min-width:0;min-height:48px;border:1px solid #bdcfc7;border-radius:10px;background:#fff;color:#152a38;padding:12px;font:inherit;font-size:16px}
.price-estimator .button{justify-content:center;min-height:48px;white-space:normal;text-align:center;border-radius:10px;margin-top:10px}
.price-estimator :focus-visible{outline:3px solid #0c7759;outline-offset:3px}
.price-estimator button:disabled{opacity:.55;cursor:wait;transform:none}
#estimate-result{padding:12px 0;overflow-wrap:anywhere}
#estimate-result strong{font-size:30px;color:#152a38;display:block;line-height:1.25}
#estimate-continue{display:flex}
#estimate-continue[hidden]{display:none}
.price-estimator .estimate-note{font-size:13px;margin-bottom:0}
@media(max-width:780px){.guide-hero:has(.price-estimator){gap:24px}.price-estimator{border-radius:18px}.guide-hero:has(.price-estimator) .guide-byline{font-size:12px}}
