.form-step{display:none}.form-step.active{display:block;animation:step-in .25s ease}@keyframes step-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.question{font:700 18px Manrope,sans-serif;margin:0 0 16px}
.selected-place{display:flex;align-items:center;gap:12px;background:#edf5f0;border:1px solid #cfe0d6;padding:13px 14px;margin-bottom:16px;text-align:left}
.selected-place>span{width:30px;height:30px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:700}
.selected-place div{min-width:0;flex:1}.selected-place small,.selected-place b{display:block}.selected-place small{font-size:11px;color:var(--muted)}.selected-place b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.selected-place button{border:0;background:transparent;color:var(--green);font-size:14px;font-weight:700;text-decoration:underline;cursor:pointer}
.type-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-height:340px;overflow:auto;padding:2px}
.type-choice{min-height:72px;padding:11px 8px;border:1px solid var(--line);background:#fbfaf6;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-family:inherit}
.type-choice:hover,.type-choice:focus{border-color:var(--green);outline:3px solid rgba(31,97,79,.1)}.type-choice.selected{border:2px solid var(--green);background:#edf5f0;color:var(--green)}
.type-choice span{font-size:20px;line-height:1}.type-choice b{font-size:13px}
.button-row{display:grid;grid-template-columns:1fr 2fr;gap:10px;margin-top:12px}.button-row .primary{margin:0}
.secondary{border:1px solid var(--line);background:transparent;padding:14px;font:700 13px Manrope,sans-serif;color:var(--ink);cursor:pointer}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-grid label,.form-step>label{margin-bottom:16px}
.unit-input{position:relative;display:block}.unit-input input{padding-right:42px}.unit-input i{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-style:normal;font-size:14px;color:var(--muted)}
select{width:100%;font:500 16px "DM Sans",sans-serif;color:var(--ink);background:#fbfaf6;border:1px solid #cdd7d0;border-radius:3px;padding:16px 13px;margin-top:8px;outline:none}
.result-step{text-align:center}.result-loading{padding:35px 5px}.result-loading h3{font:700 18px Manrope,sans-serif;margin:18px 0 7px}.result-loading p{font-size:13px;line-height:1.5;color:var(--muted)}
.large-spinner{display:block;width:40px;height:40px;border:4px solid #dfe7e2;border-top-color:var(--green);border-radius:50%;margin:auto;animation:spin .8s linear infinite}
.estimate{font:800 clamp(30px,4vw,42px) Manrope,sans-serif;letter-spacing:-1.8px;margin:10px 0 4px}.range-label{text-align:center;font-size:13px;color:var(--muted);margin:0}
.estimate-track{height:5px;background:#dfe4df;border-radius:9px;margin:22px 25px;position:relative}.estimate-track span{position:absolute;left:12%;right:12%;height:100%;background:linear-gradient(90deg,var(--gold),var(--green));border-radius:9px}.estimate-track span:after{content:"";position:absolute;left:50%;top:50%;width:13px;height:13px;background:var(--paper);border:3px solid var(--green);border-radius:50%;transform:translate(-50%,-50%)}
.facts{text-align:left;border:1px solid var(--line);margin-bottom:14px}.facts div{padding:10px 13px}.facts div+div{border-top:1px solid #edf0ed}.facts small,.facts b{display:block}.facts small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.facts b{font-size:12px;margin-top:3px}
.accuracy-note{text-align:left;background:#f0f6f2;border-left:3px solid var(--green);padding:13px 14px;margin-bottom:14px;font-size:12px;line-height:1.5}.accuracy-note p{margin:5px 0 0;color:#53615b}.result-kicker{color:var(--green);font-size:10px;letter-spacing:2px;font-weight:700;margin:0}
@media(max-width:560px){.type-grid{max-height:300px}.type-choice{min-height:67px}.detail-grid{grid-template-columns:1fr}.card-head h2{font-size:21px}.time-pill{font-size:10px}.suggestions{top:157px}}
