/* Animations « motion design » de l'accueil (chargées sur l'accueil seulement, voir functions.php).
   Principe : discrètes, une seule fois, jamais en boucle ; rien n'est caché si JavaScript est absent ;
   coupées si le système demande moins d'animations (prefers-reduced-motion). */
@keyframes uwMonte { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes uwApparait { from { opacity: 0; } to { opacity: 1; } }
@keyframes uwSymbole { from { opacity: 0; transform: translateY(18px) scale(.96); } to { opacity: 1; transform: none; } }

/* En-tête : les trois mots arrivent l'un après l'autre, puis le texte, les boutons et le symbole. */
html.uw-anim .uw-hero .oc-kicker { animation: uwApparait .6s ease both; }
html.uw-anim .uw-h1 span { animation: uwMonte .8s cubic-bezier(.2,.75,.2,1) both; }
html.uw-anim .uw-h1 span:nth-child(1) { animation-delay: .10s; }
html.uw-anim .uw-h1 span:nth-child(2) { animation-delay: .28s; }
html.uw-anim .uw-h1 span:nth-child(3) { animation-delay: .46s; }
html.uw-anim .uw-hero .uw-tag { animation: uwMonte .7s cubic-bezier(.2,.75,.2,1) .70s both; }
html.uw-anim .uw-hero .uw-sous { animation: uwApparait .7s ease .82s both; }
html.uw-anim .uw-hero .uw-lead { animation: uwMonte .7s cubic-bezier(.2,.75,.2,1) .90s both; }
html.uw-anim .uw-hero .uw-cta { animation: uwMonte .7s cubic-bezier(.2,.75,.2,1) 1.00s both; }
html.uw-anim .uw-sym img { animation: uwSymbole 1.2s cubic-bezier(.2,.75,.2,1) .35s both; }
html.uw-anim .uw-prochaine { animation: uwMonte .8s cubic-bezier(.2,.75,.2,1) 1.15s both; }

/* Au défilement : chaque bloc monte doucement quand il entre à l'écran (classe posée par anim.js). */
html.uw-anim .uw-r { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .8s cubic-bezier(.2,.75,.2,1); }
html.uw-anim .uw-r.uw-vu { opacity: 1; transform: none; }
/* Photo du formateur : dévoilée de bas en haut, comme un rideau. */
html.uw-anim .uw-ph.uw-r { opacity: 1; transform: none; clip-path: inset(100% 0 0 0); transition: clip-path 1.1s cubic-bezier(.6,0,.2,1); }
html.uw-anim .uw-ph.uw-r.uw-vu { clip-path: inset(0 0 0 0); }
/* Parcours du formateur : le filet de chaque étape se trace de gauche à droite. */
html.uw-anim .uw-parcours li.uw-r { border-top-color: transparent; position: relative; }
html.uw-anim .uw-parcours li.uw-r::after { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px; background: var(--uw-filet, #E5E5E5); transform: scaleX(0); transform-origin: left; transition: transform .9s cubic-bezier(.6,0,.2,1) .1s; }
html.uw-anim .uw-parcours li.uw-r.uw-vu::after { transform: scaleX(1); }
/* Liste des formations : au survol, le numéro passe au noir et la flèche avance (déjà prévu) ; à l'apparition, la ligne glisse. */
html.uw-anim .uw-ligne.uw-r { transform: translateX(-14px); }
html.uw-anim .uw-ligne.uw-r.uw-vu { transform: none; }

@media (prefers-reduced-motion: reduce) {
	html.uw-anim *, html.uw-anim *::after { animation: none !important; transition: none !important; }
	html.uw-anim .uw-r { opacity: 1 !important; transform: none !important; clip-path: none !important; }
}
