/* Guests' quick estimate, in the home hero (see _quick_estimate.html). */
.gvq{--q-blue:#136cfc;--q-lime:#c3f84a;--q-navy:#152641;--q-ink:#152641;--q-muted:#5b6b82;--q-tint:#e8f4fc;
  --q-ease:cubic-bezier(.22,1,.36,1);
  position:relative;z-index:2;width:min(100% - 48px,1360px);padding:40px 0 120px;color:var(--q-ink)}
.gvq[hidden]{display:none}
/* Hero and panel share one grid cell: the hero fades out where it stands
   while the panel fades in over it, so nothing jumps. */
.gv-landing > .gv-landing__content,.gv-landing > .gvq{grid-area:1/1}
.gv-landing__content{transition:opacity .45s ease,transform .45s var(--gvq-ease,ease),visibility 0s}
.gv-landing.is-estimating .gv-landing__content{opacity:0;transform:translateY(-16px);visibility:hidden;pointer-events:none;
  transition:opacity .45s ease,transform .45s ease,visibility 0s .45s}
.gv-landing.is-estimating .gv-landing__veil{opacity:.75;transition:opacity .8s}
/* Entrance: 01, the arrow, then 02 — after the hero has faded. */
.gvq [data-step="1"],.gvq [data-step="1"] + .gvq-arrow,.gvq [data-step="2"]{opacity:0;transform:translateY(18px);
  transition:opacity .55s ease,transform .7s var(--q-ease)}
.gvq.is-shown [data-step="1"],.gvq.is-shown [data-step="1"] + .gvq-arrow,.gvq.is-shown [data-step="2"]{opacity:1;transform:none}
.gvq.is-shown [data-step="1"]{transition-delay:.3s}
.gvq.is-shown [data-step="1"] + .gvq-arrow{transition-delay:.5s}
.gvq.is-shown [data-step="2"]{transition-delay:.62s}
/* Leaving: everything fades together, quickly. */
.gvq:not(.is-shown) .gvq-card,.gvq:not(.is-shown) .gvq-arrow{transition-duration:.3s;transition-delay:0s}
.gvq-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gvq-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 34px 1fr 34px 1fr 34px 1fr;align-items:stretch}
.gvq-arrow{align-self:center;height:14px;margin:0 2px;position:relative;opacity:.8;
  background:linear-gradient(90deg,var(--q-blue) 50%,transparent 0) 0 50%/8px 2px repeat-x}
.gvq-arrow::after{content:"";position:absolute;right:0;top:50%;width:8px;height:8px;border:solid var(--q-blue);border-width:2px 2px 0 0;transform:translateY(-50%) rotate(45deg)}
.gvq-card{display:flex;flex-direction:column;min-width:0;background:#fffffff2;border:1px solid #e6e8ee;border-radius:26px;padding:26px 24px 22px;
  box-shadow:0 14px 40px #1d2a431a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:box-shadow .3s}
.gvq-card.is-active{box-shadow:0 0 0 2px var(--q-blue),0 16px 40px #1f6fe52e}
.gvq-eyebrow{margin:0 0 6px;font-size:13px;font-weight:700;color:var(--q-blue)}
.gvq-h{margin:0 0 18px;font-size:22px;letter-spacing:-.02em;line-height:1.2}
.gvq-foot{margin:auto 0 0;padding-top:16px;font-size:13px;color:var(--q-muted)}
/* 03 and 04 hold their place, then fade in with the result: 03 first, then 04. */
.gvq-later{opacity:0;transform:translateY(14px);visibility:hidden}
.gvq.has-result .gvq-later{opacity:1;transform:none;visibility:visible;
  transition:opacity 1.1s ease,transform 1.3s var(--q-ease),visibility 0s}
.gvq.has-result [data-step="3"]{transition-delay:.15s}
.gvq.has-result [data-step="3"] + .gvq-arrow{transition-delay:1.25s}
.gvq.has-result [data-step="4"]{transition-delay:1.5s}
/* 01 */
.gvq-facts{margin:0;display:grid;gap:10px}
.gvq-facts div{padding:10px 14px;border:1px solid #e1e4ea;border-radius:14px;background:#fbfcfd}
.gvq-facts dt{font-size:11.5px;font-weight:600;color:#424245}
.gvq-facts dd{margin:3px 0 0;font-size:15px;overflow-wrap:anywhere}
.gvq-link{margin-top:14px;align-self:flex-start;border:0;background:none;padding:0;color:var(--q-blue);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
/* 02 */
.gvq-tasks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.gvq-tasks li{position:relative;padding:14px 16px 14px 40px;border-radius:16px;background:var(--q-tint);transition:background .3s}
.gvq-tasks li::before{content:"";position:absolute;left:16px;top:19px;width:10px;height:10px;border-radius:50%;background:var(--q-blue);opacity:.35}
.gvq-tasks b{display:block;font-size:15px}
.gvq-tasks span{display:block;margin-top:3px;font-size:13px;color:#4b5563;line-height:1.45}
.gvq-tasks li.is-active{background:#d8e9fb}
.gvq-tasks li.is-active::before{opacity:1;box-shadow:0 0 0 6px #1f6fe533;animation:gvq-pulse 1.1s ease-in-out infinite}
.gvq-tasks li.is-done::before{opacity:1;background:#1f9d55}
.gvq-error{margin:12px 0 0;color:#c0392b;font-size:14px}
/* 03 */
.gvq-bars{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.gvq-bars li{display:grid;grid-template-columns:1fr auto;row-gap:7px;font-size:15px}
.gvq-bars b{font-variant-numeric:tabular-nums}
.gvq-bars i{grid-column:1/-1;display:block;height:8px;border-radius:5px;background:#e9edf3;position:relative;overflow:hidden}
.gvq-bars i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:5px;background:var(--q-blue)}
.gvq.has-result .gvq-bars i::after{animation:gvq-grow 1.2s var(--q-ease) both;animation-delay:calc(.55s + var(--i,0) * 120ms)}
.gvq-bars li.is-gap:first-child i::after{background:linear-gradient(90deg,var(--q-blue),#4fc3a1 70%,var(--q-lime))}
.gvq-empty{color:var(--q-muted);font-size:14px}
/* 04 */
.gvq-card--dark{background:var(--q-navy);border-color:var(--q-navy);color:#fff}
.gvq-card--dark .gvq-eyebrow{color:var(--q-lime)}
.gvq-card--dark .gvq-foot{color:#c5cdd9}
.gvq-pick{margin:0}
.gvq-chip{display:inline-block;padding:5px 12px;border-radius:999px;background:var(--q-lime);color:#17210a;font-size:13px;font-weight:700}
.gvq-pick__head{margin:0 0 10px}
.gvq-uses{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:6px}
.gvq-uses li{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;line-height:1.3}
.gvq-uses li.is-top{font-size:16.5px;font-weight:700;letter-spacing:-.01em}
.gvq-uses svg{flex:none;width:18px;height:18px;color:var(--q-lime)}
.gvq-uses li.is-top svg{width:21px;height:21px}
.gvq-ph{visibility:hidden}
.gvq-reasons{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.gvq-reasons li{position:relative;padding-left:24px;font-size:13.5px;line-height:1.35}
.gvq-reasons li::before{content:"";position:absolute;left:0;top:1px;width:16px;height:16px;border-radius:50%;background:#ffffff26}
.gvq-reasons li.is-ok::before{background:var(--q-lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12 4 4 8-8' fill='none' stroke='%2317210a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat}
.gvq-reasons li.is-meh{color:#c5cdd9}
.gvq-cta{margin-top:14px;align-self:flex-start;border:0;padding:11px 18px;border-radius:999px;background:var(--q-lime);color:#17210a;font:inherit;font-weight:700;cursor:pointer}
.gvq-link:focus-visible,.gvq-cta:focus-visible{outline:2px solid var(--q-blue);outline-offset:3px}
@keyframes gvq-pulse{50%{box-shadow:0 0 0 2px #1f6fe533}}
@keyframes gvq-grow{from{width:0}}
@media (max-width:1280px){
  .gvq-steps{grid-template-columns:1fr 1fr;gap:18px}
  .gvq-arrow{display:none}
}
@media (max-width:640px){
  .gvq{width:min(100% - 32px,1360px);padding:24px 0 96px}
  .gvq-steps{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .gvq.has-result .gvq-bars i::after,.gvq-tasks li.is-active::before{animation:none}
  .gvq .gvq-card,.gvq .gvq-arrow,.gv-landing__content{transition:opacity .2s linear!important;transform:none!important;transition-delay:0s!important}
}
