Images that unveil as they enter the viewport: a clip wipes open from the bottom while the photo inside eases from a slight zoom to rest, so the reveal feels like a shutter and a settle at once. Each image in the grid takes a different wipe direction.
Placeholder photos by Mattia Marinangeli, Brendan Beale and Andrew Svk on Unsplash. Replace them with your own before launch.
Frame: `clip-path: inset(100% 0 0 0)` (bottom), `inset(0 100% 0 0)` (right) or `inset(0 0 0 100%)` (left) → `inset(0)` over 0.9 s `cubic-bezier(.76,0,.24,1)`. Image: `scale(1.18)` → 1 over 1.2 s `cubic-bezier(.2,.8,.2,1)`. The observer watches the grid (a fully clipped frame reports no intersection) and fires once at 15 % visibility.
From prompt to a block in your page.
The preview is the shipped element inside a neutral demo page. Hover, click, focus: the one interaction it is about is live.
Token sets re-tint it live. The prompt carries the one you chose.
A paste-in snippet, or a component for Next.js, React, Vue, Astro, WordPress, Shopify or Webflow.
It quotes the markup, styles and script verbatim with the tokens and the rules that keep it self-contained.
It inherits your page's font and width; the tokens live on :root; several instances share one script.