GOJI

Our brand

GOJI
The mark, the palette, the rulesGOJI design system
01 — The rule

Everything comes in three

Scroll any page on this site and the background travels: off-white, into cream, then through one or two of our three accents, holding the last of them all the way down. It never travels to black. The footer arrives instead, as a field of black pixels dissolving in over whatever colour the page has landed on.

That trip is what shapes the palette. A colour strong enough to fill a pill behind black type is far too pale to be read as type itself, and far too heavy to lie under an entire page. So each accent is kept as three values, one per job: a bright that only fills, a deeper one that only writes, and a washed one that only grounds. They are never swapped, and none is used outside its job.

The washed values are not eyeballed. Each is 20% of its own bright mixed into cream, which is the entire rule — no per-colour tuning. It lands all three within 4 points of the same weight, so travelling from one to the next changes the hue of the page without changing how heavy it feels.

02 — Accents

Three colours, nine values

Each specimen below shows all three forms of one hue, each doing the job it exists for. First the bright fills a block and carries black type. Then the deeper value writes on cream. Then the washed value is a whole ground, with the page’s own ink on it. Every figure is measured, not asserted.

Bright — fills only

The primary call to action, and every dot marking the practice

#5fa98a

Black type on this fill — 6.87:1

Deeper — writes only

Links, labels and hairlines on any of our grounds

#2f6b52

On cream 5.40:1 · on off-white 5.70:1

Washed — grounds only

A stop on most journeys — home, About, Work, Services

#d6dfd2

Body copy on this ground — 12.85:1

EucalyptBright used as type on cream would be 2.40:1 — which is why it never isWashed measures 20% of the bright in cream, at weight 219Adopted July 2026. Mid-toned rather than light, so it needed the largest lift of the three to reach the washed weight.
Bright — fills only

Fills that need to carry weight, and the Web practice dot

#b08eff

Black type on this fill — 7.45:1

Deeper — writes only

Every link hover on the site, in body copy and in headlines

#5326b8

On cream 7.74:1 · on off-white 8.16:1

Washed — grounds only

A stop on four journeys, and the whole run on landing pages

#e6dae9

Body copy on this ground — 13.04:1

PurpleBright used as type on cream would be 2.22:1 — which is why it never isWashed measures 20% of the bright in cream, at weight 223The only accent wired to an interaction state.
Bright — fills only

The index plate, and the Brand practice dot

#ff5fa8

Black type on this fill — 6.81:1

Deeper — writes only

Held in reserve — no consumer yet, but the safe value exists

#b31259

On cream 5.74:1 · on off-white 6.06:1

Washed — grounds only

A stop on four journeys, and where the homepage finishes

#f6d1d8

Body copy on this ground — 12.59:1

PinkBright used as type on cream would be 2.43:1 — which is why it never isWashed measures 20% of the bright in cream, at weight 221The brightest of the three as a fill, and the palest as a ground.
03 — Neutrals

What the colour sits on

Off-white opens every journey. Cream is the second stop, the ground the deeper accents are tuned against, and the base every washed value is mixed into — which is why the figures above are quoted on it. Black is no longer a stop on anything: it arrives as the footer, and it inks every bright fill.

#f4f4f2
Off-white

Opens every journey, and inks every dark surface outside one.

#f4ede4
Cream

The second stop on every journey. The on-light accents are tuned against it.

#0e0f11
Black

No longer a stop on any journey. Inks every bright fill.

#18191b
Journey ink

What every journey is written in, start to finish. A half-step softer than the page black.

#ececea
Dark foreground

The foreground on dark surfaces that sit outside a journey.

#000000
Footer

Pure black, edge to edge. The one surface on the site with no grain over it.

#161616
Image panel

Sits behind every image while it loads, and stands in when there is none.

#171717
Wordmark base

The mark as drawn. Chosen so inverting it lands on a legible off-white.

04 — The mark

One file, flipped

There is no white version of the logo. A single dark master is inverted in the browser at the same moment the type flips, so the mark and the words it sits beside always change together. That is why the master is drawn in #171717 rather than black — it is the value that inverts to a legible #e8e8e8.

On a light page — as drawn
GOJI

#17171716.28:1 on off-white

On a dark page — inverted

#e8e8e815.65:1 on black

GOJI wordmarkProportion 1000.01 × 199.71Ratio 5.0073 — match it, or size one axis and leave the other
In the header — 20px tall

Follows the page as it changes colour, and holds light while the menu is open.

On a fixed dark ground — 28px tall

Where no journey runs, the mark is simply set light and left there.

Closing the footer — halved by the panel edge

Set to twice its own proportion so the lower half is cropped away. Decorative only: the studio is already named in the text above it.

05 — Service colours

One colour each

Every service carries a colour instead of a number. Three reuse a brand accent; one extends the set, because there are four services and only three accents. Each is shown on both grounds, because three of them share a hue with a stop on some journey and a mark has to stay visible when the page arrives at its own colour. On our washed green the bright Eucalypt dot reads 2.04:1 against the deeper one’s 4.59:1 — which is the whole argument for carrying two.

ServiceOn darkOn lightOrigin
Search & AI Visibility#5fa98a#2f6b52Eucalypt
Website Development#b08eff#5326b8Purple
AI Builds#ffb545#8a4a00Extends the set
Brand#ff5fa8#b31259Pink
06 — The journeys

Where the pairs earn their keep

Each page runs its background through a set order of colours as you scroll. Drag the slider to read the background at any point in this page’s own run. The bars below are the real runs, with each colour pinned to the point it actually arrives. Watch the weight in the readout rather than the colour: it falls from 238 on cream to about 219 and then stays there, because every washed stop — and every point between two of them — carries the same weight.

Position0%
Background#f4f4f2
Brightness244threshold 135
Type becomesNear-black
HomeThe homepage, and this page
WorkThe portfolio index
AboutThe studio page
ServicesThe services hub
InsightsThe writing index
ArticleAny single piece of writing
07 — Why publish this

The palette has moved twice, and this page moved with it

Our green used to be a bright lime. It was retired because it was a light colour wearing dark colour’s job: it filled beautifully and could not be read. Its replacement sits mid-way between light and dark, which meant the point at which the type flips had to move too — otherwise the green would have arrived carrying off-white type at 2.53:1, when black on the same green reads at 6.87:1.

Then the accents came off the backgrounds. Readers told us the site went dark as it scrolled, and they were right: a colour sized for a pill does not survive being stretched across a viewport, and the old stops dropped the page from 238 to as low as 143. The washed tier is the answer. It is one number rather than three tuned values because one number turned out to be enough — at 20% the three land 4 points apart, which nobody can see across a scroll.

None of the figures on this page are typed in. They are measured from the same values the site is built from, every time the page is published, so this page cannot quietly disagree with the thing it describes.