7e93dcba6c
The rotation rAF loop was being keyed by `useEffect([markers, ringSizes, selectedKey])`. Each time `HeroCampaignSpotlight` cycled to the next campaign, `selectedKey` changed, the effect tore down, the new effect re-initialized `start = null`, and the elapsed-time calculation snapped rotation back to 0°. Hold `markers` and `selectedKey` in refs that the rAF loop reads on each frame, and drop them from the effect's dep list so the loop runs uninterrupted for the lifetime of the component. Also dresses the hero's primary CTA up as an Apple-style liquid glass pill: faint warm-tinted translucent body (white→amber→rose at low opacity), heavy backdrop blur, hair-thin inner edge, soft warm-tinted drop shadow. Hover lifts the tint and shadow a hair without changing the pill's character — no specular streaks, no halo, no shadow bloom. Slightly taller than the default `size=lg` (h-12, px-7, text-base) so it reads as primary without feeling chunky.