Photography contact sheet ยท 1.0.0 A numbered contact-sheet gallery with compact captions, fine rules and an optional enlarged view. HTML: open index.html as the complete specimen. Copy snippet.html into your page and load snippet.css after your existing CSS. Load snippet.js once with defer. demo.css and the surrounding demonstration content are not part of the reusable component. Replace example links and details. Astro: copy Snippet.astro into src/components and import it in your page or shared layout. Copy the images folder to public/snippet-assets/photography-contact-sheet/images; image paths in the component target that location. The component uses scoped class prefixes and global CSS for its own markup. Use one instance per page; change all IDs/prefixes before duplicating a component. An Astro component is provided, not a complete Astro starter project. The numbered sequence supports work that is meant to be read in order. The layout uses document order consistently as it changes from four columns to two and then one. Photographs are licensed illustrative assets, not original work of a fictional business. Keep source and license information in ASSETS.md. Replace dimensions and alternative descriptions when changing images. Testing: check links, keyboard focus, narrow widths, zoom and actual content after integration. Included scoped styles avoid broad element resets; your existing CSS may still affect the result. Original code: MIT, attribution link optional. Keep the license notice in redistributions.