/* Home Valuation multi-step form (/home-valuation.html). v=hv1 */
.hv-page .mbar{display:none}.hv-page.hasbar{padding-bottom:0}
.hv-hero{min-height:30vh}.hv-hero h1{font-size:clamp(34px,5vw,52px)}
.hv-sec{padding:40px 0 64px;background:var(--cream)}
.hv-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}
.hv,.hv-thanks{background:#fff;border:1px solid var(--line);padding:32px 36px}
.hv-thanks{outline:none}.hv-thanks h2{font-size:32px;margin:6px 0 12px}
.hv-prog{margin-bottom:22px}.hv-pt{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin:0 0 8px}
.hv-bar{height:4px;background:var(--line)}.hv-bar span{display:block;height:100%;background:var(--gold);transition:width .3s}
.hv-step h2{font-size:clamp(26px,3.4vw,34px);margin:0 0 18px;outline:none}
.hv-sub{color:var(--mut);margin:-8px 0 18px}
.hv-q{border:0;padding:0;margin:0 0 22px;min-width:0}
.hv-q legend,.hv-f label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);font-weight:600;margin-bottom:10px;padding:0}
.hv-f{margin:0 0 18px;display:flex;flex-direction:column}.hv-f label{margin-bottom:6px}
.opt{text-transform:none;letter-spacing:0;font-weight:400;color:var(--mut)}
.hv-req{margin:0 0 14px;font-size:13px;color:var(--mut)}
.hv-req .req,.hv-f:has(>input[required])>label::after,.hv-addr>label::after,.hv-q:not(:has(.opt))>legend::after,.hv-chk:has(input[required])::after{color:#C9B48A;font-weight:600}
.hv-f:has(>input[required])>label::after,.hv-addr>label::after,.hv-q:not(:has(.opt))>legend::after,.hv-chk:has(input[required])::after{content:" *"}
.hv-help{font-size:14px;color:var(--mut);margin:0 0 8px}
.hv-f input,.hv-f textarea{font:inherit;font-size:16px;padding:14px;border:1px solid var(--line);background:#fff;color:var(--txt);border-radius:0;width:100%;box-sizing:border-box}
.hv-f input:focus,.hv-f textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}
.hv-f [aria-invalid=true],.hv-q.bad .hv-tile .t{border-color:#a3312a}
.hv-row,.hv-manual{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.hv-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.cols2 .hv-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
.seg .hv-tiles{grid-template-columns:repeat(auto-fit,minmax(56px,1fr))}.seg3 .hv-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
.list .hv-tiles{grid-template-columns:1fr}
.hv-tile{position:relative;display:block;cursor:pointer}
.hv-tile input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.hv-tile .t{display:flex;flex-direction:column;justify-content:center;min-height:52px;padding:12px 14px;border:1px solid var(--line);background:#fff;font-size:15px;color:var(--txt);text-align:center;transition:border-color .15s,background .15s}
.list .hv-tile .t{text-align:left;align-items:flex-start}.hv-tile small{display:block;font-size:13px;color:var(--mut);margin-top:3px}
.hv-tile:hover .t{border-color:var(--gold)}
.hv-tile input:checked+.t{border-color:var(--navy);background:var(--navy);color:#fff;box-shadow:inset 0 -3px 0 var(--gold)}.hv-tile input:checked+.t small{color:#d8d2c4}
.hv-tile input:focus-visible+.t{outline:2px solid var(--gold);outline-offset:2px}
.hv-err{color:#a3312a;font-size:14px;margin:6px 0 0;min-height:0}.hv-err:empty{display:none}
.hv-sum{color:#a3312a;font-size:14px;margin:0}.hv-sum:empty{display:none}.hv-sum:not(:empty){margin:0 0 14px;padding:10px 12px;border:1px solid #e3c3bf;background:#fbf2f1}
.hv-cnt{font-size:12px;color:var(--mut);text-align:right;margin:4px 0 0}
.hv-value,.hv-addr-ok{border-left:3px solid var(--gold);background:var(--cream);padding:12px 16px;font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;color:var(--navy);margin:6px 0 20px}
.hv-addr-ok{font-family:inherit;font-size:14px}
.hv-reassure{font-size:14px;color:var(--mut);margin:4px 0 14px}
.hv-chk{flex-direction:row!important;display:flex;gap:10px;text-transform:none!important;letter-spacing:0!important;font-weight:400!important;font-size:13px!important;color:var(--mut)!important;line-height:1.5;cursor:pointer}
.hv-chk input{width:20px!important;height:20px;flex:0 0 20px;margin-top:2px;padding:0}
.hv-consent{border:1px solid var(--line);padding:12px}
.hv-ts{margin:6px 0 12px;min-height:65px}
.hv-nav{display:flex;gap:12px;justify-content:space-between;margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.hv-nav .hv-next{margin-left:auto;min-height:50px;padding:14px 32px}.hv-nav .hv-back{min-height:50px}
.hv-nav button[disabled]{opacity:.6;cursor:wait}
.hv-combo{position:relative}
.hv-sugg{position:absolute;z-index:40;left:0;right:0;top:100%;margin:0;padding:0;list-style:none;background:#fff;border:1px solid var(--navy);border-top:0;box-shadow:0 8px 20px rgba(14,27,44,.12)}
.hv-sugg li{padding:12px 14px;cursor:pointer;font-size:15px;border-top:1px solid var(--line)}.hv-sugg li[aria-selected=true],.hv-sugg li:hover{background:var(--cream)}
.hv-sugg .g{font-size:11px;color:var(--mut);text-align:right;cursor:default;background:#fff!important;padding:6px 10px}
/* Advisor card: same markup + look as the listing-page agent card (.tcard in functions/_lib/listing.js + ml.css .lcta .title). Keep in sync. */
.hv-side .tcard{background:#fff;border:1px solid var(--line);border-top:3px solid #C9B48A;padding:22px 22px 20px}.hv-side .tcard .who{display:flex;gap:14px;align-items:center}
.hv-side .tcard .who img{width:60px;height:60px;border-radius:50%;object-fit:cover;flex:0 0 60px}.hv-side .tcard .name{font:600 23px/1.1 'Cormorant Garamond',serif;color:var(--navy)}
.hv-side .tcard .title{font:600 11.5px/1.3 Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--mut);margin-top:3px}.hv-side .tcard .who a{display:inline-block;margin-top:4px;font-size:14.5px;color:var(--navy);text-decoration:none}.hv-side .tcard .who a:hover{text-decoration:underline}
.hv-side .hv-more{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.hv-side .hv-more .ticks{margin-top:0}.hv-fine{font-size:12px;color:var(--mut);margin-bottom:0}
.hv-side .ticks{font-size:14px}
@media (max-width:900px){.hv-wrap{grid-template-columns:1fr;gap:24px}.hv-side{order:2}}
@media (max-width:700px){
 /* Shared .phero min-height is max(520px, 72svh) !important (~700px on a phone) and
    pushes step 1 down so the sticky Continue bar covers the street field. This page
    only: size the hero to its text. */
 .hv-page .phero.hv-hero{min-height:0!important;height:auto!important;padding:88px 0 16px!important}
 .hv-page .phero.hv-hero>.wrap.in{padding-bottom:8px!important}
 .hv-f input,.hv-f textarea,.hv-combo{scroll-margin-bottom:104px}
}
@media (max-width:640px){
 .hv-hero p{display:none}.hv-hero h1{font-size:32px}
 .hv-sec{padding:0 0 24px;background:#fff}.hv-wrap{padding:0}
 .hv,.hv-thanks{border:0;padding:22px 18px 0}
 .hv-row,.hv-manual{grid-template-columns:1fr}
 .hv-nav{position:sticky;bottom:0;z-index:30;background:#fff;margin:20px -18px 0;padding:12px 18px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -6px 16px rgba(14,27,44,.08)}
 .hv-nav .hv-next{flex:1}.hv-side{margin:0 18px}
}
.hv [hidden],.hv-wrap [hidden],.hv-nav [hidden]{display:none!important}
.hv .hv-step{padding:0;margin:0;background:none}
@media (max-width:640px){.hv-thanks h2{font-size:26px}}
