/* Deck Pilot motion layer — 3D, scroll and micro-interaction styles. Loaded after site.css.
   html.mo = motion allowed · html.rm = reduced motion (everything rests in its final state)
   html.gl / html.no-gl = WebGL available or not (no-gl shows the CSS 3D fallbacks) · html.phone = lighter */

/* ── shared chrome ─────────────────────────────────────────────── */
.mo-prog{position:fixed;left:0;right:0;top:0;height:2px;z-index:80;transform-origin:0 50%;transform:scaleX(0);background:var(--grad);pointer-events:none}
.mo-glow{position:fixed;left:0;top:0;width:600px;height:600px;border-radius:50%;pointer-events:none;z-index:1;
  background:radial-gradient(closest-side,rgba(139,124,255,.10),rgba(232,176,75,.05) 45%,transparent 70%);mix-blend-mode:screen;will-change:transform}
[data-theme=light] .mo-glow{mix-blend-mode:multiply;background:radial-gradient(closest-side,rgba(139,124,255,.10),transparent 70%)}
.js .rv{transition-delay:var(--rd,0ms)}
.nav .links a.on{color:var(--fg)}
.nav .links a{position:relative}
.nav .links a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:0 50%;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.nav .links a.on::after,.nav .links a:hover::after{transform:scaleX(1)}

/* word-by-word headline rise */
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .04em .14em;margin:0 -.04em -.14em}
.split .wi{display:inline-block;will-change:transform}
.mo .split .wi{transform:translateY(110%) rotate(4deg);transition:transform 1.1s cubic-bezier(.16,1,.3,1) var(--wd,0ms)}
.mo .rv.in .split .wi,.mo .split.rv.in .wi{transform:none}
.mo .hero h1.split .wi{animation:dpWord 1.2s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--wd) + .15s);transition:none}
@keyframes dpWord{from{transform:translateY(110%) rotate(5deg)}to{transform:none}}

/* buttons: sheen + springy press */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn.gold::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.btn.gold:hover::after{transform:translateX(120%)}
.mo .btn{transition:transform .35s cubic-bezier(.34,1.56,.64,1),background .2s,border-color .2s,box-shadow .3s}
.mo .btn.gold:hover{box-shadow:0 16px 40px -12px rgba(232,176,75,.75)}

/* cards: pointer spotlight + tilt */
.tilt{transform-style:preserve-3d;will-change:transform}
.mo .tilt.in{transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .9s cubic-bezier(.2,.8,.2,1),border-color .3s,background-color .3s}
.mo .tilt:not(.hot):hover{background-image:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(232,176,75,.10),transparent 45%)}

/* ── hero ──────────────────────────────────────────────────────── */
.hero #stage{opacity:0;transition:opacity 1.4s ease}
.hero #stage.live{opacity:1}
.phone .hero #stage.live{opacity:.6}
@media (min-width:981px){.hero #stage{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.18) 0,rgba(0,0,0,.3) 32%,#000 56%);mask-image:linear-gradient(90deg,rgba(0,0,0,.18) 0,rgba(0,0,0,.3) 32%,#000 56%)}}
.hero .wrap{transform:translate3d(0,calc(var(--hp,0) * -140px),0);opacity:calc(1 - var(--hp,0) * 1.15);will-change:transform,opacity}
.mo .demo,.mo .demo:hover{transform:perspective(1400px) rotateY(var(--ry,-9deg)) rotateX(var(--rx,4deg)) translateZ(0);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.mo .demo{box-shadow:var(--shadow),0 0 0 1px rgba(255,255,255,.04) inset,0 40px 120px -40px rgba(139,124,255,.45)}
.demo::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:4;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.06) 50%,transparent 60%);background-size:250% 100%;animation:dpGlass 7s ease-in-out infinite}
@keyframes dpGlass{0%,100%{background-position:120% 0}50%{background-position:-20% 0}}
.mo .hero .acts,.mo .hero .lead,.mo .hero .eyebrow,.mo .hero .proof,.mo .hero .demo-in{animation:dpUp 1.1s cubic-bezier(.16,1,.3,1) both}
.mo .hero .eyebrow{animation-delay:.05s}.mo .hero .lead{animation-delay:.45s}.mo .hero .acts{animation-delay:.6s}.mo .hero .proof{animation-delay:.75s}
@keyframes dpUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.mo .hero .demo{animation:dpCardIn 1.6s cubic-bezier(.16,1,.3,1) .35s both}
@keyframes dpCardIn{from{opacity:0;transform:perspective(1400px) rotateY(-38deg) rotateX(14deg) translate3d(80px,40px,-200px)}}
.scrollcue{position:absolute;left:50%;bottom:28px;z-index:3;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font:600 10.5px/1 var(--mf);letter-spacing:.22em;text-transform:uppercase;color:var(--dim);text-decoration:none}
.scrollcue i{width:1px;height:36px;background:linear-gradient(var(--gold),transparent);transform-origin:top;animation:dpCue 2.2s cubic-bezier(.6,0,.2,1) infinite}
@keyframes dpCue{0%{transform:scaleY(0)}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (max-width:980px){.mo .demo,.mo .demo:hover{transform:none}.scrollcue{display:none}}

/* hero fallback deck: pure CSS 3D, shown only when WebGL is missing or failed */
.hero-css{display:none;position:absolute;right:4vw;top:50%;width:min(44vw,600px);aspect-ratio:16/9;z-index:0;perspective:1500px;transform:translateY(-50%)}
.no-gl .hero-css{display:block}
.hero-css i{position:absolute;inset:0;border-radius:14px;border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg,#151a33,#0a0c16);box-shadow:0 30px 60px -20px rgba(0,0,0,.7);
  transform:rotateY(-24deg) rotateX(8deg) rotateZ(calc((var(--i) - 3) * 6deg)) translate3d(calc((var(--i) - 3) * 40px),calc(var(--i) * -10px),calc(var(--i) * -60px));opacity:calc(1 - var(--i) * .1)}
.hero-css i:nth-child(1){--i:0;background:linear-gradient(135deg,rgba(232,176,75,.35),#0b0f1c 60%)}
.hero-css i:nth-child(2){--i:1}.hero-css i:nth-child(3){--i:2;background:linear-gradient(135deg,rgba(139,124,255,.35),#0b0f1c 60%)}
.hero-css i:nth-child(4){--i:3}.hero-css i:nth-child(5){--i:4;background:linear-gradient(135deg,rgba(62,230,193,.25),#0b0f1c 60%)}
.hero-css i:nth-child(6){--i:5}.hero-css i:nth-child(7){--i:6}
.mo .hero-css i{animation:dpFloat 6s ease-in-out infinite;animation-delay:calc(var(--i) * -.7s)}
@keyframes dpFloat{50%{margin-top:-14px}}

/* ── product range: orbit ─────────────────────────────────────── */
.rangebar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.rangebar .tabs{margin:0}
.viewsw{display:inline-flex;padding:4px;border-radius:999px;border:1px solid var(--line2);background:var(--bg2)}
.viewsw button{border:0;background:transparent;color:var(--mut);font:600 13px var(--bf);padding:8px 14px;border-radius:999px;cursor:pointer;transition:background .25s,color .25s}
.viewsw button.on{background:var(--fg);color:var(--bg)}
#products[data-view=grid] .orbwrap{display:none}
#products[data-view=orbit] .prods{display:none}
.orbwrap{position:relative;overflow-x:clip;overflow-y:visible;padding-bottom:4px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.orbit{position:relative;height:520px;perspective:1900px;perspective-origin:50% 30%;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;outline:none}
.orbit.grab{cursor:grabbing}
.orbit:focus-visible{outline:2px solid var(--gold);outline-offset:8px;border-radius:20px}
.orbit::after{content:"";position:absolute;left:10%;right:10%;bottom:-10px;height:120px;pointer-events:none;background:radial-gradient(50% 50% at 50% 50%,rgba(232,176,75,.16),transparent 70%);filter:blur(10px)}
.orb-ring{position:absolute;left:50%;top:24px;width:0;height:0;transform-style:preserve-3d;will-change:transform}
.orb-card{position:absolute;left:-165px;top:0;width:330px;min-height:430px;padding:26px;display:flex;flex-direction:column;gap:14px;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);backface-visibility:hidden;-webkit-backface-visibility:hidden;
  box-shadow:0 30px 70px -30px rgba(0,0,0,.65);transition:border-color .4s,box-shadow .4s}
.orb-card.front{border-color:rgba(232,176,75,.55);box-shadow:0 40px 90px -30px rgba(0,0,0,.7),0 0 0 1px rgba(232,176,75,.2),0 0 60px -10px rgba(232,176,75,.25)}
.orb-card .top{display:flex;justify-content:space-between;align-items:center}
.orb-card h3{font-size:25px}
.orb-card p{margin:0;color:var(--mut);font-size:15px}
.orb-card .arc{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto}
.orb-card .arc span{font:500 11px/1 var(--mf);padding:5px 8px;border-radius:6px;background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--mut)}
.orb-card .go{font:600 14px var(--bf);text-decoration:none;color:var(--gold);display:inline-flex;gap:6px;align-items:center}
.orb-card .go{-webkit-user-drag:none}
.orbctl{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:22px;font:600 13px var(--mf);letter-spacing:.06em;color:var(--mut)}
.orbctl span{min-width:280px;text-align:center}
.orbhint{text-align:center;margin:8px 0 0;color:var(--dim);font-size:13px}
@media (max-width:640px){.orbit{height:470px}.orb-card{width:270px;left:-135px;min-height:400px;padding:22px}.orbctl span{min-width:0;flex:1}}

/* ── how it works: sticky scroll-scrubbed pipeline ───────────── */
.pipe{position:relative;padding-top:60px}
.pipe-track{position:relative;height:560vh}
.phone .pipe-track{height:440vh}
.pipe-stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;
  background:radial-gradient(900px 500px at 70% 40%,rgba(139,124,255,.12),transparent 65%),linear-gradient(180deg,var(--bg),var(--bg2) 15%,var(--bg2) 85%,var(--bg))}
#pipeCv{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1s ease}
#pipeCv.live{opacity:1}
.pipe-ui{position:relative;z-index:2;height:100%;display:grid;grid-template-columns:minmax(300px,410px) 1fr;grid-template-rows:auto 1fr auto;column-gap:40px;padding:104px 0 34px;pointer-events:none}
.pipe-ui>*{pointer-events:auto}
.pipe-head{grid-column:1/-1}
.pipe-head h2{font-size:clamp(30px,3.6vw,52px);max-width:760px;margin:14px 0 10px}
.pipe-head p{margin:0;color:var(--mut);max-width:560px}
.stations{grid-column:1;list-style:none;margin:26px 0 0;padding:0;align-self:start;display:grid;gap:4px;
  background:color-mix(in srgb,var(--bg) 55%,transparent);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:18px;padding:10px}
.stations li{padding:12px 14px;border-radius:12px;cursor:pointer;opacity:.5;transition:opacity .4s,background .4s}
.stations li b{display:flex;align-items:center;gap:10px;font:600 18px var(--hf)}
.stations li em{font:700 11px var(--mf);font-style:normal;letter-spacing:.12em;color:var(--dim);transition:color .4s}
.stations li p{margin:0;max-height:0;overflow:hidden;color:var(--mut);font-size:14.5px;transition:max-height .6s cubic-bezier(.2,.8,.2,1),margin .4s}
.stations li.on{opacity:1;background:rgba(232,176,75,.09)}
.stations li.on em{color:var(--gold)}
.stations li.on p{max-height:140px;margin-top:6px}
.stations li.done{opacity:.85}
.stations li.done em{color:var(--teal)}
.stations li.done b::after{content:"✓";margin-left:auto;color:var(--teal);font:700 14px var(--bf)}
.pipe-ready{grid-column:2;align-self:end;justify-self:end;display:flex;flex-direction:column;gap:4px;padding:16px 20px;border-radius:16px;
  background:rgba(62,230,193,.1);border:1px solid rgba(62,230,193,.45);backdrop-filter:blur(10px);opacity:0;transform:translateY(16px) scale(.96);transition:opacity .5s,transform .6s cubic-bezier(.34,1.56,.64,1)}
.pipe-ready b{color:var(--teal);font:600 20px var(--hf)}
.pipe-ready span{color:var(--mut);font-size:13.5px}
.pipe-ready.on{opacity:1;transform:none}
.pipe-bar{grid-column:1/-1;height:2px;margin-top:22px;background:var(--line);border-radius:2px;overflow:hidden}
.pipe-bar i{display:block;height:100%;background:var(--grad);transform-origin:0 50%;transform:scaleX(0)}
.pipe .flow{margin-top:40px}
@media (max-width:860px){
  .pipe-ui{grid-template-columns:1fr;grid-template-rows:auto 1fr auto auto;padding:88px 0 22px}
  .pipe-head h2{font-size:28px}.pipe-head p{display:none}
  .stations{grid-row:3;margin:0}
  .stations li{display:none;opacity:1}.stations li.on{display:block}
  .stations:not(:has(li.on)) li:last-child{display:block}
  .pipe-ready{grid-column:1;grid-row:3;justify-self:stretch}
  .pipe-ready.on~.pipe-bar{margin-top:10px}
}
/* reduced motion: no pinning, no scrub — the finished state, every station readable */
.rm .pipe-track{height:auto}
.rm .pipe-stick{position:relative;height:auto;min-height:100vh}
.rm .pipe-ui{grid-template-rows:auto auto auto}
.rm .stations li,.rm .stations li.done{opacity:1;display:block}
.rm .stations li p{max-height:none;margin-top:6px}
.rm .pipe-bar{display:none}
.rm.phone #pipeCv{display:none}
.rm.phone .pipe-css{display:block}

/* pipeline fallback: CSS 3D slide stack that fills as the stations pass */
.pipe-css{display:none;position:absolute;right:8vw;top:52%;width:min(36vw,480px);aspect-ratio:16/9;perspective:1400px;z-index:1;transform:translateY(-50%)}
.no-gl .pipe-css{display:block}
.pipe-css .brief{position:absolute;left:-30%;top:-10%;width:34%;aspect-ratio:3/4;background:#F4F1EA;color:#11131C;border-radius:6px;padding:10px;font:600 13px var(--hf);box-shadow:0 20px 40px -10px rgba(0,0,0,.6);transition:opacity .6s,transform .8s cubic-bezier(.2,.8,.2,1)}
.pipe-css:not([data-done="0"]) .brief{opacity:0;transform:translateX(120px) scale(.6)}
.pipe-css i{position:absolute;inset:0;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,#171c38,#0b0d18);
  box-shadow:0 30px 60px -20px rgba(0,0,0,.7);opacity:0;transform:translate3d(-60%,0,-200px) rotateY(50deg);transition:opacity .6s,transform 1s cubic-bezier(.16,1,.3,1)}
.pipe-css i:nth-of-type(1){--k:0}.pipe-css i:nth-of-type(2){--k:1;background:linear-gradient(135deg,rgba(232,176,75,.35),#0b0d18 65%)}.pipe-css i:nth-of-type(3){--k:2}
.pipe-css i:nth-of-type(4){--k:3;background:linear-gradient(135deg,rgba(139,124,255,.4),#0b0d18 65%)}.pipe-css i:nth-of-type(5){--k:4}.pipe-css i:nth-of-type(6){--k:5;background:linear-gradient(135deg,rgba(62,230,193,.3),#0b0d18 65%)}
.pipe-css[data-done="1"] i:nth-of-type(-n+1),.pipe-css[data-done="2"] i:nth-of-type(-n+2),.pipe-css[data-done="3"] i:nth-of-type(-n+3),
.pipe-css[data-done="4"] i:nth-of-type(-n+4),.pipe-css[data-done="5"] i:nth-of-type(-n+5),.pipe-css[data-done="6"] i,.pipe-css[data-done="7"] i{
  opacity:1;transform:rotateY(-18deg) rotateX(6deg) translate3d(calc(var(--k) * 16px),calc(var(--k) * -12px),calc(var(--k) * -40px))}
.pipe-css[data-done="7"] i{transform:rotateY(-10deg) rotateZ(calc((var(--k) - 2.5) * 5deg)) translate3d(calc((var(--k) - 2.5) * 46px),calc(var(--k) * -4px),calc(var(--k) * -20px))}
@media (max-width:860px){.pipe-css{right:50%;transform:translate(50%,-60%);width:64vw;top:56%}}

/* ── showcase: 3D cards ─────────────────────────────────────── */
.shows{perspective:1600px}
.show3d{perspective:1400px;position:relative}
.s3-inner{display:grid;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.16,1,.3,1);transform:rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg))}
.show3d.flipped .s3-inner{transform:rotateY(180deg)}
.s3-face{grid-area:1/1;backface-visibility:hidden;-webkit-backface-visibility:hidden;min-width:0}
.s3-front{padding:14px 14px 0;overflow:visible}
.s3-back{transform:rotateY(180deg);padding:30px;display:flex;flex-direction:column;gap:14px;background:radial-gradient(500px 260px at 100% 0,rgba(139,124,255,.18),transparent 60%),var(--card)}
.s3-back h3{font-size:24px}
.s3-back dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}
.s3-back dt{font:600 11px var(--mf);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.s3-back dd{margin:4px 0 0;font:600 22px var(--hf)}
.s3-back dd b{color:var(--teal)}
.s3-back dd small{font:500 12px var(--bf);color:var(--mut)}
.s3-back .acts{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap}
.s3-stage{display:block;position:relative;text-decoration:none}
.s3-stage .cv{position:relative;z-index:2;aspect-ratio:16/9;border-radius:12px;background:#0B0F1C center/cover no-repeat;box-shadow:0 24px 50px -20px rgba(0,0,0,.7);overflow:hidden;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.s3-stage .cv.sq{background-size:contain;background-color:#111}
.s3-stage .fan{position:absolute;inset:0;z-index:1}
.s3-stage .fan i{position:absolute;inset:0;border-radius:12px;background:#111 center/cover no-repeat;border:1px solid var(--line2);box-shadow:0 20px 40px -18px rgba(0,0,0,.7);
  transform:translateY(calc(var(--f) * 3px)) scale(calc(.97 - var(--f) * .015));opacity:.0;transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .4s;transition-delay:calc(var(--f) * 30ms)}
.s3-stage .fan.sq i{background-size:contain}
.mo .show3d:hover .fan i,.mo .show3d.playing .fan i{opacity:1;transform:translate(calc((var(--f) - 2) * 15%),-16%) rotate(calc((var(--f) - 2) * 6deg)) scale(.62)}
.mo .show3d:hover .s3-stage .cv{transform:translateY(8px)}
.s3-stage .pbar{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(0,0,0,.35)}
.s3-stage .pbar i{display:block;height:100%;background:var(--grad);transform-origin:0 50%;transform:scaleX(0);transition:transform .5s}
.s3-stage .hint{position:absolute;left:12px;bottom:12px;font:600 11px var(--mf);letter-spacing:.06em;padding:6px 10px;border-radius:99px;background:rgba(7,8,15,.7);color:#F3F1EC;backdrop-filter:blur(6px);transition:opacity .3s}
.show3d.playing .hint{opacity:0}
.s3-stage .sn{position:absolute;right:12px;top:10px;font:600 11px var(--mf);color:#F3F1EC;text-shadow:0 1px 4px rgba(0,0,0,.7)}
.show3d .meta{padding:16px 6px 20px;display:flex;justify-content:space-between;gap:16px;align-items:flex-end}
.show3d h3{font-size:22px;margin:6px 0 4px}
.show3d .sc{text-align:right;font:600 11px/1.2 var(--mf);letter-spacing:.12em;text-transform:uppercase;color:var(--mut);white-space:nowrap;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.show3d .sc b{display:block;font:600 24px/1 var(--hf);color:var(--teal);letter-spacing:0;margin-bottom:4px}
.show3d button.flip{border:1px solid var(--line2);background:transparent;color:var(--mut);font:600 11.5px var(--bf);letter-spacing:.02em;text-transform:none;padding:7px 11px;border-radius:99px;cursor:pointer;transition:color .2s,border-color .2s}
.show3d button.flip:hover{color:var(--fg);border-color:var(--fg)}
.s3-back .btn.flip{font-size:13.5px}
@media (max-width:640px){.s3-back dl{grid-template-columns:1fr}.show3d .meta{flex-direction:column;align-items:flex-start}.show3d .sc{align-items:flex-start;text-align:left}}

/* ── compare + pricing micro-motion ─────────────────────────── */
.mo .cmpw tbody tr{opacity:0;transform:translateX(-14px);transition:opacity .6s,transform .7s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--ri,0) * 45ms)}
.mo .cmpw.play tbody tr{opacity:1;transform:none}
.cmp tbody tr{transition:background .2s}
.cmp tbody tr:hover td{background:rgba(232,176,75,.05)}
@property --dpa{syntax:'<angle>';inherits:false;initial-value:0deg}
.plan.hot{isolation:isolate}
.plan.hot::after{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;pointer-events:none;
  background:conic-gradient(from var(--dpa),transparent 0 60%,var(--gold2) 75%,var(--violet) 85%,transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.mo .plan.hot::after{animation:dpSpin 5s linear infinite}
@keyframes dpSpin{to{--dpa:360deg}}
.band{position:relative;overflow:hidden}
.mo .band::before{content:"";position:absolute;inset:-40%;z-index:0;pointer-events:none;background:conic-gradient(from 0deg at 50% 50%,transparent,rgba(139,124,255,.18),transparent 30%,rgba(232,176,75,.14),transparent 60%);animation:dpSpinR 18s linear infinite}
.band>*{position:relative;z-index:1}
@keyframes dpSpinR{to{transform:rotate(360deg)}}

/* reduced motion: final states, no loops */
.rm .split .wi,.rm .hero h1.split .wi{transform:none!important;animation:none!important}
.rm .hero .wrap{transform:none;opacity:1}
.rm .demo::after,.rm .scrollcue i{animation:none}
