projectious·work
On this page

Typography

Three typefaces, three jobs, and the v2.1.1 type ramp.

The system uses three typefaces, each with one job. All three are licensed under the SIL Open Font License 1.1 and self-hosted as version-pinned WOFF2 files. System and generic fallbacks keep the content usable if a font cannot load.

The three families#

FamilyWeightsRoleLicence
Plus Jakarta Sans400 · 500 · 600 · 700 · 800Headings, display, buttons, navigation, wordmarkSIL OFL 1.1
Source Sans 3400 · 500 · 600Body copy, UI labels, captionsSIL OFL 1.1
IBM Plex Mono400 · 500Code, terminal output, dataSIL OFL 1.1

Loading them from the published brand assets:

html
<link rel="stylesheet" href="/scss/main.css">

The ramp#

Every row below is set in the family, size, weight, and line-height it documents — this is the live specimen, not a picture of one.

Display · 48/800/1.1
Redesigning work
H1 · 36/700/1.15
Agent-first consulting
H2 · 28/700/1.2
Composable infrastructure
H3 · 24/600/1.25
How the system fits together
H4 · 20/600/1.3
Working in the open
H5 · 17/600/1.35
Supporting detail
Body L · 18/400/1.65
Augmenting people's strengths through composable Cloud · Agile · Agentic AI infrastructure.
Caption · 13/400/1.5
Figure 1 — pipeline stages and their policy gates.
Overline · 12/600/1.3
SECTION LABEL
Code · 14/400/1.6
createPipeline({ policy: "strict" })

Rules#

  • Display letter-spacing is −0.5px. Large type set at default tracking reads loose and unresolved.
  • Overline is a label, not a heading. 12px, 600, uppercase, 0.08em tracking. Use it above a heading, never as one.
  • Body copy is 16px / 1.6; body-large is 18px / 1.65. Use body-large for standfirsts and body for documentation and long-form prose. Do not set body text below 14px.
  • Never set body copy in Plus Jakarta Sans, and never set headings in Source Sans 3. The split is what makes the voice recognisable.
Do

Pair an overline with an H2 to label a section. Keep the ramp intact — skip sizes rather than inventing intermediate ones.

Don't

Introduce a fourth typeface, use a weight outside the listed set, or fake a weight with font-synthesis.

Updated Aug 13, 2026