The brand,
built like a product.
One System is the identity this site runs on: foundation, logo, type, color, layout, motion, and access, in one place. It is a working reference and a case study of the thinking behind it. Core token values render from the live CSS, so the numbers below are the real ones; the usage guidance and examples are maintained alongside them.
Foundation / the spine
Creative built like a system and accountable to what it does after it ships. The breadth is the proof of the idea, not a separate selling point.
Logo / the loop
One continuous stroke that closes on the sage node: the system, end to end, as a mark. Default to the primary lockup. The wordmark carries the circular period; the lockups don't.
Type / three faces, one system
Each face has one job. Clash Display is the voice: display, h1, h2. Clash Grotesk is reading type: sub-headings and body. JetBrains Mono is the system layer: labels, data, and code. All three ship as one variable file per family, so every weight below is real rather than the nearest available one.
Tracking is optical, not decorative. It tightens as type gets bigger, sits at zero for reading, and opens up for uppercase mono. Mono labels and emphasis are always uppercase, because heavy tracking is an uppercase device and breaks apart on lowercase; sentence-case mono is the data tier at +5% instead.
| tier | face | wt | track | where | sample |
|---|---|---|---|---|---|
| display | Clash Display | 700 | -2% | every page head, closing CTA, stat figures | One system. |
| h1 | Clash Display | 600 | -1% | the wordmark lockup | Antonius Felix |
| h2 | Clash Display | 500 | -1% | section heads, journal lead post, mobile nav | Engineer turned creative. |
| h3-h6 | Clash Grotesk | 500 | 0% | card titles, index rows, sub-heads | SPORTIME Clubs |
| body | Clash Grotesk | 400 | 0% | copy / lh 1.65 / strong = 600 | The work stays coherent and the loop closes. |
| label | JetBrains Mono | 400 | +10% | kickers, badges, section labels / always uppercase | Brand / Social / Performance |
| data / nav | JetBrains Mono | 400 | +5% | rail nav, scoreboard values, the clock / sentence case | Home / 2023-2024 / 12:53 PM |
| emphasis | JetBrains Mono | 600 | +10% | buttons / always uppercase | View work |
A tier says which face. A step says how big. Every size on the site is one of these, so a rule never writes a pixel value. The steps sit where the design already clustered rather than on a ratio, which is why they crowd at the small end: most of the system is labels and captions.
--fs-fluid-* for type that scales with the viewport. Container-query sizing stays per-component.A prose column's max-width, capped for reading comfort rather than let run to the edge of its box. Same sample at every step, so the wrap itself is the demonstration. lg and 2xl are the two anchors, .lead and .prose; everything else was picked around them.
Color / warm monochrome, one accent
A L’ESSAINE-inspired ramp from ivory and sand to midnight navy, with sage as the calm action accent and champagne gold as the premium highlight. Both light and dark are first-class.
F9F8F6
F6F2EA
E7DFD2
DAD0BF
D7C6A7
B9AD99
918674
746A5C
5D564B
3E4549
2B3744
1F2A36
111111
F4F7F2
E8EEE5
D8E1D4
B7C4B2
9FAE99
83947B
66775F
4F5E48
384432
263022
Layout / a 4px base
Everything measures from a 4px unit. Layout is a 12-column grid, max-width 1200, 24 gutters, 64 margins. Radius base is 8px; the mono system layer uses sharp 0 corners.
Motion / functional, not decorative
Quick and confident. Short travel, no bounce. The names say what a motion means, not how fast it is, so a rule picks by intent: a colour swap is quick wherever it sits, a slide is move whatever the distance. Reels inherit this: cuts over fades, snap transitions.
Every transition and animation on the site composes one of these. quick is the anchor and carries most of it. Hover a row to play it at its real duration.
Same distance, same duration, different curve. Each one has a job: an entrance and a dismissal should not feel alike, and a move that leaves and arrives wants a curve that eases at both ends.
A transform's magnitude is a token too, or three hover scales drift apart the way they had. These values are small on purpose, so each one runs on the size of element it actually moves: the dashed outline is where the shape rests, and hovering separates it by exactly one token. The two scales are a pair rather than a ladder, which is why the card and the control are shown at their own sizes.
--stagger-step (60ms), the per-item delay in a staggered list reveal.Here "reduce" means remove. Killing the tween alone still lets a hover end-state apply, so a card would jump 3% larger in a single frame, and a snap is still movement. Under prefers-reduced-motion every transition and animation is off, nothing translates or scales, page transitions are cancelled, and smooth scrolling reverts to instant. Hover stays legible on colour and border alone. Video is gated in JavaScript, since CSS cannot stop playback. The swatches in this section follow the same rule: they hold still, and the printed values carry it.
Colour contrast / checked against WCAG AA
The sage action color and champagne highlight stay restrained. Three rules carry most of it.
| Pair | Ratio | Verdict |
|---|---|---|
| Charcoal on ivory | 16.9:1 | AAA |
| Secondary #5D564B on ivory | 6.5:1 | AA |
| Sage-700 text on ivory | 6.2:1 | AA |
| Charcoal on sage fill | 10.4:1 | AA |
| Ivory on midnight navy | 13.7:1 | AAA |
Formats / the brand, in format
How the system shows up as social posts, reel frames, and a lower-third. Placeholder content at true export dimensions, rendered live so the mockups re-theme with the page.
end to end.
headline goes
right here.
not
briefed.
caption line
build.
@felixjurnal
Voice / source: System Master
Direct, specific, natural, not over-polished, not obviously AI-written. Lead with the answer. No inflated claims, no buzzwords, no unsupported proof. No em or en dashes.
- Lead with the answer
- Name real numbers, verified
- Plain, confident sentences
- Label concept work clearly
- Inflate or overclaim
- Reach for buzzwords
- Over-polish into AI-speak
- Imply concepts are client work
Digital Business research and collaboration