/* One-time entrances do not change the approved room geometry or lettering. */
.room-scene .room-slogan{animation:room-slogan-fade 1.4s ease-out both}
@keyframes room-slogan-fade{from{opacity:0}to{opacity:1}}
.room-motion-pending .room-slogan,.room-motion-pending .room-child{animation:none;opacity:0}
.room-scene.room-motion-visible .room-slogan{animation:room-slogan-fade 1.4s .15s ease-out both}
.room-scene.room-motion-visible .room-child{animation:room-child-enter 1s ease-out both}
.room-scene.room-motion-visible .room-girl{animation-delay:.15s}
@keyframes room-child-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.room-films.room-motion-pending{opacity:0;transform:translateY(12px)}
.room-films.room-motion-visible{animation:room-films-enter .8s ease-out both}
@keyframes room-films-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.room-scene .room-poster{transition:transform .3s ease,box-shadow .3s ease;transform-origin:center}
.room-navigation a svg{transition:transform .25s ease}
.room-scene .room-poster:active{transform:scale(.99)}
.room-navigation a:active svg{transform:translateY(1px) scale(.96)}
.room-navigation a:focus-visible svg{transform:translateY(-3px)}
/* Quiet ambient motion also works without hover on touch screens. */
.room-lettering{background:linear-gradient(110deg,#fff 0%,#fff 42%,#d9c6b7 47%,#75482f 50%,#d9c6b7 53%,#fff 58%,#fff 100%);background-size:300% 100%;animation:room-lettering-sheen 8s ease-in-out infinite;filter:drop-shadow(0 1px 3px #48362c88)}
@keyframes room-lettering-sheen{0%,20%{background-position:100% 50%}80%,100%{background-position:0% 50%}}
.room-navigation a svg{transform-origin:center;animation:room-icon-turn 8s ease-in-out infinite}
.room-navigation a:nth-child(2) svg{animation-delay:1.3s}
.room-navigation a:nth-child(3) svg{animation-delay:2.6s}
.room-navigation a:nth-child(4) svg{animation-delay:3.9s}
.room-navigation a:nth-child(5) svg{animation-delay:5.2s}
@keyframes room-icon-turn{0%,5%,32%,100%{transform:rotate(0)}12%{transform:rotate(-10deg)}21%{transform:rotate(10deg)}27%{transform:rotate(-4deg)}}
.room-scene .room-poster{overflow:hidden}
.room-poster::after{content:'';position:absolute;top:-25%;left:0;width:38%;height:150%;pointer-events:none;z-index:1;background:linear-gradient(90deg,transparent,#fff6,transparent);transform:translateX(-180%) skewX(-12deg);opacity:0;animation:room-poster-glint 12s 1s ease-in-out infinite}
.room-poster-right::after{animation-delay:5s}
.room-magnifier{z-index:2}
@keyframes room-poster-glint{0%{transform:translateX(-180%) skewX(-12deg);opacity:0}5%{opacity:.65}20%{transform:translateX(400%) skewX(-12deg);opacity:0}100%{transform:translateX(400%) skewX(-12deg);opacity:0}}
.room-films h2 small,.room-film-art small{display:inline-block;animation:room-soon-breathe 6s ease-in-out infinite;transform-origin:center}
.room-film-art small{animation-delay:1.5s}
.room-film-grid article:nth-child(2) small{animation-delay:3s}
@keyframes room-soon-breathe{0%,65%,100%{transform:scale(1);background-color:#f5ddbf;box-shadow:0 0 0 0 #c99d6900}32%{transform:scale(1.045);background-color:#f9e9d4;box-shadow:0 0 0 5px #c99d6915}}
@media(hover:hover) and (pointer:fine){
 .room-scene .room-poster-left:hover{transform:perspective(900px) rotateY(5deg) scale(1.025);box-shadow:2px 8px 14px #56341435}
 .room-scene .room-poster-right:hover{transform:perspective(900px) rotateY(-5deg) scale(1.025);box-shadow:2px 8px 14px #56341435}
 .room-navigation a:hover svg{transform:translateY(-3px)}
 .room-navigation a:hover svg,.room-navigation a:focus-visible svg{animation-play-state:paused}
}
@media(prefers-reduced-motion:reduce){
 .room-scene .room-slogan,.room-scene .room-child,.room-films{animation:none!important;opacity:1!important;transform:none!important}
 .room-scene .room-poster,.room-navigation a,.room-navigation a svg{transition:none!important}
 .room-scene .room-poster:hover,.room-scene .room-poster:active,.room-navigation a svg{transform:none!important}
 .room-lettering,.room-navigation a svg,.room-poster::after,.room-films h2 small,.room-film-art small{animation:none!important}
 .room-lettering{background:#fff}
 .room-poster::after{display:none}
}
