/* The moving light sits below the original shade, keeping type contrast intact. */
.expedition-cover.has-water-motion .journey-poster .journey-art,
.expedition-cover.has-water-motion .journey-poster:hover .journey-art {
  transform: translate3d(var(--poster-shift-x, 0px), var(--poster-shift-y, 0px), 0) scale(1.025);
  transition: transform .7s cubic-bezier(.18,.65,.3,1);
}
.journey-water-motion {
  position: absolute;
  inset: 0;
  z-index: -2;
  display: block;
  overflow: hidden;
  pointer-events: none;
  contain: paint;
}
.journey-water-light {
  position: absolute;
  inset: -10%;
  display: block;
  opacity: .24;
  background:
    radial-gradient(ellipse 16% 53% at 30% 12%, #dcf9e32e 0%, #c7e9e20c 48%, transparent 72%),
    radial-gradient(ellipse 25% 44% at 71% 29%, #d2f9eb20 0%, transparent 72%),
    linear-gradient(111deg, transparent 16%, #d5f3e00a 22%, #e8fbe520 25%, transparent 32%, transparent 48%, #d6f5e812 54%, transparent 61%);
  mix-blend-mode: screen;
  transform-origin: 50% 0%;
  animation: cover-water-drift var(--water-duration, 24s) ease-in-out var(--water-delay, 0s) infinite alternate;
}
.journey-turtle .journey-water-light { opacity: .3; }
.journey-manta .journey-water-light { opacity: .18; }
.journey-water-speck {
  position: absolute;
  left: var(--speck-x);
  top: var(--speck-y);
  display: block;
  width: var(--speck-size);
  height: var(--speck-size);
  border-radius: 50%;
  opacity: .3;
  background: #def3e8;
  box-shadow: 0 0 4px #d9f8e71f;
  animation: cover-speck-drift var(--speck-duration, 24s) ease-in-out var(--speck-delay, 0s) infinite alternate;
}
.expedition-cover[data-water-motion="paused"] .journey-water-light,
.expedition-cover[data-water-motion="paused"] .journey-water-speck {
  animation-play-state: paused;
}
@keyframes cover-water-drift {
  from { transform: translate3d(-2%, -1%, 0) rotate(-2deg) scale(1.02); }
  to { transform: translate3d(3%, 2%, 0) rotate(2deg) scale(1.06); }
}
@keyframes cover-speck-drift {
  from { transform: translate3d(0, 6px, 0); opacity: .15; }
  to { transform: translate3d(var(--speck-drift, 8px), -16px, 0); opacity: .37; }
}
@media (prefers-reduced-motion: reduce) {
  .expedition-cover.has-water-motion .journey-poster .journey-art,
  .expedition-cover.has-water-motion .journey-poster:hover .journey-art {
    transform: none;
    transition: none;
  }
  .journey-water-light, .journey-water-speck { animation: none; }
  .journey-water-motion { opacity: 0; }
}
