Vertical reel gallery built as a plain, fully editable Etch tree: section > container > header (eyebrow, h2) > reel (rotated spine caption, vertical Swiper track, dot pagination rail) > five "Reel Frame" component instances > fraction counter + prev/next controls. Only the frame is a component, with typed props: photo (image), photoAlt, title, category. Every reel option is a data attribute on the Reel element (edit it in Etch's attributes panel): data-theme (light|dark) re-themes the whole section; data-peek (true|false) show the previous/next frame peeking above and below; data-ken-burns (true|false) slow ambient zoom drift on the active photo; data-autoplay (true|false), data-delay (ms, min 2000); data-loop (true|false); data-drag (true|false; pointer drag + touch swipe) and data-wheel (true|false; mouse wheel steps through frames); data-pagination (dots|none) the dot rail on the right edge; data-radius (none|s|m|l|xl) frame corner radius. Inlined JS waits for a global Swiper 11 (injects the jsDelivr build once if nothing provides it), drives a vertical, mousewheel- and drag-enabled track with dot pagination, drifts a blurred backdrop layer's position with the swiper's own scroll progress for a slow parallax, rewrites the rotated spine caption and the 01/05 counter on every change, and toggles a slow ambient Ken Burns zoom on the active photo (paused under prefers-reduced-motion). Without JS the track is a native scroll-snap column with the controls hidden. Labelled region, per-frame group labels, live region announcements, :focus-visible rings, AA contrast in both themes, forced-colors support.