ISO Brand Design System Technical Deep-Dive
1. Brand Overview
The International Organization for Standardization (ISO) is the global authority on standards. Their design language reflects that position: precise, structured, no fluff. The site feels like it’s built for professionals who care about clarity and authority, not marketing gimmicks.
The vibe is institutional, but not cold. The bright, assertive red (#e3000f) in the logo and call-to-action elements signals urgency and authority. It’s paired with deep neutrals (#333333, #000000) and stark white (#ffffff) to keep things minimal. This is a brand that says: “We’re the standard. Trust us.”
Typography is clean and modern. They use Inter var ISO, a custom variable font build of Inter, with a range of weights from 350 (light) to 700 (bold). The tight letter-spacing in headings (-1.493px at the largest size) makes titles feel compact and controlled. No playful curves, no decorative flourishes — just functional, legible type.
Layout is predictable and grid-driven. Bootstrap and Vuetify are under the hood, which means ISO is piggybacking on proven responsive frameworks. Breakpoints are standard: 576px, 768px, 992px, 1200px, 1400px — plus some odd ones like 98px and 420px for very specific UI tweaks.
If you’re building for ISO, you’re building for a brand that values consistency over experimentation. Every pixel has a job. Every color is a signal. This is design as governance.
2. Color System
2.1 Primary Colors
The hero color is ISO Red — #e3000f. It’s aggressive and unmistakable. Red here isn’t “danger” — it’s “stop and pay attention.” This is the same psychology used in emergency signage and authoritative seals. It works because ISO needs to stand out in a sea of technical information.
The semantic primary in CSS variables is technically #ffffff (white), but in practice, the brand “primary” is the red. White is the canvas; red is the ink.
Compared to competitors (ANSI, IEC), ISO’s red is slightly more saturated and warm. ANSI’s palette leans toward deeper burgundy, IEC uses blues. ISO’s choice makes them visually distinct, especially in a standards context where blue is the norm.
2.2 Complete Palette
| Color Name | Hex | Role | Usage |
|---|---|---|---|
| White | #ffffff | Base / Primary semantic | Backgrounds, text on dark surfaces, empty states |
| Dark Gray | #333333 | Text / Neutral | Body text, dividers, icons |
| ISO Red | #e3000f | Brand / Accent | Logo, links, CTA buttons |
| Black | #000000 | Core neutral | High-contrast text, icons |
| White (0.918 alpha) | #ffffff | Hover/focus overlay | Light hover states |
| White (0.92 alpha) | #ffffff | Hover/focus overlay | Same as above |
| Deep Red Hover | #c4000d | Hover/focus | Link hover, button focus |
| Darker Red Hover | #b6000c | Hover/focus | Link hover active states |
| Brand Mid | #9c2b42 | Mid-tone brand | Secondary accents |
| Danger Text Emphasis | #3e111a | Functional | Error messages |
| Danger Bg Subtle | #ebd5d9 | Functional | Error backgrounds |
| Info Text Emphasis | #002b49 | Functional | Info labels |
| Info Bg Subtle | #cce1f1 | Functional | Info backgrounds |
| Success Text Emphasis | #003929 | Functional | Success labels |
| Success Bg Subtle | #cce9e1 | Functional | Success backgrounds |
| Secondary Bg Subtle | #dccdd2 | Neutral | Secondary surfaces |
| Secondary Bg | #e9ecef | Neutral | Panels, input backgrounds |
| Secondary Text Emphasis | #20020c | Neutral text | Secondary headings |
| Dark Bg Subtle | #d5d5d5 | Neutral | Light gray surfaces |
| Dark Text Emphasis | #495057 | Neutral text | Dimmed text |
| Warning Bg Subtle | #fef1d8 | Functional | Warning backgrounds |
| Warning Text Emphasis | #644a19 | Functional | Warning labels |
| Primary Bg Subtle | #f9cccf | Brand tint | Light red backgrounds |
| Primary Text Emphasis | #5b0006 | Brand text | High contrast on light red |
| Highlight Color | #212529 | Neutral | Text highlight |
| Border Color | #dee2e6 | Neutral | Dividers, table borders |
| Form Valid Color | #008f67 | Functional | Validation success |
| Code Color | #4f051f | Functional | Code snippets |
2.3 Color Relationships
Contrast is generally excellent. White on red passes WCAG AA easily. Black on white is perfect. The only potential accessibility challenge is red text (#e3000f) on white — contrast ratio ~4.7:1, which passes AA but not AAA for body text.
Dark mode isn’t implemented. There’s no alternate palette; everything is built for a light background. ISO probably isn’t chasing dark mode — their audience is office-based, desktop-heavy.
2.4 Usage Guide
Works well:
- White backgrounds with red CTAs — classic ISO look.
- Red text on white for emphasis — but use sparingly.
- Gray text (
#333333) for body copy — keeps hierarchy clear.
Avoid:
- Mixing
#e3000fand#b6000cin the same component — too close in hue, looks like a mistake. - Using subtle alphas on backgrounds without strong borders — edges get lost.
- Putting red text on gray backgrounds — contrast drops.
3. Typography
3.1 Font Families
Primary: "Inter var ISO", Arial, Helvetica, system-ui
Fallbacks are standard sans-serif system fonts. There’s no Google Fonts or Adobe Fonts dependency — this is a custom build.
Inter var ISO is a variable font. They use weights from 350 (light) to 700 (bold). This gives them fine control over emphasis — lighter weights for body text, heavier for buttons.
3.2 Type Scale
| Element | Font | Size | Weight | Line Height |
|---|---|---|---|---|
| Heading-1 | Inter var ISO | 50px (3.13rem) | 500 | 1.25 |
| Heading-1 | Inter var ISO | 42px (2.63rem) | 500 | 1.25 |
| Heading-1 | Inter var ISO | 36px (2.25rem) | 500 | 1.25 |
| Heading-1 | Inter var ISO | 30px (1.88rem) | 500 | 1.40 |
| Heading-1 | Inter var ISO | 26.666px (1.67rem) | 350 | 1.19 |
| Link | Inter var ISO | 25px (1.56rem) | 500 | 1.25 |
| Heading-1 | Inter var ISO | 25px (1.56rem) | 500 | 1.25 |
| Button | Inter var ISO | 20px (1.25rem) | 600 | 1.40 |
| Link | Inter var ISO | 20px (1.25rem) | 350 | 1.40 |
| Heading-1 | Inter var ISO | 20px (1.25rem) | 350 | 1.40 |
| Link | Inter var ISO | 20px (1.25rem) | 350 | 1.40 |
| Heading-1 | Inter var ISO | 20px (1.25rem) | 600 | 1.40 |
| Button | Inter var ISO | 20px (1.25rem) | 350 | 1.40 |
| Heading-1 | bootstrap-icons | 20px (1.25rem) | 400 | 1.00 |
| Link | Inter var ISO | 20px (1.25rem) | 600 | 1.40 |
| Button | Inter var ISO | 20px (1.25rem) | 400 | 1.40 |
| Heading-1 | Inter var ISO | 17.5px (1.09rem) | 350 | 1.40 |
| Link | Inter var ISO | 17.5px (1.09rem) | 350 | 1.40 |
| Heading-1 | bootstrap-icons | 17.5px (1.09rem) | 400 | 1.00 |
| Link | Inter var ISO | 17.5px (1.09rem) | 350 | 1.40 |
| Button | Inter var ISO | 17.5px (1.09rem) | 350 | 1.40 |
| Button | Inter var ISO | 17.5px (1.09rem) | 600 | 1.40 |
| Link | Inter var ISO | 17px (1.06rem) | 350 | 1.40 |
| Heading-1 | Inter var ISO | 15px (0.94rem) | 350 | 1.40 |
| Link | Inter var ISO | 15px (0.94rem) | 700 | 1.40 |
| Link | Inter var ISO | 15px (0.94rem) | 350 | 1.40 |
| Caption | Inter var ISO | 3px (0.19rem) | 350 | 1.20 |
| Caption | Inter var ISO | 3px (0.19rem) | 500 | 1.20 |
3.3 Hierarchy
Headings are tight and heavy — they demand attention. Body text is lighter (350 weight) for readability. Buttons jump to 600 weight for authority. The type scale is dense — many small variations in size/weight, which means careful mapping to components is essential.
4. Spacing & Layout
4.1 Spacing Scale
Base unit: 4px grid. Common values:
| Px | Rem | Count |
|---|---|---|
| 2px | 0.13rem | 10 |
| 3px | 0.19rem | 8 |
| 3.75px | 0.23rem | 45 |
| 5px | 0.31rem | 28 |
| 7.5px | 0.47rem | 8 |
| 10px | 0.63rem | 126 |
| 15px | 0.94rem | 7 |
| 20px | 1.25rem | 64 |
| 30px | 1.88rem | 23 |
| 75px | 4.69rem | 10 |
10px and 20px dominate — ISO likes medium padding. 75px is used for big section gaps.
4.2 Layout
Framework: Bootstrap + Vuetify.
Breakpoints: 98px, 420px, 576px, 600px, 767px, 768px, 992px, 1024px, 1200px, 1400px, 1680px.
The presence of 98px suggests micro-breakpoints for icon/nav adjustments — unusual, but it works.
5. Visual Elements
Border Radius
| Value | Count | Elements |
|---|---|---|
| 0px 10px 10px 0px | 1 | button |
| 0.5px 2px 2px 0.5px | 6 | div |
| 7px | 1 | button |
| 9px | 4 | span |
| 10px | 24 | button, menu, input, card |
| 10px 0px 0px 10px | 1 | input |
| 10px 10px 0px 0px | 6 | card |
| 12.2px 12.2px 0px 0px | 1 | modal |
| 13.2px | 1 | modal |
ISO loves 10px radius — this is the default for most components.
Shadows
They’re subtle:
rgba(0,0,0,0.075) 0px 5px 10px— commonrgba(0,0,0,0.075) 0px 2.5px 5px— smaller- Rare big shadow:
rgba(0,0,0,0.15) 0px 20px 20px
6. Components
6.1 Buttons
Skip Navigation Button
- Default: bg
#006bb7, text white, radius 10px, no border. - Hover: bg transparent, outline white 2px, scale(1.1).
- Active: bg white, text
#333333. - Focus: text
#e3000f, bg#006bb7, scale(1.1).
Primary Button
- Default: bg white, text
#e3000f, padding7.5px 20px, radius0px 10px 10px 0px. - Hover: text white, bg rgba(255,255,255,0.3).
- Active: bg white, text
#333333. - Focus: bg white, text
#333333.
Outline Light Small
- Default: transparent bg, text
#faf9f9, padding5px 16px, radius 7px, border2px solid #faf9f9. - Hover: outline white 2px, scale(1.1).
- Active: bg white, text
#333333. - Focus: text
#e3000f, bg#006bb7.
6.2 Links
Multiple variants:
- White links: underline default, no underline hover.
- Red links: no underline, color stays red.
- Gray links: hover turns red.
- Dim black links: hover turns white.
6.3 Forms
Search input:
- Default: bg white, border
1px solid #c9c4c2, radius10px 0px 0px 10px, padding7.5px 15px. - Focus: border-color
var(--bs-form-invalid-border-color), box-shadow red tint.
6.4 Cards
Radius: 10px 10px 0px 0px.
Shadows: subtle (rgba(0,0,0,0.075) variants).
Padding: multiples of 10px and 20px.
7. Design Tokens
:root {
/* Colors */
--color-white: #ffffff;
--color-dark-gray: #333333;
--color-iso-red: #e3000f;
--color-black: #000000;
--color-deep-red-hover: #c4000d;
--color-darker-red-hover: #b6000c;
--color-brand-mid: #9c2b42;
--color-danger-text-emphasis: #3e111a;
--color-danger-bg-subtle: #ebd5d9;
--color-info-text-emphasis: #002b49;
--color-info-bg-subtle: #cce1f1;
--color-success-text-emphasis: #003929;
--color-success-bg-subtle: #cce9e1;
--color-secondary-bg-subtle: #dccdd2;
--color-secondary-bg: #e9ecef;
--color-secondary-text-emphasis: #20020c;
--color-dark-bg-subtle: #d5d5d5;
--color-dark-text-emphasis: #495057;
--color-warning-bg-subtle: #fef1d8;
--color-warning-text-emphasis: #644a19;
--color-primary-bg-subtle: #f9cccf;
--color-primary-text-emphasis: #5b0006;
--color-highlight: #212529;
--color-border: #dee2e6;
--color-form-valid: #008f67;
--color-code: #4f051f;
/* Typography */
--font-family-primary: "Inter var ISO", Arial, Helvetica, system-ui;
--font-weight-light: 350;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--font-weight-bold: 700;
/* Spacing */
--space-2: 2px;
--space-3: 3px;
--space-3_75: 3.75px;
--space-5: 5px;
--space-7_5: 7.5px;
--space-10: 10px;
--space-15: 15px;
--space-20: 20px;
--space-30: 30px;
--space-75: 75px;
/* Radius */
--radius-none: 0px;
--radius-sm: 7px;
--radius-md: 9px;
--radius-lg: 10px;
--radius-modal: 13.2px;
/* Shadows */
--shadow-sm: rgba(0,0,0,0.075) 0px 2.5px 5px;
--shadow-md: rgba(0,0,0,0.075) 0px 5px 10px;
--shadow-lg: rgba(0,0,0,0.15) 0px 20px 20px;
}8. AI Coding Assistant Prompt
# ISO Design System Specification
You are an ISO design expert. Build UIs matching their visual language exactly.
## Brand Context
ISO’s design is precise, institutional, and authoritative. It uses a red/white/gray palette, a custom Inter variable font, and a consistent 4px-based spacing grid. Corners are generally 10px radius. Shadows are subtle.
## Color Palette
- White: #ffffff — Backgrounds, text on dark surfaces
- Dark Gray: #333333 — Body text, neutral elements
- ISO Red: #e3000f — Logo, CTAs, primary actions
- Black: #000000 — High-contrast text, icons
- Deep Red Hover: #c4000d — Hover states
- Darker Red Hover: #b6000c — Alternate hover/focus
- Brand Mid: #9c2b42 — Secondary accents
- Danger Text Emphasis: #3e111a — Error text
- Danger Bg Subtle: #ebd5d9 — Error backgrounds
- Info Text Emphasis: #002b49 — Info labels
- Info Bg Subtle: #cce1f1 — Info backgrounds
- Success Text Emphasis: #003929 — Success labels
- Success Bg Subtle: #cce9e1 — Success backgrounds
- Secondary Bg Subtle: #dccdd2 — Secondary surfaces
- Secondary Bg: #e9ecef — Panels
- Secondary Text Emphasis: #20020c — Secondary headings
- Dark Bg Subtle: #d5d5d5 — Light gray surfaces
- Dark Text Emphasis: #495057 — Dimmed text
- Warning Bg Subtle: #fef1d8 — Warning backgrounds
- Warning Text Emphasis: #644a19 — Warning labels
- Primary Bg Subtle: #f9cccf — Light red backgrounds
- Primary Text Emphasis: #5b0006 — Brand text
- Highlight: #212529 — Highlights
- Border Color: #dee2e6 — Dividers
- Form Valid Color: #008f67 — Validation success
- Code Color: #4f051f — Code snippets
## Typography
Font: "Inter var ISO", Arial, Helvetica, system-ui
| Level | Size | Weight | Line Height | Use For |
|-------|------|--------|-------------|---------|
| H1 | 50px | 500 | 1.25 | Page titles |
| H1 | 42px | 500 | 1.25 | Section titles |
| H1 | 36px | 500 | 1.25 | Subsections |
| H1 | 30px | 500 | 1.40 | Smaller headings |
| H1 | 26.666px | 350 | 1.19 | Intro headings |
| Link | 25px | 500 | 1.25 | Nav links |
| Button | 20px | 600 | 1.40 | Main buttons |
| Body | 17.5px | 350 | 1.40 | Content text |
| Caption | 3px | 500 | 1.20 | Micro labels |
## Spacing & Grid
Base: 4px
Scale: 2px, 3px, 3.75px, 5px, 7.5px, 10px, 15px, 20px, 30px, 75px
Use 10px/20px for most padding. 75px for section gaps.
## Border Radius
- none: 0px — data tables
- sm: 7px — small buttons
- md: 9px — spans
- lg: 10px — buttons, cards, inputs
- modal: 13.2px — modals
- special: asymmetric radii for search inputs and split buttons
## Shadows & Depth
- sm: rgba(0,0,0,0.075) 0px 2.5px 5px
- md: rgba(0,0,0,0.075) 0px 5px 10px
- lg: rgba(0,0,0,0.15) 0px 20px 20px
## Component Specifications
### Primary Button
Default: bg #ffffff, color #e3000f, padding 7.5px 20px, radius 0px 10px 10px 0px, no border
Hover: bg rgba(255,255,255,0.3), color #ffffff
Active: bg #ffffff, color #333333
Focus: bg #ffffff, color #333333
### Outline Light Button
Default: transparent bg, color #faf9f9, padding 5px 16px, radius 7px, border 2px solid #faf9f9
Hover: outline white 2px, scale(1.1)
Active: bg white, color #333333
Focus: bg #006bb7, color #e3000f
### Input Field
Default: bg white, border 1px solid #c9c4c2, radius 10px 0px 0px 10px, padding 7.5px 15px
Focus: border-color var(--bs-form-invalid-border-color), box-shadow 0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)
## Layout & Responsive Rules
Max content width: follows Bootstrap container defaults
Page padding: multiples of 10px/20px
Breakpoints: 98px, 420px, 576px, 600px, 767px, 768px, 992px, 1024px, 1200px, 1400px, 1680px
## Interaction Rules
- Transition: 150ms ease on hover/focus
- Focus indicators: color change + scale(1.1)
- No complex animations
## DO List
- Use only colors from palette
- Maintain 4px-based spacing
- Keep headings tight and bold
- Use 10px radius for most components
- Respect breakpoints exactly
- Ensure WCAG AA contrast
- Use Inter var ISO for all text
## DON'T List
- Invent new colors
- Mix rounded and sharp corners
- Add heavy shadows
- Use underlines on red links
- Use non-standard font weights
## Code Examples
Primary Button:
```css
.btn-primary {
background: #ffffff;
color: #e3000f;
padding: 7.5px 20px;
border-radius: 0px 10px 10px 0px;
font-weight: 350;
font-size: 20px;
border: none;
transition: all 150ms ease;
}
.btn-primary:hover {
background: rgba(255,255,255,0.3);
color: #ffffff;
}Outline Light Button:
.btn-outline-light {
background: transparent;
color: #faf9f9;
padding: 5px 16px;
border-radius: 7px;
border: 2px solid #faf9f9;
font-weight: 600;
font-size: 17.5px;
}
.btn-outline-light:hover {
outline: 2px solid #ffffff;
transform: scale(1.1);
}Search Input:
.input-search {
background: #ffffff;
border: 1px solid #c9c4c2;
border-radius: 10px 0px 0px 10px;
padding: 7.5px 15px;
}
.input-search:focus {
box-shadow: 0 0 0 .25rem rgba(227,0,15,0.25);
}
---
## 9. Summary
**TL;DR** — ISO’s design system is clean, authoritative, and built on a red/white/gray palette with precise typography and a 4px grid. Corners are soft at 10px, shadows are subtle, and Bootstrap/Vuetify handle responsiveness.
**Brand Keywords**:
- authority-minimalist
- swiss-precise
- standards-driven
- no-nonsense