Direction 05 / 06
Swiss.
Rational, confident, poster-like. Achromatic neutrals, black type, a visible grid, one signal red.
Everything inside this frame is rendered in Swiss: its fonts, radius, motion and palette.
Example · Form/Index
01 — Exhibition
Grids, 1957–1972.
Posters, catalogues and signage from the decade typography learned to measure. Zurich, 12 October to 4 January.
Form/Index
12.10 — 04.01
Type
Display Schibsted Grotesk 700, text Schibsted Grotesk, mono JetBrains Mono. SIL OFL 1.1.
text-display-lgAa Bb 0123
text-display-smMeasure twice, ship once
text-2xlSection heading at reading size
text-mdBody copy runs at sixteen pixels with a comfortable measure and pretty wrapping.
text-smInterface text: buttons, navigation, table cells.
label-monoLabel · 11px · tracked
font-monoconst lcp = 1180; // ms
Palette
Semantic tokens in OKLCH, a separate scale per scheme. Contrast gate: 66 checks passed, 0 failed.
tightest: light --fg on --surface-hover 15.77:1 Lc93
light
bg #ffffff
Surfaces
- bg100% 0 0
- bg-subtle96.5% 0 0
- surface100% 0 0
- surface-raised100% 0 0
- surface-hover94% 0 0
Text
- fg18% 0 0
- fg-muted44% 0 0
- fg-subtle53.5% 0 0
Lines
- line-subtle87% 0 0
- line18% 0 0
- line-strong18% 0 0
- line-focus55% 0.22 29
Brand
- brand56.5% 0.22 29
- brand-hover51% 0.2 29
- brand-subtle95.5% 0.022 29
- brand-line80% 0.1 29
- brand-text51% 0.2 29
Status
- success47% 0.12 150
- warning50% 0.11 70
- danger47% 0.18 15
dark
bg #090909
Surfaces
- bg14% 0 0
- bg-subtle17.5% 0 0
- surface17.5% 0 0
- surface-raised21% 0 0
- surface-hover24% 0 0
Text
- fg96% 0 0
- fg-muted78.5% 0 0
- fg-subtle61% 0 0
Lines
- line-subtle100% 0 0 / 0.12
- line100% 0 0 / 0.3
- line-strong96% 0 0
- line-focus70% 0.18 29
Brand
- brand56.5% 0.22 29
- brand-hover52% 0.2 29
- brand-subtle26% 0.07 29
- brand-line45% 0.15 29
- brand-text80% 0.114 29
Status
- success79% 0.13 150
- warning82% 0.12 80
- danger79% 0.122 15
Depth, radius, motion
Elevation
Radius · knob 0rem
Motion · hover to play
linear
fast 0ms · base 100ms
slow 150ms · slower 300ms
When to use it
- Use for
- agencies, architecture, type/design tools, events, portfolios, data journalism
- Avoid for
- friendly consumer onboarding, soft brands
- Signature
- 12-column grid with asymmetric spans (label col 3 / content col 9); flush-left ragged right; full-contrast 1px rules (border-line is ink here); numbered sections "01 —" in mono; huge type contrast; hover = invert (bg-fg text-bg); radius 0; mechanical linear motion.
- Don't
- shadows, rounded anything, centred body text, more than 2 weights, decorative icons.
Install
One import after the base, plus the fonts. Every component keeps working.
packages/tokens/css/directions/swiss.css/* src/app/globals.css */
@import "tailwindcss";
@import "@void/tokens/base.css";
@import "@void/tokens/directions/swiss.css";// src/app/layout.tsx
import { Schibsted_Grotesk, JetBrains_Mono } from "next/font/google";
const sans = Schibsted_Grotesk({ subsets: ["latin"], variable: "--font-schibsted", display: "swap" });
const mono = JetBrains_Mono({ subsets: ["latin"], variable: "--font-jetbrains-mono", display: "swap" });