.results-heading{position:relative;padding-right:330px}
.estimate-launch{
  position:absolute;top:24px;right:24px;display:grid;
  grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;
  width:280px;min-height:58px;box-sizing:border-box;text-align:left;
  border:0;border-radius:13px;background:#172d24;color:#fff;padding:10px 14px;
  cursor:pointer;box-shadow:0 8px 22px #172d2430
}
.estimate-launch:hover,.estimate-launch:focus-visible{background:#244638;outline:2px solid #c89442;outline-offset:2px}
.estimate-launch .estimate-launch-icon{
  display:flex;width:38px;height:38px;align-items:center;justify-content:center;
  border-radius:10px;background:#c89442;color:#172d24;font-size:19px;font-weight:900
}
.estimate-launch .estimate-launch-label{
  display:block;width:auto;height:auto;min-width:0;background:transparent;color:#fff;
  font-size:inherit;line-height:1.25
}
.estimate-launch strong{
  display:block;color:#fff;font-size:11px;font-weight:850;line-height:1.25;
  white-space:normal
}
.estimate-launch small{
  display:block;color:#cbd8d2;font-size:8px;font-weight:500;line-height:1.3;
  margin-top:4px;white-space:normal
}
.estimate-overlay[hidden]{display:none}
.estimate-overlay{position:fixed;inset:0;z-index:8000}
.estimate-backdrop{position:absolute;inset:0;border:0;background:#172d2445;backdrop-filter:blur(1px);cursor:pointer}
.estimate-drawer{
  position:absolute;top:0;right:0;bottom:0;width:min(650px,94vw);display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto;background:#fffdf8;
  box-shadow:-24px 0 70px #07120d45;overflow:hidden
}
.estimate-head{display:flex;justify-content:space-between;gap:18px;padding:18px 20px 15px;background:#172d24;color:#fff}
.estimate-head small{color:#c89442;text-transform:uppercase;letter-spacing:.11em;font-size:8px;font-weight:800}
.estimate-head h2{margin:4px 0 4px;font-size:21px}
.estimate-head p{margin:0;color:#cbd8d2;font-size:10px;line-height:1.45;max-width:510px}
.estimate-close{flex:0 0 auto;width:35px;height:35px;border:1px solid #ffffff40;border-radius:9px;background:#ffffff12;color:#fff;font-size:22px;cursor:pointer}
.estimate-progress{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #ded8cc;background:#f5f0e6}
.estimate-step-tab{position:relative;border:0;border-right:1px solid #ded8cc;background:transparent;padding:11px 6px;color:#68736e;font-size:8px;font-weight:800;cursor:pointer}
.estimate-step-tab:last-child{border-right:0}
.estimate-step-tab span{display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin:0 auto 4px;border-radius:50%;background:#ded8cc;color:#526159}
.estimate-step-tab.active{color:#172d24;background:#fffdf8}
.estimate-step-tab.active span,.estimate-step-tab.done span{background:#c89442;color:#172d24}
.estimate-body{overflow:auto;padding:20px}
.estimate-panel[hidden]{display:none}
.estimate-panel h3{margin:0 0 5px;color:#172d24;font-size:18px}
.estimate-panel-intro{margin:0 0 17px;color:#68736e;font-size:10px;line-height:1.55}
.estimate-address{margin:0 0 15px;padding:10px 12px;border-radius:9px;background:#eef3ef;color:#3f5148;font-size:10px}
.estimate-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.estimate-field{display:block;color:#405049;font-size:9px;font-weight:800;text-transform:uppercase}
.estimate-field.full{grid-column:1/-1}
.estimate-field input,.estimate-field select,.estimate-field textarea{
  width:100%;margin-top:6px;border:1px solid #d9d2c7;border-radius:9px;background:#fff;
  color:#172d24;padding:11px 12px;outline:none;text-transform:none;font-weight:600;font-size:11px
}
.estimate-field textarea{min-height:65px;resize:vertical;line-height:1.45}
.estimate-renovation-box{
  grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px;
  padding:13px;border:1px solid #e2cfa9;border-radius:11px;background:#fff8e9
}
.estimate-renovation-box[hidden]{display:none}
.estimate-field-help{
  display:block;margin-top:6px;color:#68736e;font-size:8px;font-weight:500;
  line-height:1.45;text-transform:none
}
.estimate-field input:focus,.estimate-field select:focus,.estimate-field textarea:focus{border-color:#c89442;box-shadow:0 0 0 3px #c8944228}
.estimate-inline-check{display:flex;align-items:center;gap:8px;margin-top:19px;color:#43534c;font-size:10px}
.estimate-inline-check input{accent-color:#c89442}
.estimate-range-row{display:grid;grid-template-columns:1fr 70px;align-items:center;gap:10px;margin-top:6px}
.estimate-range-row input[type=range]{accent-color:#c89442}
.estimate-range-row output{text-align:right;color:#8a6229;font-size:11px;font-weight:800}
.estimate-comparable-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:13px}
.estimate-comparable-summary span{padding:10px;border-radius:9px;background:#f2eee6}
.estimate-comparable-summary small,.estimate-comparable-summary b{display:block}
.estimate-comparable-summary small{color:#68736e;text-transform:uppercase;font-size:7px;font-weight:800}
.estimate-comparable-summary b{margin-top:4px;color:#172d24;font-size:11px}
.estimate-comparables{border:1px solid #ded8cc;border-radius:10px;overflow:hidden}
.estimate-comparable{
  display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:9px;align-items:center;
  padding:10px;border-bottom:1px solid #ebe5da;background:#fff
}
.estimate-comparable:last-child{border-bottom:0}
.estimate-comparable:hover{background:#faf7f1}
.estimate-comparable input{accent-color:#c89442}
.estimate-comparable b,.estimate-comparable small{display:block}
.estimate-comparable b{font-size:10px}
.estimate-comparable small{margin-top:3px;color:#68736e;font-size:8px;line-height:1.35}
.estimate-comparable-price{text-align:right}
.estimate-comparable-price strong,.estimate-comparable-price small{display:block}
.estimate-comparable-price strong{font-size:10px}
.estimate-comparable-price small{color:#8a6229}
.estimate-method{margin:12px 0 0;padding:11px 12px;border-left:3px solid #c89442;background:#f7f1e5;color:#56635d;font-size:9px;line-height:1.55}
.estimate-result-hero{padding:18px;border-radius:13px;background:linear-gradient(145deg,#172d24,#2c4c3f);color:#fff}
.estimate-result-hero small{color:#d7c294;text-transform:uppercase;font-size:8px;font-weight:800}
.estimate-result-hero h3{color:#fff;margin:6px 0 3px;font-size:30px}
.estimate-result-hero p{margin:0;color:#dce7e1;font-size:10px}
.estimate-value-range{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.estimate-value-range span{padding:11px;border:1px solid #ded8cc;border-radius:10px;background:#fff}
.estimate-value-range small,.estimate-value-range b{display:block}
.estimate-value-range small{color:#68736e;text-transform:uppercase;font-size:7px;font-weight:800}
.estimate-value-range b{margin-top:4px;color:#172d24;font-size:13px}
.estimate-confidence{display:grid;grid-template-columns:58px minmax(0,1fr);gap:13px;align-items:center;margin-top:14px;padding:13px;border-radius:10px;background:#eef3ef}
.estimate-confidence-ring{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:conic-gradient(#2f855a var(--confidence),#dfe6e1 0);position:relative}
.estimate-confidence-ring:after{content:"";position:absolute;inset:6px;border-radius:50%;background:#fff}
.estimate-confidence-ring b{position:relative;z-index:1;font-size:12px}
.estimate-confidence h4{margin:0 0 4px;font-size:12px}
.estimate-confidence p{margin:0;color:#617069;font-size:9px;line-height:1.45}
.estimate-adjustments{margin-top:14px;border:1px solid #ded8cc;border-radius:10px;overflow:hidden}
.estimate-adjustments h4{margin:0;padding:11px 12px;background:#f5f0e6;font-size:11px}
.estimate-adjustments div{display:flex;justify-content:space-between;gap:15px;padding:8px 12px;border-top:1px solid #ebe5da;font-size:9px}
.estimate-adjustments div b.positive{color:#2f855a}.estimate-adjustments div b.negative{color:#b3483e}
.estimate-strategies{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.estimate-strategy{padding:11px;border-radius:10px;background:#fff;border:1px solid #ded8cc}
.estimate-strategy.recommended{border-color:#c89442;background:#fff9ed}
.estimate-strategy small,.estimate-strategy b,.estimate-strategy span{display:block}
.estimate-strategy small{color:#68736e;text-transform:uppercase;font-size:7px;font-weight:800}
.estimate-strategy b{margin:5px 0;color:#172d24;font-size:12px}
.estimate-strategy span{color:#65716b;font-size:8px;line-height:1.4}
.estimate-warning{margin:13px 0 0;color:#68736e;font-size:8px;line-height:1.5}
.estimate-map-popup{min-width:250px;color:#172d24;font-family:inherit}
.estimate-map-popup header{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.estimate-map-popup header>span{
  display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:31px;height:31px;
  border-radius:9px;background:#c89442;color:#172d24;font-size:13px;font-weight:900
}
.estimate-map-popup header small{
  display:block;color:#8a6229;text-transform:uppercase;letter-spacing:.07em;
  font-size:8px;font-weight:800
}
.estimate-map-popup header h3{margin:2px 0 0;font-size:15px}
.estimate-map-popup-address{margin:0 0 9px;color:#58675f;font-size:10px;line-height:1.4}
.estimate-map-popup-prices{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:9px}
.estimate-map-popup-prices span{padding:8px;border-radius:8px;background:#f4efe5}
.estimate-map-popup-prices small,.estimate-map-popup-prices b{display:block}
.estimate-map-popup-prices small{color:#6b766f;font-size:7px;text-transform:uppercase;font-weight:800}
.estimate-map-popup-prices b{margin-top:3px;font-size:11px}
.estimate-map-popup dl{margin:0;border-top:1px solid #e7e0d4}
.estimate-map-popup dl div{
  display:grid;grid-template-columns:minmax(105px,.8fr) minmax(0,1.2fr);gap:10px;
  padding:6px 2px;border-bottom:1px solid #eee8dd;font-size:9px;line-height:1.35
}
.estimate-map-popup dt{color:#69766f}.estimate-map-popup dd{margin:0;text-align:right;font-weight:750;overflow-wrap:anywhere}
.estimate-map-popup-note{
  margin:9px 0 0;padding:8px 9px;border-left:3px solid #c89442;
  background:#fff8e9;color:#58675f;font-size:8px;line-height:1.4
}
.estimate-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid #ded8cc;background:#fff}
.estimate-footer button{border:1px solid #d8d1c5;border-radius:9px;background:#fff;color:#172d24;padding:10px 14px;cursor:pointer;font-size:10px;font-weight:800}
.estimate-footer button.primary{border-color:#c89442;background:#c89442}
.estimate-footer button:disabled{opacity:.45;cursor:not-allowed}
.estimation-summary{max-width:1180px;margin:22px auto;padding:0 20px}
.estimation-summary-card{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:18px;padding:20px;border:1px solid #d9c8a7;border-radius:14px;background:linear-gradient(145deg,#fffaf0,#fffdf8)}
.estimation-summary-card small{color:#8a6229;text-transform:uppercase;font-size:8px;font-weight:800}
.estimation-summary-card h3{margin:5px 0 7px;font-size:20px}
.estimation-summary-card p{margin:0;color:#59665f;font-size:10px;line-height:1.55}
.estimation-summary-values{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.estimation-summary-values span{padding:10px;border-radius:9px;background:#fff;border:1px solid #e2d9c9}
.estimation-summary-values small,.estimation-summary-values b{display:block}
.estimation-summary-values b{margin-top:5px;color:#172d24;font-size:11px}
.estimation-summary-actions{display:flex;gap:8px;margin-top:12px}
.estimation-summary-actions button{border:0;border-radius:8px;background:#172d24;color:#fff;padding:9px 12px;cursor:pointer;font-size:9px;font-weight:800}
body.estimation-open{overflow:hidden}
@media(max-width:980px){
  .results-heading{padding-right:24px}
  .estimate-launch{position:static;margin-top:13px;width:min(100%,360px)}
}
@media(max-width:700px){
  .estimate-launch{width:100%;min-height:62px}
  .estimate-drawer{width:100vw}
  .estimate-head{padding:16px}
  .estimate-progress{position:sticky;top:0;z-index:2}
  .estimate-step-tab{font-size:7px}
  .estimate-body{padding:16px}
  .estimate-grid{grid-template-columns:1fr}
  .estimate-renovation-box{grid-template-columns:1fr}
  .estimate-field.full{grid-column:auto}
  .estimate-value-range,.estimate-strategies{grid-template-columns:1fr}
  .estimate-comparable-summary{grid-template-columns:1fr 1fr}
  .estimation-summary-card{grid-template-columns:1fr}
}
