/* home-v2.css — homepage v2 ("night shift editorial").
   Ink + cream + Acerti orange. Cormorant at poster scale, mono for data.
   Motion is desktop-only; mobile and reduced-motion get the static layout. */

.v2{overflow-x:clip}
main:has(> .v2) + .footer{margin-top:0}
.v2-logos{background:var(--canvas);padding:40px 0 8px}
.v2 em{font-style:italic;color:var(--primary);font-weight:500}
.v2-mono{font-family:var(--font-mono)}
.v2-kicker{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:12px;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted)}
.v2-kicker::before{content:"";width:22px;height:1px;background:var(--primary)}
.v2-h2{font-family:var(--font-display);font-weight:500;font-size:clamp(42px,5.4vw,80px);line-height:1;letter-spacing:-1.6px;color:var(--ink);margin:18px 0 0;text-wrap:balance}
.v2-p{font-size:17px;line-height:1.65;color:var(--body);max-width:52ch;margin:0;text-wrap:pretty}
.v2-sec{padding:clamp(96px,11vw,168px) 0}
.v2-split-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:48px;align-items:end}
.v2-btn-lg{padding:16px 26px;font-size:15px}
.v2-textlink{display:inline-flex;gap:8px;align-items:center;color:var(--on-dark);font-size:15px;font-weight:500;padding:6px 0;border-bottom:1px solid rgba(250,249,245,.3);transition:border-color .2s,color .2s}
.v2-textlink:hover{color:var(--primary);border-color:var(--primary)}
.v2-grain{position:relative;isolation:isolate}
.v2-grain::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ── Hero ─────────────────────────────────────────── */
.v2-hero{background:radial-gradient(900px 560px at 80% 45%,#241e17 0%,rgba(24,23,21,0) 70%),var(--surface-dark);color:var(--on-dark);min-height:min(940px,calc(100vh - 64px));display:flex;align-items:center;padding:64px 0 80px;overflow:hidden}
.v2-hero .v2-kicker{color:var(--on-dark-soft)}
.v2-hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.v2-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:clamp(40px,6vw,96px);align-items:center;width:100%}
.v2-h1{font-family:var(--font-display);font-weight:500;font-size:clamp(50px,6.6vw,106px);line-height:.96;letter-spacing:-2.4px;margin:26px 0 30px;color:var(--on-dark)}
.v2-line{display:block;overflow:hidden;padding-bottom:.07em;margin-bottom:-.07em}
.v2-line>span{display:inline-block}
.v2-lede{font-size:18px;line-height:1.62;color:#cbc6bc;max-width:540px;margin:0 0 38px;text-wrap:pretty}
.v2-cta-row{display:flex;gap:28px;align-items:center;flex-wrap:wrap}

.v2-console{background:rgba(22,21,19,.66);-webkit-backdrop-filter:blur(16px) saturate(120%);backdrop-filter:blur(16px) saturate(120%);border:1px solid #33302b;border-radius:20px;padding:22px;box-shadow:0 50px 100px -50px rgba(0,0,0,.9)}
.v2-console-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--on-dark-soft);padding-bottom:16px;border-bottom:1px solid #2c2925}
.v2-live{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:1px;text-transform:uppercase}
.v2-live i{width:7px;height:7px;border-radius:50%;background:var(--accent-teal);box-shadow:0 0 0 0 rgba(62,138,125,.6);animation:pulse 2s ease-out infinite}
.v2-q{font-family:var(--font-display);font-size:24px;margin:18px 0 12px;color:var(--on-dark)}
.v2-chips{display:flex;flex-wrap:wrap;gap:8px}
.v2-chip{font:500 13px/1 var(--font-body);color:#d9d4ca;background:transparent;border:1px solid #3b3732;border-radius:999px;padding:9px 13px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.v2-chip:hover{border-color:#6d675e;color:var(--on-dark)}
.v2-chip[aria-pressed="true"]{background:var(--primary);border-color:var(--primary);color:var(--ink)}
.v2-funnel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:20px 0 4px;border:1px solid #2c2925;border-radius:12px;overflow:hidden}
.v2-funnel>div{padding:12px 12px 10px;display:flex;flex-direction:column;gap:4px}
.v2-funnel>div+div{border-left:1px solid #2c2925}
.v2-funnel b{font:500 19px/1 var(--font-mono);color:var(--on-dark);font-variant-numeric:tabular-nums}
.v2-funnel span{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--on-dark-soft)}
.v2-funnel .is-time b{color:var(--primary)}
.v2-cards{display:grid;gap:8px;margin-top:14px}
.v2-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;background:#201e1b;border:1px solid #34312c;border-radius:12px;padding:11px 13px;transition:opacity .35s var(--ease-standard),transform .45s var(--ease-emphatic),border-color .25s}
.v2-card:hover{border-color:#5a544b}
.v2-av{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font:500 12px var(--font-mono);color:var(--primary);background:rgba(244,144,30,.1);box-shadow:inset 0 0 0 1px rgba(244,144,30,.45)}
.v2-who{display:flex;flex-direction:column;gap:3px;min-width:0}
.v2-who strong{font-size:14px;font-weight:600;color:var(--on-dark)}
.v2-who small{font-size:12px;color:var(--on-dark-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2-match{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.v2-match b{font:500 13px var(--font-mono);color:var(--on-dark)}
.v2-match i{display:block;width:54px;height:3px;border-radius:2px;background:#34312c;overflow:hidden}
.v2-match i span{display:block;height:100%;background:var(--accent-teal)}
.v2-cards.is-pending .v2-card{opacity:0;transform:translateY(10px) scale(.98)}
.v2-console-cta{width:100%;margin-top:14px;display:flex;justify-content:space-between;align-items:center;font:500 14px var(--font-body);color:var(--on-dark);background:transparent;border:1px solid #3b3732;border-radius:12px;padding:14px 16px;cursor:pointer;transition:border-color .2s,background .2s}
.v2-console-cta:hover{border-color:var(--primary);background:rgba(244,144,30,.08)}
.v2-demo-note{font-size:11px;color:#8f8a80;margin-top:10px;text-align:center}

/* ── Ticker ───────────────────────────────────────── */
.v2-ticker{background:var(--surface-dark);border-top:1px solid #2a2825;overflow:hidden;padding:26px 0}
.v2-ticker-track{display:flex;gap:0;width:max-content;animation:logoMarquee 60s linear infinite}
.v2-ticker:hover .v2-ticker-track{animation-play-state:paused}
.v2-ticker span{font-family:var(--font-display);font-style:italic;font-size:30px;color:#9a958b;white-space:nowrap;display:inline-flex;align-items:center}
.v2-ticker span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--primary);margin:0 34px}

/* ── Time zones ───────────────────────────────────── */
.v2-clocks{background:var(--canvas)}
.v2-clocks-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;margin-bottom:72px}
.v2-clocks-head .v2-p{margin-top:24px}
.v2-sky{position:relative;width:100%;max-width:470px;justify-self:end}
.v2-sky svg{display:block;width:100%;height:auto;overflow:visible}
.v2-sky-day,.v2-sky-night{fill:none;stroke-width:30;stroke-dasharray:100;stroke-dashoffset:0;transition:stroke-dashoffset 1.3s var(--ease-emphatic)}
.v2-sky-day{stroke:var(--primary-soft)}
.v2-sky-night{stroke:var(--surface-cream-strong);transition-delay:.25s}
.v2-sky-ticks line{stroke:var(--muted-soft);stroke-width:1}
.v2-sky-ticks line.maj{stroke:var(--ink);stroke-width:1.5}
.v2-sky-lbl{font:500 10px var(--font-mono);letter-spacing:1.6px;fill:var(--muted)}
.v2-sky-hand,.v2-sky-dot{transform-box:view-box;transform-origin:230px 230px;transform:rotate(var(--a))}
.v2-sky-hand{transition:transform 1.5s var(--ease-emphatic)}
.v2-sky-hand line{stroke:var(--ink);stroke-width:2.5;stroke-linecap:round}
.v2-sky-dot{transition:transform 1.7s var(--ease-emphatic) var(--dl,0ms),opacity .4s var(--ease-standard) var(--dl,0ms)}
.v2-sky-dot circle{stroke:var(--canvas);stroke-width:3}
.v2-sky-dot.hub circle{fill:var(--primary)}
.v2-sky-dot.hq circle{fill:var(--accent-deep)}
.v2-sky-dot.you circle{fill:var(--ink)}
.v2-sky-dot.off circle{fill:var(--canvas);stroke:var(--muted);stroke-width:2;stroke-dasharray:3 3}
.v2-sky-offlbl{font:500 12px var(--font-body);fill:var(--muted);transition:opacity .6s var(--ease-standard) 1.4s}
.v2-sky-offlbl tspan+tspan{fill:var(--ink);font-weight:600}
.v2-sky-center{position:absolute;left:50%;top:0;height:calc(100% - 40px);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translateX(-50%);text-align:center;width:46%;pointer-events:none;transition:opacity .7s var(--ease-standard) .9s,transform .9s var(--ease-emphatic) .9s}
.v2-sky-center .n{font-family:var(--font-display);font-weight:500;font-size:clamp(70px,7.4vw,112px);line-height:.85;letter-spacing:-3px;color:var(--ink);font-variant-numeric:lining-nums tabular-nums}
.v2-sky-center .n em{font-size:.42em;letter-spacing:0;margin-left:4px}
.v2-sky-center .c{font-style:normal;margin-top:10px;font-size:12px;line-height:1.4;color:var(--muted)}
.v2-sky-key{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;margin-top:6px;font-size:12px;color:var(--muted)}
.v2-sky-key span{display:inline-flex;align-items:center;gap:7px}
.v2-sky-key span::before{content:"";width:9px;height:9px;border-radius:50%}
.v2-sky-key .you::before{background:var(--ink)}
.v2-sky-key .hq::before{background:var(--accent-deep)}
.v2-sky-key .hub::before{background:var(--primary)}
.v2-sky-key .off::before{border:1.5px dashed var(--muted);width:7px;height:7px}
.v2-chart{border-top:1px solid var(--ink)}
.v2-crow{display:grid;grid-template-columns:190px minmax(0,1fr) 150px;gap:24px;align-items:center;padding:14px 0;border-bottom:1px solid var(--hairline);transition:opacity .25s var(--ease-standard)}
.v2-city{display:flex;flex-direction:column;gap:2px}
.v2-city strong{font-size:16px;font-weight:600;color:var(--ink)}
.v2-city small{font-size:12px;color:var(--muted)}
.v2-track{position:relative;height:30px}
.v2-track::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--hairline)}
.v2-band{position:absolute;top:-14px;bottom:-14px;background:rgba(244,144,30,.07)}
.v2-seg{position:absolute;top:9px;bottom:9px;border-radius:999px;background:#e4d6c2;transform-origin:left center;transition:transform 1s var(--ease-emphatic) calc(var(--r,0) * 80ms + 100ms),top .25s var(--ease-emphatic),bottom .25s var(--ease-emphatic)}
.v2-seg.ov{background:var(--primary)}
.is-you .v2-seg{background:var(--ink)}
.is-hq .v2-seg.ov{background:var(--accent-deep)}
.v2-now{position:absolute;top:-14px;bottom:-14px;width:2px;margin-left:-1px;background:var(--ink);transition:opacity .5s var(--ease-standard) .9s}
.is-first .v2-now::before{content:"now";position:absolute;top:-4px;left:6px;font:500 10px var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--ink)}
.v2-cmeta{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.v2-cmeta .tm{font:500 18px var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums}
.v2-cmeta .ov{font-size:12px;color:var(--primary-active);font-weight:500}
.is-you .v2-cmeta .ov{color:var(--muted)}
.v2-hours{padding:10px 0 6px;border-bottom:0}
.v2-hours .v2-track{height:18px}
.v2-hours .v2-track::before{display:none}
.v2-hr{position:absolute;top:0;font:500 11px var(--font-mono);color:var(--muted-soft);transform:translateX(-50%)}
.v2-hr-lbl{font:500 11px var(--font-mono);color:var(--muted-soft);text-align:right;letter-spacing:1px;text-transform:uppercase}

/* ── Practice index ───────────────────────────────── */
.v2-svc{background:var(--ink);color:var(--on-dark);overflow:hidden}
.v2-svc .v2-h2{color:var(--on-dark)}
.v2-svc .v2-p{color:#bdb8ae}
.v2-svc .v2-kicker{color:var(--on-dark-soft)}
.v2-svc-list{margin-top:64px;border-top:1px solid #34312c}
.v2-svc-row{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,340px) 40px;gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid #34312c;color:var(--on-dark);text-decoration:none;position:relative;isolation:isolate}
.v2-svc-row::before{content:"";position:absolute;top:-1px;bottom:0;left:-28px;right:-28px;background:var(--primary);z-index:-1;transform:scaleX(0);transform-origin:right center;transition:transform .65s var(--ease-emphatic)}
.v2-svc-row .i{font:500 12px var(--font-mono);color:#8f8a80;transition:color .3s}
.v2-svc-row .nm{font-family:var(--font-display);font-weight:500;font-size:clamp(34px,4.4vw,70px);line-height:1;letter-spacing:-1.2px;transition:transform .6s var(--ease-emphatic),color .3s var(--ease-standard)}
.v2-svc-row .wd{display:inline-block;white-space:nowrap;overflow:hidden;vertical-align:top;padding:0 .06em .1em 0;margin-bottom:-.1em}
.v2-svc-row .ch{display:inline-block;transition:transform .9s var(--ease-emphatic);transition-delay:calc(var(--r,0) * 60ms + var(--c,0) * 16ms)}
.v2-svc-row .rt{display:grid}
.v2-svc-row .rt>span{grid-area:1/1;align-self:center}
.v2-svc-row .tg{font:500 12px var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:#8f8a80}
.v2-svc-row .bd{font-size:14px;line-height:1.5;color:#cbc6bc;transition:color .3s}
.v2-svc-row .ar{font-size:22px;color:var(--primary);justify-self:end}

/* ── Savings ──────────────────────────────────────── */
.v2-save{background:var(--surface-soft)}
.v2-save-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,6vw,96px);margin-top:64px;align-items:start}
.v2-ctrls{display:flex;flex-direction:column;gap:40px;padding-top:8px}
.v2-ctrl{display:flex;flex-direction:column;gap:16px}
.v2-ctrl .hd{display:flex;justify-content:space-between;align-items:baseline;font-size:15px;color:var(--body)}
.v2-ctrl .hd b{font-family:var(--font-display);font-weight:500;font-size:34px;color:var(--ink);letter-spacing:-.5px;font-variant-numeric:lining-nums tabular-nums}
.v2-ctrl .ends{display:flex;justify-content:space-between;font:500 11px var(--font-mono);color:var(--muted-soft)}
.v2-people{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:6px}
.v2-people i{display:block;aspect-ratio:1;border-radius:50%;background:var(--ink);opacity:.12;transform:scale(.4);transition:transform .45s cubic-bezier(.3,1.7,.5,1),opacity .3s var(--ease-standard);transition-delay:calc(var(--k) * 12ms)}
.v2-people i.on{opacity:1;transform:scale(1)}
.v2-people i.on:nth-child(4n+2){background:var(--primary)}
.v2-range{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:linear-gradient(to right,var(--primary) var(--pct,50%),var(--surface-cream-strong) var(--pct,50%));outline:none;cursor:pointer;margin:6px 0}
.v2-range::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--ink);border:5px solid var(--primary);box-shadow:0 4px 12px rgba(20,20,19,.25);transition:transform .15s}
.v2-range::-webkit-slider-thumb:hover{transform:scale(1.12)}
.v2-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--ink);border:5px solid var(--primary)}
.v2-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(244,144,30,.35)}
.v2-fine{font-size:13px;color:var(--muted);line-height:1.55;margin:0;max-width:44ch}
.v2-out{--s:.6;background:var(--surface-dark);color:var(--on-dark);border-radius:24px;padding:clamp(28px,3.4vw,44px);display:flex;flex-direction:column;gap:14px}
.v2-out-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.v2-out-row .lbl{font-size:13px;color:var(--on-dark-soft);letter-spacing:.3px}
.v2-out-row .val{font:500 20px var(--font-mono);font-variant-numeric:tabular-nums}
.v2-bar{position:relative;height:14px;border-radius:7px;background:#2a2825;overflow:hidden;margin-bottom:12px}
.v2-bar span{position:absolute;top:0;bottom:0;left:0;border-radius:7px;transition:width .7s var(--ease-emphatic),left .7s var(--ease-emphatic)}
.v2-bar .full{width:calc(var(--s) * 100%);background:#d8d1c4}
.v2-bar .solid{width:calc(var(--s) * 40%);background:var(--primary);border-radius:7px 0 0 7px}
.v2-bar .hatch{left:calc(var(--s) * 40%);width:calc(var(--s) * 20%);border-radius:0 7px 7px 0;background:repeating-linear-gradient(135deg,var(--primary) 0 4px,rgba(244,144,30,.25) 4px 8px)}
.v2-keep{border-top:1px solid #34312c;margin-top:10px;padding-top:24px;display:flex;flex-direction:column;gap:10px}
.v2-keep .lbl{font:500 12px var(--font-mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--on-dark-soft)}
.v2-keep .n{display:flex;flex-wrap:wrap;align-items:flex-end;gap:0 .22em;font-family:var(--font-display);font-weight:500;font-size:clamp(48px,5.6vw,86px);letter-spacing:-1.5px;color:var(--primary)}
.v2-keep .n em{color:var(--on-dark-soft);font-size:.42em;letter-spacing:0;line-height:2}
.v2-odo{display:inline-flex;height:1.1em;line-height:1.1;overflow:hidden;font-feature-settings:"lnum" 1,"tnum" 1}
.v2-odo .od{display:inline-block;height:1.1em;overflow:hidden}
.v2-odo .strip{display:flex;flex-direction:column;transition:transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--k,0) * 35ms)}
.v2-odo .strip span,.v2-odo .os{display:block;height:1.1em;line-height:1.1em;text-align:center}
.v2-out .btn{align-self:flex-start;margin-top:14px}

/* ── Two weeks (pinned) ───────────────────────────── */
.v2-weeks{background:var(--surface-dark);color:var(--on-dark);height:340vh;position:relative}
.v2-weeks .v2-h2{color:var(--on-dark);max-width:13ch}
.v2-weeks .v2-kicker{color:var(--on-dark-soft)}
.v2-weeks-sticky{position:sticky;top:64px;height:calc(100vh - 64px);display:flex;align-items:center;overflow:hidden}
.v2-weeks-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(40px,6vw,110px);align-items:center;width:100%}
.v2-day{display:flex;align-items:baseline;gap:18px;margin-top:36px}
.v2-day .lbl{font:500 13px var(--font-mono);letter-spacing:1.8px;text-transform:uppercase;color:var(--on-dark-soft)}
.v2-day .num{display:inline-block;overflow:hidden;font-family:var(--font-display);font-weight:500;font-size:clamp(120px,14vw,230px);line-height:.82;letter-spacing:-6px;color:var(--primary);font-feature-settings:"lnum" 1,"tnum" 1}
.v2-day .num>span{display:inline-block}
.v2-day .of{font-family:var(--font-display);font-size:40px;color:#6d675e}
.v2-ruler{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:6px;margin-top:30px;max-width:520px}
.v2-ruler i{height:26px;border-radius:2px;background:#2f2c28;transition:background .3s var(--ease-standard)}
.v2-ruler i:nth-child(7){height:34px}
.v2-ruler i.on{background:var(--primary)}
.v2-weeks-right{max-width:620px;width:100%;justify-self:end}
.v2-stage{background:#201e1b;border:1px solid #34312c;border-radius:18px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.85)}
.v2-stage-bar{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid #2c2925;font:500 11px var(--font-mono);color:var(--on-dark-soft);letter-spacing:.5px}
.v2-stage-bar .dots{display:flex;gap:6px}
.v2-stage-bar .dots i{width:9px;height:9px;border-radius:50%;background:#3a3631}
.v2-stage-bar .t:last-child{margin-left:auto;color:var(--primary);text-transform:uppercase;letter-spacing:1.2px}
.v2-stage-body{position:relative;aspect-ratio:16/10}
.v2-scene{position:absolute;inset:0;container-type:size;opacity:0;transform:translateY(14px) scale(.985);transition:opacity .45s var(--ease-standard),transform .6s var(--ease-emphatic);pointer-events:none}
.v2-scene.is-on{opacity:1;transform:none}
.s1{display:grid;place-items:center}
.s1 .cal{display:grid;grid-template-columns:auto 1fr;gap:18px;background:var(--canvas);color:var(--ink);border-radius:14px;padding:18px 20px;width:74%;box-shadow:0 20px 40px -20px rgba(0,0,0,.6);opacity:0;margin-bottom:12%}
.s1 .cal-date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--primary);color:var(--ink);border-radius:10px;padding:8px 14px}
.s1 .cal-date span{font:500 10px var(--font-mono);letter-spacing:1px}
.s1 .cal-date b{font-family:var(--font-display);font-weight:500;font-size:34px;line-height:1}
.s1 .cal-body strong{font-size:16px}
.s1 .cal-body small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.s1 .cal-body ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:7px}
.s1 .cal-body li{font-size:13px;display:flex;gap:8px;align-items:center;opacity:0}
.s1 .cal-body li::before{content:"\2713";width:16px;height:16px;border-radius:50%;background:var(--accent-teal);color:#fff;font-size:10px;display:grid;place-items:center;flex:0 0 auto}
.s1 .pair{position:absolute;bottom:9%;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px}
.s1 .pair span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font:500 10px var(--font-mono);background:#34312c;color:var(--on-dark)}
.s1 .pair .ac{background:var(--primary);color:var(--ink)}
.s1 .pair i{width:96px;height:2px;background:repeating-linear-gradient(90deg,var(--primary) 0 6px,rgba(0,0,0,0) 6px 12px)}
.s2 .md{position:absolute;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:#6d675e;transition:transform 1.1s var(--ease-emphatic),opacity .5s var(--ease-standard),background .3s}
.s2 .slot{position:absolute;right:5%;width:32%;margin-top:-17px;padding:9px 12px;border-radius:10px;background:#2a2723;border:1px solid #3b3732;font:500 12px var(--font-body);color:var(--on-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0}
.s2 .lbl{position:absolute;left:7%;bottom:7%;font:500 12px var(--font-mono);letter-spacing:1px;color:var(--primary)}
.s3{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;padding:14px}
.s3 .tile{position:relative;border-radius:12px;background:#2a2723;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;opacity:0}
.s3 .tile .av{width:46px;height:46px;border-radius:50%;background:#3b3732;display:grid;place-items:center;font:500 13px var(--font-mono);color:var(--on-dark)}
.s3 .tile:nth-child(2) .av,.s3 .tile:nth-child(3) .av{background:rgba(244,144,30,.15);color:var(--primary)}
.s3 .tile .nm{font-size:12px;color:var(--on-dark-soft)}
.s3 .tile::after{content:"";position:absolute;inset:0;border-radius:12px;box-shadow:inset 0 0 0 2px var(--primary);opacity:0}
.s3 .wave{position:absolute;right:12px;bottom:12px;display:flex;gap:2px;align-items:flex-end;height:14px}
.s3 .wave i{display:block;width:3px;height:14px;border-radius:1px;background:var(--primary);transform-origin:bottom;transform:scaleY(.2);opacity:0}
.s4{padding:24px 26px;background:#0f0e0d;font:500 13px/1 var(--font-mono);display:flex;flex-direction:column;gap:15px}
.s4 .tl{color:#cbc6bc;white-space:nowrap;clip-path:inset(0 100% 0 0)}
.s4 .pr{color:var(--primary)}
.s4 .ok{color:var(--accent-teal)}
.s4 .big{font-size:19px;margin-top:8px}
.v2-stepinfo{margin-top:26px;min-height:148px}
.v2-stepinfo .tag,.v2-steps .tag{font:500 12px var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--primary)}
.v2-stepinfo h3,.v2-steps h3{font-family:var(--font-display);font-weight:500;font-size:clamp(28px,2.6vw,38px);line-height:1.1;margin:8px 0 10px;color:var(--on-dark)}
.v2-stepinfo p,.v2-steps p{margin:0;font-size:15px;line-height:1.6;color:#cbc6bc;max-width:48ch}
.v2-stepper{display:flex;gap:8px;margin-top:8px}
.v2-stepper i{flex:1;height:3px;border-radius:2px;background:#34312c;transition:background .4s var(--ease-standard)}
.v2-stepper i.on{background:var(--primary)}
.v2-steps{display:none;list-style:none;margin:0;padding:0;border-top:1px solid #34312c}
.v2-steps li{padding:22px 0;border-bottom:1px solid #34312c}

/* ── Models ───────────────────────────────────────── */
.v2-models{background:var(--canvas)}
.v2-dial-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center;margin:56px 0 32px}
.v2-dial-lbls{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px}
.v2-dial-lbls button{background:none;border:0;padding:4px 0;font:500 12px var(--font-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted-soft);cursor:pointer;transition:color .2s}
.v2-dial-lbls button:nth-child(1){text-align:left}
.v2-dial-lbls button:nth-child(2){text-align:center}
.v2-dial-lbls button:nth-child(3){text-align:right}
.v2-dial-lbls button.is-on{color:var(--ink)}
.v2-own{background:var(--surface-card);border-radius:16px;padding:16px 22px 8px}
.v2-own-hd,.v2-own-row{display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;align-items:center}
.v2-own-hd{padding-bottom:8px}
.v2-own-hd .lbls{display:flex;justify-content:space-between;font:500 10px var(--font-mono);letter-spacing:1.3px;text-transform:uppercase;color:var(--muted)}
.v2-own-row{padding:11px 0;border-top:1px solid var(--hairline)}
.v2-own-row .k{font-size:14px;font-weight:500;color:var(--ink)}
.v2-own-row .rail{position:relative;height:18px}
.v2-own-row .rail::before{content:"";position:absolute;left:9px;right:9px;top:50%;height:2px;margin-top:-1px;border-radius:1px;background:var(--surface-cream-strong)}
.v2-own-row .kw{position:absolute;left:0;top:0;bottom:0;width:calc(100% - 18px);transform:translateX(calc(var(--p) * 100%));transition:transform .75s cubic-bezier(.3,1.35,.5,1) var(--dl,0ms)}
.v2-own-row .kw i{position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 4px rgba(244,144,30,.28)}
.v2-mcards{display:flex;gap:16px;min-height:440px}
.v2-mcard{flex:1 1 0;min-width:0;background:var(--surface-card);color:var(--ink);border-radius:22px;padding:30px;display:flex;flex-direction:column;overflow:hidden;cursor:default;transition:flex-grow .7s var(--ease-emphatic),background .4s var(--ease-standard),color .4s var(--ease-standard)}
.v2-mcard.is-on{flex-grow:2.3;background:var(--surface-dark);color:var(--on-dark)}
.v2-mcard .top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.v2-mcard .n{font:500 12px var(--font-mono);color:var(--primary)}
.v2-mcard .tg{font:500 11px var(--font-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--on-dark-soft);white-space:nowrap;transition:opacity .3s}
.v2-mcard:not(.is-on) .tg{opacity:0}
.v2-mcard h3{font-family:var(--font-display);font-weight:500;font-size:clamp(30px,2.8vw,44px);line-height:1.02;letter-spacing:-.6px;margin:auto 0 0;padding-top:60px;color:inherit}
.v2-mcard .ld{font:500 11px var(--font-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-top:12px}
.v2-mcard.is-on .ld{display:none}
.v2-mcard .more{width:min(460px,100%);min-width:320px;opacity:0;transform:translateY(12px);transition:opacity .35s var(--ease-standard),transform .5s var(--ease-emphatic);max-height:0}
.v2-mcard.is-on .more{opacity:1;transform:none;transition-delay:.18s;max-height:400px}
.v2-mcard .more p{font-size:16px;line-height:1.55;color:#cbc6bc;margin:16px 0 18px}
.v2-mcard .more ul{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
.v2-mcard .more li{font-size:14px;display:flex;gap:10px;align-items:center}
.v2-mcard .more li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--primary);flex:0 0 auto}

/* ── Quote ────────────────────────────────────────── */
.v2-quote{background:var(--canvas);padding-top:40px}
.v2-quote-text{position:relative;margin:28px 0 0;font-family:var(--font-display);font-weight:500;font-size:clamp(34px,4.3vw,66px);line-height:1.12;letter-spacing:-.9px;max-width:1120px;text-wrap:pretty}
.v2-qmark{position:absolute;left:-.55em;top:-.12em;color:var(--primary);font-size:1.4em;line-height:1}
.v2-quote-text .w{color:var(--ink);transition:color .35s var(--ease-standard)}
.v2-quote-text .w.hl.on{color:var(--primary-active)}
.v2-quote-by{display:flex;align-items:center;gap:16px;margin-top:40px}
.v2-quote-by img{width:52px;height:52px;border-radius:50%;object-fit:cover;background:var(--surface-card)}
.v2-quote-by div{display:flex;flex-direction:column;gap:2px}
.v2-quote-by strong{font-size:15px;color:var(--ink)}
.v2-quote-by span{font-size:13px;color:var(--muted)}

/* ── Close ────────────────────────────────────────── */
.v2-close{position:relative;overflow:hidden;isolation:isolate;background:var(--primary);color:var(--ink);padding:clamp(96px,11vw,170px) 0 clamp(64px,7vw,96px)}
.v2-close-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.v2-close em{color:var(--ink)}
.v2-close-h{font-family:var(--font-display);font-weight:500;font-size:clamp(64px,10.5vw,176px);line-height:.9;letter-spacing:-4px;margin:0;color:var(--ink)}
.v2-close-row{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-top:48px;flex-wrap:wrap}
.v2-close-row p{font-size:19px;line-height:1.55;max-width:44ch;margin:0;color:var(--ink)}
.v2-close-btn{display:inline-flex;align-items:center;gap:14px;font:600 16px var(--font-body);color:var(--on-dark);background:var(--ink);border:0;border-radius:999px;padding:22px 34px;cursor:pointer;transition:transform .2s var(--ease-standard),box-shadow .25s,translate .28s cubic-bezier(.2,.8,.2,1);translate:var(--mgx,0px) var(--mgy,0px)}
.v2-close-btn:hover{transform:translateY(-2px);box-shadow:0 18px 40px -18px rgba(20,20,19,.6)}
.v2-close-facts{display:flex;flex-wrap:wrap;gap:12px 40px;margin-top:72px;padding-top:24px;border-top:1px solid rgba(20,20,19,.25);font:500 12px var(--font-mono);letter-spacing:1.5px;text-transform:uppercase}

/* ── Desktop motion ───────────────────────────────── */
@media (min-width:821px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  @keyframes v2Rise{from{transform:translateY(105%)}to{transform:none}}
  @keyframes v2Fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  @keyframes v2Pop{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
  @keyframes v2CardIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
  @keyframes v2DayIn{from{transform:translateY(24%);opacity:.2}to{transform:none;opacity:1}}
  @keyframes v2Dash{to{background-position:24px 0}}
  @keyframes v2Type{to{clip-path:inset(0 0 0 0)}}
  @keyframes v2Speak{0%,22%{opacity:1}25%,100%{opacity:0}}
  @keyframes v2Wave{0%{transform:scaleY(.2);opacity:1}4%{transform:scaleY(1)}8%{transform:scaleY(.35)}12%{transform:scaleY(.85)}16%{transform:scaleY(.3)}20%{transform:scaleY(.7);opacity:1}25%,100%{transform:scaleY(.2);opacity:0}}

  /* Hero */
  .v2-hero .v2-line>span{animation:v2Rise 1s var(--ease-emphatic) both;animation-delay:calc(var(--i) * 110ms + 100ms)}
  .v2-hero .v2-kicker{animation:v2Fade .8s var(--ease-emphatic) both}
  .v2-lede{animation:v2Fade .9s var(--ease-emphatic) .55s both}
  .v2-cta-row{animation:v2Fade .9s var(--ease-emphatic) .7s both}
  .v2-console{animation:v2Fade 1s var(--ease-emphatic) .35s both}
  .v2-cards.is-shown .v2-card{animation:v2CardIn .6s var(--ease-emphatic) both;animation-delay:calc(var(--i) * 110ms)}

  /* Section headlines wipe up as their block reveals */
  .v2 .reveal .v2-h2{transition:clip-path 1.1s var(--ease-emphatic),transform 1.1s var(--ease-emphatic)}
  html.reveal-armed .v2 .reveal:not(.in) .v2-h2{clip-path:inset(0 0 100% 0);transform:translateY(40px)}

  /* Sky dial + chart entrance */
  html.fx-on .v2-sky:not(.is-in) .v2-sky-dot{transform:rotate(270deg);opacity:0}
  html.fx-on .v2-sky:not(.is-in) .v2-sky-hand{transform:rotate(270deg)}
  html.fx-on .v2-sky:not(.is-in) :is(.v2-sky-day,.v2-sky-night){stroke-dashoffset:100}
  html.fx-on .v2-sky:not(.is-in) .v2-sky-offlbl{opacity:0}
  html.fx-on .v2-sky:not(.is-in) .v2-sky-center{opacity:0;transform:translateX(-50%) scale(.9)}
  html.fx-on .v2-chart:not(.is-in) .v2-seg{transform:scaleX(0)}
  html.fx-on .v2-chart:not(.is-in) .v2-now{opacity:0}
  .v2-chart:hover .v2-crow:not(:hover):not(.v2-hours){opacity:.4}
  .v2-crow:not(.v2-hours):hover .v2-seg{top:5px;bottom:5px}

  /* Practice index */
  html.fx-on .v2-svc-list:not(.is-in) .ch{transform:translateY(110%)}
  .v2-svc-row.is-on::before{transform:scaleX(1);transform-origin:left center}
  .v2-svc-list:hover .v2-svc-row:not(.is-on) .nm{color:#5f5a52}
  .v2-svc-row.is-on .nm{transform:translateX(26px);color:var(--ink)}
  .v2-svc-row.is-on .i,.v2-svc-row.is-on .bd,.v2-svc-row.is-on .ar{color:var(--ink)}
  .v2-svc-row .tg,.v2-svc-row .bd{transition:opacity .3s var(--ease-standard),transform .4s var(--ease-emphatic),color .3s}
  .v2-svc-row .bd{opacity:0;transform:translateY(8px)}
  .v2-svc-row.is-on .tg{opacity:0;transform:translateY(-8px)}
  .v2-svc-row.is-on .bd{opacity:1;transform:none}
  .v2-svc-row .ar{transition:transform .4s var(--ease-emphatic),opacity .3s,color .3s;opacity:.3}
  .v2-svc-row.is-on .ar{transform:translateX(6px);opacity:1}

  /* Two weeks scenes */
  .v2-day .num>span{animation:v2DayIn .38s var(--ease-emphatic) both}
  .v2-stepinfo{animation:v2Fade .55s var(--ease-emphatic) both}
  .s1.is-on .cal{animation:v2Pop .7s var(--ease-emphatic) .15s both}
  .s1.is-on .cal-body li{animation:v2Fade .5s var(--ease-emphatic) calc(.7s + var(--d) * .35s) both}
  .s1.is-on .pair i{background-size:24px 2px;animation:v2Dash 1s linear infinite}
  .s2.is-on .md{opacity:.22;transition-delay:.3s}
  .s2.is-on .md.hit{opacity:1;background:var(--primary);transform:translate(calc(var(--dx) * 1cqw),calc(var(--dy) * 1cqh));transition-delay:calc(.35s + var(--d))}
  .s2.is-on .slot{animation:v2Fade .5s var(--ease-emphatic) calc(1.55s + var(--k) * .12s) both}
  .s3.is-on .tile{animation:v2Pop .5s var(--ease-emphatic) calc(var(--k) * .1s + .1s) both}
  .s3.is-on .tile::after{animation:v2Speak 6s calc(var(--k) * 1.5s + .8s) infinite}
  .s3.is-on .wave i{animation:v2Wave 6s calc(var(--k) * 1.5s + .8s) infinite}
  .s3.is-on .wave i:nth-child(2){animation-delay:calc(var(--k) * 1.5s + .88s)}
  .s3.is-on .wave i:nth-child(3){animation-delay:calc(var(--k) * 1.5s + .96s)}
  .s3.is-on .wave i:nth-child(4){animation-delay:calc(var(--k) * 1.5s + 1.04s)}
  .s4.is-on .tl{animation:v2Type .6s steps(30,end) var(--d) both}

  /* Models */
  .v2-mcard.is-on .more li{animation:v2Fade .45s var(--ease-emphatic) calc(.25s + var(--k) * .06s) both}

  /* Quote */
  .v2-quote-text .w:not(.on){color:#d9d2c5}

  /* Close */
  .v2-close .v2-line>span{transition:transform 1.1s var(--ease-emphatic) calc(var(--i) * 120ms)}
  html.fx-on .v2-close:not(.is-in) .v2-line>span{transform:translateY(105%)}
  .v2-close-row,.v2-close-facts{transition:opacity .8s var(--ease-standard) .4s,transform .9s var(--ease-emphatic) .4s}
  html.fx-on .v2-close:not(.is-in) :is(.v2-close-row,.v2-close-facts){opacity:0;transform:translateY(16px)}
}

/* Pinned story needs a real desktop; everything else gets the stacked list */
@media (max-width:1024px),(hover:none),(prefers-reduced-motion:reduce){
  .v2-weeks{height:auto;padding:96px 0}
  .v2-weeks-sticky{position:static;height:auto;display:block}
  .v2-weeks-grid{grid-template-columns:1fr}
  .v2-weeks-right{max-width:none;justify-self:stretch}
  .v2-weeks :is(.v2-stage,.v2-stepinfo,.v2-stepper,.v2-day,.v2-ruler){display:none}
  .v2-steps{display:block;margin-top:8px}
  .s1 .cal,.s1 .cal-body li,.s2 .slot,.s3 .tile{opacity:1}
  .s4 .tl{clip-path:none}
}
@media (max-width:1024px){
  .v2-hero-grid{grid-template-columns:1fr}
  .v2-hero{min-height:0;padding:56px 0 64px}
  .v2-console{max-width:560px}
  .v2-save-grid,.v2-clocks-head,.v2-split-head,.v2-dial-row{grid-template-columns:1fr}
  .v2-sky{justify-self:center}
  .v2-svc-row{grid-template-columns:40px minmax(0,1fr) 28px}
  .v2-svc-row .rt{grid-column:2/3;grid-row:2}
  .v2-svc-row .tg{display:none}
  .v2-svc-row .bd{opacity:1;transform:none;padding-top:8px}
  .v2-svc-row.is-on .nm{transform:none;font-style:normal}
  .v2-svc-row::before{display:none}
  .v2-svc-list:hover .v2-svc-row:not(.is-on) .nm{color:var(--on-dark)}
}
@media (max-width:820px){
  .v2-h1{letter-spacing:-1.4px}
  .v2-funnel{grid-template-columns:repeat(2,1fr)}
  .v2-funnel>div:nth-child(3){border-left:0}
  .v2-funnel>div:nth-child(n+3){border-top:1px solid #2c2925}
  .v2-crow{grid-template-columns:minmax(0,1fr) auto;gap:8px 16px}
  .v2-crow .v2-track{grid-column:1/-1;grid-row:2}
  .v2-hours{display:none}
  .v2-people{gap:4px}
  .v2-mcards{flex-direction:column;min-height:0}
  .v2-mcard{background:var(--surface-dark);color:var(--on-dark)}
  .v2-mcard .tg,.v2-mcard:not(.is-on) .tg{opacity:1}
  .v2-mcard .ld{display:none}
  .v2-mcard h3{padding-top:28px}
  .v2-mcard .more{opacity:1;transform:none;max-height:none;min-width:0;width:auto}
  .v2-mcard .more ul{grid-template-columns:1fr}
  .v2-dial{display:none}
  .v2-own-hd,.v2-own-row{grid-template-columns:130px minmax(0,1fr)}
  .v2-close-h{letter-spacing:-2px}
  .v2-qmark{position:static;display:block;margin-bottom:-.2em}
  .v2-sky-offlbl{display:none}
}

/* ── Stats ────────────────────────────────────────── */
.v2-stats{background:var(--canvas);padding:clamp(72px,8vw,120px) 0 0}
.v2-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.v2-stat{position:relative;padding:28px 28px 0;border-left:1px solid var(--hairline)}
.v2-stat:first-child{border-left:0;padding-left:0}
.v2-stat::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--primary);transform-origin:left;transition:transform 1.1s var(--ease-emphatic) calc(var(--i) * 120ms)}
.v2-stat .n{font-family:var(--font-display);font-weight:500;font-size:clamp(64px,7.2vw,120px);letter-spacing:-2px;color:var(--ink);line-height:1}
.v2-stat .v2-odo .strip{transition-duration:1.6s;transition-delay:calc(var(--i) * 120ms + var(--k,0) * 70ms)}
.v2-stat .l{margin-top:14px;font-size:14px;line-height:1.5;color:var(--muted);max-width:24ch;transition:opacity .6s var(--ease-standard) calc(var(--i) * 120ms + .5s),transform .8s var(--ease-emphatic) calc(var(--i) * 120ms + .5s)}

/* ── Why nearshore ────────────────────────────────── */
.v2-why{background:var(--surface-soft)}
.v2-why .v2-split-head{grid-template-columns:minmax(0,1fr)}
.v2-why .v2-h2{max-width:16ch}
.v2-why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:64px}
.v2-why-card{position:relative;background:var(--canvas);border-radius:22px;padding:28px 30px 32px;display:flex;flex-direction:column;gap:12px;min-height:310px;color:var(--ink);outline:none;transition:background .45s var(--ease-standard),color .45s var(--ease-standard),transform .6s var(--ease-emphatic)}
.v2-why-card:focus-visible{box-shadow:0 0 0 2px var(--primary)}
.v2-why-card .top{display:flex;justify-content:space-between;align-items:flex-start}
.v2-why-card .ix{font:500 12px var(--font-mono);color:var(--muted);transition:color .45s}
.v2-why-card h3{font-family:var(--font-display);font-weight:500;font-size:clamp(26px,2.2vw,32px);line-height:1.08;letter-spacing:-.3px;margin:auto 0 0;padding-top:28px;color:inherit}
.v2-why-card p{margin:0;font-size:15px;line-height:1.6;color:var(--body);transition:color .45s}
.v2-glyph{width:64px;height:64px;overflow:visible;color:var(--ink);transition:color .45s}
.v2-glyph .d{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:0;transition:stroke-dashoffset 1.4s var(--ease-emphatic) calc(var(--i) * 110ms + .25s)}
.v2-glyph .d.acc{stroke:var(--primary)}
.v2-glyph .f{fill:currentColor}
.v2-glyph .acc-f{fill:var(--primary)}
.v2-glyph g,.v2-glyph .dot,.v2-glyph .bar{transform-box:fill-box;transform-origin:center}
.g-tz .h1{transform-box:view-box;transform-origin:24px 32px}
.g-tz .h2{transform-box:view-box;transform-origin:40px 32px}
.g-cost .bar{transform-origin:center bottom}

/* ── Industries ───────────────────────────────────── */
@keyframes v2Prog{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.v2-ind{background:var(--canvas)}
.v2-ind-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.6fr);gap:clamp(32px,4vw,64px);margin-top:56px;align-items:start}
.v2-ind-list{display:flex;flex-direction:column;border-top:1px solid var(--hairline)}
.v2-ind-tab{position:relative;display:flex;align-items:baseline;gap:16px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--hairline);padding:11px 0;cursor:pointer}
.v2-ind-tab .i{font:500 11px var(--font-mono);color:var(--muted-soft);transition:color .3s}
.v2-ind-tab .nm{font-family:var(--font-display);font-weight:500;font-size:clamp(22px,1.9vw,28px);line-height:1.1;color:var(--muted);transition:color .3s,transform .5s var(--ease-emphatic)}
.v2-ind-tab:hover .nm{color:var(--ink)}
.v2-ind-tab.is-on .nm{color:var(--ink);font-style:italic;transform:translateX(10px)}
.v2-ind-tab.is-on .i{color:var(--primary-active)}
.v2-ind-tab .prog,.v2-ai-pt .prog{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--primary);transform-origin:left;transform:scaleX(0);animation:v2Prog 8s linear forwards;animation-play-state:paused}
.is-playing .v2-ind-tab .prog,.is-playing .v2-ai-pt .prog{animation-play-state:running}
.is-playing.v2-ind-grid:hover .v2-ind-tab .prog,.is-playing.v2-ai-grid:hover .v2-ai-pt .prog{animation-play-state:paused}
.v2-ind-case{position:sticky;top:96px;border-radius:24px;padding:clamp(28px,3.4vw,48px);color:var(--ink);display:flex;flex-direction:column;gap:32px;min-height:560px;transition:background-color .8s var(--ease-standard)}
.v2-ind-body{display:grid;grid-template-columns:1fr 1fr;gap:22px 36px}
.v2-ind-body .hd{grid-column:1/-1;display:flex;flex-direction:column;gap:8px;margin-bottom:6px}
.v2-ind-body .k{font:500 12px var(--font-mono);letter-spacing:1.6px;color:var(--primary-active)}
.v2-ind-body .cl{font-family:var(--font-display);font-weight:500;font-size:clamp(28px,2.7vw,42px);line-height:1.08;letter-spacing:-.5px}
.v2-ind .lb{font:500 11px var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}
.v2-ind-body p{margin:10px 0 0;font-size:15px;line-height:1.6;color:var(--body);text-wrap:pretty}
.v2-ind-stats{margin-top:auto;border-top:1px solid rgba(20,20,19,.14);padding-top:22px}
.v2-ind-stats .row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:16px}
.v2-ind-stats b{display:block;font-family:var(--font-display);font-weight:500;font-size:clamp(34px,3.3vw,52px);letter-spacing:-1px;color:var(--ink);line-height:1}
.v2-ind-stats .sl{display:block;margin-top:10px;font-size:13px;line-height:1.45;color:var(--body)}

/* ── AI practice ──────────────────────────────────── */
.v2-ai{background:var(--surface-dark);color:var(--on-dark)}
.v2-ai .v2-h2{color:var(--on-dark)}
.v2-ai .v2-p{color:#bdb8ae}
.v2-ai .v2-kicker{color:var(--on-dark-soft)}
.v2-ai-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,5vw,88px);margin-top:64px;align-items:center}
.v2-ai-pts{border-top:1px solid #34312c}
.v2-ai-pt{position:relative;display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #34312c;padding:20px 0;color:var(--on-dark);cursor:pointer;font:inherit}
.v2-ai-pt .hd{display:flex;gap:18px;align-items:baseline}
.v2-ai-pt .n{font:500 12px var(--font-mono);color:#8f8a80;transition:color .3s}
.v2-ai-pt .t{font-family:var(--font-display);font-weight:500;font-size:clamp(24px,2.2vw,32px);line-height:1.1;color:#8f8a80;transition:color .3s}
.v2-ai-pt:hover .t,.v2-ai-pt.is-on .t{color:var(--on-dark)}
.v2-ai-pt.is-on .n{color:var(--primary)}
.v2-ai-pt .bd{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease-emphatic)}
.v2-ai-pt .bd>span{overflow:hidden;padding-left:36px;font-size:15px;line-height:1.6;color:#cbc6bc;transition:padding .5s var(--ease-emphatic)}
.v2-ai-pt.is-on .bd{grid-template-rows:1fr}
.v2-ai-pt.is-on .bd>span{padding-top:10px}
.v2-ai-pt .prog{animation-duration:9s}
.v2-ai-stage{max-width:640px;width:100%;justify-self:end}
.v2-ai-stage .v2-stage-body{aspect-ratio:16/11}
.a1{padding:22px;display:flex;flex-direction:column;gap:12px;font-size:12px}
.a1 .r{display:grid;grid-template-columns:90px repeat(4,minmax(0,1fr)) 36px;gap:10px;align-items:center}
.a1 .r.h{font:500 10px var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:#8f8a80;padding-bottom:4px;border-bottom:1px solid #2c2925}
.a1 .nm{color:var(--on-dark);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a1 .cell{height:6px;border-radius:3px;background:#2f2c28;overflow:hidden}
.a1 .cell i{display:block;height:100%;width:calc(var(--w) * 100%);background:var(--accent-teal);border-radius:3px;transform-origin:left}
.a1 .sc{font:500 14px var(--font-mono);text-align:right;color:var(--on-dark)}
.a1 .r.top .sc{color:var(--primary)}
.a1 .r.cut{opacity:.35}
.a1 .ft{margin-top:auto;font:500 12px var(--font-mono);color:var(--accent-teal)}
.a2{background:#0f0e0d;padding:16px 0;font:500 12px/1 var(--font-mono);display:flex;flex-direction:column}
.a2 .cl{display:grid;grid-template-columns:34px 16px minmax(0,1fr);align-items:center;padding:6px 16px 6px 0;color:#cbc6bc;white-space:pre;overflow:hidden}
.a2 .cl>span:last-child{overflow:hidden;text-overflow:ellipsis}
.a2 .ln{color:#5b5953;text-align:right;padding-right:10px}
.a2 .cl.del{background:rgba(217,105,79,.13)}
.a2 .cl.del .sg{color:#e07a5f}
.a2 .cl.add{background:rgba(62,138,125,.16)}
.a2 .cl.add .sg{color:var(--accent-teal)}
.a2 .flag{margin:4px 16px 6px 50px;padding:8px 12px;border-radius:8px;background:#2a2723;border:1px solid #3b3732;font:500 12px/1.3 var(--font-body);color:var(--on-dark);display:flex;gap:8px;align-items:center}
.a2 .flag b{color:var(--primary);font-weight:600}
.a2 .scan{position:absolute;left:0;right:0;top:0;height:2px;background:var(--primary);box-shadow:0 0 18px 4px rgba(244,144,30,.35);opacity:0;pointer-events:none}
.a2 .ft{margin:auto 16px 0;color:var(--accent-teal)}
.a3{padding:18px 20px;display:flex;flex-direction:column;gap:8px;font-size:12.5px;line-height:1.45}
.a3 .vl{display:grid;grid-template-columns:62px minmax(0,1fr);gap:12px}
.a3 .who{font:500 11px var(--font-mono);color:#8f8a80;padding-top:1px}
.a3 .said{color:var(--on-dark)}
.a3 .vl.user .said{color:var(--primary)}
.a3 .vl.sys .said{font:500 11px/1.45 var(--font-mono);color:var(--accent-teal)}
.a3 .meter{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;font:500 11px var(--font-mono);color:#8f8a80;border-top:1px solid #2c2925;padding-top:10px}
.a3 .wave{display:flex;gap:3px;height:14px;align-items:flex-end}
.a3 .wave i{display:block;width:3px;height:100%;background:var(--primary);border-radius:1px;transform-origin:bottom;transform:scaleY(.4)}
.a4{padding:22px;display:flex;flex-direction:column;gap:14px}
.a4 .key{display:flex;gap:20px;font:500 11px var(--font-mono);color:#8f8a80}
.a4 .key span{display:inline-flex;align-items:center;gap:8px}
.a4 .key .ke::before{content:"";width:16px;height:9px;border:1.5px dashed #8f8a80;border-radius:2px}
.a4 .key .ka::before{content:"";width:16px;height:6px;background:var(--primary);border-radius:2px}
.a4 .r{display:grid;grid-template-columns:72px minmax(0,1fr) 44px;gap:12px;align-items:center;font:500 11px var(--font-mono);color:#8f8a80}
.a4 .bars{position:relative;height:18px}
.a4 .est{position:absolute;left:0;top:0;bottom:0;width:calc(var(--e) * 100%);border:1.5px dashed #6d675e;border-radius:4px}
.a4 .act{position:absolute;left:0;top:5px;bottom:5px;width:calc(var(--a) * 100%);background:var(--primary);border-radius:3px;transform-origin:left}
.a4 .v{text-align:right;color:var(--on-dark)}
.a4 .ft{margin-top:auto;display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #2c2925;padding-top:12px;font-size:12px;color:#8f8a80}
.a4 .ft b{font-family:var(--font-display);font-weight:500;font-size:40px;line-height:1;color:var(--primary)}

/* ── Careers ──────────────────────────────────────── */
.v2-careers{background:var(--canvas)}
.v2-careers-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(40px,6vw,96px);align-items:center}
.v2-careers-h{font-size:clamp(38px,4.3vw,64px);line-height:1.04}
.v2-careers-h>span{display:block}
.v2-careers .v2-p{margin-top:26px}
.v2-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.v2-tags span{font-size:13px;font-weight:500;color:var(--ink);border:1px solid var(--hairline);border-radius:999px;padding:8px 14px;background:var(--surface-soft);transition:background .25s,border-color .25s,color .25s}
.v2-tags span:hover{background:var(--ink);border-color:var(--ink);color:var(--on-dark)}
.v2-careers-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.v2-roster{background:var(--surface-dark);border-radius:24px;padding:20px 20px 0;color:var(--on-dark);overflow:hidden}
.v2-roster-hd{display:flex;justify-content:space-between;align-items:center;font:500 11px var(--font-mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--on-dark-soft);padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #2c2925}
.v2-roster-hd .live{display:inline-flex;align-items:center;gap:8px}
.v2-roster-hd .live i{width:7px;height:7px;border-radius:50%;background:var(--primary);animation:pulse 2s ease-out infinite}
.v2-roster-cols{display:grid;grid-template-columns:1fr;gap:12px}
.v2-roster .col.b,.v2-rcard.dup{display:none}
.v2-roster .track{display:flex;flex-direction:column}
.v2-rcard{background:#201e1b;border:1px solid #34312c;border-radius:14px;padding:14px;margin-bottom:12px;display:flex;flex-direction:column;gap:9px;transition:border-color .25s}
.v2-rcard:hover{border-color:#6d675e}
.v2-rcard .p{display:flex;gap:10px;align-items:center}
.v2-rcard img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:#34312c}
.v2-rcard strong{font-size:14px;font-weight:600}
.v2-rcard small{font-size:12px;line-height:1.45;color:var(--on-dark-soft)}
.v2-rcard .sk{align-self:flex-start;font:500 11px var(--font-mono);color:var(--primary);background:rgba(244,144,30,.1);border-radius:999px;padding:5px 10px}

@media (min-width:821px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  @keyframes v2Spin{to{transform:rotate(360deg)}}
  @keyframes v2Bob{0%,100%{transform:none}50%{transform:translateY(-4px)}}
  @keyframes v2Squash{0%,100%{transform:none}50%{transform:scaleY(.55)}}
  @keyframes v2Blink{0%,100%{opacity:.25}50%{opacity:1}}
  @keyframes v2Draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
  @keyframes v2NudgeR{50%{transform:translateX(4px)}}
  @keyframes v2NudgeL{50%{transform:translateX(-4px)}}
  @keyframes v2Bar{from{transform:scaleX(0)}}
  @keyframes v2CutIn{0%,70%{opacity:1}100%{opacity:.35}}
  @keyframes v2Scan{0%{opacity:1;transform:translateY(0)}90%{opacity:1}100%{opacity:0;transform:translateY(calc(100cqh - 2px))}}
  @keyframes v2Eq{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
  @keyframes v2Up{to{transform:translateY(-50%)}}
  @keyframes v2Down{from{transform:translateY(-50%)}to{transform:none}}

  /* Stats */
  html.fx-on .v2-stats.is-armed .v2-stat::before{transform:scaleX(0)}
  html.fx-on .v2-stats.is-armed .v2-stat .l{opacity:0;transform:translateY(8px)}

  /* Why */
  html.fx-on .v2-why-grid:not(.is-in) .v2-why-card{opacity:0;transform:translateY(34px)}
  .v2-why-grid.is-in .v2-why-card{animation:v2Fade .8s var(--ease-emphatic) calc(var(--i) * 90ms) backwards}
  html.fx-on .v2-why-grid:not(.is-in) .v2-glyph .d{stroke-dashoffset:1}
  .v2-why-card:hover,.v2-why-card:focus-visible{background:var(--ink);color:var(--on-dark);transform:translateY(-6px)}
  .v2-why-card:hover p,.v2-why-card:focus-visible p{color:#cbc6bc}
  .v2-why-card:hover .ix{color:var(--on-dark-soft)}
  .v2-why-card:hover .v2-glyph{color:var(--on-dark)}
  .v2-why-card:hover .g-tz .h1{animation:v2Spin 2.4s linear infinite}
  .v2-why-card:hover .g-tz .h2{animation:v2Spin 6s linear infinite}
  .v2-why-card:hover .g-en .dot{animation:v2Bob .9s ease-in-out infinite}
  .v2-why-card:hover .g-en .dot:nth-of-type(2){animation-delay:.15s}
  .v2-why-card:hover .g-en .dot:nth-of-type(3){animation-delay:.3s}
  .v2-why-card:hover .g-cost .bar{animation:v2Squash 1.4s var(--ease-emphatic) infinite}
  .v2-why-card:hover .g-cost .bar:nth-of-type(3){animation-delay:.15s}
  .v2-why-card:hover .g-cost .bar:nth-of-type(4){animation-delay:.3s}
  .v2-why-card:hover .g-ai .dot{animation:v2Blink 1.2s ease-in-out infinite;animation-delay:calc(var(--k) * 90ms)}
  .v2-why-card:hover .g-us .sig{animation:v2Draw 1.3s var(--ease-emphatic)}
  .v2-why-card:hover .g-pt .r1{animation:v2NudgeR 1.6s ease-in-out infinite}
  .v2-why-card:hover .g-pt .r2{animation:v2NudgeL 1.6s ease-in-out infinite}

  /* Industries */
  .v2-ind-body>*{animation:v2Fade .6s var(--ease-emphatic) calc(var(--k,0) * 90ms) backwards}
  .v2-ind-stats .sl{animation:v2Fade .5s var(--ease-emphatic) calc(var(--k) * 90ms + .3s) backwards}

  /* AI scenes */
  .a1.is-on .cell i{animation:v2Bar .9s var(--ease-emphatic) calc(var(--d) + var(--c) * 80ms) both}
  .a1.is-on .sc{animation:v2Fade .4s var(--ease-emphatic) calc(var(--d) + .6s) both}
  .a1.is-on .r.cut{animation:v2CutIn 2.4s var(--ease-standard) both}
  .a1.is-on .ft{animation:v2Fade .5s var(--ease-emphatic) 2.1s both}
  .a2.is-on .scan{animation:v2Scan 1.9s var(--ease-standard) .25s both}
  .a2.is-on .flag{animation:v2Pop .45s var(--ease-emphatic) var(--d) both}
  .a2.is-on .ft{animation:v2Fade .5s var(--ease-emphatic) 2.3s both}
  .a3.is-on .vl{animation:v2Fade .45s var(--ease-emphatic) calc(var(--k) * .6s + .2s) both}
  .a3.is-on .wave i{animation:v2Eq .9s ease-in-out infinite}
  .a3.is-on .wave i:nth-child(2){animation-delay:.12s}
  .a3.is-on .wave i:nth-child(3){animation-delay:.24s}
  .a3.is-on .wave i:nth-child(4){animation-delay:.36s}
  .a3.is-on .wave i:nth-child(5){animation-delay:.48s}
  .a4.is-on .act{animation:v2Bar 1s var(--ease-emphatic) calc(var(--k) * .15s + .3s) both}
  .a4.is-on .v{animation:v2Fade .4s var(--ease-emphatic) calc(var(--k) * .15s + 1.1s) both}
  .a4.is-on .ft{animation:v2Fade .5s var(--ease-emphatic) 1.9s both}

  /* Careers */
  .v2-roster-cols{grid-template-columns:1fr 1fr;height:500px;overflow:hidden;-webkit-mask-image:linear-gradient(rgba(0,0,0,0),#000 10%,#000 90%,rgba(0,0,0,0));mask-image:linear-gradient(rgba(0,0,0,0),#000 10%,#000 90%,rgba(0,0,0,0))}
  .v2-roster .col.b{display:block}
  .v2-rcard.dup{display:flex}
  .v2-roster .col.a .track{animation:v2Up 32s linear infinite paused}
  .v2-roster .col.b .track{animation:v2Down 38s linear infinite paused}
  .v2-careers.is-playing .v2-roster .track{animation-play-state:running}
  .v2-careers.is-playing .v2-roster:hover .track{animation-play-state:paused}
  .v2-careers .reveal.in .v2-tags span{animation:v2Pop .45s var(--ease-emphatic) calc(var(--k) * 60ms + .4s) backwards}
}

@media (max-width:1024px){
  .v2-why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v2-ind-grid,.v2-ai-grid,.v2-careers-grid{grid-template-columns:1fr}
  .v2-ind-case{position:static;min-height:0}
  .v2-ai-stage{justify-self:stretch;max-width:none}
}
@media (max-width:820px){
  .v2-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 0}
  .v2-stat:nth-child(3){border-left:0;padding-left:0}
  .v2-why-grid{grid-template-columns:1fr}
  .v2-why-card{min-height:0}
  .v2-ind-list{flex-direction:row;overflow-x:auto;gap:8px;border:0;padding-bottom:6px;scrollbar-width:none}
  .v2-ind-tab{flex:0 0 auto;width:auto;border:1px solid var(--hairline);border-radius:999px;padding:8px 14px}
  .v2-ind-tab .i{display:none}
  .v2-ind-tab .nm{font-family:var(--font-body);font-size:14px;font-style:normal}
  .v2-ind-tab.is-on{background:var(--ink);border-color:var(--ink)}
  .v2-ind-tab.is-on .nm{color:var(--on-dark);font-style:normal;transform:none}
  .v2-ind-body,.v2-ind-stats .row{grid-template-columns:1fr}
  .v2-ai-stage{display:none}
  .v2-ai-pt .bd{grid-template-rows:1fr}
  .v2-ai-pt .bd>span{padding-top:10px}
  .v2-ai-pt .t{color:var(--on-dark)}
}
