/* aiXhse scroll motion — five selectable styles (html[data-motion="1".."5"]); default set in motion.js */
.w{display:inline-block;white-space:pre}
html.mo .rv{will-change:opacity,transform}
/* 1 — نرم‌برآمدن (fade-up، مثل NVIDIA) */
html.mo[data-motion="1"] .rv{opacity:0;transform:translateY(30px);transition:opacity .75s cubic-bezier(.2,.7,.2,1) calc(var(--d,0)*70ms),transform .75s cubic-bezier(.2,.7,.2,1) calc(var(--d,0)*70ms)}
html.mo[data-motion="1"] .rv.in{opacity:1;transform:none}
/* 2 — بلور واژه‌ها (تیتر کلمه‌به‌کلمه از بلور بیرون می‌آید، مثل Coframe) */
html.mo[data-motion="2"] .rv{opacity:0;transform:translateY(14px);transition:opacity .6s ease calc(var(--d,0)*60ms),transform .6s ease calc(var(--d,0)*60ms)}
html.mo[data-motion="2"] .rv.in{opacity:1;transform:none}
html.mo[data-motion="2"] .rv .w{opacity:0;filter:blur(10px);transform:translateY(.45em);transition:opacity .55s ease,filter .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*70ms + 120ms)}
html.mo[data-motion="2"] .rv.in .w{opacity:1;filter:blur(0);transform:none}
/* 3 — مقیاس و عمق (به اسکرول گره خورده و برگشت‌پذیر) */
html.mo[data-motion="3"] .rv{opacity:0;transform:translateY(60px) scale(.93);transform-origin:50% 100%}
/* 4 — پرده و لغزش (بخش‌ها با پرده باز می‌شوند، کارت‌ها از دو طرف می‌لغزند) */
html.mo[data-motion="4"] .rv{clip-path:inset(0 0 100% 0);opacity:.001;transition:clip-path .9s cubic-bezier(.65,0,.25,1) calc(var(--d,0)*80ms),opacity .3s ease calc(var(--d,0)*80ms),transform .9s cubic-bezier(.2,.7,.2,1) calc(var(--d,0)*80ms)}
html.mo[data-motion="4"] .card.rv{clip-path:none;opacity:0;transform:translateX(-46px)}
html.mo[data-motion="4"] .card.rv:nth-child(even){transform:translateX(46px)}
html.mo[data-motion="4"] .rv.in{clip-path:;opacity:1;transform:none}
html.mo[data-motion="4"] .card.rv.in{clip-path:none}
/* 5 — کانون توجه (فقط بخش‌های میانهٔ صفحه روشن‌اند و با اسکرول جابه‌جا می‌شوند) */
html.mo[data-motion="5"] .rv{opacity:.22;filter:saturate(.3);transform:scale(.975);transition:opacity .45s ease,filter .45s ease,transform .45s ease}
html.mo[data-motion="5"] .rv.in{opacity:1;filter:none;transform:none}
@media (prefers-reduced-motion:reduce){html.mo .rv,html.mo .rv .w{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important}}
