Travel-style mosaic where every tile behaves like a window: the photo slides behind its frame as the cursor moves while the tags and caption drift the other way, so the grid reads as layered depth without any tilt. Plain editable tree: section > container > header (eyebrow, h2, intro, link) > a "Parallax Field" wrapper component whose props are the motion controls, holding "Parallax Tile" component instances in its tiles slot; each tile holds "Parallax Tag" instances in its tags slot. Field props (data attributes read by the inline script): scope (field|tile) field = the cursor anywhere over the mosaic moves every window by its own angle, tile = only the hovered tile responds; strength (s|m|l) how far photos travel behind their frames; invert (true|false) photos follow the cursor instead of moving away from it; smoothing (soft|medium|tight) easing of the motion; scroll (true|false) gentle vertical drift while the page scrolls, also on touch screens; zoom (true|false) photo eases in on hover and focus; captions (overlay|below) glass caption over the photo or plain caption under it; layout (mosaic|row) mosaic uses each tile size on a 12-column grid, row keeps even 4:5 tiles; radius (s|m|l|xl) tile corners. Tile props: image, imageAlt, focal (center|top|bottom|left|right), size (large|wide|compact|panorama|full), depth (near|mid|far, how strongly that window moves), showTags (tags slot), title, headingLevel, url, showMeta + meta, showArrow. Tag props: label, icon (pin|leaf|moon|sun|none). Section options (data attributes): data-theme (sand|white|ink); data-accent (primary|secondary|accent|neutral) arrow and link colour; data-cta (true|false) header link. Each tile is one link with a visible focus ring; captions keep AA contrast on their own glass or below the photo; reduced motion turns off pointer, scroll and zoom motion entirely; without JS the mosaic is a calm static grid.