.calc-progress{border-radius:26px;padding:12px 14px;box-shadow:0 20px 44px -28px #1a1a1a3d}.calc-progress .prog-track{background:#1a1a1a14;border-radius:3px;height:3px;left:54px;right:54px}.calc-progress .prog-fill{background:linear-gradient(90deg, var(--sage), var(--gold));border-radius:3px}.calc-progress .prog-step .dot{width:40px;height:40px;color:var(--ink-soft);transition:transform .35s var(--ease), background .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease), color .35s var(--ease);background:#fff;border-width:1.5px;border-color:#1a1a1a24;font-size:13px;font-weight:500}.calc-progress .prog-step .lbl{letter-spacing:.02em;color:var(--ink-soft);margin-top:4px;font-size:11.5px}.calc-progress .prog-step.done .dot{background:var(--sage);border-color:var(--sage);color:#fff}.calc-progress .prog-step.done .lbl{color:var(--ink)}.calc-progress .prog-step.active .dot{background:var(--charcoal);border-color:var(--charcoal);color:#fff;transform:scale(1.16);box-shadow:0 0 0 5px #1a1a1a0f,0 10px 20px -8px #1a1a1a80}.calc-progress .prog-step.active .lbl{color:var(--ink);font-weight:700}.calc-progress .prog-step:not(:disabled):not(.active):hover .dot{border-color:var(--sage);color:var(--ink)}.calc-progress .prog-step:disabled{opacity:.5}#cityGrid{grid-template-columns:repeat(3,1fr)}.city-more{margin-top:14px}.city-more>label{font-family:var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;font-size:10.5px;display:block}.city-select{position:relative}.city-select select{appearance:none;background:var(--limewash);border:1px solid var(--line-light);width:100%;font-family:var(--font-manrope), sans-serif;color:var(--ink);cursor:pointer;transition:border-color .2s var(--ease), box-shadow .2s var(--ease);border-radius:12px;padding:14px 44px 14px 16px;font-size:14px}.city-select select:hover{border-color:var(--ink-soft)}.city-select select:focus{border-color:var(--sage);outline:none;box-shadow:0 0 0 3px #4f5a4c24}.city-select select:not([data-empty=true]){border-color:var(--charcoal);font-weight:600}.city-select-caret{width:18px;height:18px;color:var(--ink-soft);pointer-events:none;position:absolute;top:50%;right:15px;transform:translateY(-50%)}@media (max-width:780px){#cityGrid{grid-template-columns:repeat(3,1fr)}}.calc-help{color:var(--ink-soft);margin:-6px 0 22px;font-size:14px;line-height:1.55}.scope-groups{flex-direction:column;gap:16px;display:flex}.scope-group{border:1px solid var(--line-light);border-radius:16px;padding:16px 18px 18px}.scope-group.is-hidden{display:none}.scope-group-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.scope-group-head h4{font-family:var(--font-spectral), serif;margin:0;font-size:18px;font-weight:500}.scope-toggle{cursor:pointer;font-family:var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--sage);background:0 0;border:none;padding:2px 4px;font-size:10.5px}.scope-toggle:hover{color:var(--sage-deep);text-decoration:underline}.scope-items{flex-wrap:wrap;gap:9px;display:flex}.scope-item{border:1.5px solid var(--line-light);cursor:pointer;color:var(--ink);-webkit-user-select:none;user-select:none;transition:border-color .2s var(--ease), background .2s var(--ease);border-radius:40px;align-items:center;gap:8px;padding:8px 15px 8px 12px;font-size:13px;display:inline-flex}.scope-item:hover{border-color:var(--ink-soft)}.scope-item input{width:16px;height:16px;accent-color:var(--sage);cursor:pointer;margin:0}.scope-item:has(input:checked){border-color:var(--charcoal);background:#4f5a4c0f;font-weight:600}.calc-summary{border-radius:26px;padding:34px 30px;box-shadow:inset 0 0 0 1px #1a1a1a0d}.calc-summary .annotation{letter-spacing:.26em;margin-bottom:14px}.calc-summary .sel-list{border-top:none;flex-direction:column;margin:12px 0 22px;padding-top:0;display:flex}.calc-summary .sel-list div{color:var(--ink-soft);border-bottom:1px solid #1a1a1a14;border-radius:8px;align-items:baseline;padding:13px 6px;font-size:13px}.calc-summary .sel-list div:last-child{border-bottom:none}.calc-summary .sel-list span{color:var(--ink-soft)}.calc-summary .sel-list b{color:var(--ink);font-size:14px}.calc-summary .sel-list div.bump{animation:selFlash .6s var(--ease);background:0 0}@keyframes selFlash{0%{background:#4f5a4c29}to{background:0 0}}.calc-summary .estimate-total{border-top:1px solid #1a1a1a1a;padding-top:22px}.calc-summary .estimate-total .lab{letter-spacing:.16em}.calc-summary .estimate-total .num{letter-spacing:.005em}.calc-summary-nudge{margin-top:16px}
