Plain editable Etch tree: section > container > a vertical stage holding five "Depth Frame" component instances stacked on the block axis, a big current/total counter and a vertical dot rail. Only the frame is a component, with typed props: image, imageAlt and caption (empty hides it); duplicate, reorder or delete frames in Layers. Every option is a data attribute on the Stage element (Etch's attributes panel): data-theme (light|dark) re-themes the whole section; data-autoplay (true|false), data-delay (ms, default 4000); data-loop (true|false) wrap past the first/last frame; data-drag (true|false) vertical pointer drag / touch swipe; data-wheel (true|false) mouse-wheel / trackpad scroll steps through frames; data-arrows (true|false) up/down buttons. Inline vanilla JS computes each frame's offset from the active index and writes its own translateY/scale/opacity/blur (no library, no @keyframes); drag or swipe vertically, scroll the wheel over the stage, use the Up/Down arrow keys or the on-screen buttons to change the active frame; autoplay pauses on hover, focus and prefers-reduced-motion. Without JS the stage is a plain vertical scroll-snap column. Landmark region, live counter, :focus-visible rings, AA contrast in both themes.