/* Home value tool structure. Each concept sets --hv-* tokens and its own fonts. */
.hv{--hv-ink:#14202e;--hv-muted:#5b6876;--hv-accent:#0b2a3c;--hv-soft:#f2f0ea;--hv-line:#ddd6c9;--hv-r:10px;--hv-display:inherit;color:var(--hv-ink);min-height:480px}
.hv .field{margin-bottom:14px}
.hv .field label{display:block;font-size:13.5px;font-weight:600;margin-bottom:6px}
.hv .field input,.hv .field select{width:100%;border:1px solid var(--hv-line);border-radius:var(--hv-r);padding:13px 14px;font:inherit;font-size:16px;background:#fff;color:var(--hv-ink)}
.hv .field input:focus,.hv .field select:focus{outline:2px solid var(--hv-accent);border-color:transparent}
.hv .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hv-btn{display:flex;width:100%;justify-content:center;align-items:center;gap:8px;border:0;cursor:pointer;background:var(--hv-accent);color:#fff;font:700 16px/1 inherit;padding:16px 18px;border-radius:var(--hv-r);text-decoration:none}
.hv-step{display:none}.hv-step.on{display:block;animation:hvup .45s ease}
@keyframes hvup{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.hv-prog{display:flex;gap:6px;margin-bottom:18px}.hv-prog i{flex:1;height:4px;background:var(--hv-line)}.hv-prog i.on{background:var(--hv-accent)}
.hv h3{font-family:var(--hv-display);margin:0 0 6px;font-size:26px;line-height:1.1}
.hv .hint{margin:0 0 16px;color:var(--hv-muted)}
.hv-src{font-size:12.5px;color:var(--hv-muted);margin:12px 0 0}
.hv-err{color:#b3261e;font-size:14.5px;margin:10px 0 0}
.hv-err a{color:inherit}
.hv-pg{display:none;margin-top:16px;background:var(--hv-soft);border-radius:var(--hv-r);padding:14px 16px}
.hv-pg.on{display:block}
.pg-top{display:flex;justify-content:space-between;font-size:14px;font-weight:600;margin-bottom:8px}
.pg-bar{height:6px;background:var(--hv-line);overflow:hidden;margin-bottom:10px}
.pg-bar i{display:block;height:100%;width:0;background:var(--hv-accent);transition:width .2s linear}
.pg-row{display:grid;grid-template-columns:16px 1fr auto;gap:10px;align-items:center;font-size:13.5px;padding:4px 0;color:var(--hv-muted)}
.pg-row em{width:12px;height:12px;border-radius:50%;border:2px solid var(--hv-line);border-top-color:var(--hv-accent);animation:hvsp .8s linear infinite}
.pg-row.ok em{animation:none;border:0;background:#2f7a4f}.pg-row.skip em{animation:none;border:0;background:#c9a227}
.pg-row.ok{color:var(--hv-ink)}.pg-row small{font-size:12.5px;white-space:nowrap}
.pg-note{display:block;font-size:12.5px;color:var(--hv-muted)}
.hv-pick{display:grid;gap:8px;margin-top:12px}
.hv-pick button{text-align:left;border:1px solid var(--hv-line);background:#fff;border-radius:var(--hv-r);padding:12px 14px;font:inherit;font-size:15px;cursor:pointer;color:var(--hv-ink)}
.hv-pick button:hover{border-color:var(--hv-accent)}
.hv-addr{font:600 21px/1.2 var(--hv-display);margin-bottom:16px}
.hv-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
.hv-grid div{background:var(--hv-soft);border-radius:var(--hv-r);padding:12px 14px}
.hv-grid small{display:block;color:var(--hv-muted);font-size:12.5px}.hv-grid b{font-size:17px}
.hv-tease{background:var(--hv-soft);border-left:3px solid var(--hv-accent);padding:14px 16px;font-size:15px;margin-bottom:18px}
.hv-q{font-weight:600;margin:0 0 12px}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.seg button{border:1px solid var(--hv-line);background:#fff;border-radius:var(--hv-r);padding:11px 6px;font:inherit;font-size:14px;cursor:pointer;color:var(--hv-ink)}
.seg button.on{background:var(--hv-accent);color:#fff;border-color:var(--hv-accent)}
.hv-lbl{display:block;color:var(--hv-muted);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.hv-range{font:700 clamp(30px,4vw,42px)/1.1 var(--hv-display);color:var(--hv-accent);margin:6px 0 14px}
.hv-bar{position:relative;height:10px;background:var(--hv-line);margin:0 0 10px}
.hv-bar span{position:absolute;top:0;bottom:0;background:var(--hv-accent);opacity:.75}
.hv-bar em{position:absolute;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:#fff;border:4px solid var(--hv-accent);transition:left .9s cubic-bezier(.2,.7,.2,1)}
.hv-likely{margin:0 0 14px;font-size:15px;color:var(--hv-muted)}.hv-likely b{color:var(--hv-ink)}
.hv-eq{background:#e9f6ee;color:#1f5a38;padding:12px 14px;font-size:15px}.hv-eq:empty{display:none}
.hv-comps{width:100%;border-collapse:collapse;margin:8px 0 16px;font-size:14.5px}
.hv-comps td{padding:8px 0;border-bottom:1px solid var(--hv-line)}
.hv-comps td:last-child{text-align:right;font-weight:700}.hv-comps small{color:var(--hv-muted)}
.hv-demo{font-size:13px;color:var(--hv-muted);background:var(--hv-soft);padding:10px 12px;margin-bottom:14px}
.hv-again{display:block;margin:12px auto 0;background:none;border:0;color:var(--hv-accent);font:600 14px inherit;text-decoration:underline;cursor:pointer}
.spin{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:hvsp .7s linear infinite}
@keyframes hvsp{to{transform:rotate(360deg)}}
.hv-early{background:var(--hv-accent);color:#fff;padding:16px 18px;margin-bottom:10px;border-radius:var(--hv-r)}
.hv-early .hv-lbl{color:rgba(255,255,255,.72)}
.hv-early b{display:block;font:700 clamp(26px,3vw,32px)/1.1 var(--hv-display);margin:4px 0 2px}
.hv-early span{font-size:13px;color:rgba(255,255,255,.75)}
.hv-early .hv-dots{font-size:16px;font-weight:500;color:#fff}
.hv-dots::after{content:"";animation:hvdots 1.2s steps(4) infinite}
@keyframes hvdots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}

.hv-consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.45;color:#5d6874;margin:4px 0 14px}.hv-consent input{margin-top:3px;width:16px;height:16px;flex:none}
