/* Les personnages sont des calques alpha indépendants, sur un décor nettoyé. */
.studio-layers{position:absolute;inset:0;z-index:-2;opacity:0;pointer-events:none;overflow:clip;transition:opacity .35s ease-out;--studio-play:paused}
.studio-stage{position:absolute;inset:0;transform:translateY(calc(var(--scene-shift,0px)*.5)) scale(1.025)}
.studio-backdrop{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:fill}
.studio-actor{position:absolute;display:block;left:var(--actor-left);top:var(--actor-top);width:var(--actor-width);pointer-events:none}
.studio-actor>img{display:block;width:100%;height:auto;max-width:none;transform-origin:var(--actor-origin);animation-play-state:var(--studio-play)!important;will-change:transform}
.actor-web>img{animation:studio-web-breathe 6.8s -1.4s ease-in-out infinite}
.actor-identite>img{animation:studio-identity-breathe 7.7s -3.7s ease-in-out infinite}
.actor-contenu>img{animation:studio-content-breathe 6.4s -2.1s ease-in-out infinite}
.studio-world>picture{transition:opacity .35s ease-out}
.studio-world.layers-ready>.studio-layers{opacity:1}
.studio-world.layers-ready>picture{opacity:0}
@keyframes studio-web-breathe{0%,12%,100%{transform:translate(0,1px) rotate(-.55deg)}45%,62%{transform:translate(-1.5px,-4px) rotate(1.2deg)}}
@keyframes studio-identity-breathe{0%,18%,100%{transform:translate(0,1px) rotate(.5deg)}48%,65%{transform:translate(2px,-3.5px) rotate(-1.1deg)}}
@keyframes studio-content-breathe{0%,8%,100%{transform:translate(0,1px) rotate(-.6deg)}40%,60%{transform:translate(-1px,-4.5px) rotate(1.15deg)}}
@media(max-width:800px){.studio-layers{display:none}.studio-world.layers-ready>picture{opacity:1}}
@media(prefers-reduced-motion:reduce){.studio-actor>img{animation:none!important;transform:none!important;will-change:auto}.studio-stage{transform:scale(1.025)}}
.decorative-paused .studio-actor>img{animation-play-state:paused!important;will-change:auto}
