01 · Showroom
Northlight Motors
A dark showroom site that sells on light: fifteen cars, one slow reveal each.

An exhibit of motion craft
60 motions, one per screen. Scroll to play.
01 /of 60Entrance·CSS
Headline and photos rise into place one after another as the slide arrives.
Arrives on cue
Each piece lands a beat after the last.

FlowStudio 2

BagsThe ring room

HandsCoach session
02 /of 60Scroll·CSS scroll-driven
Photo and headline track the scroll from the bottom edge to the top, never stopping.

Scroll-linked, end to end
It moves exactlyas far as you scroll.
03 /of 60Hover·Motion
A photo card leans toward your pointer or finger and springs back when you let go.

Hover the card, or press it on a phone.
04 /of 60Entrance·CSS
Once the photo has decoded it settles to rest; the headline and button rise in after.

Athletic club · Two clubs
Train on time.
Eight class formats, eight coaches. Your first class is free.
05 /of 60Entrance·CSS
The headline's lines rise first, then the line and the actions, then the captures.
Booking new work for spring
Websites thatfeel crafted,not assembled.
Design and build for small businesses that want to look as good as they are.

Northlight06 /of 60Entrance·CSS
A grid of tiles rises in one after another as it scrolls in, all settled by the centre.
Everything under one roof
Strength floor
Kettlebells
Ring room
Coaching07 /of 60Text·CSS
A statement's lines slide up through invisible masks, 70 ms apart, then leave upward.
Motion thatearns itsplace.
08 /of 60Text·CSS
Chapter titles are wiped on along one slanted edge, and wiped off the same way.

Chapter 01
Arrival
Doors at ten. Coffee on the house.
09 /of 60Text·CSS
Key numbers roll their digits into place like an odometer; the real number stays put.
A rebuild, measured.
Illustrative figures for a demo site.
10 /of 60Text·GSAP
A headline assembles letter by letter, each letter tipping up into place.
Make it move.Make it move.
11 /of 60Scroll·CSS scroll-driven
In a full-bleed photo band the photo travels slower than the page; the words hold.
Watch: the photo slides inside its frame, slower than the page.

Viewings by appointment
Four bays, one quiet showroom.
Plan a visit12 /of 60Scroll·CSS scroll-driven
As the hero scrolls away its photo sinks slower than the page; the words lift and soften.
Watch: as it scrolls away, the hero sinks, shrinks back and dims.

Ironside Strength Club
Train with people who notice.
Small groups, real coaching, and a floor that is never crowded.
Book a free first session13 /of 60Scroll·CSS scroll-driven
A hairline draws itself through a timeline as you pass, lighting each step it reaches.
Watch: the line draws as you scroll in, lighting each step.
How a project runs
Four steps, one line through them.
14 /of 60Scroll·CSS scroll-driven
A soft, pre-painted glow behind the subject brightens and slides as the section passes.
Built to be quick
Depth on a dark page, no pale band.
Home page, mobile
15 /of 60Text·CSS scroll-driven
A big statement's words brighten from muted to full ink as it crosses the screen.
What I do
I design and build websites that load fast, read clearly and make the next step obvious, so the right clients get in touch.
16 /of 60Section·CSS scroll-driven
A heading holds while numbered steps scroll past, each lighting at the centre.
How we work
From first call to launch in four weeks.
One person from start to finish, and a clear next step at every stage.
17 /of 60Scroll·CSS scroll-driven
Full-width cards stick in turn; each new one slides over the last, which eases back.
Selected work
Three sites, one at a time.
Watch: each card slides up over the last, which shrinks back and darkens.
01 · Showroom
A dark showroom site that sells on light: fifteen cars, one slow reveal each.

02 · Gym
A gym site where the photographs move and the type holds perfectly still.

03 · Campaign
A one-page night-drive campaign built around a single headlamp.

18 /of 60Scroll·CSS scroll-driven
A row of cards slides sideways about one card's width as you scroll; swiping still works.
Inside the club
Room for every kind of session.

The lifting floor
12 racks

Dumbbell wall
2.5 to 50 kg

Studio two
Yoga and mobility

The engine room
Bikes and rowers

The rig
Rings, ropes, bars

Mezzanine
Open training

Recovery room
Sauna and cold plunge

Changing rooms
Towels included
19 /of 60Image·CSS scroll-driven
A photo rises and settles from 118% and dim to rest by the centre, then drifts on out.

20 /of 60Image·CSS scroll-driven
Photo cards swipe one by one with the next peeking; a thin line tracks where you are.
Classes this week
Swipe to pick your hour.
Watch: the row steps one card every two seconds until you swipe; the line below tracks where you are.

Lift clubMon 06:00

FlowMon 07:30

EngineMon 18:30

KettlebellsTue 06:30

Fight campTue 18:00

PlyoWed 07:00

BoxingWed 19:00

ResetThu 07:30

BodyweightThu 18:30

PullFri 06:30

RechargeFri 18:00

MobilitySat 09:00
21 /of 60Image·CSS scroll-driven
A site in a browser frame and a phone frame settles into place, then they drift apart.
Shown as it ships
Northlight, on a laptop and a phone.
Watch: the phone swings in to dock against the laptop, then the two separate and drift.


22 /of 60Image·CSS scroll-driven
A photo pulls into focus as it reaches the centre: a soft copy fades off the sharp one.
Rack focusSharp where you look.Watch: the photo is out of focus until it reaches the middle, then pulls sharp.


23 /of 60Image·CSS scroll-driven
A black-and-white photo warms into colour as it reaches the centre, then stays.


The recovery room
Warmth, saved for the moment it counts.
The photo arrives in black and white and warms into colour as it reaches the middle of the screen. Then it stays.
24 /of 60Image·CSS
A panel in the page's tone slides off a photo along a 12° angle as it arrives, once.

The rig · Level 2
Uncovered once, on arrival.
25 /of 60Image·CSS
A still paints at once, then gives way to a muted looping film, with a visible pause.

Beaumont · 7 amThe first pour of the day.
26 /of 60Image·View Transitions
Tap a photo and it grows from its tile to full screen; swipe to step, Escape to return.
Tap a photo. Swipe or use the arrows to step; Escape puts it back.
27 /of 60Image·CSS
Drag the divider, or use the arrow keys, to compare the raw shot with the graded one.
Graded
Raw captureDrag the divider, or focus it and use the arrow keys.
28 /of 60Hover·CSS
A dimmed photo lifts to full light as you point at it; a variant adds a slow zoom.
Watch: Tap or point at a photo, and its dark veil lifts to full light.
29 /of 60Hover·CSS
A card rises, its shadow deepens and the others step back as the pointer arrives.
Showroom · Next.jsFifteen cars, one scrollFifteen cars, a filterable lineup and a house-lights hero.
Gym · Next.jsQuiet rubberTimetable, memberships and coach pages that load in a blink.
Detailing · ConceptNight workA one-page booking flow for a studio that works after dark.Watch: Tap or point at a card: it lifts and the others step back.
30 /of 60Hover·CSS
A link's underline draws in from the left, leaves to the right, and its arrow nudges on.
Watch: Point at a link: the line draws in from the left and leaves to the right.
31 /of 60Hover·CSS
Buttons and cards sink under a press and spring back when you let go.
Watch: Press and hold: it sinks under your finger, then springs back.
32 /of 60Hover·CSS
A soft light follows the pointer across dark tiles and catches their edges.
Watch: Move across the tiles: the light follows you and lights their edges.
33 /of 60Transition·CSS
An answer eases open while its plus turns into a cross; closing is quicker.
Questions
No. Every first session starts with a ten-minute check-in, and the coach scales each class to where you are today.
Yes, for up to eight weeks a year, from the app or at the front desk. Billing pauses with it.
Water, a towel and shoes you can move in. Gloves and wraps are on loan for boxing.
Thirty spaces behind the building, free for members for the first two hours.
Watch: Open a question: the answer eases open and the plus turns into a cross.
34 /of 60Transition·View Transitions
The underline glides to the chosen day and the timetable cross-fades in 250 ms.
Watch: Pick a day: the underline glides across and the list cross-fades.
35 /of 60Transition·View Transitions
A card's photo and title glide into the detail view's lead image and heading.
Watch: Tap a class: its photo and title glide into the detail view.
36 /of 60Transition·View Transitions
Filter a grid: cards that stay glide to new places, leavers fade, newcomers fade up.
8 of 8
Coupé
Barbell
Wheel
Stretch
Tourer
Kettlebell
Flank
RingsWatch: Pick a filter: cards glide to new places, leavers fade, newcomers fade up.
37 /of 60Signature·CSS
A dark frame; one angled band of light crosses it and lights the subject, then the words.

After dark
Made to be seen.
One pass of light, and the room is awake.
View the pieceWatch: one band of light crosses and wakes the photo, then the words.
38 /of 60Signature·CSS scroll-driven
An inset photo card widens to the full stage by the centre, then keeps drifting.
One chapter, one image
Give the photograph the whole stage.
Watch: the small card below opens to full width as it reaches the middle of the screen.

Open floor
Room to lift.
Full width by the centre. The page never pins.
39 /of 60Signature·CSS scroll-driven
Four photos and a text card drift at their own speeds and click into place mid-screen.
AboutA story told in layers.Watch: each photo travels at its own speed, and they all click into place as the collage crosses the middle of the screen.




Since the first class
Built by coaches.
A small room, three coaches and a door that opens at six. Each piece of this page keeps its own pace, and they all meet in the middle.
40 /of 60Signature·CSS
A dark room lit only where your pointer or finger is; left alone, the light wanders.

The showroom
Look closer.
Watch: the light wanders the dark room. Move your pointer, or tap and drag, to steer it.
41 /of 60Ambient·CSS
Soft fields of colour drift slowly behind a hero and stop when it leaves the screen.
Watch: four fields of colour drift and swap places behind the words.
Independent studio
Quiet light, never quite still.
The colour keeps moving, slowly enough to read over, and stops the moment the hero leaves the screen.
42 /of 60Ambient·Canvas
A fine grid of dots breathes in a slow wave and ripples away from your pointer or tap.
Interactive background
A surface that answers.
Move across it, or tap to send a ripple.
43 /of 60Ambient·CSS
A product shot and its cards rise and fall out of step, slowly, as if weightless.
Hero visual
Weightless, not restless.
A slow rise and fall on unequal cycles, so the pieces never move in step: alive, but never pulling the eye from the words.
Watch: the screen and both cards drift up and down out of step, and the shadow tightens as the screen rises.

44 /of 60Ambient·CSS
Two slow lines of words glide past each other, with a pause button; hover also pauses.
Brand identity, Websites, Art direction, Motion, Photography, Copywriting, Launch films, Design systems, Packaging, Strategy
What we make, at reading pace. Hover a line to hold it, or press pause.
45 /of 60Entrance·CSS
Two panels part like curtains to uncover the hero photo; then the headline and nav arrive.

Open tonight from 18:00
Dinner, slowly.
Seasonal plates and a long table by the window.
46 /of 60Text·CSS
Every 2.5 s one word in the headline slides up and is replaced; hover to hold it.
Watch: the last word changes every 2.5 s. Hover the headline to hold it.
47 /of 60Text·CSS
One large quote at a time; every 6 s the next rises in while a thin line keeps time.
On craft
“The details are not the details. They make the design.”
“Less, but better.”
“Have nothing in your houses that you do not know to be useful, or believe to be beautiful.”
“Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away.”
Watch: the line fills, then the next quote rises in. Swipe, tap a dot, or pause.
48 /of 60Text·CSS
Four ring gauges fill to their scores as the band arrives, each number rolling up with it.
Measured, not promised.
Audit dated 9 Oct 2026 · illustrative figures
Performance
Accessibility
Best practices
SEO
49 /of 60Transition·CSS
Tapping Menu grows a full-screen panel out of the button; the links arrive one by one.
Watch: tap Menu. The panel grows out of the button, the links follow; Escape closes.

Train on time.
Your first class is free.
50 /of 60Transition·View Transitions
Three booking steps: each slides in from the right, Back from the left; a tick draws.
Watch: pick a class. Each step slides in from the right; Back slides from the left.
51 /of 60Hover·CSS
Moving over a menu floats each dish's photo beside the pointer; on a phone, tap a dish.
Tonight’s menu
Watch: move over the list. On a phone, tap a dish.








52 /of 60Hover·CSS
Moving across the band leaves a short trail of photos that shrink away; on a phone, tap.
Watch: move across the band, or tap it on a phone.
Our kitchen,
in passing.













53 /of 60Scroll·CSS scroll-driven
A photo holds still while captions scroll past; each one swaps the photo and the counter.
Watch: as each caption reaches the middle, the photo and the counter change.
Inside the club
Four rooms, one membership.




01020304/ 04

Twelve racks, calibrated plates, and a coach on the floor every hour.

Bags, pads and a full-size ring for coached boxing.

Yoga, mobility and breathwork in a room full of daylight.

A quiet bench, a sauna and a cold plunge between sessions.
54 /of 60Section·CSS scroll-driven
A spine draws down the page; each year pops and its photo card slides in from the side.
Watch: the spine draws as you read, and each year arrives with its photo.
Our story
Eleven years, one floor at a time.

Six members, one coach, and a kettle in the corner.

Boxing joins, in small groups capped at eight.

Three floors and a whole room of air bikes.

Yoga and mobility join the timetable.

Lockers, showers and a quiet bench for everyone.

Still capped at eight people a class.
55 /of 60Scroll·CSS scroll-driven
On a drawn street map the walk from the station draws itself, then the pin drops.
Watch: the walk from the station draws in, then the pin drops.
Find us
Seven minutes from the station.
Ironside Strength, 14 Mill Lane. Step-free from the north exit, with bike racks by the door.
7 min walk
56 /of 60Scroll·CSS scroll-driven
A sticky row of menu categories lights the one you're reading and fills its underline.
Watch: the category you are reading lights up and fills its line.
Ember & Salt · Dinner
Tonight’s menu
57 /of 60Image·CSS scroll-driven
An 18-photo gallery in three columns; the middle column races against the outer two.
Watch: the middle column travels against the outer two.
Gallery
A week at the club.


















58 /of 60Image·CSS scroll-driven
Swipe through ten photos in 3D: the centre card faces you; the rest turn away and shrink.
Watch: swipe or use the arrows; the centre card turns to face you.
Inside the club
Ten corners of the club.










59 /of 60Scroll·CSS scroll-driven
A neat stack of five photo cards fans into an arc as it arrives; tap a card to lift it.
Watch: the stack fans out as it arrives. Tap a card to lift it.
This week
Pick a class.
60 /of 60Image·CSS
Numbered dots pulse once on a large photo; tap one and a short note grows out of it.
Watch: tap a numbered dot to open what is there.
The lifting floor

Tap a numbered dot.
Bumper plates
Rubber plates from 5 to 25 kg, safe to drop.
Battle ropes
Two 15 m ropes for the conditioning finisher.
Workout boards
The day's sessions, written up before the 6 am class.
Chalk
A bucket at every platform, topped up daily.
End of the exhibit
Every one stops when you press Pause motion, and shows its final state when your device asks for reduced motion.
Back to the top