.lawn-estimator{
  display:none;
  margin:16px 0 18px;
  border:1px solid rgba(90,173,90,.3);
  border-radius:6px;
  overflow:hidden;
  background:#132213;
}
.lawn-estimator.is-visible{display:block}
.le-intro{padding:18px 18px 16px;background:linear-gradient(135deg,rgba(90,173,90,.12),rgba(90,173,90,.03))}
.le-kicker{font-size:9px;font-weight:800;letter-spacing:2.3px;text-transform:uppercase;color:var(--bright);margin-bottom:6px}
.le-title{font-family:'Cormorant Garamond',serif;font-size:25px;line-height:1.12;color:#fff;margin:0 0 7px}
.le-copy{font-size:12px;line-height:1.65;color:var(--muted);margin:0;max-width:560px}
.le-copy strong{color:var(--mist);font-weight:600}
.le-start-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:13px}
.le-btn{min-height:44px;border:1px solid rgba(90,173,90,.55);border-radius:3px;background:transparent;color:var(--mist);padding:10px 13px;font-family:'Jost',sans-serif;font-size:10px;font-weight:800;letter-spacing:1.35px;text-transform:uppercase;cursor:pointer;transition:background .18s,border-color .18s,color .18s}
.le-btn:hover,.le-btn:focus-visible{background:rgba(90,173,90,.12);border-color:var(--bright);color:#fff}
.le-btn-primary{background:var(--green);border-color:var(--green);color:#fff}
.le-btn-primary:hover{background:var(--mid);border-color:var(--mid)}
.le-btn[disabled]{opacity:.45;cursor:not-allowed}
.le-skip{border-color:transparent;text-decoration:underline;text-underline-offset:3px;color:var(--soft)}
.le-status{display:none;margin:12px 0 0;padding:10px 12px;border-left:3px solid var(--bright);background:rgba(90,173,90,.08);font-size:11.5px;line-height:1.55;color:var(--mist)}
.le-status.is-error{border-color:#d67b6e;background:rgba(180,50,50,.12);color:#ffd0ca}
.le-workspace{display:none;border-top:1px solid rgba(255,255,255,.08)}
.le-workspace.is-open{display:block}
.le-map{height:360px;width:100%;background:#1b2e1b;isolation:isolate}
.le-map-placeholder{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:26px;font-size:12px;line-height:1.6;color:var(--muted)}
.le-map-credit{padding:7px 12px;background:#0e1a0e;color:var(--soft);font-size:9px;line-height:1.45;border-top:1px solid rgba(255,255,255,.08)}
.le-map .leaflet-control-attribution{font:9px/1.35 'Jost',sans-serif;background:rgba(255,255,255,.88)}
.le-review{display:none;padding:14px;background:#182a18;border-top:1px solid rgba(255,255,255,.08)}
.le-review.is-visible{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.le-review.is-visible>div:first-child{width:100%;min-width:0}
.le-review-title{font-size:13px;font-weight:700;color:var(--mist);margin-bottom:3px}
.le-review p{font-size:11px;line-height:1.55;color:var(--soft);margin:0}
.le-review-actions{display:flex;width:100%;gap:7px;flex-wrap:wrap;justify-content:flex-start}
.le-tools{padding:13px 14px;background:#182a18;border-top:1px solid rgba(255,255,255,.08)}
.le-instructions{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.55;color:var(--mist);margin-bottom:10px}
.le-step{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:50%;background:var(--green);color:#fff;font-size:10px;font-weight:800;flex:0 0 auto;margin-top:1px}
.le-tool-row{display:flex;gap:7px;flex-wrap:wrap}
.le-measurement{display:none;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border-top:1px solid rgba(255,255,255,.08);background:rgba(90,173,90,.08)}
.le-measurement.is-visible{display:flex}
.le-area{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;color:#fff}
.le-area-meta{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--sage);font-weight:700}
.le-estimate{display:none;padding:16px 14px 18px;border-top:1px solid rgba(255,255,255,.08);background:#102010}
.le-estimate.is-visible{display:block}
.le-estimate-title{font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--sage);margin-bottom:10px}
.le-frequency{display:none;margin-bottom:12px}
.le-frequency.is-visible{display:block}
.le-frequency label{display:block;font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--soft);margin-bottom:6px}
.le-frequency select{width:100%;min-height:42px;background:#1e321e;color:#fff;border:1px solid rgba(200,214,196,.26);border-radius:3px;padding:9px 11px;font:600 13px 'Jost',sans-serif}
.le-price-list{display:grid;gap:7px}
#le-price-list{display:none}
.le-price-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:11px 12px;border:1px solid rgba(255,255,255,.08);border-radius:3px;background:rgba(255,255,255,.025)}
.le-price-name{font-size:12px;font-weight:600;color:var(--mist);line-height:1.4}
.le-price-note{display:block;font-size:10.5px;font-weight:400;color:var(--soft);margin-top:2px;line-height:1.45}
.le-price{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;color:#fff;white-space:nowrap;line-height:1}
.le-price small{font:500 10px 'Jost',sans-serif;color:var(--soft)}
.le-disclaimer{margin:9px 0 0;font-size:10.5px;line-height:1.5;color:var(--soft)}
.le-addon-note{margin-top:10px;padding:10px 11px;border-left:3px solid var(--sage);background:rgba(255,255,255,.035);font-size:11px;line-height:1.55;color:var(--muted)}
.le-addon-note strong{color:var(--mist)}
.le-booking{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}
.le-booking>div{display:flex;flex-direction:column;gap:3px}
.le-booking-label{font-size:9px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--sage)}
.le-booking strong{font-family:'Cormorant Garamond',serif;font-size:25px;line-height:1.1;color:#fff}
.le-book-status{min-height:0;margin:9px 0 0;font-size:11px;line-height:1.55;color:var(--mist)}
#le-booking[hidden],#le-book-status[hidden]{display:none!important}

@media(max-width:560px){
  .le-intro{padding:16px 14px}
  .le-title{font-size:23px}
  .le-map{height:310px}
  .le-review.is-visible{grid-template-columns:1fr;align-items:stretch}
  .le-review-actions{justify-content:flex-start}
  .le-review-actions .le-btn{flex:1 1 130px}
  .le-tools,.le-measurement,.le-estimate{padding-left:12px;padding-right:12px}
  .le-btn{font-size:9.5px;padding:10px 11px}
  .le-price-row{gap:10px}
  .le-price{font-size:20px}
  .le-booking{align-items:stretch;flex-direction:column}
  .le-booking .le-btn{width:100%}
}
