/* Only active once motion.js confirms that motion is allowed; content is visible otherwise. */
html.motion [data-reveal]{opacity:0;transform:translateY(32px);transition:opacity .9s var(--ease),transform 1.1s var(--ease);transition-delay:var(--delay,0s)}
html.motion [data-reveal].is-in{opacity:1;transform:none}
html.motion .hero-title[data-reveal]:not(.is-in){transform:translateY(48px)}
html.motion .studio-mark path{stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset 1.5s cubic-bezier(.6,0,.2,1) .25s}
html.motion .studio-mark path+path{transition-delay:.85s}
html.motion .studio-square{opacity:0;transform:scale(.2);transform-origin:76px 44px;transition:opacity .3s 1.9s,transform .6s var(--ease) 1.9s}
html.motion .studio-plate.is-in .studio-mark path{stroke-dashoffset:0}
html.motion .studio-plate.is-in .studio-square{opacity:1;transform:none}
html.motion .case-thread span{transform:scaleY(var(--thread,0))}
html.motion .receipt-motion-layer{transition:transform .35s var(--ease)}
html.motion .receipt-paper:after{transition:background-position .4s ease-out}
html.motion .receipt-orbit{transition:transform .3s ease-out}
@media(prefers-reduced-motion:reduce){html.motion [data-reveal]{opacity:1;transform:none}.receipt-motion-layer{transform:none!important}.receipt-paper:after{background-position:100% 0!important}}
