/* Moteur d'animation du site : chaque élément entre au moment où il devient visible, un par un, avec un mouvement
   propre à son bloc (même système que la page de présentation). Les délais sont posés par motion.js (--jdel). */
html.jm-on [data-m]{ opacity:0; }
html.jm-on [data-m].jm-in{ opacity:1; animation-duration:var(--jdur,.75s); animation-timing-function:cubic-bezier(.22,1,.36,1); animation-delay:var(--jdel,0s); animation-fill-mode:backwards; }
html.jm-on [data-m=text].jm-in{ animation-name:jmText; }
html.jm-on [data-m=img].jm-in{ animation-name:jmImg; --jdur:.95s; }
html.jm-on [data-m=btn].jm-in{ animation-name:jmBtn; --jdur:.9s; }
html.jm-on [data-m=tag].jm-in{ animation-name:jmPop; --jdur:.6s; }
html.jm-on [data-ms=cascade][data-m=card].jm-in{ animation-name:jmCascade; transform-origin:top center; }
html.jm-on [data-ms=cascade][data-m=row].jm-in{ animation-name:jmCascadeR; transform-origin:top center; }
html.jm-on [data-ms=flip][data-m=card].jm-in{ animation-name:jmFlip; --jdur:1s; }
html.jm-on [data-ms=flip][data-m=row].jm-in{ animation-name:jmFlipR; transform-origin:top center; }
html.jm-on [data-ms=deal][data-m=card].jm-in,html.jm-on [data-ms=deal][data-m=row].jm-in{ animation-name:jmDeal; --jdur:.9s; }
html.jm-on [data-ms=rise][data-m=card].jm-in{ animation-name:jmRise; --jdur:.95s; transform-origin:bottom center; }
html.jm-on [data-ms=rise][data-m=row].jm-in{ animation-name:jmRiseR; }
html.jm-on [data-ms=zoom][data-m=card].jm-in,html.jm-on [data-ms=zoom][data-m=row].jm-in{ animation-name:jmZoom; --jdur:.9s; }
@keyframes jmText{ from{ opacity:0; transform:translateY(18px); } }
@keyframes jmImg{ from{ opacity:0; transform:scale(.94); filter:blur(6px); } }
@keyframes jmBtn{ 0%{ opacity:0; transform:translateY(12px); } 70%{ opacity:1; transform:none; } 85%{ transform:scale(.95); } 100%{ transform:scale(1); } }
@keyframes jmPop{ 0%{ opacity:0; transform:scale(.5); } 70%{ opacity:1; transform:scale(1.08); } 100%{ transform:scale(1); } }
@keyframes jmCascade{ from{ opacity:0; transform:perspective(1000px) translateY(-46px) rotateX(-22deg); } }
@keyframes jmCascadeR{ from{ opacity:0; transform:perspective(1000px) translateY(-30px) rotateX(-22deg); } }
@keyframes jmFlip{ from{ opacity:0; transform:perspective(1000px) rotateY(88deg) scale(.9); } }
@keyframes jmFlipR{ from{ opacity:0; transform:perspective(900px) rotateX(-85deg); } }
@keyframes jmDeal{ from{ opacity:0; transform:perspective(1000px) translate(120px,-30px) rotate(6deg) rotateY(-25deg); } }
@keyframes jmRise{ from{ opacity:0; transform:perspective(1000px) translateY(28px) rotateX(14deg) scale(.96); } }
@keyframes jmRiseR{ from{ opacity:0; transform:translateX(-28px); } }
@keyframes jmZoom{ from{ opacity:0; transform:perspective(1000px) translateZ(220px); filter:blur(6px); } }
html[data-motion="off"] [data-m]{ opacity:1 !important; animation:none !important; }
