/* Continuous ten-second zoom each way, with no scroll input required. */
.lan-revision .story-portrait{overflow:hidden;border-radius:24px}
.image-drift{transform-origin:center;animation:artwork-breathe 10s ease-in-out infinite alternate;animation-play-state:paused}
.image-drift.drift-visible{animation-play-state:running}
/* Move the entire hero composition so the art and its soft edges stay together. */
.album-stage.image-drift,.dream-scene.image-drift{animation-name:hero-breathe;animation-delay:.8s}
.intro-loading .album-stage.image-drift,.intro-playing .album-stage.image-drift{animation:none;transform:none}
.image-motion-paused .image-drift{animation-play-state:paused}
@keyframes hero-breathe{from{transform:scale(1)}to{transform:scale(.94)}}
@keyframes artwork-breathe{from{transform:scale(1)}to{transform:scale(.94)}}
@media(prefers-reduced-motion:reduce){.image-drift{animation:none!important;transform:none!important}}
@media print{.image-drift{animation:none!important;transform:none!important}}
