/* Avatars animés de la recruteuse (Sarah) et du recruteur (Thomas)
   .av = conteneur ; .av.speaking = l'IA parle ; .av.listening = elle écoute ; .av.m = Thomas */
.av{display:block;position:relative}
.av .rphoto{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%}
.av.speaking .rphoto{animation:rp-talk 1.6s ease-out infinite}
@keyframes rp-talk{0%{box-shadow:0 0 0 0 rgba(232,163,61,.75)}100%{box-shadow:0 0 0 14px rgba(232,163,61,0)}}
.av svg{display:block;width:100%;height:auto;overflow:visible}
.av .mouth-talk{display:none}
.av.speaking .mouth-talk{display:inline}
.av.speaking .mouth-rest{display:none}
@keyframes av-breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.014)}}
@keyframes av-sway{0%,100%{transform:rotate(-1.2deg) translateY(0)}50%{transform:rotate(1.2deg) translateY(1.5px)}}
@keyframes av-talkhead{0%,100%{transform:rotate(0deg)}20%{transform:rotate(-2.4deg) translateY(-2px)}45%{transform:rotate(1.6deg)}70%{transform:rotate(-1deg) translateY(1px)}}
@keyframes av-nod{0%,60%,100%{transform:rotate(0deg) translateY(0)}70%{transform:rotate(1.5deg) translateY(4px)}80%{transform:rotate(0deg) translateY(0)}88%{transform:rotate(1.2deg) translateY(3px)}}
@keyframes av-strand{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2.5deg)}}
@keyframes av-blink{0%,93%,100%{transform:scaleY(0)}95.5%{transform:scaleY(1)}}
@keyframes av-brow{0%,100%{transform:translateY(0)}25%{transform:translateY(-4px)}40%{transform:translateY(-1px)}65%{transform:translateY(-3px)}}
@keyframes av-vis{0%,24.9%{opacity:1}25%,100%{opacity:0}}
@keyframes av-halo{0%{transform:scale(.92);opacity:.7}100%{transform:scale(1.12);opacity:0}}
.av .torso{transform-box:view-box;transform-origin:150px 340px;animation:av-breathe 4.2s ease-in-out infinite}
.av .head{transform-box:view-box;transform-origin:150px 236px;animation:av-sway 6.5s ease-in-out infinite}
.av.speaking .head{animation:av-talkhead 2.6s ease-in-out infinite}
.av.listening .head{animation:av-nod 3.6s ease-in-out infinite}
.av .strand-l{transform-box:fill-box;transform-origin:top center;animation:av-strand 3.4s ease-in-out infinite}
.av .strand-r{transform-box:fill-box;transform-origin:top center;animation:av-strand 3.8s ease-in-out infinite reverse}
.av .lid{transform-box:fill-box;transform-origin:center top;transform:scaleY(0);animation:av-blink 4.6s infinite}
.av.m .lid{animation-duration:5.3s;animation-delay:1.2s}
.av.speaking .brows{animation:av-brow 2.6s ease-in-out infinite}
.av.speaking .v{animation:av-vis .76s steps(1) infinite}
.av.speaking .v2{animation-delay:-.19s}.av.speaking .v3{animation-delay:-.38s}.av.speaking .v4{animation-delay:-.57s}
.av.m.speaking .v{animation-duration:.84s}
.av .halo circle{transform-box:fill-box;transform-origin:center;opacity:0}
.av.speaking .halo circle{animation:av-halo 1.8s ease-out infinite}
.av.speaking .halo circle + circle{animation-delay:.9s}
@media (prefers-reduced-motion: reduce){.av *{animation:none!important}}
