Photo carousel
The cross-fading framed-photo carousel: a stack of PhotoFrames that auto-advance (5.2s), pause while the pointer is over them, and carry the shared CarouselDots. Extracted from the conversion band so any media slot gets the same behaviour without re-rolling the fade, the timer or the hold.
It owns the slides, not the box: size the stage (aspect-ratio / width) through className, as you would a PhotoFrame. Slides may omit src for the house placeholder label.
import from @halwel/ui/components/marketing/PhotoCarousel
Variants
4:3 well, dots bottom-left (the reframe band)
Square, dots centred, no auto-advance

