StealThis .dev
Pages Medium

Interior — Portfolio Grid

A warm editorial portfolio grid for an interior design studio: filter projects by residential, commercial, and hospitality, then browse large image cards that name each project and its completion year. Cards lift and zoom on hover, keyboard focus is fully visible, and clicking any card slides open a detail drawer with a hero image, brief, and specifications. Built with semantic HTML, a muted natural palette, and vanilla JavaScript.

Open in Lab
html css vanilla-js
Targets: JS HTML

Code

A calm, editorial portfolio page for a fictional interior design studio, Marlow & Fen. The header sets the tone with a Cormorant Garamond wordmark, a short studio line, and a row of filter chips — All, Residential, Commercial, and Hospitality — that instantly narrow the grid. A live count keeps you oriented as projects animate in and out.

Each project is a large image card with a soft gradient plate, a category badge, the project name, its location, and completion year. Hover lifts the card, deepens its shadow, and slowly zooms the image, while keyboard users get a clear focus ring and can activate any card with Enter or Space. Selecting a card opens a right-side detail drawer with a hero band, a written brief, and a specification list (scope, area, materials), dismissible via the close button, the backdrop, or the Escape key.

Everything is self-contained vanilla JavaScript: the filtering, the count, the drawer, and a small toast helper for the inquiry action. The layout reflows to a single column below 520px, the drawer becomes full width, and thin rules plus generous whitespace keep the natural, print-like feel intact.