SWISS-MONO-PRECISION

Swiss Mono Precision

Ruthlessly systematic — monochromatic palette, rigid grid, mathematical spacing. Swiss International Style for the digital age.

Difficulty:★★★★☆
Mood:Systematic · Precise · Mathematical · Restrained · Authoritative
Clean & Structured

Visual DNA

Strict monochrome (B&W with one muted accent). Neo-grotesque sans (Akkurat, Aeonik, Neue Haas). Mathematical 12-column grid. Hairline rules. Systematic type scale. Generous whitespace as architectural element. Every pixel is justified. The beauty is in the restraint.

Design Principles

THE GRID IS THE COMPOSITION

The grid is not a tool the design uses — it is the design. The 12-column system with its 8px base unit is visible in every measurement, every rule, every margin. Nothing is placed "by eye"; every element occupies a computable position. The beauty is not in the content but in the exactness of its placement. When a viewer looks at the page, the grid is what they are seeing.

What it prevents: The tendency to treat the grid as invisible scaffolding and the content as the design. Here the structure IS the aesthetic — content earns its place by justifying to it.

---

MONOSPACE AS THE INSTRUMENT

The fixed character width of monospace is the typographic echo of the grid — every glyph occupies its own column, every line locks to the same invisible rails. IBM Plex Mono, Space Mono, or JetBrains Mono prints the page like a dimensioned engineering drawing: type is *printed*, not rendered. One family at 300/400/500 across all registers — consistency is the system. A single neo-grotesque (Akkurat, Aeonik, Neue Haas) at Regular weight is the permitted escape: the human voice inside the machine voice.

What it prevents: Decorative type choices that break the instrument register. If the type does not align like the grid, the entire contract collapses.

---

EVERY PIXEL IS JUSTIFIED

Hairline rules, margins, columns, and type sizes — every pixel answers to the base unit. Offsets are multiples of 8px. 1px rules land exactly on column edges. The type scale is computed (1.25x–1.5x modular), never chosen ad hoc. Asymmetry is permitted but derived: an offset block justifies to a rail, and the justification is visible. Precision here is not a mood — it is a measurable property.

What it prevents: The "close enough" habit. A layout that is almost aligned reads as sloppy in this style; a layout that is exactly aligned reads as authoritative. There is no in-between.

---

RED IS AN INSTRUMENT, NOT DECORATION

The palette is monochrome — paper white `#FAF9F7`, engineering black `#101010`, one muted gray `#6E6E6E` — plus one Swiss red `#E4002B`. The red is used sparingly and always functionally: an active column, a validated state, the changed figure, a single underscore on the one thing that matters on the plane. If red appears twice, one of its uses is decoration.

What it prevents: The palette carrying the design. Structure carries it; color reports. A second hue is never introduced — a muted desaturation of the red at most.

---

RESTRAINT IS THE AUTHORITY

Max 2-3 colors. Minimal motion (100-200ms micro-transitions only — and only when they inform state). Flat surfaces. Generous whitespace. The style says *"we did not need more"* — and that restraint is what makes it feel expensive and correct. Authority in Swiss work comes from what is omitted, not what is added. Density is earned: every element must justify its pixels against the whitespace.

What it prevents: The instinct to fill. More content, more color, more motion does not make the design better — it makes it louder, and loudness is failure here.

Typography System

# Typography System

## Display Typeface

| Property | Specification |
|----------|--------------|
| **Register** | Monospace — engineered, technical, the "drawing instrument" register |
| **Examples** | IBM Plex Mono, Space Mono, JetBrains Mono |
| **Weight** | 400-500 (regular/semibold — the display voice is confident, not loud) |
| **Tracking** | 0.02em-0.05em (slightly open; mono already demands more air) |
| **Size** | `clamp(2rem, 5vw, 4.5rem)` — large but measured, locked to the grid |
| **Transform** | UPPERCASE for section identifiers, sentence case for headlines |

**Why monospace:** The fixed character width is the typographic echo of the grid — every glyph occupies its own column, every line aligns to the same invisible rails. IBM Plex Mono or JetBrains Mono gives the page the feel of a dimensioned engineering drawing: the type is *printed*, not rendered. This is the register the style is named for — precision must be visible in the letterforms themselves.

---

## Body Typeface

| Property | Specification |
|----------|--------------|
| **Register** | Same monospace family, lighter weight — the annotation voice |
| **Examples** | IBM Plex Mono Light (300), Space Mono Regular, JetBrains Mono Light |
| **Weight** | 300-400 |
| **Tracking** | 0em-0.02em (mono at body size needs no added tracking) |
| **Size** | `clamp(0.875rem, 1vw, 1rem)` — 14-16px |
| **Line Height** | 1.5-1.6 (tight-ish; mono is tall-bodied and needs discipline) |

**Why monospace at body size:** Mono body text is harder to read than grotesque — that difficulty is the point. It forces the reader into the technical register, like reading a spec sheet. Keep line lengths strict (45-70 characters — i.e. a real column count) and the line height tight. The reading experience is dense and precise, not airy.

---

## Micro / Label Type

| Property | Specification |
|----------|--------------|
| **Register** | Same family, with letter-spacing to widen the fixed width |
| **Examples** | IBM Plex Mono Light, JetBrains Mono Light |
| **Weight** | 300-400 |
| **Tracking** | 0.12em-0.2em (very wide — makes mono feel like stamping) |
| **Size** | 10-12px |
| **Transform** | UPPERCASE with tabular figures |

**Usage:** Section labels, figure indices, coordinates, timestamps, dimension annotations. These labels are the numbering system of the page — "SEC. 02 / GRID SYSTEM", "REF. 042", "X: 64 / Y: 128". Tabular figures are mandatory so columns of numbers align precisely.

---

## Type Scale

```
Display:  clamp(2rem, 5vw, 4.5rem)  — monospace, uppercase identifiers
Body:     clamp(0.875rem, 1vw, 1rem) — 14-16px, mono light
Micro:    10-12px, uppercase, wide tracking
```

The scale is a **systematic ratio (1.25x-1.5x modular scale)** built on an 8px base unit, so every size in the system lands on a grid interval. Sizes are few and locked — the hierarchy comes from weight, case, and tracking, not from size proliferation. A display size is never chosen ad hoc; it is computed from the scale.

---

## Font Pairing Logic

**Monospace system with one grotesque escape:** Use a single mono family (IBM Plex Mono recommended) at 300/400/500 across all registers — the consistency is the system, one instrument at different pressures. Where a change of voice is needed (a quote, a pull fact, a metric callout), switch to a neo-grotesque sans (Akkurat, Aeonik, Neue Haas) at Regular weight only — the grotesque is the *human* voice inside the *machine* voice.

**Never:** Serif typefaces (too literary — this is a spec, not a magazine), script or display novelty fonts (breaks the instrument register), or mixing multiple mono families (each mono has its own proportions — the alignment discipline collapses).

**Micro-typography is mandatory:** proper en/em dashes, hanging punctuation, tabular figures, and single quotes. Sloppy dashes break the precision contract faster than any layout mistake.

Color Architecture

# Color Architecture

## Ground

The ground is the Swiss paper field — a controlled, neutral canvas that lets the grid and type do the talking. Two light ground states and one dark, all strictly off-pure to keep the page architectural rather than glowing:

```css
--color-ground-light: #FAF9F7;    /* Paper white — cold, matte, like blueprint stock */
--color-ground-dark: #101010;     /* Engineering black — flat, no blue/no purple tint */
```

**Why paper white and engineering black:** Pure #FFFFFF reads as a screen, not a surface. A cold paper tone (#FAF9F7) feels like drafting paper; #101010 is the flat black of a darkroom, not the glowing black of a UI skin. The two grounds are the anchors the grid locks against.

---

## Monochrome Neutrals

```css
--neutral-black: #101010;       /* Structural black — rules, type, blocks */
--neutral-ink: #1A1A1A;         /* Body text black (slightly lifted, never pure #000) */
--neutral-gray: #6E6E6E;        /* Muted gray — secondary labels, captions */
--neutral-line: #DCDBD9;       /* Hairline gray — muted rule color */
```

**These are the base colors.** Black, near-black, and one muted gray are the entire chromatic range of the system. The gray only appears where information is demoted — figure numbers, timestamps, secondary measurements. Everything structural is black. Nothing decorative exists in the neutral ramp: every value maps to a job (rule, body, label, margin).

---

## Swiss Red Accent

```css
--accent-red: #E4002B;          /* Swiss red — the single permitted accent */
--accent-red-active: #C40025;   /* Pressed / active state of the same red */
```

**Usage:** One red, used sparingly and always meaningfully — a highlighted grid intersection, a validated state, the active filter in a numbered system, a single underscore below a figure that changed. It performs the function a hairdresser's marker would on a drawing: it says *"this is the one thing that matters on this plane."*

**Rule:** Max 2-3 colors in the entire composition (black, paper white, one red). If a second accent is unavoidable, it must be a muted desaturation of the red — never a new hue. The red is an instrument, not decoration.

---

## Text

```css
--color-text-on-light: rgba(16, 16, 16, 0.92);  /* Ink black on paper — near solid */
--color-text-on-dark: rgba(250, 249, 247, 0.92); /* Paper white on engineering black */
--color-text-muted: rgba(16, 16, 16, 0.55);     /* Muted gray — captions, measure labels */
```

**Why near-solid text:** Unlike soft, floating styles, Swiss Mono Precision sets text at near-solid opacity (92%). The type is an instrument of the grid — it must print sharply against the ground. Muted text is reserved for the small technical annotations (dimensions, indices, run numbers) where demotion is part of the information hierarchy.

---

## Hairline / Structural Colors

```css
--color-rule: rgba(16, 16, 16, 0.85);   /* 1px hairline rule — structure, not decoration */
--color-rule-muted: rgba(16, 16, 16, 0.25); /* Faint grid ruling — the blueprint underlay */
--color-rule-red: #E4002B;            /* Accent rule — marks the active column */
```

**Usage:** Hairs are the Swiss structural element. They separate, align, and quote the grid. The faint ruling (#25 opacity) is the *underlay* — the invisible 12-column scaffold made barely visible; the strong rule (#85) is actual content structure — table borders, definition lines, section breaks. The red rule marks the system's active state.

---

## Color Don'ts

| Don't | Do Instead |
|-------|------------|
| Pure #FFFFFF background | Cold paper white #FAF9F7 |
| Pure #000000 everywhere | Engineering black #101010 with lifted ink #1A1A1A |
| Multiple accent colors | One Swiss red #E4002B, used functionally |
| Gradients or color ramps | Flat, clipped color fields — no blending |
| Rounded-corner colored blocks | Hard-edged black/white/red fields |
| Soft, muted neon palette | High-contrast monochrome with one red against paper |
| Color carries the design | Structure (grid, type, rule) carries it — color reports |

Motion Principles

# Motion Principles

## Philosophy

Motion in Swiss Mono Precision is **mechanical and minimal**. Nothing drifts, nothing morphs, nothing floats. Elements appear when the system calls for them — on a grid interval, on a state change — and they are gone the same way. The motion vocabulary is the motion of a drawing instrument: a rule being struck, a stamp hitting the page, a dimension being marked. Every animation must be justifiable as a state transition. No flourish, no parallax theater, no organic easing — motion reports, it does not perform.

---

## Precise Reveals

| Element | Animation | Duration | Easing |
|---------|-----------|----------|--------|
| Section headers | Clip-path or `width` reveal 0→100% (like a rule being drawn) | 300-500ms | `cubic-bezier(0.4, 0, 0.2, 1)`, once |
| Block content | Opacity 0→1 with 0px translation (no slide) | 200-300ms | `ease-out`, once |
| Figure indices | Opacity 0→1 + counter increment display | 150-250ms | `ease-out`, once |

**The reveal is a stamp, not a sweep.** Content appears fully formed, aligned to the grid — there is no entrance choreography. The only sanctioned entrance effect is the *rule draw*: a 1px line extending from 0 to full width, like a hairline being struck across the page. Everything else simply switches on.

---

## Grid-Snap Alignment

| Element | Specification |
|---------|--------------|
| Scroll-triggered alignment | Content snaps to grid rows as it enters — no smooth, organic settling |
| Table / list updates | Values change on a tick (200ms), never fade-dissolve |
| Column changes | Columns reveal instantly; the layout never animates its structure |

**The grid is static truth.** Layout shifts (column resizing, re-ordering) happen instantly or via a single 200ms snap — the grid never appears to wobble. If a value changes, it changes like a digital readout: old figure out, new figure in, no tween. This is the anti-"smooth scroll theater" stance — precision reads as stillness.

---

## Hairline Transitions

```css
.hairline-rule {
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 400ms cubic-bezier(0.4, 0, 0.2, 1);
}

.hairline-rule.is-drawn {
  transform: scaleX(1);
}
```

**Purpose:** The single signature motion — a 1px hairline drawing itself across the page on section entry or hover. It references the drafting-table action of striking a rule. Used only for structural separators and active-column markers; never for decorative underlines.

---

## Entrance Animations

| Element | Animation | Duration | Easing | Delay |
|---------|-----------|----------|--------|-------|
| Section rule | scaleX(0)→1 (rule draw) | 400ms | `cubic-bezier(0.4, 0, 0.2, 1)` | 0ms |
| Section header | Opacity 0→1 | 200ms | `ease-out` | 100ms |
| Body content | Opacity 0→1 | 200ms | `ease-out` | 150ms |
| Figures / indices | Opacity 0→1 + counter | 200ms | `ease-out` | 200ms |

**Key:** All durations are short (200-500ms) and delays are small and systematic (50-100ms steps). This is one of the fastest, most restrained styles in the library — but the speed is not energetic. It is the speed of a machine confirming state: instant, legible, repeatable.

---

## Interaction States

| Element | Hover State | Active State |
|---------|------------|-------------|
| Links | Underline rule draws 0→100% (200ms) | Color flips to Swiss red (0ms) |
| Buttons | Background flips to solid black, text to paper (100ms) | Background flips to red (0ms) |
| Table rows | Hairline highlight, row background shifts one step darker (100ms) | — |
| Figure thumbnails | Border color switches to red (0ms) | Scale 1.0→1.005 (150ms, optional) |

**Hover is state, not theater.** Most interactions are binary flips (on/off, black/white/red) — the red accent marks the active state instantly. The only transitions are the link rule-draw and short 100ms color flips. If an interaction needs more than 200ms to communicate, the UI is failing, not the animation.

---

## Reduced Motion

When `prefers-reduced-motion: reduce`:
- All rule draws: replaced with instant appearance
- All opacity reveals: instant
- All transitions: 0ms state flips

```css
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
```

The style survives reduced motion nearly unchanged — it is already 90% instant state flips.

---

## What NOT to Animate

| Never | Why |
|-------|-----|
| Parallax or scroll-linked drift | The page is a drawing, not a scene — nothing moves with the viewport |
| Bounce or spring physics | Springs are emotional; this system is mechanical |
| Morphing borders or organic shapes | Organic motion breaks the grid's authority |
| Staggered, choreographed reveals | Elements appear when the system calls them, not in sequence theater |
| Auto-advancing carousels | State changes belong to the user's interaction |
| Hover scale on cards | Geometry is fixed by the grid — scaling breaks alignment |
| Infinite ambient motion | A static page is a correct page; stillness is a feature |

Layout Grammar

# Layout Grammar

## Grid System

**The 12-column grid is the composition.** No layout decision exists outside it. Every block, rule, and text column lands on an 8px base unit; every column edge is a shared rail that elements must justify to.

- 12-column grid (16-column permitted for data-dense views), 8px base unit
- Gutters: 16px (2 × 8px) minimum; margins derived mathematically, never arbitrary
- Content max-width: 1200px (12 × 72px columns + 11 × 16px gutters, locked to the scale)
- Hairline rules (1px) drawn exactly on column edges — they quote the grid, they do not decorate it
- Asymmetry permitted but derived: an offset block must justify to a grid rail, with the justification visible

---

## Hero Section

| Property | Specification |
|----------|--------------|
| Height | Full viewport — `min-h-[100dvh]` |
| Background | Paper white `#FAF9F7` or engineering black `#101010` — flat, no imagery |
| Layout | 12-column grid, content locked to the left rail |
| Headline size | `clamp(2rem, 5vw, 4.5rem)` — monospace, uppercase identifier |
| Structure | Hairline rules + a single red accent (active column, coordinates) |

```
┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
│                                                                                               │
│  SEC. 01 / GRID SYSTEM          │                        [hairline rule]                      │
│                                                                                               │
│  SWISS MONO                      │                                                            │
│  PRECISION                       │  [red rule — active column]                                │
│  The grid is the                 │                                                            │
│  composition.                    │                                                            │
│                                                                                               │
│  REF. 001 — 08.05.2026          │  X: 04 / Y: 02                                              │
│                                                                                               │
└───────────────────────────────────────────────────────────────────────────────────────────────┘
```

**The hero is the grid made visible.** The headline prints on the paper field, dimension annotations sit in the opposite gutter, one red rule marks the active column. Nothing floats, nothing is centered by eye — every element is at a computable position.

---

## Section Spacing

```css
--section-padding-y: clamp(4rem, 12vh, 10rem);  /* multiple of 8px, locked */
--content-max-width: 1200px;                     /* 12 columns + gutters */
--edge-margin: clamp(2rem, 4vw, 4rem);           /* margin = gutter multiple */
--base-unit: 8px;                                /* every offset is n × 8px */
```

**Whitespace is the architectural element.** Generous margins separate sections like panels on a drawing sheet. Spacing never "feels" right — it is computed from the base unit. If an offset is not a multiple of 8px, it is wrong.

---

## Layout Patterns

### Pattern 1: Full-Width Document (Spec Sheet)
```
┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
│ 01 │ LABEL          │  HEADLINE TEXT — LOCKED TO COLUMN RAILS                  │  [hairline] │
│    ├────────────────┼──────────────────────────────────────────────────────────┼─────────────┤
│ 02 │ Body column    │  Body column    │  Data table with tabular figures       │             │
│    │ (45-70 chars)  │  (45-70 chars)  │  REF 042 | 0031 | 0008                │             │
│    └────────────────┴─────────────────┴────────────────────────────────────────┴─────────────┘
```

### Pattern 2: Split — Annotation + Content
```
┌────────────┬────────────────────────────────────────────────────────────────────────────────┐
│  SEC. 03   │  Content block — justifies to the shared rail                                   │
│  TYPOGRAPHY│                                                                                │
│            │  [hairline rule on the rail — the split is structural, not decorative]          │
│  REF. 042  │                                                                                │
└────────────┴────────────────────────────────────────────────────────────────────────────────┘
```

### Pattern 3: Numbered Index (the numbering system made layout)
```
┌────────────────────────────────────────────────────────────────────────────────────────────┐
│  01 ──────── GRID         05 ──────── MOTION         09 ──────── TEXTURE                     │
│  02 ──────── COLOR        06 ──────── HIERARCHY      10 ──────── RESPONSIVE                  │
│  03 ──────── TYPE         07 ──────── DENSITY        11 ──────── ACCESSIBILITY               │
│  04 ──────── LAYOUT       08 ──────── SPACING        12 ──────── REDUCED MOTION              │
│  [red rule under the active index — 06]                                                      │
└────────────────────────────────────────────────────────────────────────────────────────────┘
```

---

## Responsive Behavior

| Breakpoint | Layout Change |
|------------|--------------|
| **Desktop (1200px+)** | 12 columns; side annotations in outer gutters; hairline rules full-width |
| **Tablet (768px)** | 8 columns (derived from 12 — never re-drawn ad hoc); annotations collapse into the flow |
| **Mobile (375px)** | 4 columns; margins shrink to one gutter multiple; rules stay 1px |

**On mobile:** The grid collapses, it does not break. Columns halve in a 12→8→4 sequence; the base unit stays 8px. Headlines shrink along the modular scale, not by eye. If a 12-column feature cannot survive at 4 columns, it is demoted or removed — never squeezed.

---

## Layout Don'ts

| Don't | Do Instead |
|-------|------------|
| Card grids with shadows | Flat fields separated by hairline rules |
| Centered, symmetric layouts | Asymmetric but derived — justified to grid rails |
| Floating, unanchored elements | Every block on a computed grid position |
| Arbitrary margins | All spacing = multiples of the 8px base unit |
| Visible decorative rules | Rules that quote structure — column edges, section breaks |
| Rounded corners above 2px | Hard-edged fields; 2px max on interactive elements |
| Imagery as background | Flat paper/engineering surfaces; the grid is the visual |

Texture & Surface

# Texture & Surface

## Primary Texture: Engineering Flatness

The texture of Swiss Mono Precision is **flatness itself** — the material truth of a drafting surface, not a digital glow. Where other styles build texture from imagery or material imitations, this style builds it from the drawing tools themselves:

| Quality | Description |
|---------|-------------|
| **Flat, clipped color fields** | Solid black, paper white, and red shapes with hard edges — no inner shadow, no emboss |
| **Matte grounds** | Paper-white and engineering-black surfaces with zero gloss or bloom |
| **Hairline structure** | 1px rules doing the work of what other styles do with shadows |
| **Blueprint underlay** | Faint grid ruling (12/16 columns) visible at low opacity — the drawing exists on ruled paper |
| **Fabricated artifacts** | Simulated print imperfections are banished; this is a clean vector drawing, not a scan |

**The goal:** Every surface should read as *drawn* — generated on a clean drafting plane, aligned to the grid, dimensioned. Where a softer style would add texture to feel alive, this style withholds texture to feel *authoritative*. The richness is in the precision of the edges, not the depth of the material.

---

## Hairline Rules

```css
.hairline {
  height: 1px;
  background: rgba(16, 16, 16, 0.85);
}

.hairline--underlay {
  height: 1px;
  background: repeating-linear-gradient(
    to bottom,
    rgba(16, 16, 16, 0.25) 0,
    rgba(16, 16, 16, 0.25) 1px,
    transparent 1px,
    transparent 24px
  );
}
```

**Purpose:** The hairline is the primary surface element — 1px rules as borders, section separators, table structures, and column markers. The underlay variant repeats the 8px base-unit rhythm so the ruling itself becomes texture. Hairs are kept at crisp 1px (never `0.5px` blur); on high-DPI they render as a sharp physical line.

---

## Grid Ruling System

```css
.grid-underlay {
  background-image: linear-gradient(rgba(16, 16, 16, 0.08) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(16, 16, 16, 0.08) 1px, transparent 1px);
  background-size: 64px 64px;  /* 8px base unit · 12/16 columns · 64px module */
}
```

**Purpose:** Make the mathematical grid materially present. Sections can optionally show their column structure as a faint ruled underlay — like the printed grid on a technical pad. This is the only "pattern" the system permits, and it is always an honest quote of the actual grid, never a decorative motif. When it appears, it appears as surface truth, not ornament.

---

## Image / Asset Processing

Assets (figures, thumbnails, technical imagery) are processed to hold the drawing-plane register:

| Processing | Effect | Parameters |
|-----------|--------|------------|
| **B&W or single-tone** | Keep images monochrome or bi-tone (B&W, or B&W with red tint) | Desaturate 100%; optional red channel remap |
| **Crisp edges** | No blur, no glass, no glow | `filter: none` on outputs; hard clipping at grid bounds |
| **Flatten contrast** | Stable, even contrast — no HDR bloom | Contrast within ±10% of source |
| **Hairline framing** | Every asset sits behind a 1px rule frame | `outline: 1px solid rgba(16,16,16,0.85)` |
| **Overlay charts / annotations** | Dimension lines, index markers on top of assets | 1px rules + mono micro-type |

**The goal:** no asset may break the flat, measured plane. Imagery is treated as a technical figure in a manual — framed by hairs, annotated in mono, clipped to the grid. If an image can't be flattened to this register, it does not belong in the system.

---

## Surface Rules

| Surface | Treatment |
|---------|-----------|
| Background | Paper white or engineering black ground — flat, unlit |
| Text overlays | Near-solid ink, no background plate — type sits on the plane |
| UI elements | Flat fills with hairline frames; no shadows, no borders beyond 1px |
| Buttons | Solid black fill (paper text); active state solid red |
| Navigation | Flat bar locked to the top grid band, hairline rule below |
| Dividers | 1px hairlines — the only sanctioned separation |
| Cards (optional) | Flat field with 1px frame + top hairline accent; no radius above 2px, no shadow |

**Everything is on the plane.** No elevation, no float, no depth stack. Hierarchy is encoded in weight, rule density, and the red accent — never in shadow or layering.

---

## Texture Don'ts

| Don't | Do Instead |
|-------|------------|
| Drop shadows / elevation | 1px hairlines and flat color fields |
| Noise, grain, or paper scans | Clean vector flatness — a drawing, not a scan |
| Glassmorphism or translucency | Solid, near-opaque fills |
| Blur gradients or glows | Hard edges and crisp 1px rules |
| Rounded corners above 2px | Geometric corners (grids stay rectangular) |
| Organic or abstract textures | Grid ruling and ruled lines only |
| 3D depth / perspective | Flat projection — the front elevation of the page |

Vocabulary Bank

# Vocabulary Bank

## Primary Terms

| Term | Why It Matters |
|------|---------------|
| `hairline rule` | 1px structural line — the workhorse of Swiss layout, divides without decoration |
| `Swiss grid` | The mathematical column system — every element locked to it, nothing floats |
| `grid system` | 12-column (or 16-column) framework with 8px base unit — the page's skeleton |
| `baseline grid` | Horizontal rhythm — text sits on the grid line, not optically centered |
| `Swiss red` | The classic single accent (#FF0000) against black/white — loud restraint |
| `register` | Vertical alignment of elements across columns — the eye travels in straight lines |
| `modular scale` | Type sized by fixed ratio (1.25x or 1.5x) — systematic hierarchy, no eyeballing |

---

## Secondary Terms

| Term | Effect |
|------|--------|
| `neo-grotesque` | The sans family (Akkurat, Aeonik, Neue Haas) — clean, neutral, authoritative |
| `monospace annotation` | Mono type for data, numbers, labels — the engineering-drawing voice |
| `systematic spacing` | All margins/padding derived from the 8px base unit — no arbitrary values |
| `mathematical margin` | Whitespace as a computed element, generous and architectural |
| `tabular figures` | Monospaced numerals — numbers align in columns, tables look engineered |
| `hanging punctuation` | Quotes/dashes hang outside the measure — micro-typographic rigor |
| `numbered system` | Sections, rows, figures labeled 01/02/03 — the page reads like a spec sheet |
| `engineering-drawing feel` | Dimension lines, datum marks, annotation — technical documentation aesthetics |
| `flat surface` | No gradients, no shadow, no texture — pure ink on paper |
| `asymmetric but derived` | Layout looks free, but every position is mathematically locked |

---

## Context Terms

| Term | Mood |
|------|------|
| `Swiss International Style` | Mid-century Swiss typographic discipline — the historical foundation |
| `International Typographic Style` | The design movement: grid, sans-serif, objective communication |
| `grid discipline` | Rules before expression — the system is the message |
| `precision` | Every pixel justified, every measurement intentional |
| `restraint` | Fewer elements, more rigor — beauty in what is removed |
| `authoritative` | The tone of engineering specs and official documents |
| `objective layout` | Communication without personality noise — content first |

---

## Banned Terms

| Term | Why It Breaks the Style |
|------|------------------------|
| `decorative elements` | Everything must earn its place — no ornament without function |
| `gradients` | Flat surfaces only — the engineering aesthetic has no blend modes |
| `rounded corners above 2px` | Sharp geometry is the language — radius is a concession, not a style |
| `asymmetric without system` | Asymmetry is allowed ONLY when derived from the grid |
| `drop shadows` | Flat ink-on-paper surfaces — no elevation, no depth |
| `skeuomorphism` | The page is a drawing, not a simulation of objects |
| `bouncy motion` | Motion is utilitarian — a 150ms crossfade, not a performance |
| `serif display type` | Neo-grotesque sans and mono only — no editorial serif warmth |
| `background imagery` | Photography dilutes the drawing-like clarity — type IS the hero |
| `saturated palette` | Black, white, one accent. Swiss red is the only color allowed |
| `lorem ipsum placeholder` | The page must read like a real engineering document |
| `hero image` | No image-led heroes — a typographic lockup on the grid is the hero |

---

## Prompt-Ready Phrases

```
"12-column grid with 8px base unit — every element mathematically locked"
"neo-grotesque sans (Akkurat/Aeonik/Neue Haas) at modular scale (1.25x or 1.5x)"
"hairline rules (1px) as structural dividers — not decoration"
"black/white base with Swiss red (#FF0000) as the single accent"
"monospace annotation for data, numbers, and labels (tabular figures)"
"numbered system — sections labeled 01/02/03 like a spec sheet"
"engineering-drawing feel — dimension lines, datum marks, annotations"
"baseline grid — all text registered to horizontal grid lines"
"generous mathematical whitespace as an architectural element"
"asymmetric composition derived from the grid — free-looking but locked"
"proper micro-typography — em/en dashes, hanging punctuation, true quotes"
"flat surfaces — no gradients, no shadows, no texture, no rounded corners above 2px"
"minimal motion — 150-200ms fades, nothing decorative, no bounce"
"monochrome (black/white/gray) plus one muted accent per page"
```

Anti-Slop Checklist

☐12-column grid (or 16-column for data-dense views) — actually used, not just drawn
☐8px base unit — every margin, offset, and size is a multiple of it
☐Monospace register — IBM Plex Mono / Space Mono / JetBrains Mono at 300/400/500
☐Neo-grotesque escape (Akkurat, Aeonik, Neue Haas) at Regular weight only — the human voice
☐Systematic type scale — 1.25x–1.5x modular ratio, sizes computed not guessed
☐Hairline rules (1px) as structural elements — on column edges, quoting the grid
☐Max 2-3 colors: paper `#FAF9F7`, engineering black `#101010`, Swiss red `#E4002B`
☐Flat surfaces — no gradients, no shadows, no elevation
☐Rounded corners 2px maximum (interactive elements only)
☐Proper micro-typography — en/em dashes, hanging punctuation, single quotes
☐Tabular figures in every numeric column — numbers align vertically
☐Uppercase section identifiers with indices — "SEC. 02", "REF. 042"
☐Near-solid text (92%) — type prints sharply against the ground
☐Whitespace as the architectural element — generous, computed, not "filled"
☐Motion minimal and functional — 100-200ms state transitions only
☐`prefers-reduced-motion` honored (no motion at all)
☐NO fake grid — rules drawn but content not aligned to them
☐NO decorative monospace — mono type without grid, scale, or alignment discipline
☐NO grid rigidity without purpose — columns as conformity, not composition
☐NO decorative red — the accent must mark a function
☐NO multiple mono families — mixing proportions collapses alignment
☐NO pure #FFFFFF or pure #000000 — paper is `#FAF9F7`, black is `#101010`
☐NO centered, symmetric compositions — asymmetric but derived
☐NO card shadows, border-radius > 2px, or skeuomorphism
☐NO gradients or color ramps
☐NO decorative elements without function
☐NO bouncing or springy motion — motion is a state change, not a performance
☐NO imagery as background — flat surfaces, grid as the visual

When to Use

# When to Use

## Perfect For

| Context | Why This Style Works |
|---------|---------------------|
| **Developer tools** | The engineering-drawing aesthetic signals precision and technical competence |
| **Engineering/manufacturing** | Grid discipline and spec-sheet layouts match the domain's own language |
| **Data & analytics platforms** | Tabular figures and numbered systems make data feel authoritative |
| **Technical documentation** | The grid, mono annotations, and hairline rules ARE documentation design |
| **Design systems & component libraries** | The style proves the system — locked grids, systematic spacing |
| **Architecture & construction** | Blueprint aesthetics map directly onto the drawing-like layout |
| **Financial/industrial services** | Restrained, systematic, trustworthy — credibility without warmth |
| **Swiss/institutional brands** | Heritage alignment with the International Typographic Style |
| **Fintech & infrastructure** | Precision, rules, and rigor — the anti-hype alternative to playful fintech |

## Brand Personality Match

This style reinforces brands that are:
- **Systematic** — processes, standards, repeatable results
- **Precise** — measurement matters, error is not tolerated
- **Mathematical** — numbers are the language
- **Restrained** — confidence without noise, credibility without warmth
- **Authoritative** — the voice of a spec sheet, not a sales pitch

## Avoid When

| Context | Why It Fails |
|---------|-------------|
| **Consumer lifestyle/e-commerce** | Too cold and technical — product grids need warmth and imagery |
| **Entertainment/media** | The rigid grid strangles expressive, editorial energy |
| **Health/wellness** | The clinical precision reads as sterile, not caring |
| **Playful/creative brands** | Restraint is the opposite of the brand's personality |
| **Kids/family products** | The authoritative tone is alien to the audience |
| **Photography/art portfolios** | Typography-first layout competes with the work itself |
| **Fashion (avant-garde)** | Too orderly — fashion needs tension, not alignment |
| **Brands needing friendliness** | Monochrome + mono type is designed to feel impersonal |

## How to Decide

Ask: **"Does my brand want to feel like an engineered instrument — systematic, precise, and mathematically certain?"**

If yes → Swiss Mono Precision.
If no → Monochrome Single Accent (if you want monochrome discipline with more color freedom and warmth), Data Visualization Aesthetic (if charts and dashboards are the message itself), or Dark Tech Terminal (if you want the technical voice in a dark, screen-native register).

Common Mistakes

Mistake 1: The Fake Grid

**What people do:** Draw a 12-column grid overlay, then place content on it loosely — blocks justified by eye, rules that don't pass through shared rails, margins that land on odd pixel values.

**Why it fails:** The grid is the composition. If content does not actually align to the drawn grid, the structure reads as decoration — a "grid pattern" pasted over a normal layout. The viewer's eye catches misalignments as sloppiness, which is the one thing this style cannot survive.

**Fix:** Every element justifies to a real rail. Check column edges in the browser at 4x zoom; if a block's edge doesn't land on an 8px multiple, it is wrong. If you can't justify an element, don't draw the grid over it — remove the element.

---

Mistake 2: Grid Rigidity Without Purpose

**What people do:** Conform to the 12-column grid mechanically — every section identical, every block stretched to fill, no asymmetry, no hierarchy. "The grid says so" becomes the entire rationale.

**Why it fails:** Discipline without decision is boredom. The grid is a system for making choices, not a template for avoiding them. A page where every section looks the same has no composition — it has a cage. Swiss work is asymmetric-but-derived, and the derivation is the design.

**Fix:** Use the grid to justify deliberate deviations: an offset block that proves its offset, a column deliberately empty, a red rule that marks the active rail. The grid earns its authority by supporting exceptions that are mathematically justified.

---

Mistake 3: Decorative Monospace Without a System

**What people do:** Set the site in IBM Plex Mono because "it looks technical" — then use arbitrary sizes, unaligned line lengths, mixed weights, and no scale. The mono is a costume, not a register.

**Why it fails:** Monospace only means precision if the rest of the system is precise. Fixed-width glyphs expose every inconsistency: ragged line lengths, columns that don't line up, hierarchy by size proliferation. Without the grid, scale, and tabular discipline, mono reads as a tech meme, not an instrument.

**Fix:** Build the system first — modular scale, 8px unit, tabular figures, strict line lengths (45-70 characters). Then the mono earns its place. One family at 300/400/500; the grotesque escape only where a human voice is needed.

---

Mistake 4: Misaligned Hairlines

**What people do:** Add 1px rules as "Swiss details" — placed arbitrarily, not on column edges, sometimes blurry or half-offset.

**Why it fails:** A hairline is a statement of exactness. A rule that misses its rail by 1px is not structure — it is a crack. Hairlines also blur at fractional DPR scales (e.g., 1.25x zoom), turning crisp structure into soft fuzz, which reads as cheap.

**Fix:** Draw rules only on computed positions — column edges, section breaks, table borders. Ensure 1px renders crisply (integer device-pixel alignment; physical-pixel adjustments where needed). The faint blueprint ruling (25% opacity) is the underlay; the strong rule (85%) is content structure — never confuse the two.

---

Mistake 5: Cold Sterility

**What people do:** Take the restraint so far that the page becomes a beige-on-gray spreadsheet — no accent, no voice change, no moment of contrast. Everything is perfectly aligned and completely dead.

**Why it fails:** Precision without contrast is sterile, not authoritative. The style's power comes from the *difference* between the machine register and the human moments — the single red figure, the grotesque pull quote, the whitespace pause. Without those moments, precision has nothing to be precise *about*.

**Fix:** Engineer at least one human moment per viewport: a functional red accent, a grotesque escape for a quote or metric, an intentionally empty column. Restraint is the baseline, not the ceiling — the design should feel *chosen*, not defaulted.

---

Mistake 6: Mono Legibility Failures

**What people do:** Set long body copy in monospace without discipline — 90-character lines, no tabular figures, dense blocks with no hierarchy, numeric columns that don't align.

**Why it fails:** Mono body text is harder to read than grotesque — that difficulty is only acceptable when it is the point. Long unbroken lines tire the eye; misaligned numbers make the "precision" claim visibly false; uniform density removes the annotations that give the page its drawing-sheet character.

**Fix:** Strict line lengths (45-70 characters — count real columns). Tabular figures in every numeric column. Line height 1.5-1.6, tight. Demote annotations to the micro register (10-12px, uppercase, wide tracking 0.12em-0.2em). Hierarchy comes from weight, case, and tracking — never from size proliferation.

---

Mistake 7: Decorative Red

**What people do:** Use the Swiss red everywhere because it's the one allowed accent — red buttons, red borders, red labels, red highlights. The accent becomes a theme.

**Why it fails:** Red is the instrument of *this one thing matters* — an active column, a changed figure, a validated state. If everything is marked, nothing is marked. A page with red scattered across it reads as marketing, not measurement; the single-accent discipline is what makes the accent mean anything.

**Fix:** One red element per viewport maximum, always functional: the active filter, the changed value, the live indicator. If you need a second red, ask what the first one is doing — one of them is decoration. The red rule (`#E4002B`) marks the system's active state; everything else stays black, ink, and paper.

Reference Gallery

# Reference Gallery

## Live Sites

### Swiss Mono Precision Reference Implementation
- **What works:** 12-column grid with 8px base unit, hairline rules, neo-grotesque type at modular scale, black/white/Swiss red palette, mono annotations, numbered systems
- **URL:** Reference implementation — the canonical example of this style

### IBM (ibm.com)
- **What works:** Grid-locked corporate layout, IBM Plex family (sans + mono), engineering heritage, red accent discipline, documentation-grade structure
- **URL:** ibm.com — study the Carbon design system pages and IBM Plex usage

### Braun (braun.com)
- **What works:** Dieter Rams-era product design DNA — monochrome, hairline precision, systematic layout, typography as the interface
- **URL:** braun.com — heritage sections are the strongest references

### SBB Swiss Federal Railways (sbb.ch)
- **What works:** Live Swiss International Style — grid system, mono timetables, red/white institutional palette, real engineering-drawing information design
- **URL:** sbb.ch — the timetable is a masterclass in tabular data layout

### Josef Müller-Brockmann's Grid System
- **What works:** The source itself — 12-column math, baseline grids, hairline rules, objective typography. Study the original posters and "Grid Systems in Graphic Design"
- **URL:** Search "Müller-Brockmann grid poster" — museum/digital archives

### Technical Documentation Sites (Stripe Docs, MDN, Vercel Docs)
- **What works:** Sidebar + content grid discipline, mono code annotations, numbered steps, hairline separators, tabular data tables
- **URL:** stripe.com/docs, developer.mozilla.org, vercel.com/docs

## Key Visual References

### Grid & Structure
- **12-column grid** — every element locked to the column system
- **8px base unit** — all spacing mathematically derived
- **Hairline rules (1px)** — structural dividers, not decoration
- **Baseline grid** — text registered to horizontal lines
- **Asymmetric but derived** — compositions that look free but measure out

### Color References
- **Pure black #000000 / pure white #FFFFFF** — the binary ground
- **Swiss red #FF0000** — the heritage accent (or muted red #C8102E for calmer brands)
- **Neutral gray #666666** — secondary text and annotations
- **Hairline gray** — rgba(0,0,0,0.15) rules on white

### Typography References
- **Neue Haas Grotesk / Akkurat / Aeonik** — neo-grotesque display and body
- **IBM Plex Mono / JetBrains Mono / Space Mono** — data, numbers, labels
- **Modular scale** — 1.25x or 1.5x ratio, systematic hierarchy
- **Tabular figures** — numbers aligned in columns
- **Wide tracking on mono labels** — 0.15em+, uppercase
- **Micro-typography** — proper dashes, hanging punctuation, true quotes

### Motion References
- **Entrance** — single 200ms fade, 40ms stagger, ease-out
- **Hover** — color shifts and rule reveals only, 150ms
- **Numbers** — no celebratory counting animations; changes crossfade in 120ms
- **Reduced motion** — transitions fully disabled, instant states

## Screenshot Notes

> When capturing references for this style, look for:
> - The grid (columns must be visible and consistent — count them)
> - The rules (1px hairlines as structure, not borders for borders' sake)
> - The color (monochrome plus at most one accent — no gradients)
> - The type (neo-grotesque + monospace, systematic scale, tabular figures)
> - The annotation layer (mono labels, numbered systems, spec-sheet voice)
> - The whitespace (generous, mathematical, architectural)
> - The overall mood (must feel engineered, restrained, authoritative)

AI Prompts

EXACT REPLICA1959 characters
```
Build a Swiss-style landing page for "DIATYPE" — a type foundry. Stack: React + Vite + TS + Tailwind CSS v4.

## FONTS
Load: `https://fonts.googleapis.com/css2?family=Inter+Tight:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap`
- Display: Inter Tight 600/700, tracking -0.02em
- Body: Inter Tight 400
- Mono: JetBrains Mono (for specimen data)

## GRID
- 12-column CSS Grid, gap 0
- 8px base spacing unit: all padding/margin are multiples of 8
- Hairline borders: 1px solid #E5E5E5 (light) or rgba(255,255,255,0.1) (dark)

## STRUCTURE
- Header: grid row, logo left (Inter Tight 700, tracking 0.1em, uppercase), nav right (Inter Tight 400, tracking 0.05em, uppercase, 11px)
- Hero: 12-col grid. Headline spans cols 1-8, Inter Tight 700, clamp(3rem, 8vw, 7rem), leading 0.95, tracking -0.03em. Subtext cols 9-12, Inter Tight 400, 14px, line-height 1.5
- Type Specimen Grid: 12-col, each cell shows one font weight. Cell: border 1px solid #E5E5E5, padding 32px. Weight name (mono, 10px, uppercase, tracking 0.15em) + large specimen letter (Inter Tight [weight], 120px)
- Foundry Info: 2-col split. Left (cols 1-6): heading + body. Right (cols 7-12): data table (mono, 11px, tabular figures)
- Footer: full-width, border-top 1px solid #E5E5E5, flex space-between, mono 10px uppercase tracking 0.15em

## TYPE SCALE (1.5x ratio)
- Display: 112px (7rem)
- Headline: 48px (3rem)
- Subhead: 24px (1.5rem)
- Body: 16px (1rem)
- Small: 12px (0.75rem)
- Micro: 10px (0.625rem)

## COLOR
- Light: white ground, near-black text (#111), hairline #E5E5E5
- OR Dark: near-black ground (#0A0A0A), off-white text (#E8E8E8), hairline rgba(255,255,255,0.1)
- ONE accent only: signal red (#FF3B30) or cobalt (#0047FF)

## ANTI-SLOP
- NO rounded corners above 2px
- NO shadows
- NO gradients
- NO more than 2 colors + accent
- NO decorative elements
- ALL spacing in 8px multiples
- Tabular figures for all numbers
- Proper en-dashes and em-dashes
```

This prompt recreates a specific design pixel-faithfully. Study it to understand the style at its purest.