/* Basis v24 — confirmed facts narrow the price range. Replaces the 3D café. */
.basis24{--b-ink:#23272b;--b-muted:#5d666b;--b-line:#cfd3d6;--b-orange:#f5921e;--lo:3;--hi:15;
  position:relative;background:#f4f5f6;color:var(--b-ink);font-family:'BM Montserrat','Montserrat SemiBold',sans-serif}
.basis24-pin{position:relative}
.basis24-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,120px);align-items:center;padding-block:clamp(72px,9vw,140px)}
.basis24-eyebrow{margin:0 0 28px;font-size:12px;line-height:1.6;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.basis24 h2{margin:0;font-size:clamp(38px,4.2vw,72px);line-height:1.02;font-weight:700;letter-spacing:-.05em}
.basis24 h2 em{font-style:normal;color:var(--b-orange)}
.basis24-intro{margin:28px 0 0;max-width:30em;font-size:clamp(14px,1.05vw,17px);line-height:1.65;color:#41494e}
.basis24-link{display:inline-flex;gap:40px;align-items:center;margin-top:36px;padding-bottom:12px;border-bottom:1px solid var(--b-ink);color:var(--b-ink);font-size:13px;font-weight:600;text-decoration:none}
.basis24-link span{color:var(--b-orange);transition:transform .25s cubic-bezier(.22,1,.36,1)}.basis24-link:hover span{transform:translate(3px,-3px)}

.basis24-stage{border-top:1px solid var(--b-ink);padding-top:22px}
.basis24-head{display:flex;justify-content:space-between;gap:20px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.basis24-head span+span{color:#8a9296;font-weight:600}
.basis24-value{margin:22px 0 0;line-height:1;white-space:nowrap}
.basis24-value strong{font-size:clamp(56px,6.2vw,108px);font-weight:700;letter-spacing:-.05em;font-variant-numeric:tabular-nums;transition:color .4s}
.basis24-value small{margin-left:.3em;font-size:clamp(18px,1.6vw,26px);font-weight:700}
.basis24.is-final .basis24-value strong{color:var(--b-orange)}
.basis24-note{margin:12px 0 0;min-height:1.5em;font-size:14px;color:var(--b-muted)}

.basis24-scale{margin-top:34px}
.basis24-track{position:relative;height:30px;border-bottom:1px solid var(--b-ink)}
.basis24-band{position:absolute;bottom:-1px;left:calc(var(--lo) / 20 * 100%);width:calc((var(--hi) - var(--lo)) / 20 * 100%);height:30px;background:rgba(245,146,30,.16);border-bottom:3px solid var(--b-orange);box-sizing:border-box}
.basis24-band::before,.basis24-band::after{content:"";position:absolute;bottom:-3px;width:1px;height:38px;background:var(--b-orange)}
.basis24-band::before{left:0}.basis24-band::after{right:0}
.basis24-ask{position:absolute;bottom:-6px;left:75%;width:11px;height:11px;margin-left:-5.5px;border-radius:50%;background:#f4f5f6;border:2px solid var(--b-ink);box-sizing:border-box}
.basis24-ask b{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--b-ink)}
.basis24-ticks{display:flex;justify-content:space-between;margin:10px 0 0;padding:0;list-style:none;font-size:11px;color:#8a9296;font-variant-numeric:tabular-nums}

.basis24-steps{margin:38px 0 0;padding:0;list-style:none;counter-reset:none}
.basis24-steps li{display:grid;grid-template-columns:56px 1fr 30px;gap:18px;align-items:start;padding:18px 0;border-top:1px solid var(--b-line);opacity:.42;transition:opacity .45s cubic-bezier(.22,1,.36,1)}
.basis24-steps li:last-child{border-bottom:1px solid var(--b-line)}
.basis24-steps li.is-done{opacity:1}
.basis24-num{font-size:26px;font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--b-orange)}
.basis24-steps b{display:block;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8a9296}
.basis24-steps strong{display:block;margin-top:4px;font-size:clamp(15px,1.2vw,19px);font-weight:700;letter-spacing:-.02em}
.basis24-steps p{margin:6px 0 0;font-size:13px;line-height:1.55;color:var(--b-muted)}
.basis24-check svg{width:28px;height:28px;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.basis24-check circle{stroke:var(--b-line);transition:stroke .4s,fill .4s}
.basis24-check path{stroke:#fff;stroke-dasharray:16;stroke-dashoffset:16;transition:stroke-dashoffset .45s .1s cubic-bezier(.65,0,.35,1)}
.is-done .basis24-check circle{stroke:var(--b-orange);fill:var(--b-orange)}
.is-done .basis24-check path{stroke-dashoffset:0}

/* Pinned scroll story on wide screens. */
.basis24-motion .basis24{height:calc(100svh + 150svh)}
.basis24-motion .basis24-pin{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden}
.basis24-motion .basis24-grid{padding-block:40px;width:min(100% - 96px,1344px)}
@media (max-height:820px){.basis24-steps li{padding:12px 0}.basis24-steps p{font-size:12px}.basis24-scale{margin-top:24px}.basis24-steps{margin-top:24px}.basis24-value strong{font-size:clamp(48px,5.4vw,84px)}}

@media (max-width:1000px){
  .basis24-grid{grid-template-columns:1fr;gap:44px;padding-block:72px}
  .basis24-motion .basis24{height:auto}.basis24-motion .basis24-pin{position:relative;height:auto;display:block}
}
@media (max-width:760px){
  .basis24-grid{padding-block:56px}
  .basis24-eyebrow{font-size:10px;margin-bottom:18px}
  .basis24 h2{font-size:clamp(32px,9.4vw,42px)}
  .basis24-head{font-size:9px;letter-spacing:.1em}
  .basis24-value strong{font-size:clamp(46px,15vw,64px)}
  .basis24-ask b{font-size:8px}
  .basis24-steps li{grid-template-columns:40px 1fr 26px;gap:12px}
  .basis24-num{font-size:20px}
}
@media (prefers-reduced-motion:reduce){.basis24-steps li,.basis24-check circle,.basis24-check path{transition:none}}
