No template, no page-builder, every page here is hand-written, one file at a time. Here's the system underneath it, and how the parts that move were made.
Every colour, size, space, radius and easing comes from a single tokens.css. It's deliberately small: one cool neutral ramp, one accent, and tints derived from it, never a pile of one-off colours. Change it there, it changes everywhere.
The landing page isn't a photo or a video, it's divs and gradients. The whole sky is drawn in CSS and quietly retinted to match the actual hour where you're standing. Here it is in miniature, drag through it:
The gradient. Four CSS colour-stops (--sky1…4) from deep blue up to pale horizon. That's the entire sky, one linear-gradient.
Time of day. A small script reads your clock and blends the four stops through morning, noon, golden hour and night. Drag the timeline to see the entire day, or return it to your local time.
The clouds. Blurred white circles (a div with two pseudo-elements) drifting on a @keyframes loop. At night they turn slate-grey so the hero text stays legible.
The life. The sun becomes a moon and the stars quietly fade in. No canvas, no WebGL, no library, just the browser.
Every page began as a sentence I was trying to say. The design came after, in service of it.
Colours, type, spacing, motion, decided once, in tokens.css, so nothing drifts. Consistency is a system, not willpower.
Plain HTML & CSS a browser reads directly. No framework to outgrow, no build to break. Motion is CSS first, GSAP only where scroll needs choreography.
The sky here, a drag-to-reveal painting there. One idea, obsessed over, beats ten that are fine.
Claude helped me code and iterate. The concept, structure, writing, taste, and final call on every pixel are mine.