.estimate .quote-heading{font-size:1rem;font-weight:750;letter-spacing:.02em;padding:0 0 18px;margin:0 0 22px;border-bottom:1px solid #ffffff66;color:#fff;background:none;border-radius:0}.estimate h2{margin-bottom:12px}#originalEstimate{margin-top:18px;font-size:1rem;color:#e4fff6;text-decoration:line-through}#customerDiscount{margin-top:22px;padding-top:20px;border-top:1px solid #ffffff66}#customerDiscount[hidden],#originalEstimate[hidden]{display:none}#discountSaving{font-weight:800;margin:0 0 12px}#applyDiscount{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:center;width:100%;min-height:76px;padding:14px 20px;background:#07584d;color:#fff;border:1px solid #a3ead9;border-radius:12px;font:inherit;font-weight:750;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-y}#discountLabel{position:relative;z-index:1}.discount-fill{position:absolute;inset:0;background:#043e36;transform:scaleX(0);transform-origin:left;z-index:0}.holding .discount-fill{transform:scaleX(1);transition:transform 3s linear}#applyDiscount:disabled{cursor:default;background:#07584d}#applyDiscount:focus-visible{outline:3px solid #fff;outline-offset:4px}#discountFeedback{font-size:14px;margin:10px 0 0;color:#fff}.keen-confetti{position:fixed;z-index:10000;width:0;height:0;pointer-events:none}.keen-confetti i{position:absolute;opacity:0;will-change:transform,opacity}@media(prefers-reduced-motion:reduce){.keen-confetti{display:none}}
/* The quotation name is the main heading; the estimate label is secondary. */
.estimate .quote-heading{font-size:clamp(1.65rem,3.2vw,2.15rem);line-height:1.2;font-weight:850;letter-spacing:0;margin:0 0 24px;padding:0 0 22px;overflow-wrap:anywhere}
.estimate .estimate-label{font-size:1.125rem;line-height:1.4;font-weight:600;color:#e4fff6;margin:0 0 12px}
.estimate .total{font-size:clamp(3.25rem,7vw,4.5rem);line-height:1.08;margin:0 0 26px;font-weight:850;overflow-wrap:anywhere}
.estimate .breakdown{padding:16px 18px}
.estimate .breakdown .row{align-items:center;gap:20px;padding:10px 0;font-size:1.125rem;line-height:1.4}
.estimate .breakdown .row>span{min-width:0;overflow-wrap:anywhere}
.estimate .breakdown .row>strong{flex-shrink:0;font-weight:800}
.estimate .response{margin-top:26px}
@media(max-width:560px){.estimate .quote-heading{font-size:1.65rem;padding-bottom:18px;margin-bottom:20px}.estimate .breakdown{padding:12px 14px}.estimate .breakdown .row{font-size:1rem;gap:12px}}
