/* Home Valuation: lead form + instant estimate reveal */
.val-steps{display:grid;gap:18px;margin-top:34px}
.val-step{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:start}
.val-step .n{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--navy);color:#fff;font-family:var(--serif);font-size:24px;box-shadow:var(--shadow-sm)}
.val-step:nth-child(2) .n{background:linear-gradient(135deg,#1d4b78,#0F3352)}
.val-step:nth-child(3) .n{background:linear-gradient(135deg,#B89B6A,#8f7448)}
.val-step h4{font-family:var(--sans);font-size:16px;font-weight:700;margin:4px 0 4px;color:var(--ink)}
.val-step p{margin:0;font-size:15px;color:var(--muted)}
.val-trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.val-trust span{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--navy)}
.val-wrap{position:relative}
.val-card{transition:opacity .6s var(--ease),transform .7s var(--ease)}
.val-card.done{display:none}
.val-card .input .err{display:block;font-size:12.5px;color:#C0392B;margin:6px 4px 0}
.val-card .input.bad input,.val-card .input.bad select{border-color:#E08A80;background:#FFF6F5}
.val-card .consent.bad{color:#C0392B}
.val-card .input .hint{display:block;font-size:12px;color:var(--muted);margin:6px 4px 0}
.val-card .input select:invalid{color:transparent}
.val-card .input select option{color:var(--ink)}
.val-card .form-err{font-size:14px;color:#C0392B;min-height:0;margin-top:8px}
.val-card .form-err a{text-decoration:underline}
.val-card button.loading{opacity:.75;cursor:progress}
.val-card .lock{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);margin-top:14px}
.val-card .lock svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}

.val-result{position:relative;border-radius:28px;overflow:hidden;padding:clamp(28px,4vw,50px);color:#C9D5E2;isolation:isolate;
  background:radial-gradient(120% 90% at 10% 0%,#1d4b78 0%,transparent 55%),radial-gradient(90% 80% at 100% 100%,#1b3a5f 0%,transparent 60%),linear-gradient(160deg,#0c2a4a,#071A2E);
  box-shadow:0 50px 90px -40px rgba(7,26,46,.75);opacity:0;transform:translateY(24px) scale(.98);transition:opacity .7s var(--ease),transform .8s var(--ease)}
.val-result.in{opacity:1;transform:none}
.val-result::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse at 50% 30%,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 30%,transparent 80%)}
.val-result h3{color:#fff;margin:10px 0 4px}
.val-result .k{font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-soft)}
.val-result .ok{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:rgba(95,224,166,.14);color:#7FE0B1;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.val-result .mid{font-family:var(--serif);font-size:clamp(52px,6vw,80px);line-height:1;color:#fff;margin:22px 0 8px}
.val-result .sub{font-size:13px;color:#93A9C0}
.val-bar{position:relative;height:12px;border-radius:12px;margin:34px 0 10px;background:rgba(255,255,255,.08);overflow:visible}
.val-bar::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;border-radius:12px;background:linear-gradient(90deg,#3E7CB1,#8FB8DE 50%,#E9C98F);transition:width 1.6s var(--ease)}
.val-bar.go::before{width:100%}
.val-bar i{position:absolute;top:50%;left:0;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:#fff;box-shadow:0 0 0 6px rgba(255,255,255,.15),0 8px 20px rgba(0,0,0,.4);transition:left 1.6s var(--ease)}
.val-ends{display:flex;justify-content:space-between;font-size:13px;color:#93A9C0}
.val-ends b{display:block;font-family:var(--serif);font-size:24px;font-weight:500;color:#fff}
.val-ends div:last-child{text-align:right}
.val-basis{font-size:13px;color:#93A9C0;margin:18px 0 0;line-height:1.6}
.val-next{margin-top:28px;padding:22px;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.val-next h4{font-family:var(--sans);font-size:15px;font-weight:700;color:#fff;margin:0 0 12px}
.val-next ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.val-next li{display:flex;gap:10px;font-size:14px;color:#D6E1EC}
.val-next li svg{flex:none;width:18px;height:18px;margin-top:2px;stroke:#7FE0B1;fill:none;stroke-width:2.2}
.val-acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.val-acts button{background:none;border:1px solid rgba(255,255,255,.4);color:#fff}
.val-note{font-size:11.5px;color:#7F96AE;margin-top:20px;line-height:1.6}