/* Isolated logo animation; the room, surrounding layout and other images stay static. */
.mvs-drawing-figure .mvs-logo-motion{position:relative;isolation:isolate;aspect-ratio:3/4;overflow:hidden;border-radius:6px;contain:paint;--mvs-logo-cycle:12s}
.mvs-drawing-figure .mvs-logo-motion img{display:block;position:absolute;inset:0;width:100%;max-width:none;height:100%;object-fit:fill;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;user-select:none;pointer-events:none}
.mvs-logo-motion .mvs-logo-layer{visibility:hidden}
.mvs-logo-motion.is-ready .mvs-logo-layer{visibility:visible}
.mvs-logo-motion .mvs-logo-wall{-webkit-mask-image:linear-gradient(to right,transparent 36%,#000 40%),linear-gradient(to bottom,transparent 20%,#000 26%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 36%,#000 40%),linear-gradient(to bottom,transparent 20%,#000 26%);mask-composite:intersect}
.mvs-logo-motion .mvs-logo-sign,.mvs-logo-motion .mvs-logo-shadow{position:absolute;inset:0;transform-origin:69% 45%;backface-visibility:hidden}
.mvs-logo-motion .mvs-logo-sign{transform:translate3d(-.25%,.3%,0) scale(.992)}
.mvs-logo-motion .mvs-logo-shadow{mix-blend-mode:multiply;transform:translate3d(-.8%,5.7%,0) scale(1.005) skewX(-2deg)}
.mvs-logo-motion .mvs-logo-near{filter:brightness(0) blur(2px);opacity:.34}
.mvs-logo-motion .mvs-logo-far{filter:brightness(0) blur(5.5px);opacity:0}
.mvs-logo-motion.is-ready .mvs-logo-sign{animation:mvs-logo-depth var(--mvs-logo-cycle) ease-in-out infinite}
.mvs-logo-motion.is-ready .mvs-logo-shadow{animation:mvs-logo-shadow-depth var(--mvs-logo-cycle) ease-in-out infinite}
.mvs-logo-motion.is-ready .mvs-logo-near{animation:mvs-logo-near var(--mvs-logo-cycle) ease-in-out infinite}
.mvs-logo-motion.is-ready .mvs-logo-far{animation:mvs-logo-far var(--mvs-logo-cycle) ease-in-out infinite}
.mvs-logo-motion.is-paused .mvs-logo-sign,.mvs-logo-motion.is-paused .mvs-logo-shadow,.mvs-logo-motion.is-paused .mvs-logo-near,.mvs-logo-motion.is-paused .mvs-logo-far{animation-play-state:paused}
.mvs-drawing-figure .mvs-logo-pause{position:absolute;z-index:2;bottom:10px;right:10px;display:flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:6px 10px;margin:0;border:1px solid rgba(255,255,255,.6);border-radius:5px;background:rgba(21,56,85,.88);color:#fff;font:500 11px/1.2 Arial,sans-serif;cursor:pointer}
.mvs-drawing-figure .mvs-logo-pause[hidden]{display:none}
.mvs-drawing-figure .mvs-logo-pause:focus-visible{outline:3px solid #53d0bc;outline-offset:2px}
@keyframes mvs-logo-depth{0%,100%{transform:translate3d(-.25%,.3%,0) scale(.992)}50%{transform:translate3d(.25%,-.65%,0) scale(1.026)}}
@keyframes mvs-logo-shadow-depth{0%,100%{transform:translate3d(-.8%,5.7%,0) scale(1.005) skewX(-2deg)}50%{transform:translate3d(-1.5%,9.3%,0) scale(1.018) skewX(-3deg)}}
@keyframes mvs-logo-near{0%,100%{opacity:.34}50%{opacity:.08}}
@keyframes mvs-logo-far{0%,100%{opacity:0}50%{opacity:.25}}
@media(prefers-reduced-motion:reduce){.mvs-logo-motion .mvs-logo-layer,.mvs-logo-motion.is-ready .mvs-logo-layer,.mvs-drawing-figure .mvs-logo-pause{display:none!important}.mvs-logo-motion *{animation:none!important}}
