/* Motion belongs to the artwork. Event information and form controls stay steady. */
.invitation-motion .page{animation:occasi-page-arrive .55s ease both}
.invitation-motion .theme-picture,.invitation-motion .scene-envelope{transform-origin:50% 65%}
.invitation-motion[data-motion-mood=botanical] .theme-picture,
.invitation-motion[data-motion-mood=botanical] .scene-envelope{animation:occasi-breeze 12s ease-in-out infinite}
.invitation-motion[data-motion-mood=destination] .theme-picture{animation:occasi-travel-drift 16s ease-in-out infinite}
.invitation-motion[data-motion-mood=celebration] .theme-picture{animation:occasi-celebration-sway 8s ease-in-out infinite}
.invitation-motion[data-motion-mood=evening] .theme-picture{animation:occasi-evening-light 11s ease-in-out infinite}
.invitation-motion[data-motion-mood=editorial] .theme-picture{animation:occasi-editorial-drift 18s ease-in-out infinite}
.invitation-motion[data-layout=woodland] .theme-picture{animation:occasi-breeze 12s ease-in-out infinite,occasi-evening-light 11s ease-in-out infinite}
.invitation-motion .theme-scene::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:linear-gradient(112deg,transparent 15%,#fff3cb40 38%,transparent 62%);background-size:250% 100%;mix-blend-mode:soft-light}
.invitation-motion[data-motion-mood=evening] .theme-scene::after{animation:occasi-light-pass 13s ease-in-out infinite}
.invitation-motion .theme-detail-art{animation:occasi-detail-drift 13s ease-in-out infinite}
.invitation-motion .countdown b{display:inline-block}
.invitation-motion .bottom-nav button{transition:background .2s,color .2s,box-shadow .2s}
.invitation-motion .day-content{animation:none}
@keyframes occasi-page-arrive{from{opacity:.3}to{opacity:1}}
@keyframes occasi-breeze{0%,100%{translate:0 0;rotate:0deg}45%{translate:2px -5px;rotate:.45deg}75%{translate:-2px -2px;rotate:-.25deg}}
@keyframes occasi-travel-drift{0%,100%{translate:-2px 0;scale:1}50%{translate:2px -4px;scale:1.018}}
@keyframes occasi-celebration-sway{0%,100%{rotate:-1.1deg;translate:0 0}50%{rotate:1.1deg;translate:0 -6px}}
@keyframes occasi-evening-light{0%,100%{filter:brightness(.96)}50%{filter:brightness(1.07)}}
@keyframes occasi-editorial-drift{0%,100%{translate:0 0}50%{translate:0 -4px}}
@keyframes occasi-light-pass{0%,12%{opacity:0;background-position:150% 50%}45%{opacity:.55}80%,100%{opacity:0;background-position:-60% 50%}}
@keyframes occasi-detail-drift{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -4px;rotate:.7deg}}
.invitation-motion[data-motion-state=paused] .theme-picture,
.invitation-motion[data-motion-state=paused] .theme-prop,
.invitation-motion[data-motion-state=paused] .theme-detail-art,
.invitation-motion[data-motion-state=paused] .scene-envelope,
.invitation-motion[data-motion-state=paused] .invitation-card,
.invitation-motion[data-motion-state=paused] .theme-scene::after{animation-play-state:paused!important}
.invitation-motion.motion-paused .page{animation:none!important}
.invitation-motion.motion-paused .theme-scene::after{opacity:0}
@media(prefers-reduced-motion:reduce){.invitation-motion *,.invitation-motion *::before,.invitation-motion *::after{animation:none!important;transition:none!important}.invitation-motion .theme-scene::after{display:none}}
