Filterable portfolio bento built as a plain, fully editable Etch tree: section > container > header (eyebrow, h2, intro, all plain) > a row of five plain filter-chip buttons (edit their label and matching data-filter value directly, duplicate to add a category) > a dense grid of nine "Bento Project" component instances. Only the project tile is a component, with typed props: title, category (matches a chip's data-filter), meta (a short caption line), index (the tile's corner numeral), tone (1-6, cycles the ACSS accent ramp for the tile's flat cover) and size (base|wide|tall|feature, the tile's grid footprint) — no photography, each tile is a flat-colour cover with a monogram-style numeral so the grid stays entirely original artwork. Clicking a chip (aria-pressed, roving tabindex, Left/Right/Home/End) filters the grid to that category or back to All; with data-animation="flip" (default) the surviving tiles record their before/after position with the FLIP technique and glide into their tighter, dense-packed spot via the Web Animations API while filtered-out tiles fade and scale down, all skipped under prefers-reduced-motion (instant reflow instead); data-animation="none" reflows instantly always. A visually-hidden aria-live="polite" status line announces the result count after every filter change. Below the tablet breakpoint the chip row becomes a horizontally scrollable, snapping reel and the grid holds 2 columns; the grid is 3 columns from the 48em container breakpoint. Filtering, chip focus, :focus-visible rings and AA contrast all work with JavaScript disabled (every tile stays visible, only the animated reflow is unavailable), and forced-colors mode is supported.