/* Calculator — delight layer (loads after calculator.css) */
:root{--cd-cu:#b4561f;--cd-cu2:#f0a35e;--cd-navy:#0b1530;--cd-glow:#ffb86b}
.calc-hero{position:relative;overflow:hidden;color:#fff;text-align:center;padding-block:56px 84px;background:radial-gradient(600px 300px at 80% 0,rgba(240,163,94,.45),transparent 60%),linear-gradient(135deg,#0b1530,#14244d)}
.calc-hero h1,.calc-hero p,.calc-hero .eyebrow{color:#fff;position:relative}.calc-hero p{opacity:.8}
.calc-hero::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;inset-inline-start:8%;top:-90px;background:radial-gradient(circle,rgba(255,184,107,.7),transparent 65%);animation:cdFloat 7s ease-in-out infinite}
@keyframes cdFloat{50%{transform:translateY(16px) scale(1.06)}}
.calc-wrap{margin-top:-48px;position:relative}
.step-indicator{display:none}
.cd-progress{margin:0 auto 18px;max-width:760px;padding:14px 18px;border-radius:20px;background:#fff;box-shadow:0 14px 40px rgba(11,21,48,.12)}
.cd-progress__track{position:relative;height:10px;border-radius:10px;background:#eef1f8}
.cd-progress__bar{position:absolute;inset-block:0;inset-inline-start:0;width:12%;border-radius:10px;background:linear-gradient(90deg,var(--cd-cu),var(--cd-cu2));transition:width .8s cubic-bezier(.2,.8,.2,1)}
.cd-progress__sun{position:absolute;top:50%;inset-inline-start:12%;width:26px;height:26px;margin:-13px -13px 0 0;border-radius:50%;background:radial-gradient(circle,#fff3c4,var(--cd-glow));box-shadow:0 0 0 6px rgba(255,184,107,.28),0 0 22px var(--cd-glow);transition:inset-inline-start .8s cubic-bezier(.2,.8,.2,1);animation:cdPulse 2.4s infinite}
@keyframes cdPulse{50%{box-shadow:0 0 0 12px rgba(255,184,107,.12),0 0 30px var(--cd-glow)}}
.cd-progress p{margin:12px 0 0;font-weight:700;color:var(--cd-navy);font-size:15px}
.calc-card{border-radius:28px;box-shadow:0 30px 70px rgba(11,21,48,.14);border:0}
.calc-step.is-active{animation:cdIn .55s cubic-bezier(.2,.8,.2,1)}
@keyframes cdIn{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
.calc-step h2{font-size:clamp(21px,3.4vw,28px)}
.field label{font-weight:700}
.input,.select{border-radius:16px;border:2px solid #e5e9f2;transition:.25s}
.input:focus,.select:focus{border-color:var(--cd-cu);box-shadow:0 0 0 5px rgba(180,86,31,.14);outline:0}
.cd-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.cd-chip,.cd-choice{font:inherit;cursor:pointer;border:2px solid #e5e9f2;background:#fff;border-radius:99px;padding:9px 16px;color:var(--cd-navy);transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}
.cd-chip:hover,.cd-choice:hover{transform:translateY(-3px);border-color:var(--cd-cu2);box-shadow:0 10px 22px rgba(180,86,31,.14)}
.cd-chip:active,.cd-choice:active{transform:scale(.95)}
.cd-chip.on,.cd-choice.on{border-color:var(--cd-cu);background:linear-gradient(135deg,#fff4e8,#ffe3c7);box-shadow:0 8px 20px rgba(180,86,31,.2)}
.cd-chip small{opacity:.6;margin-inline-start:6px}
.cd-live{display:block;margin-top:8px;color:var(--cd-cu);font-weight:800;min-height:1.6em}
.cd-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-top:10px}
.cd-choice{border-radius:20px;padding:16px 10px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.cd-choice .cd-ico{font-size:30px;transition:transform .3s}.cd-choice.on .cd-ico{transform:scale(1.25) rotate(-6deg)}
.cd-choice small{font-size:12px;opacity:.65}
.cd-range{width:100%;accent-color:var(--cd-cu);margin-top:10px}
.cd-roof{margin-top:12px;padding:14px;border-radius:18px;background:linear-gradient(160deg,#eef3ff,#fff);border:1px dashed #c8d3ee}
.cd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(26px,1fr));gap:5px}
.cd-grid i{height:18px;border-radius:4px;background:linear-gradient(135deg,#1c3a78,#4b7bff);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);animation:cdPop .4s both}
@keyframes cdPop{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}
.cd-roof p{margin:10px 0 0;font-size:13px;color:#53607d}
details.cd-optional{margin-top:16px;border:2px dashed #dfe5f1;border-radius:18px;padding:4px 16px}
details.cd-optional>summary{cursor:pointer;font-weight:700;padding:12px 0;color:var(--cd-navy)}
details.cd-optional[open]{background:#fafbfe}
.appliance-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.appliance-chip{display:flex!important;flex-direction:column;align-items:center;gap:6px;padding:18px 10px!important;border-radius:20px!important;border:2px solid #e5e9f2;cursor:pointer;transition:.25s;position:relative}
.appliance-chip input{position:absolute;opacity:0;pointer-events:none}
.appliance-chip .cd-ico{font-size:32px;transition:transform .3s}
.appliance-chip:hover{transform:translateY(-4px)}
.appliance-chip:has(input:checked){border-color:var(--cd-cu);background:linear-gradient(135deg,#fff4e8,#ffe3c7);box-shadow:0 10px 24px rgba(180,86,31,.2)}
.appliance-chip:has(input:checked) .cd-ico{transform:scale(1.3) rotate(-8deg)}
.calc-actions{position:sticky;bottom:0;padding:12px 0;background:linear-gradient(transparent,#fff 40%);z-index:5}
.calc-actions .btn-cta{box-shadow:0 12px 28px rgba(180,86,31,.4);transition:transform .2s}.calc-actions .btn-cta:hover{transform:translateY(-2px) scale(1.02)}
.cd-toast{position:fixed;inset-inline:0;bottom:84px;margin:auto;width:max-content;max-width:90vw;padding:10px 20px;border-radius:99px;background:var(--cd-navy);color:#fff;font-weight:700;box-shadow:0 14px 34px rgba(0,0,0,.3);animation:cdToast 2.2s both;z-index:50}
@keyframes cdToast{0%{opacity:0;transform:translateY(20px)}12%,80%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-10px)}}
.cd-spark{position:fixed;width:9px;height:14px;border-radius:2px;z-index:60;pointer-events:none;animation:cdSpark 1s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes cdSpark{to{transform:translate(var(--dx),var(--dy)) rotate(var(--r));opacity:0}}
.calc-loading__sun{animation:cdSpin 3s linear infinite}@keyframes cdSpin{to{transform:rotate(360deg)}}
.calc-loading p{transition:opacity .3s;font-weight:700}
.result-card{animation:cdPop .6s both}.result-card:nth-child(2){animation-delay:.08s}.result-card:nth-child(3){animation-delay:.16s}.result-card:nth-child(4){animation-delay:.24s}.result-card:nth-child(5){animation-delay:.32s}.result-card:nth-child(6){animation-delay:.4s}
.result-card{transition:transform .3s,box-shadow .3s}.result-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(11,21,48,.14)}
@media(max-width:600px){.calc-hero{padding-block:36px 70px}.cd-choices{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
