/* Instant Home Valuation pop-up — The Florida Home Market
   Scoped with .hv- so nothing collides with the rest of the site. */
.hv-overlay{position:fixed;inset:0;z-index:10000;display:none;align-items:flex-start;justify-content:center;
  padding:5vh 16px;background:rgba(11,59,74,.60);backdrop-filter:blur(3px);overflow-y:auto}
.hv-overlay.hv-open{display:flex}
.hv-modal{position:relative;width:100%;max-width:540px;background:var(--white,#fff);border-radius:18px;
  box-shadow:0 30px 80px rgba(11,59,74,.4);overflow:hidden;font-family:inherit;
  animation:hv-in .22s ease}
@keyframes hv-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hv-modal{animation:none}}

.hv-head{background:linear-gradient(150deg,var(--navy,#0B3B4A),var(--slate,#176B73));color:#fff;padding:24px 26px}
.hv-head h2{margin:0;color:#fff;font-size:1.4rem;line-height:1.2}
.hv-head p{margin:8px 0 0;opacity:.9;font-size:.94rem;line-height:1.45}
.hv-close{position:absolute;top:14px;right:16px;background:rgba(255,255,255,.14);border:none;color:#fff;
  width:34px;height:34px;border-radius:50%;font-size:1.4rem;line-height:1;cursor:pointer}
.hv-close:hover{background:rgba(255,255,255,.28)}
.hv-close:focus-visible{outline:2px solid var(--gold,#E5A84B);outline-offset:2px}

.hv-body{padding:22px 26px 26px}
.hv-body label{display:block;font-size:.86rem;font-weight:600;color:var(--ink,#17333A);margin:0 0 14px}
.hv-body input,.hv-body select{width:100%;margin-top:5px;padding:11px 13px;border:1px solid var(--line,#D8E3DF);
  border-radius:10px;font:inherit;color:var(--ink,#17333A);background:#fff}
.hv-body input:focus,.hv-body select:focus{outline:none;border-color:var(--slate,#176B73);
  box-shadow:0 0 0 3px rgba(23,107,115,.14)}
.hv-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.hv-btn{width:100%;border:none;border-radius:999px;padding:14px;font:inherit;font-weight:700;font-size:1rem;
  cursor:pointer;background:var(--gold,#E5A84B);color:var(--navy,#0B3B4A);margin-top:4px}
.hv-btn:hover{filter:brightness(1.04)}
.hv-btn:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
.hv-err{color:#b3261e;font-size:.85rem;margin:-8px 0 12px;display:none}
.hv-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* result */
.hv-result{text-align:center;background:var(--ivory,#F8FAF7);border:1px solid var(--line,#D8E3DF);
  border-radius:14px;padding:22px;margin:0 0 16px}
.hv-result .hv-label{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#60757A);font-weight:700}
.hv-result .hv-range{font-size:1.9rem;font-weight:800;color:var(--navy,#0B3B4A);margin:8px 0 2px;line-height:1.1}
.hv-result .hv-sub{font-size:.85rem;color:var(--muted,#60757A)}
.hv-disclaimer{font-size:.8rem;line-height:1.5;color:var(--muted,#60757A);background:#fff;
  border-left:3px solid var(--gold,#E5A84B);padding:11px 14px;margin:0 0 18px;border-radius:0 8px 8px 0}
.hv-cta-note{font-size:.95rem;font-weight:600;color:var(--ink,#17333A);margin:0 0 12px}
.hv-consent{display:flex;gap:9px;align-items:flex-start;font-size:.82rem;font-weight:400;color:var(--muted,#60757A);line-height:1.45}
.hv-consent input{width:auto;margin-top:3px;flex:none}
.hv-fine{font-size:.72rem;color:var(--muted,#60757A);text-align:center;margin:12px 0 0}
.hv-step{animation:hv-fade .2s ease}
@keyframes hv-fade{from{opacity:0}to{opacity:1}}
.hv-success{text-align:center;padding:14px 0}
.hv-success .hv-check{width:56px;height:56px;border-radius:50%;background:var(--slate,#176B73);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:1.7rem;margin:0 auto 14px}
.hv-success h3{margin:0 0 8px;color:var(--navy,#0B3B4A)}
.hv-success p{margin:0 0 6px;color:var(--muted,#60757A);line-height:1.5}

/* homepage trigger band */
.hv-band{background:linear-gradient(150deg,var(--navy,#0B3B4A),var(--slate,#176B73));color:#fff}
.hv-band .container{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.hv-band-txt{max-width:640px}
.hv-band .eyebrow{color:var(--gold,#E5A84B)}
.hv-band h2{color:#fff;margin:6px 0 4px;font-size:1.5rem}
.hv-band p{margin:0;opacity:.9;font-size:.96rem}
.hv-band .hv-band-btn{flex:none;background:var(--gold,#E5A84B);color:var(--navy,#0B3B4A);border:none;
  border-radius:999px;padding:15px 26px;font:inherit;font-weight:700;font-size:1rem;cursor:pointer;box-shadow:var(--shadow)}
.hv-band .hv-band-btn:hover{transform:translateY(-2px)}
.hv-band .hv-band-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:560px){.hv-row{grid-template-columns:1fr}.hv-result .hv-range{font-size:1.6rem}}
