/* Hero slide media: an uploaded photo or video replaces the drawn ring for that slide, with the same float and glow. */

.hero-photo {
  width: min(460px, 100%); aspect-ratio: 1; object-fit: contain; cursor: pointer;
  filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .45)) drop-shadow(0 0 60px hsl(var(--gh) calc(var(--gs) * 1%) 50% / .25));
  animation: float 7s ease-in-out infinite;
}
.hero-photo[hidden] { display: none; }
video.hero-photo { object-fit: cover; border-radius: 28px; }
.hero-stage.has-photo .hero-ring { display: none; }
:root[data-theme="light"] .hero-photo { filter: drop-shadow(0 22px 28px rgba(96, 62, 18, .2)); }
@media (prefers-reduced-motion: reduce) { .hero-photo { animation: none; } }
