/* Fixed frames share the existing visibility observer; only opacity animates. */
.apple-edition .image-cycle { position: relative; width: 100%; overflow: hidden; }
.apple-edition .image-cycle > img {
  position: absolute; inset: 0; width: 100%; height: 100%; max-height: none;
  object-fit: var(--image-fit, cover); object-position: var(--image-focus, 50% 50%); opacity: 0;
  animation: image-cycle-four 12s linear var(--cycle-delay) infinite paused;
}
.apple-edition .image-cycle[data-cycle-count="3"] > img { animation-name: image-cycle-three; animation-duration: 9s; }
.apple-edition .image-cycle[data-cycle-active="true"] > img { animation-play-state: running; }
@keyframes image-cycle-three { 0%, 26.667% { opacity: 1; } 33.333%, 93.333% { opacity: 0; } 100% { opacity: 1; } }
@keyframes image-cycle-four { 0%, 20% { opacity: 1; } 25%, 95% { opacity: 0; } 100% { opacity: 1; } }
.apple-edition #platforms .platform-console .image-cycle { flex: none; height: var(--platform-image-height); }
.apple-edition #platforms .platform-console .image-cycle > img { height: 100%; padding: 8px 0; object-fit: var(--image-fit, cover); }
.apple-edition #bench .bench-fish .image-cycle { height: clamp(200px,34vh,400px); border-radius: 18px; }
.apple-edition #bench .bench-fish .image-cycle > img { height: 100%; object-fit: var(--image-fit, cover); }
.apple-edition.motion-off .image-cycle > img { animation: none; opacity: 0; }
.apple-edition.motion-off .image-cycle > img:first-child { opacity: 1; }
@media(prefers-reduced-motion: reduce) {
  .apple-edition .image-cycle > img { animation: none; opacity: 0; }
  .apple-edition .image-cycle > img:first-child { opacity: 1; }
}
