StealThis .dev
Pages Medium

Photography — Landing Wedding

A gallery-dark wedding photographer landing with a romantic full-bleed hero, an interactive filterable image grid with lightbox, a three-tier packages teaser, a rotating client testimonial, and a validated inquiry form that captures date, venue and coverage — all wired with vanilla JS micro-interactions, keyboard-navigable controls, and a toast confirmation.

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

Code

A dark, image-first landing page for a fictional wedding photographer (Amara & Wren Studio). The page opens on a romantic full-bleed hero with a Fraunces display headline, thin uppercase labels, and a soft parallax drift on scroll. Below it, a filterable gallery lets visitors toggle between Ceremonies, Portraits, and Details; clicking any frame opens an accessible lightbox with arrow-key and swipe navigation.

The packages teaser presents three coverage tiers as hoverable cards with a highlighted “Most booked” badge, and a rotating testimonial cycles through real-feeling client quotes with dot controls and autoplay that pauses on hover. The inquiry section is a real form: it validates the couple’s names, email, wedding date and estimated guest count, then fires a toast confirmation and a faux availability check.

Everything is vanilla JS — no frameworks. Controls are keyboard-usable with visible focus rings, the layout collapses cleanly to a single column under 520px, and all imagery uses Unsplash placeholder URLs so the demo is fully self-contained.