A centred headline ringed by scattered, individually tilted photo cards that slowly orbit around it, built as a plain, fully editable Etch tree: section > container > stage holding a ring of twelve "Orbit Card" component instances (photo, photoAlt, caption, angle, radius (near|mid|far), size (s|m|l), tilt in degrees) placed by trigonometric angle/radius, not a loop — duplicating, reordering, deleting or re-angling instances in Layers reshapes the ring — plus a centred header (eyebrow, h2, intro) and a native <dialog> lightbox. Every option is a data attribute on the stage (edit it in Etch's attributes panel): data-autoplay (true|false, default true) the whole ring slowly revolves on its own; data-direction (cw|ccw, default cw); data-speed (seconds per full revolution, default 90); data-pause-on-hover (true|false, default true); data-lightbox (true|false, default true) clicking a card opens the full-size viewer. Inline JS positions every card with plain pixel left/top (recomputed on resize via ResizeObserver) and runs two synced Web Animations API loops with zero @keyframes: the ring rotates a full turn while every card counter-rotates at the same rate so cards keep their authored tilt instead of spinning; motion pauses on hover, on keyboard focus within the stage and under prefers-reduced-motion (cards then sit still). Clicking, or pressing Enter/Space on, a card opens the lightbox on that photo with a fade + scale transition, Prev/Next buttons and Left/Right arrow keys step through every card in ring order, Escape and a backdrop click close it, a live counter and caption are announced, focus returns to the card that opened it, and a touch swipe steps prev/next. Without JS every card still renders in its scattered, tilted resting position (progressive enhancement; only the orbiting motion needs the script). Labelled region and dialog, :focus-visible rings, AA contrast, forced-colors borders, pointer effects no-op on touch.