/* Premium-only scene. Geometry stays locked to the original photograph. */
.premium-pool-art {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  isolation: isolate;
}
.premium-pool-art .premium-pool-tv-frame {
  opacity: 0;
  animation: premium-pool-tv-picture 9s linear infinite;
  animation-delay: var(--premium-pool-frame-delay, 0s);
}
/* Six pictures, one every 1.5 seconds, with gentle 300 ms crossfades. */
@keyframes premium-pool-tv-picture {
  0%, 13.333% { opacity: 1; }
  16.667%, 96.667% { opacity: 0; }
  100% { opacity: 1; }
}
.premium-pool-art .premium-pool-speaker-notes {
  filter: drop-shadow(0 1px 1.4px rgba(13, 42, 52, .52));
  pointer-events: none;
}
.premium-pool-art .premium-pool-note-flight {
  transform-box: view-box;
  transform-origin: 0 0;
  animation: premium-pool-note-flight 2.8s linear infinite;
  animation-delay: var(--premium-pool-note-delay, 0s);
}
/* Smooth, readable trails originate at the actual grille centers. */
@keyframes premium-pool-note-flight {
  0% { opacity: 0; transform: translate(0, 0) scale(.65) rotate(-8deg); }
  13% { opacity: 1; transform: translate(calc(var(--premium-pool-note-x) * .13), calc(var(--premium-pool-note-y) * .13)) scale(1.05) rotate(-3deg); }
  55% { opacity: 1; transform: translate(calc(var(--premium-pool-note-x) * .55), calc(var(--premium-pool-note-y) * .55)) scale(1.15) rotate(3deg); }
  82% { opacity: .8; transform: translate(calc(var(--premium-pool-note-x) * .82), calc(var(--premium-pool-note-y) * .82)) scale(1.07) rotate(-3deg); }
  100% { opacity: 0; transform: translate(var(--premium-pool-note-x), var(--premium-pool-note-y)) scale(.95) rotate(7deg); }
}
.premium-pool-art .premium-pool-water-color {
  opacity: .42;
  animation: premium-pool-water-color 5s ease-in-out infinite;
}
.premium-pool-art .premium-pool-light-color {
  color: #34caff;
  mix-blend-mode: screen;
  animation: premium-pool-light-color 5s ease-in-out infinite;
}
@keyframes premium-pool-water-color {
  0%, 100% { filter: hue-rotate(0deg) saturate(1.12); }
  25% { filter: hue-rotate(-33deg) saturate(1.17); }
  50% { filter: hue-rotate(47deg) saturate(1.2); }
  75% { filter: hue-rotate(79deg) saturate(1.14); }
}
@keyframes premium-pool-light-color {
  0%, 100% { color: #34caff; }
  25% { color: #4fffe1; }
  50% { color: #b393ff; }
  75% { color: #ff87d9; }
}
/* Keep these after the animation shorthands. Parent owns playback controls. */
.premium-pool-art .scene-motion { animation-play-state: paused; }
.motion-running .premium-pool-art .scene-motion { animation-play-state: running; }
@media (prefers-reduced-motion: reduce) {
  .premium-pool-art .scene-motion { animation: none !important; }
  .premium-pool-art .premium-pool-tv-frame { opacity: 0; }
  .premium-pool-art .premium-pool-tv-frame:first-child { opacity: 1; }
  .premium-pool-art .premium-pool-speaker-notes { display: none; }
}
