Lo Studio
Brand Alias Mapped Responsive Type Elevation Logo Components
Design system · v1.0

Lo Studio token system

Four collections, strictly one-directional: Mapped aliases Alias, Alias aliases Brand. Dark is canonical — every surface below is the real value a component resolves to on the live site.

Lime · #D8F000
Grey 950 · #141414
Geist · 100–900
Collection 01

Brand

Raw primitives, one mode. Colour groups are named by hue, never by role — role assignment lives one layer up. Grey carries a 4% lime tint so neutrals sit on the same axis as the accent.

{{ g.name }}
{{ g.note }}
{{ s.step }}
{{ s.value }}
Size · 24 steps
Reserved for typography. Layout never reaches in here.
{{ v }}
Type
Geist ships the full nine weights, so every Weight token maps 1:1 — no substitutions recorded.
Weight/{{ w.name }}{{ w.value }}
Spacing · 34 steps on a 4px grid
spacing-{{ p.n }}
Showing the working subset · full scale runs 0 → 128
Radius · same grid, separate decision
radius-{{ r.n }}
Components use radius-4 → radius-16 almost exclusively. The scale runs to 128 for pill cases.
Collection 02

Alias

One mode: Lime Theme. Named after the hue rather than "Default" so a second brand theme can be added later without restructuring. Only the Primary row varies per mode.

{{ role.name }}
{{ role.aliases }}
{{ s.step }}
Secondary is intentionally undefined. The brand runs on lime plus neutrals, so the Secondary group is left out rather than filled with a hue the site never uses.
Collection 03

Mapped

The UI-facing layer, Dark and Light. Every token points at an Alias token, never at Brand. Icon mirrors Text 1:1, which is why it has no table of its own.

{{ grp.name }}
token
dark
light
{{ row.token }}
{{ row.dark }}
{{ row.light }}
Collection 04

Responsive

Desktop 1440 · Tablet 1024 · Phone 393. Jumper aliases Brand/Spacing; Typescale aliases Brand/Size. Nothing here is a raw number.

{{ t.name }}
token
desktop
tablet
phone
{{ r.token }}
{{ r.d }}
{{ r.t }}
{{ r.p }}
Local styles

Typography

The static scale, separate from the breakpoint variables. Title uses pixel line-heights bound to Brand/Size; Label, Body and Caption sit at 160%, a ratio set directly. Heading is deliberately absent — the source never exposed its values, and inventing them would be worse than leaving the gap visible.

Title/Title-1/Medium — size-72 / size-88 / 500
Motion, brand, product
Title/Title-2/Bold — size-64 / size-76 / 700
One designer, whole stack
Title/Title-3/Regular — size-56 / size-68 / 400
A tight loop built to ship
Label/Label-1/Semi Bold — size-16 / 160% / 600
Featured projects
Label/Label-2/Medium — size-14 / 160% / 500
Go-to-market
Label/Label-3/Regular — size-12 / 160% / 400
Brand Identity
Body/Body-1/Regular — size-18 / 160% / 400
Early-stage teams need one operator who runs brand design and moves fast without dropping quality.
Body/Body-3/Regular — size-14 / 160% / 400
Click any project for the full story.
Caption/Caption-1/Semi Bold — size-10 / 160% / 600
CASE STUDY · 2026
Caption/Caption-2/Medium — size-8 / 160% / 500
LEGAL AND FOOTNOTE SCALE ONLY
Local styles

Elevation

Six levels, one shadow colour bound to Alias/Neutral/950. Deliberate deviation: on a #141414 canvas a black shadow is invisible, so dark mode substitutes a Border/secondary hairline plus a raised surface step. Shown on a light panel where the shadow reads.

{{ e.label }}
Dark equivalent of Elevation/2
Dark equivalent of Elevation/4
Library

Components

Ten families, dark mode. Each one resolves through Mapped only — no component reaches past it.

Buttons
Inputs
Subscribe to the studio log
Badges and tags
Available Brand Identity Web Design Shipped Blocked In review
Tabs
Cards
16:9 image slot
Case study
LaunchDarkly rebrand
Identity, site and launch film in nine weeks.
Stat card
$1B+
Raised by client teams
Accent card
Surface/action carries copy at Text/on-action. Use once per viewport.
→ Book a call
Table
Project
Client
Type
Status
LaunchDarkly explainer
LaunchDarkly
Video
Shipped
Galaxy event identity
Galaxy
Brand
Shipped
Product UI refresh
ProductDiscovery
Product
In review
Site rebuild
Sony Music
Web
Blocked
Modal
Start a project?
This sends your brief straight to Michael. Expect a reply inside one working day.
Toasts
Brief sent. You'll hear back by Thursday.
Upload failed — file over 25MB.
Two slots left this quarter.
Draft saved automatically.
Charts
Engagements by quarter
{{ b.label }}
Retainer utilisation
{{ sparkline }}
Billed Capacity
Nav / header
Lo Studio
WorkServicesProcessAboutFAQ
Lo Studio
Phone collapses the link row — Responsive/ShowFullMenu is False below 1024.