/* Calculator and optional Estimate Message handoff only. Shared site styles stay unchanged. */
.calc-banner{background:linear-gradient(110deg,#102d70,#1442ad 75%);border-bottom:5px solid #e1b758;color:#fff;padding:42px 0 45px}
.calc-banner .wrap,.calc-main .wrap{max-width:1020px}
.calc-kicker{color:#f2d385;text-transform:uppercase;letter-spacing:.13em;font-size:.8rem;font-weight:800;margin-bottom:13px}
.calc-banner h1{color:#fff;max-width:28ch;font-size:clamp(2.2rem,4vw,3.25rem);margin-bottom:13px}
.calc-banner p:last-child{color:#edf3ff;font-size:1.12rem;max-width:66ch;margin-bottom:0}
.calc-main{background:#f4f7fb;padding:40px 0 65px}
.calc-intro{max-width:69ch;margin-bottom:20px}
.calc-intro h2{margin-bottom:12px}
.calc-intro p{color:#344354;font-size:1.04rem}
.calc-intro .calc-early-help{font-size:.93rem;margin-top:12px;margin-bottom:0;color:#42546a}
.calc-early-help a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.calc-choice,.calc-panel{border:0;margin:0;padding:0;min-width:0}
.calc-choice legend,.calc-panel legend{font-size:1.18rem;color:#15212e;font-weight:800;margin-bottom:17px}
.calc-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-bottom:28px}
.calc-choice-card{display:flex;gap:12px;align-items:flex-start;background:#fff;border:2px solid #d6e1ed;border-radius:12px;padding:21px 22px;cursor:pointer;min-width:0}
.calc-choice-card:has(input:checked){border-color:#1442ad;box-shadow:0 0 0 3px rgba(20,66,173,.1)}
.calc-choice-card input,.calc-option input{accent-color:#1442ad;flex:0 0 auto;width:20px;height:20px;margin-top:3px}
.calc-choice-card strong{display:block;color:#123b96;font-size:1.18rem;line-height:1.25;margin-bottom:5px}
.calc-choice-card small{display:block;color:#46576a;font-size:.9rem;line-height:1.48}
.calc-panel{background:#fff;border:1px solid #dce5ee;border-top:4px solid #e1b758;border-radius:12px;padding:30px 32px;margin-bottom:21px}
.calc-option{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid #e8edf3;cursor:pointer}
.calc-option:last-child{border-bottom:0}
.calc-option strong{display:block;color:#1c385a;line-height:1.35}
.calc-option small{display:block;color:#536376;font-size:.86rem;margin-top:3px}
.calc-field label{display:block;color:#172638;font-weight:800;margin-bottom:8px}
.calc-field input{display:block;width:min(100%,300px);min-height:48px;padding:10px 13px;font:inherit;font-size:1.05rem;color:#15212e;background:#fff;border:1px solid #8fa3b9;border-radius:8px}
.calc-field p{color:#4a5a6a;margin:10px 0 0;font-size:.88rem}
.calc-inline-button{background:none;border:0;color:#1442ad;text-decoration:underline;text-underline-offset:3px;font-weight:700;margin-top:17px;padding:5px 0}
.calc-run{min-height:50px;background:#e1b758;border:1px solid #96702b;border-radius:9px;padding:11px 27px;color:#15212e;font-weight:800;font-size:1rem}
.calc-run:hover{background:#c9a046}
.calc-error{background:#fff2f2;border-left:4px solid #a92d36;color:#762028;border-radius:0 8px 8px 0;padding:14px 18px;margin:19px 0;font-weight:700}
.calc-result{background:#fff;border:1px solid #d9e2ec;border-left:5px solid #1442ad;border-radius:0 12px 12px 0;padding:30px 32px;margin-top:27px;box-shadow:0 10px 25px rgba(16,52,130,.055)}
.calc-result h2{color:#123b96;font-size:clamp(1.3rem,2.3vw,1.7rem);margin-bottom:13px}
.calc-result .calc-amount{color:#15212e;font-size:clamp(1.65rem,3vw,2.25rem);font-weight:800;line-height:1.22;margin-bottom:12px}
.calc-result.is-unpriced .calc-amount{font-size:1.24rem;line-height:1.4}
.calc-result p{color:#35465a}
.calc-result .calc-exclusions{font-size:.92rem;color:#4c5c6c}
.calc-result .calc-qualification{font-size:.88rem;font-weight:700;color:#344354;border-top:1px solid #e5eaf1;padding-top:13px}
.calc-include{display:flex;gap:10px;align-items:flex-start;background:#f2f6fb;border:1px solid #dce5ef;border-radius:8px;padding:12px 14px;color:#22384e;font-weight:700;cursor:pointer}
.calc-include input{accent-color:#1442ad;flex:0 0 auto;width:20px;height:20px;margin-top:2px}
.calc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px;align-items:center}
.calc-actions .btn{padding:13px 18px}
.calc-actions .calc-secondary{display:inline-block;font-weight:700;color:#1442ad;padding:10px 5px}
.calc-handoff-error{background:#fff8e9;border-left:4px solid #b17a26;padding:16px 18px;margin:19px 0;border-radius:0 8px 8px 0;color:#24364b}
.calc-handoff-error p{color:#24364b;margin-bottom:11px}
.calc-handoff-error textarea{display:block;width:100%;min-height:140px;resize:vertical;padding:11px 12px;border:1px solid #899eaf;border-radius:7px;font:inherit;color:#15212e;background:#fff}
.calc-handoff-error button{display:inline-block;background:#fff;border:1px solid #a9bde1;border-radius:6px;padding:9px 12px;margin:11px 15px 0 0;color:#1442ad;font-weight:700}
.calc-handoff-error a{display:inline-block;font-weight:700;margin-top:11px}
.calc-fallback{background:#fff;border-left:5px solid #e1b758;padding:26px 30px;border-radius:0 10px 10px 0}
.calc-fallback h2{font-size:1.5rem}
.calc-fallback p{color:#344354}
.calc-explain{background:#fff;padding:65px 0 76px}
.calc-explain .wrap{max-width:1020px}
.calc-explain h2{margin-bottom:20px}
.calc-explain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}
.calc-explain-grid article{background:#f7f9fc;border:1px solid #e1e7ef;border-top:4px solid #e1b758;border-radius:10px;padding:25px}
.calc-explain-grid h3{color:#123b96;margin-bottom:10px}
.calc-explain-grid p{color:#344354;margin-bottom:0}
#calc-app[hidden],#calc-fallback[hidden],#calc-sump[hidden],#calc-drain[hidden],#calc-result[hidden],#calc-error[hidden],#calc-handoff-error[hidden]{display:none}
.hero .hero-form-card .calc-prefill-note{margin:9px 0 0;color:#344354;background:#edf3fb;border-left:3px solid #1442ad;padding:10px 12px;border-radius:0 6px 6px 0;font-size:.83rem}
.calc-prefill-note button{display:inline-block;background:#fff;color:#1442ad;border:1px solid #a9bde1;border-radius:6px;padding:6px 9px;margin-top:7px;font-weight:700;cursor:pointer}
@media(max-width:650px){.calc-banner{padding:32px 0 32px}.calc-banner h1{font-size:2.08rem}.calc-main{padding:28px 0 54px}.calc-intro{margin-bottom:17px}.calc-choice-grid,.calc-explain-grid{grid-template-columns:1fr}.calc-choice-card{padding:19px}.calc-panel,.calc-result{padding:24px}.calc-explain{padding:55px 0 62px}.calc-actions .btn{width:100%;text-align:center}.calc-actions .calc-secondary{width:100%;text-align:center}}
