/* One photo rhythm: the existing reveal and scroll engine, with a small pointer response. */
[data-photo-motion] img {
  transform: translate3d(var(--photo-look-x, 0px), var(--photo-look-y, 0px), 0)
    scale(var(--photo-zoom, 1));
  transition: transform 1100ms var(--scene-ease);
}
[data-photo-motion] :is(.about-photo-window, figcaption),
.collab-photo[data-photo-motion] {
  transition:
    box-shadow 800ms var(--scene-ease),
    color 600ms;
}
[data-photo-motion] .about-photo-window::after,
.collab-photo[data-photo-motion]::after {
  transition: opacity 900ms var(--scene-ease);
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  [data-photo-motion]:hover {
    --photo-zoom: 1.018;
  }
  [data-photo-motion]:hover .about-photo-window,
  .collab-photo[data-photo-motion]:hover {
    box-shadow: 0 0 35px -15px rgba(1, 244, 255, 0.22);
  }
  [data-photo-motion]:hover .about-photo-window::after,
  .collab-photo[data-photo-motion]:hover::after {
    opacity: 0.75;
  }
}
@media (prefers-reduced-motion: reduce) {
  [data-photo-motion] img {
    transform: none;
    transition: none;
  }
  [data-photo-motion] :is(.about-photo-window, figcaption),
  .collab-photo[data-photo-motion],
  [data-photo-motion] .about-photo-window::after,
  .collab-photo[data-photo-motion]::after {
    transition: none;
  }
}
