.estimate{
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;
  --space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;
  --estimate-paper:#fbf9f4;--estimate-muted:#cbd4cc;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  gap:var(--space-12);margin-top:var(--space-10);align-items:start;
}
.estimate [hidden]{display:none!important}
.estimate__intro{max-width:64ch}
.estimate__inputs{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.estimate label{display:flex;flex-direction:column;gap:var(--space-2);font-weight:500;font-size:var(--text-sm);min-width:0}
.estimate input,.estimate select{
  width:100%;min-width:0;min-height:52px;padding:var(--space-3);
  border:1px solid var(--line);border-radius:2px;background:var(--estimate-paper);
  color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);
  transition:border-color .2s,box-shadow .2s;
}
.estimate input:focus,.estimate select:focus{border-color:var(--green-700);outline:2px solid var(--green-700);outline-offset:2px}
.estimate__group{margin-top:var(--space-6)}
.estimate__hint{font-size:var(--text-sm);color:var(--ink-soft);margin:var(--space-2) 0 0;line-height:1.6}
.estimate__error{color:#8b2920;font-size:var(--text-sm);margin:var(--space-4) 0;min-height:1.5em}
.estimate__rates{margin-top:var(--space-6);border-block:1px solid var(--line)}
.estimate__rates div{display:grid;grid-template-columns:1fr auto;gap:var(--space-4);padding:var(--space-4) 0}
.estimate__rates div+div{border-top:1px solid var(--line)}
.estimate__rates dt,.estimate__rates dd{font-size:var(--text-sm);margin:0}
.estimate__rates dt strong{display:block;font-weight:600}
.estimate__rates dt span{display:block;color:var(--ink-soft);font-size:var(--text-xs)}
.estimate__rates dd{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.estimate__rates dd span{display:block;color:var(--ink-soft);font-size:var(--text-xs)}
.estimate details{margin-top:var(--space-6);border-top:1px solid var(--line);font-size:var(--text-sm)}
.estimate summary{cursor:pointer;min-height:44px;padding:var(--space-4) 0;font-weight:500}
.estimate summary:hover{text-decoration:underline}
.estimate details p{font-size:var(--text-sm);color:var(--ink-soft);line-height:1.7}
.estimate__summary{background:var(--green-800);color:var(--bone);padding:clamp(var(--space-6),3vw,var(--space-10));border-radius:2px}
.estimate__summary h3{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin:0 0 var(--space-4);color:var(--estimate-muted)}
.estimate__empty{padding:var(--space-6) 0 var(--space-8)}
.estimate__empty strong{display:block;font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;margin-bottom:var(--space-4)}
.estimate__empty p{color:var(--estimate-muted);font-size:var(--text-sm);margin:0;max-width:40ch}
.estimate__total{display:block;font-family:var(--font-display);font-size:clamp(2rem,3.2vw,3rem);line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.02em;overflow-wrap:anywhere}
.estimate__trip{font-size:var(--text-xs);color:var(--estimate-muted);margin:var(--space-3) 0 var(--space-2)}
.estimate__split{font-size:var(--text-sm);margin:0 0 var(--space-6)}
.estimate__lines{margin:var(--space-6) 0}
.estimate__row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0;font-size:var(--text-sm);line-height:1.5}
.estimate__row dt{color:var(--estimate-muted)}
.estimate__row dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.estimate__subtotal{border-top:1px solid rgba(246,242,234,.2);margin-top:var(--space-2);padding-top:var(--space-3)}
.estimate__subtotal dt{color:var(--bone)}
.estimate__summary details{border-color:rgba(246,242,234,.2);margin-top:var(--space-4)}
.estimate__table{overflow-x:auto}
.estimate table{width:100%;border-collapse:collapse;font-size:var(--text-xs)}
.estimate th,.estimate td{text-align:left;padding:var(--space-2) var(--space-2) var(--space-2) 0;border-bottom:1px solid rgba(246,242,234,.15)}
.estimate td:last-child,.estimate th:last-child{text-align:right;white-space:nowrap}
.estimate__notice{font-size:var(--text-xs);color:var(--bone);border-top:1px solid rgba(246,242,234,.2);padding-top:var(--space-4);margin-top:var(--space-4);line-height:1.6}
.estimate__cta{display:block;width:100%;min-height:48px;margin-top:var(--space-6);background:var(--bone);border-color:var(--bone);color:var(--green-800)}
.estimate__cta:hover{background:var(--bone-2);color:var(--green-900)}
.estimate__cta:disabled{cursor:not-allowed;opacity:.65;transform:none}
.estimate__cta:focus-visible{outline-color:var(--bone)}
.estimate__disclaimer{font-size:var(--text-xs);line-height:1.65;color:var(--estimate-muted);margin:var(--space-4) 0 0}
.estimate__alt{font-size:var(--text-sm);margin-top:var(--space-6)}
.estimate__alt a{display:inline-block;padding-block:var(--space-3)}
.estimate__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:800px){.estimate{grid-template-columns:1fr;gap:var(--space-8)}}
@media(max-width:420px){.estimate__inputs{grid-template-columns:1fr}.estimate__summary{padding:var(--space-6)}.estimate__rates div{gap:var(--space-2)}}
@media(prefers-reduced-motion:reduce){.estimate *{transition:none!important;scroll-behavior:auto!important}}
