/* ---------- Price estimator (#estimate): re-skins the pasted-in tool via its own CSS variables ---------- */
.est-head .sub { margin-inline: auto; max-width: 40ch; }
.est-card { margin-top: clamp(2rem, 5vw, 3.5rem); }
#estimate #sle-estimator {
  --sle-text: var(--ink); --sle-bg: var(--white); --sle-panel: var(--stone); --sle-border: #857A6C;
  --sle-strong-border: var(--ink); --sle-hover: var(--stone); --sle-radius: 14px; --sle-font: var(--font);
  max-width: 760px; padding: clamp(1.25rem, 4vw, 2.75rem); border-radius: var(--r);
  font-size: 1rem; line-height: 1.55;
}
#estimate #sle-estimator *, #estimate #sle-estimator *::before, #estimate #sle-estimator *::after { color: var(--ink); }
#estimate #sle-estimator .sle-disclaimer, #estimate #sle-estimator .sle-qnum, #estimate #sle-estimator .sle-help { color: var(--ink-soft); }
#estimate #sle-estimator h3 { font-size: 1.125rem; font-weight: 600; letter-spacing: -.015em; line-height: 1.2; }
#estimate #sle-estimator .sle-result-title { font-size: clamp(1.5rem, 3vw, 1.875rem); font-weight: 700; letter-spacing: -.025em; margin-top: 0; }
#estimate #sle-estimator .sle-lead-title { margin-top: 0; }
#estimate #sle-estimator legend { font-weight: 600; letter-spacing: -.01em; }
#estimate #sle-estimator .sle-qnum { font-weight: 600; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; color: var(--clay); margin-bottom: .25rem; }
#estimate #sle-estimator .sle-option input, #estimate #sle-estimator .sle-check input { accent-color: var(--clay); }
#estimate #sle-estimator .sle-option:has(input:checked) { border-color: var(--clay); background: var(--stone); }
#estimate #sle-estimator :focus-visible { outline: 3px solid var(--clay); outline-offset: 3px; }
#estimate #sle-estimator .sle-btn {
  border: 0; border-radius: 999px; min-height: 0; padding: .9rem 1.75rem; font-size: 1.0625rem; font-weight: 600;
  background: var(--clay); color: #fff; transition: background .2s, transform .2s;
}
#estimate #sle-estimator .sle-btn:hover { background: var(--clay-dark); }
#estimate #sle-estimator .sle-btn:active { transform: scale(.98); }
#estimate #sle-estimator .sle-btn, #estimate #sle-estimator .sle-btn * { color: #fff; }
#estimate #sle-estimator .sle-lead .sle-btn { background: transparent; box-shadow: inset 0 0 0 2px var(--clay); }
#estimate #sle-estimator .sle-lead .sle-btn:hover { background: var(--stone); }
#estimate #sle-estimator .sle-lead .sle-btn, #estimate #sle-estimator .sle-lead .sle-btn * { color: var(--clay); }
#estimate #sle-estimator .sle-link { color: var(--clay); font-weight: 600; text-decoration: none; }
#estimate #sle-estimator .sle-link:hover { text-decoration: underline; text-underline-offset: 4px; }
#estimate #sle-estimator .sle-field label { font-size: .9rem; }
#estimate #sle-estimator .sle-field input[type=text], #estimate #sle-estimator .sle-field input[type=email] {
  border: 1px solid rgba(26, 22, 19, .22); border-radius: 14px; padding: .75rem .9rem; background: var(--white);
}
#estimate #sle-estimator .sle-field input:focus { outline: 3px solid rgba(156, 67, 38, .35); border-color: var(--clay); }
#estimate #sle-estimator .sle-consent-label { font-weight: 400; }
#estimate #sle-estimator .sle-lead { border-radius: 20px; border-color: rgba(26, 22, 19, .15); }
#estimate #sle-estimator .sle-talk { border-radius: 14px; }
#estimate #sle-estimator .sle-note { border-left-color: var(--clay); }
#estimate #sle-estimator ul { list-style: disc; padding-left: 1.4rem; margin: 0 0 12px; }
#estimate #sle-estimator li { margin: 0 0 .25rem; }
#estimate #sle-estimator .sle-result { border-width: 1px; border-color: var(--sle-border); border-radius: 20px; }
@media (max-width: 480px) { #estimate #sle-estimator { padding: 1.1rem; } }

/* The page heading is an h1 here; keep the size the section heading had on the home page. */
.est-head h1 { font-size: clamp(2.2rem, 5.4vw, 4rem); }
