Scroll-driven card deck built as a plain, fully editable Etch tree: section > container > header (eyebrow, h2, intro) > an ordered stack of five "Stack Card" component instances (add, remove, reorder in Layers to change the card count). Card props: image, imageAlt, tag, title, text, linkLabel, linkUrl (empty hides the link) and tone (ink|clay|moss|dust|plum tinted surface). From a 40em stack width each card pins with position: sticky at the same top offset, so the next card slides up and covers the one before it; a small inline rAF script (IntersectionObserver-gated, only runs while the stack is on screen) measures how much of each card is covered and writes –progress/–depth custom properties per card, which pure CSS turns into a growing rotation and horizontal shift so covered cards fan out behind the active one — once the last card is fully pinned, scrolling continues normally past the stack. Every option is a data attribute on the Stack element (edit it in Etch's attributes panel): data-pin (s|m|l) how far from the viewport top (header-aware) each card pins; data-rotation (degrees per stacked card, default 5; the furthest-back card reaches N x depth); data-shift (px offset per stacked card, default 14; fans the deck sideways as it builds); data-easing (smooth|snappy|springy) transition feel as each card settles into the stack. Under prefers-reduced-motion the deck still pins card-over-card but the rotation/shift and settle transition are removed. Below 40em the stack becomes a plain vertical list (no pinning, no script effect). Document order, h2 > h3 heading order, real links and alt text are kept; :focus-visible rings; forced-colors border fallback.