/* Author: Ahmed Fathy. Light motion; every rule needs html.mo, which only motion.js sets (never with reduced motion). Opacity and transform only: no layout shift. */
@media (prefers-reduced-motion:no-preference){
html.mo .mo-r{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:var(--mo-d,0ms)}
html.mo .mo-r.mo-in{opacity:1;transform:none}
html.mo .rv.mo-f{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
html.mo .rv.mo-f.in{opacity:1}
html.mo .phero h1,html.mo .hero h1{animation:mo-h .8s cubic-bezier(.2,.7,.2,1) .05s both}
html.mo .phero h1+p,html.mo .hero h1+p{animation:mo-p .7s cubic-bezier(.2,.7,.2,1) .25s both}
html.mo .stats .num{display:inline-block;font-variant-numeric:tabular-nums}
}
@keyframes mo-h{from{clip-path:inset(0 0 100% 0);transform:translateY(.4em)}to{clip-path:inset(-.2em -.2em -.3em -.2em);transform:none}}
@keyframes mo-p{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){html.mo .mo-r,html.mo .rv.mo-f{opacity:1!important;transform:none!important;transition:none!important}html.mo .phero h1,html.mo .hero h1,html.mo .phero h1+p,html.mo .hero h1+p{animation:none!important}}
@media print{.mo-r,.rv.mo-f{opacity:1!important;transform:none!important}}
