/* Home Valuation page */
.val{padding:70px 10.5% 40px;background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.val-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:5%;align-items:start}
.val-main .panel-head{margin-bottom:30px}
.vform{background:#fff;padding:34px 38px 36px;box-shadow:0 34px 60px -40px rgba(70,22,30,.55);border-top:3px solid var(--red)}
.vsteps{list-style:none;margin:0 0 30px;padding:0 0 22px;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);position:relative}
.vsteps li{position:relative}
.vsteps li+li:before{content:'';position:absolute;left:-50%;right:50%;top:17px;height:2px;background:#e0d6cb;z-index:0;transition:background .4s}
.vsteps li.done+li:before,.vsteps li.cur:before{background:var(--red)}
.vsteps li:first-child:before{display:none}
.vsteps button{position:relative;z-index:1;width:100%;border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;font:500 11px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#9a8f86;padding:0}
.vsteps button b{width:36px;height:36px;border-radius:50%;border:2px solid #e0d6cb;background:#fff;display:grid;place-items:center;font:300 20px/1 var(--condensed);color:#9a8f86;transition:background-color .3s,border-color .3s,color .3s,box-shadow .3s,transform .3s,opacity .3s}
.vsteps li.done b{background:var(--red);border-color:var(--red);color:#fff}
.vsteps li.cur b{border-color:var(--red);color:var(--wine);box-shadow:0 0 0 5px rgba(183,25,53,.14)}
.vsteps li.cur button{color:var(--wine);font-weight:600}
.vsteps button:disabled{cursor:default}
.vstep{border:0;margin:0;padding:0;min-width:0}
.vstep[hidden]{display:none}
.vstep legend{padding:0;margin-bottom:6px;font:300 clamp(30px,3vw,42px)/1 var(--condensed);text-transform:uppercase;color:var(--wine);letter-spacing:.02em}
.vhelp{margin:0 0 24px;font-size:14px;line-height:1.7;color:var(--muted)}
.vtiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:26px}
.vtile{position:relative;display:block;cursor:pointer}
.vtile input{position:absolute;opacity:0;inset:0;cursor:pointer}
.vt-in{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 10px 18px;border:1px solid #d8cdc2;background:#fff;text-align:center;transition:background-color .25s,border-color .25s,color .25s,box-shadow .25s,transform .25s,opacity .25s}
.vt-in svg{width:34px;height:34px;fill:none;stroke:#8f3d48;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:stroke .25s}
.vt-in b{font:500 12px/1.3 var(--sans);letter-spacing:.06em;color:#3f3a37}
.vtile:hover .vt-in{border-color:var(--red);transform:translateY(-2px)}
.vtile input:focus-visible+.vt-in{outline:2px solid var(--red);outline-offset:2px}
.vtile input:checked+.vt-in{background:var(--wine);border-color:var(--wine)}
.vtile input:checked+.vt-in svg{stroke:#fff}.vtile input:checked+.vt-in b{color:#fff}
.vgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px}
.vf{min-width:0}.vf.full{grid-column:1/-1}
.vf label,.vl{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;font:500 11px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.vf label em,.vl em{font-style:normal;text-transform:none;letter-spacing:.02em;color:#6a625b}
.vl output{font:300 24px/1 var(--condensed);letter-spacing:.03em;color:var(--wine);text-transform:none}
.vf input:not([type=checkbox]):not([type=radio]),.vf select,.vf textarea{width:100%;font:400 15px/1.3 var(--sans);color:#2d2926;padding:14px 16px;border:1px solid #d3c7bb;background:#fff;border-radius:0;transition:border-color .25s,box-shadow .25s}
.vf select{-webkit-appearance:none;appearance:none;padding-right:38px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%237c0b19' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center;cursor:pointer}
.vf select:disabled{background-color:#f6f2ed;color:#9a8f86;cursor:not-allowed}
.vf input:focus,.vf select:focus,.vf textarea:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px rgba(183,25,53,.12)}
.vf.bad input,.vf.bad select{border-color:#b71935;background:#fff8f8}
.vrow{margin-bottom:26px}.vrow[hidden]{display:none}
.vchips{display:flex;flex-wrap:wrap;gap:8px}
.vchip{position:relative;display:inline-block;cursor:pointer}
.vchip input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.vchip span{display:inline-block;padding:11px 16px;border:1px solid #d3c7bb;background:#fff;font:500 13px/1 var(--sans);color:#3f3a37;transition:background-color .22s,border-color .22s,color .22s,box-shadow .22s,transform .22s,opacity .22s}
.vchip:hover span{border-color:var(--red);color:var(--wine)}
.vchip input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px}
.vchip input:checked+span{background:var(--wine);border-color:var(--wine);color:#fff}
.vform input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:linear-gradient(90deg,var(--red) var(--p,40%),#d9cfc4 var(--p,40%));outline:none;border-radius:2px;margin:8px 0 0}
.vform input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--wine);border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.35);cursor:pointer}
.vform input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--wine);border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.35);cursor:pointer}
.vconsent{display:flex;gap:14px;align-items:flex-start;margin-top:26px;font-size:13px;line-height:1.65;color:var(--muted);cursor:pointer}
.vconsent input{margin-top:3px;width:20px;height:20px;accent-color:var(--wine);flex:0 0 auto}
.verr{margin:18px 0 0;padding:12px 16px;background:#fff1f2;border-left:3px solid #b71935;font-size:14px;color:#8a0f25}
.verr[hidden]{display:none}
.vnav{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.vback{border:0;background:none;font:600 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--wine);cursor:pointer;padding:12px 4px;border-bottom:1px solid var(--red)}
.vback[hidden]{display:none}
.vnext{margin-left:auto;border:0;cursor:pointer}
.vsum{margin:0;border-top:1px solid var(--line)}
.vsum div{display:grid;grid-template-columns:150px 1fr auto;gap:14px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}
.vsum dt{font:500 11px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.vsum dd{margin:0;font-size:15px;color:#2d2926;line-height:1.5}
.vsum button{border:0;background:none;font:600 10px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--wine);cursor:pointer;border-bottom:1px solid var(--red);padding:3px 0}

.vdone{background:#fff;padding:54px 44px;text-align:center;box-shadow:0 34px 60px -40px rgba(70,22,30,.55);border-top:3px solid #2f8a5b}
.vdone[hidden]{display:none}
.vtick{width:72px;height:72px;border-radius:50%;background:#2f8a5b;margin:0 auto 22px;display:grid;place-items:center;animation:pop .5s cubic-bezier(.2,1.4,.4,1)}
.vtick svg{width:38px;height:38px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;stroke-dashoffset:30;animation:draw .6s .25s forwards}
@keyframes pop{from{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes draw{to{stroke-dashoffset:0}}
.vdone h3{margin:0 0 14px;font:300 clamp(32px,3.4vw,46px)/1 var(--condensed);text-transform:uppercase;color:var(--wine)}
.vdone p{max-width:520px;margin:0 auto 12px;font-size:15px;line-height:1.75;color:var(--muted)}
.vdone-btns{display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center;justify-content:center;margin-top:26px}
.vdone-btns .cta{border:0;cursor:pointer}
.vdone-btns .alt{font:600 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--wine);text-decoration:none;border-bottom:1px solid var(--red);padding-bottom:6px}
.vfine{font-size:12px!important;color:var(--faint)!important}

/* estimate card */
.vest{position:sticky;top:84px}
.vest-in{background:var(--wine);color:#fff;padding:32px 30px 28px;position:relative;overflow:hidden}
.vest-in:before{content:'H';position:absolute;right:-10px;top:-40px;font:600 240px/1 var(--condensed);color:rgba(255,255,255,.06);transform:scaleX(.6);pointer-events:none}
.vest .kicker{color:#e9aab3;position:relative}
.vest-num{position:relative;font:300 clamp(40px,3.6vw,54px)/1.05 var(--condensed);letter-spacing:.01em;margin:12px 0 10px;min-height:1.1em}
.vest-num.pulse{animation:numin .5s ease}
@keyframes numin{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:none}}
.vest-sub{position:relative;margin:0 0 20px;font-size:14px;line-height:1.65;color:#f0dfe1}
.vmeter{position:relative;height:5px;background:rgba(255,255,255,.2)}
.vmeter i{display:block;height:100%;width:0;background:#fff;transition:width .5s cubic-bezier(.22,.61,.36,1)}
.vmeter-t{position:relative;margin:10px 0 0;font:500 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#f0dfe1}
.vest-link{position:relative;display:inline-block;margin-top:16px;color:#fff;text-decoration:none;font:600 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:5px}
.vest-link[hidden]{display:none}
.vest .vfine{position:relative;margin:20px 0 0;color:#e4cfd2!important;line-height:1.6}
.vinc{list-style:none;margin:0;padding:22px 26px;background:#fff;border:1px solid var(--line);border-top:0}
.vinc li{position:relative;padding:9px 0 9px 28px;font-size:14px;color:#3f3a37;border-bottom:1px solid #f0e9e0}
.vinc li:last-child{border:0}
.vinc li:before{content:'';position:absolute;left:2px;top:15px;width:11px;height:6px;border-left:2px solid var(--red);border-bottom:2px solid var(--red);transform:rotate(-45deg)}

/* process + faq */
.proc-sec,.faq-sec{padding:76px 10.5% 20px}
.proc-sec .panel-head,.faq-sec .panel-head{margin-bottom:34px}
.proc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.proc li{padding:28px 26px 8px 0}.proc li+li{padding-left:26px;border-left:1px solid var(--line)}
.proc b{font:300 54px/1 var(--condensed);color:var(--red2)}
.proc h3{font:500 14px/1.35 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin:12px 0 10px;color:var(--ink)}
.proc p{margin:0;font-size:14px;line-height:1.75;color:var(--muted)}
.faq{max-width:900px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 4px;font:400 clamp(17px,1.6vw,20px)/1.4 Georgia,serif;color:#2d2926;transition:color .25s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'＋';font:300 28px/1 var(--condensed);color:var(--red);transition:transform .35s;flex:0 0 auto}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq summary:hover{color:var(--wine)}
.faq details p{margin:0 0 22px;padding:0 44px 0 4px;font-size:15px;line-height:1.8;color:var(--muted);animation:faqin .4s ease}
@keyframes faqin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.faq-sec{padding-bottom:20px}

@media(max-width:1100px){.val-grid{grid-template-columns:minmax(0,1fr);gap:30px}.vest{position:relative;top:0;order:-1}.proc{grid-template-columns:1fr 1fr}.proc li:nth-child(3){border-left:0;padding-left:0}}
@media(max-width:980px){.val,.proc-sec,.faq-sec{padding-left:7%;padding-right:7%}}
@media(max-width:620px){
  .vform{padding:24px 18px 28px}
  .vtiles{grid-template-columns:1fr 1fr}
  .vgrid{grid-template-columns:minmax(0,1fr)}
  .vsteps button span{font-size:9px;letter-spacing:.06em}
  .vsum div{grid-template-columns:1fr auto}.vsum dt{grid-column:1/-1}
  .proc{grid-template-columns:1fr}.proc li+li{border-left:0;padding-left:0;border-top:1px solid var(--line);margin-top:16px}
  .vdone{padding:40px 20px}
}
@media(prefers-reduced-motion:reduce){.vtick,.vtick svg{animation:none;stroke-dashoffset:0}.vest-num.pulse,.faq details p{animation:none}}
/* keyboard users can see which slider they are on */
.vform input[type=range]:focus-visible{outline:2px solid #C31B37;outline-offset:6px}
.vform input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(195,27,55,.35),0 2px 10px rgba(0,0,0,.35)}
.vform input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px rgba(195,27,55,.35),0 2px 10px rgba(0,0,0,.35)}
