Day 14: Image Gallery with Modal

A responsive gallery grid with an accessible modal/lightbox, keyboard navigation, and captions.

How it works (short)

JS renders thumbnails from an array of image objects. Clicking a thumbnail opens the lightbox with the large image. Event delegation on the gallery handles clicks; the lightbox listens to keyboard and click events to navigate or close. Focus is trapped to the modal while open (basic focus management), and images preload for next/previous.