# Webdrift design system

> Webdrift design system measured from webdrift.be: host font, #B0142C primary on #0C0B0B, 12 color hex codes, type scale, spacing and a free DESIGN.md.

Canonical page: https://sitepeel.dev/design-md/webdrift.be/en/

Webdrift’s website (webdrift.be) uses the host font and #B0142C as its main color on a #0C0B0B background. Measured by Sitepeel on November 5, 2026.

## What font does Webdrift use?

Webdrift uses host (weights 400, 500 and 600), with geistMono for code on webdrift.be. Page titles are 124px at weight 600 (52px on phones) and body text is 16px. Measured on November 5, 2026.

- host (weights 400, 500, 600)
- geistMono (weights 400)

## Webdrift colors: palette and hex codes

Webdrift’s main colors are #0C0B0B (charcoal) for the background, #F3F1EC (warm mist) for text and #B0142C (red) as the main accent, with #D7193A (red) as another accent. Measured on November 5, 2026.

- #0C0B0B: charcoal
- #F3F1EC: warm mist
- #9C9590: warm gray
- #111111: charcoal
- #B0142C: red
- #D7193A: red

## What is Webdrift built with?

Webdrift’s website (webdrift.be) is built with Sanity, Next.js, React, Vercel and GSAP. Measured on November 5, 2026.

- JavaScript framework: Next.js 16.3.8, React 19.3.0-canary-cbb046ab-2
- Animation & 3D: GSAP 3.15.0, Three.js r186
- Hosting & CDN: Vercel
- Site builder & CMS: Sanity

## Questions and answers

### What font does Webdrift use?

Webdrift’s website uses host (weights 400, 500 and 600), with geistMono for code. Page titles are 124px at weight 600 (52px on phones) and body text is 16px. Measured on November 5, 2026.

### What are the Webdrift colors and hex codes?

On webdrift.be: #0C0B0B (charcoal) for the background, #F3F1EC (warm mist) for text and #B0142C (red) as the main accent, with #D7193A (red) as another accent. The color palette above lists all 12 colors with their hex codes and where each one is used.

### What is the Webdrift design system?

The design system on this page is webdrift.be’s, as measured on November 5, 2026: host type, #B0142C as the main color and pill-shaped corners, written down as a DESIGN.md. It is not Webdrift’s own documentation.

### What is Webdrift built with?

Webdrift’s website (webdrift.be) is built with Sanity, Next.js, React, Vercel and GSAP. The full tech stack Sitepeel found: Next.js, React, GSAP, Three.js, Vercel and Sanity. Measured on November 5, 2026.

### What is the Webdrift DESIGN.md?

A plain-text file with Webdrift’s measured colors, type, spacing, corners and components as tokens, plus short rules, in the DESIGN.md format Google published with Stitch. Your AI coding agent reads it and builds in this style. More about DESIGN.md.

### How do I use it with Claude Code or Cursor?

Download the file and put it in your project’s root folder, then ask your agent to follow DESIGN.md. Step-by-step guides: Claude Code, Cursor, Codex, GitHub Copilot.

### Is this Webdrift’s official design system?

No. Sitepeel measured it from webdrift.be’s public page on November 5, 2026. It is an independent analysis, not made or approved by Webdrift.

### Can I use Webdrift’s style in my own product?

Use it to learn, prototype and compare. For a real product, make the style your own, and never copy Webdrift’s logo, name, pictures or text.

### How accurate are the values?

Each value was measured on the rendered page after it fully loaded, on desktop and mobile: colors where they appear, type with tracking, spacing, corners, shadows and hover states. Sites change, so check the date at the top.

## Files

- [DESIGN.md](https://sitepeel.dev/design-md/webdrift.be/en/DESIGN.md): the plain file to put in your project.
- [All brand DESIGN.md files](https://sitepeel.dev/design-md/examples/index.md)

Independent analysis by Sitepeel (sitepeel.dev), not affiliated with Webdrift.

## The DESIGN.md file

```markdown
---
version: alpha
name: Webdrift
description: "Dark interface measured from webdrift.be: host type, red accents, tonal surfaces and pill-shaped controls."
colors:
  background: "#0C0B0B"
  surface: "#0C0B0B"
  on-surface: "#F3F1EC"
  on-background: "#F3F1EC"
  on-surface-variant: "#9C9590"
  surface-container-low: "#111111"
  overlay: "#F3F1EC59"
  overlay-strong: "#F3F1EC80"
  outline: "#F3F1EC14"
  outline-variant: "#F3F1EC1F"
  primary: "#B0142C"
  on-primary: "#F3F1EC"
  secondary: "#D7193A"
  error: "#F0525A"
typography:
  headline-display:
    fontFamily: host
    fontSize: 124px
    fontWeight: 600
    lineHeight: 0.88
    letterSpacing: -0.055em
  headline-lg:
    fontFamily: host
    fontSize: 120px
    fontWeight: 600
    lineHeight: 0.9
    letterSpacing: -0.06em
  body-md:
    fontFamily: host
    fontSize: 16px
    fontWeight: 400
    lineHeight: 1.55
  body-lg:
    fontFamily: host
    fontSize: 24px
    fontWeight: 400
    lineHeight: 1.35
    letterSpacing: -0.03em
  label-md:
    fontFamily: host
    fontSize: 16px
    fontWeight: 500
    lineHeight: 1.55
    letterSpacing: -0.01em
  label-sm:
    fontFamily: host
    fontSize: 15px
    fontWeight: 500
    lineHeight: 1.55
  code:
    fontFamily: geistMono
    fontSize: 12px
    fontWeight: 400
    lineHeight: 1.55
    letterSpacing: 0.01em
  headline-display-mobile:
    fontFamily: host
    fontSize: 52px
    fontWeight: 600
    lineHeight: 0.88
    letterSpacing: -0.055em
  headline-lg-mobile:
    fontFamily: host
    fontSize: 60px
    fontWeight: 600
    lineHeight: 0.9
    letterSpacing: -0.06em
rounded:
  md: 22px
  full: 9999px
spacing:
  xs: 2px
  sm: 8px
  md: 12px
  lg: 24px
  xl: 36px
  gutter: 8px
  section: 158.4px
  margin: 36px
components:
  button-primary:
    backgroundColor: "{colors.primary}"
    textColor: "{colors.on-primary}"
    typography: "{typography.label-md}"
    rounded: 0px
    padding: 0px
    height: 44px
  button-secondary:
    backgroundColor: "{colors.on-surface}"
    textColor: "{colors.on-surface}"
    typography: "{typography.label-md}"
    rounded: 0px
    padding: 0px
    height: 56px
  button-outline:
    backgroundColor: "{colors.background}"
    textColor: "{colors.background}"
    typography: "{typography.label-md}"
    rounded: 0px
    padding: 0px
    height: 44px
  button-ghost:
    textColor: "{colors.on-surface}"
    typography: "{typography.code}"
    rounded: "{rounded.md}"
    padding: 0px 14px
---

# Webdrift Design System

## Overview

Webdrift describes itself as: “Webdrift is a design and development studio in Antwerp. We design and build custom, high-end websites and web apps, with design and development under one roof.” The interface is dark, built on **Charcoal (#0C0B0B)** with **Warm Mist (#F3F1EC)** text, and **Red (#B0142C)** as the main accent.

Type is set in **host**, with **geistMono** for code. Headlines run large with tight negative tracking; body text is 16px. Depth comes from hairline borders and inset highlights rather than drop shadows. Controls are pill-shaped.

Measured from [webdrift.be](https://www.webdrift.be/en) on November 5, 2026 at 1440×900 and 390×844 from 173 rendered elements. Values are computed styles from the live page, not the original source files.

## Colors

The palette has 12 roles.

- **Charcoal (#0C0B0B):** Page background, seen 7 times. Token `background`, CSS `--ink`.
- **Warm Mist (#F3F1EC):** Primary text and headings, seen 42 times. Token `on-surface`, CSS `--paper`.
- **Warm Gray (#9C9590):** Secondary text, seen 7 times. Token `on-surface-variant`, CSS `--mute-on-ink`.
- **Charcoal (#111111):** Raised areas one step from the page, seen 1 time. Token `surface-container-low`, CSS `--room`.
- **Warm Mist 35% (#F3F1EC59):** Translucent fill for cards and controls, seen 4 times. Token `overlay`.
- **Warm Mist 50% (#F3F1EC80):** Stronger translucent fill, seen 3 times. Token `overlay-strong`.
- **Warm Mist 8% (#F3F1EC14):** Borders and dividers, seen 1 time. Token `outline`.
- **Warm Mist 12% (#F3F1EC1F):** Secondary dividers, seen 1 time. Token `outline-variant`.
- **Red (#B0142C):** Primary buttons and calls to action, seen 7 times. Token `primary`, CSS `--crimson`.
- **Warm Mist (#F3F1EC):** Text and icons on primary. Token `on-primary`.
- **Red (#D7193A):** Accent in text, fills and borders, seen 3 times. Token `secondary`, CSS `--crimson-lit`.
- **Red (#F0525A):** Errors and destructive states, seen 14 times. Token `error`.

## Typography

**host** and **geistMono** (monospace) share the interface. Fallback stack: `host, host Fallback, Helvetica Neue, Arial`.

- **headline-display:** host 124px at weight 600, line height 0.88, tracking -0.055em (52px on mobile). Page title (h1).
- **headline-lg:** host 120px at weight 600, line height 0.9, tracking -0.06em (60px on mobile). Section headings (h2).
- **body-md:** host 16px at weight 400, line height 1.55. Body text.
- **body-lg:** host 24px at weight 400, line height 1.35, tracking -0.03em. Lead paragraphs.
- **label-md:** host 16px at weight 500, line height 1.55, tracking -0.01em. Buttons, navigation and labels.
- **label-sm:** host 15px at weight 500, line height 1.55. Small labels and badges.
- **code:** geistMono 12px at weight 400, line height 1.55, tracking 0.01em. Code and technical values.

## Layout

Spacing does not follow a strict grid: 69% of measured values are multiples of 4px, so match the measured steps rather than rounding to a grid.

- **Scale:** xs 2px, sm 8px, md 12px, lg 24px, xl 36px.
- **Sections:** 158.4px vertical padding between major sections.
- **Gaps:** 8px is the most common gap in flex and grid layouts.
- **Page margin:** 36px on each side of full-width sections.
- **Breakpoints:** 420px, 560px, 700px, 767px, 899px, 900px, 901px.

## Elevation & Depth

Depth comes mostly from hairline rings and inset highlights on tonal surfaces (#111111):

- `rgba(243, 241, 236, 0.45) 0px 0px 0px 1px inset`
- `rgba(12, 11, 11, 0.4) 0px 0px 0px 1px inset`
- `rgba(243, 241, 236, 0.35) 0px 0px 0px 1px inset`

A few raised panels add a soft drop shadow: `rgba(0, 0, 0, 0.7) 0px 40px 80px -30px`.

## Shapes

Interactive controls are pill-shaped. Measured radii, most used first:

- **full (9999px):** 8 elements.
- **md (22px):** 4 elements.

## Components

Measured from the rendered page. Token values reference the tokens above.

- **button-primary (“Start a project Start a project”):** #B0142C fill, #F3F1EC text, 16px/500, padding 0px, shadow `rgba(0, 0, 0, 0) 0px 0px 0px 1px inset`.
- **button-secondary (“Start a project Start a project”):** #F3F1EC fill, #F3F1EC text, 16px/500, padding 0px, shadow `rgba(243, 241, 236, 0.45) 0px 0px 0px 1px inset`.
- **button-outline (“About the studio About the studi”):** #0C0B0B fill, #0C0B0B text, 16px/500, padding 0px, shadow `rgba(12, 11, 11, 0.4) 0px 0px 0px 1px inset`.
- **button-ghost (“Back to 1984”):** transparent fill, #F3F1EC text, 12px/400, 22px radius, padding 0px 14px, border 1px solid #F3F1EC47.

## Do's and Don'ts

- Do use #0C0B0B for the page and lift surfaces in small steps: #111111.
- Do keep text in 2 levels: #F3F1EC, #9C9590.
- Do reserve #B0142C for primary actions and key highlights.
- Do set headlines in host with tight tracking (-0.055em).
- Do reuse the measured spacing steps (8px, 12px, 24px).
- Do make buttons and chips fully rounded (9999px); most other elements use 22px corners.
- Don't use heavy drop shadows; keep depth to hairline rings and tonal surfaces.
- Don't introduce new font families beyond host and geistMono.
- Don't use #B0142C for large backgrounds or body text.
- Don't make interface transitions slower than 0.6s.

## Motion

Interface transitions are quick: 0.3s, 0.4s, 0.5s, 0.55s. Longer ambient animations run 0.7s, 0.9s.

- **Easing:** `cubic-bezier(0.16, 1, 0.3, 1)`, `ease`.
- **Reduced motion:** the page responds to `prefers-reduced-motion`.

Generated by [Sitepeel](https://sitepeel.dev/design-md/webdrift.be/en/), the free DESIGN.md generator (engine 2026.10.29+b828a475ee10).

```
