Munich Design System
Munich is a stark, almost poster-plain agency site: a pure white page, pure black type and nothing else of its own. The hero is two lines of very large Plus Jakarta Sans ("High-End" / "Digital Studio") with lots of empty white between them, scattered with hand-drawn black doodles. Colour only arrives with the work photography, which runs as a full-height horizontal strip with white captions.
Four signatures make it recognisable:
- The ruled nav. A fixed two-column nav: the blobby black "M" logo top-left, and on the right a 2px black rule running across the top, the tagline A digital agency based in Munich under it, and a stacked column of four links (Home, Work, About, Contact) at the far right. It stays on screen over every section and every photo.
- Hero split across the page. High-End sits top-left; Digital Studio sits bottom-right, about 480px lower, so the headline reads as a diagonal across the first screen.
- Hand-drawn doodles. Black ink line drawings (a rocket, a lightning bolt, leaves, loose strokes) float in the white space and nudge with the mouse.
- The project strip. Project photos about 655px tall sit edge to edge in a horizontal row with no gaps and no radius. A bottom gradient to black at 40% carries a centred white title and a 70% white meta line.
Munich is a light-only design.
Colors
Surfaces
#FFFFFFPage background, the CTA section and the cart
#FFFFFFSame as canvas
#000000The round Play Showreel button
Ink
#FFFFFFText on primary
#000000Headlines, nav, body copy, rules (79 measured uses)
#000000Body text is full black, the same as ink (p is var(--black-3))
#535353Rare secondary text (2 measured uses)
#FFFFFFProject and blog titles on photos
#FFFFFF · 70%Project meta (Logo, User Interface)
#FFFFFFText on inverse-canvas
Action
#000000The .button pill
#222222.button:hover background
Lines & effects
#000000The 2px rule over the nav, the 2px link underline, blockquote rule
#B9BBC8The 1px base line under link-underline text links
#E6E6E61px border of the cart panel only
#000000 · 40%End of the bottom gradient on project and blog cards (transparent 64% → #00000066)
Typography
Plus Jakarta Sans · display-hero
The quick brown fox jumpsHigh-End, Digital Studio (.hero-display, variable face). 170px · 500 · 0.9
Plus Jakarta Sans · headline-md
The quick brown fox jumpsBlog card titles on photos (.blog-title). 30px · 600 · 1.2
Plus Jakarta Sans · title-lg
The quick brown fox jumpsShort statements like We are happy to contribute to our clients success. 24px · 600 · 1.15
Plus Jakarta Sans · label-nav
The quick brown fox jumpsNav links (26px line, clipped for the roll), social links Tw. 19px · 600 · 1.37
Plus Jakarta Sans · body-lg
The quick brown fox jumpsParagraphs (p). 18px · 500 · 1.3
Plus Jakarta Sans · eyebrow
The quick brown fox jumpsThe nav tagline, max 240px wide. 16px · 600 · 1.2
Spacing & shape
| Purpose | Value |
|---|---|
| Container | .container max 1200px, centred; .medium-container 1100px for narrower text blocks |
| Section rhythm | .section is 120px top and bottom with 5% side padding (72px at 1440px) |
| Breakpoints | 991px, 767px and 479px, plus a min-width: 768px set of 8 rules |
Spacing scale
| Token | Value | Preview |
|---|---|---|
hair | 2px | |
xs | 10px | |
sm | 16px | |
md | 30px | |
lg | 40px | |
xl | 60px | |
2xl | 80px | |
3xl | 100px |
Layout spacing
| Token | Value | Preview |
|---|---|---|
nav-top | 35px | |
section-cta | 100px | |
section | 120px | |
hero-top | 190px |
Border radius
Motion
| Nav text roll | Label y 0% → −105%, copy y 105% → 0%, 200ms ease, inside a 26px clipped box |
| Nav and link underline | Width 0 → 100%, 500ms ease |
| Page load | opacity 0 → 1 and move y → 0px, 1000ms outQuart; preloader fades out over 500ms |
| Custom cursor on projects | Scales 0.2 → 1 (and up to 1.8 on enter), 500–600ms outExpo, follows the mouse |
| Doodle parallax | Doodles move ±10px on x and y with the mouse, 500ms |
| Showreel and icon hover | scale 1 → 1.1, 100ms ease, and back |
| Project strip | Horizontal scroll while the section is in view (while scrolling in view, x → 0%) |
| Hero weight | Font variation over 500ms on the variable display face |
| Button | transition: all .2s |
Do’s and don’ts
- Keep the page pure #FFFFFF with #000000 text, rules and buttons.
- Set headings in Plus Jakarta Sans 600 (500 for the 170px hero) with no letter spacing.
- Put a 2px black rule above the nav column and under hovered nav links.
- Run work as full-height, square-cornered photos with transparent 64% → #00000066 gradients and white captions.
- Fill white space with black line doodles rather than shapes or colour blocks.
- Use 120px section padding with 5% sides, and pull grids in to 85–90% of the 1200px container.
- Add an accent colour; the blue, green and grey variables in the CSS are unused.
- Round photos or cards. Only the button (30px) and the showreel circle are round.
- Use grey for body copy. Body text is full black; ink-subtle #535353 is for rare meta only.
- Use shadows, blur or bordered cards (the 1px #E6E6E6 cart border is the only exception).
- Use Inter. It is linked but unused.
- Put white text on photos without the bottom gradient.
Example prompt
Any page in the Munich style
More design systems like this
Agency design systems, the same colors first.
Bring any of them to your AI tool
All Access unlocks all 398 design systems, ready for Claude, ChatGPT, Gemini, Cursor, v0 and Lovable, plus 400+ templates on all 5 platforms.
Get All AccessUpgrade to All AccessHow to use the Munich design system
Pick a file to see what it’s for and where it goes.
What it is
The whole design system in one markdown file, written for AI: every color, type style, spacing value, component and motion rule, plus do's, don'ts and a ready prompt.
Best for
Claude, ChatGPT, Gemini, Cursor and v0, or any other AI tool that builds pages or code.
How to use it
- Put
DESIGN.mdin your project and mention it in your request, or save it as.cursor/rules/munich.mdc - For the rule file, start it with a front-matter block that sets
alwaysApply: true, so every chat uses it - Ask: “Build a pricing page using DESIGN.md.” Cursor follows the colors, fonts, spacing and rules
- Put
DESIGN.mdin the project root - Add one line to
CLAUDE.md: “Follow DESIGN.md for all UI.” - Ask for any page or component; Claude reads the file first
- Attach
DESIGN.mdto the chat (or paste it in) - Ask: “Build a landing page in this design system.”
- Keep the file in the chat or project knowledge, so follow-up pages stay on style
What it is
Every token as data, in the W3C Design Tokens format: colors with their roles, type styles, radius, spacing, and component tokens that point at them.
Best for
Figma (Tokens Studio), Style Dictionary and other design-token tools, and build scripts.
How to use it
- In Figma, open Tokens Studio, choose Import, and pick
tokens.json - Or point Style Dictionary’s
sourceat it to generate tokens for any platform - In code, import it like any JSON file
What it is
A Tailwind CSS v4 theme: every color, font, type style, radius and spacing value becomes a Tailwind utility, like bg-canvas, text-headline-lg or rounded-md.
Best for
Tailwind v4 projects, and AI builders that write Tailwind (v0, Lovable, Bolt).
How to use it
- Save
theme.cssnext to your main CSS file - Import it after Tailwind:
@import "tailwindcss"; @import "./theme.css"; - Use the classes:
bg-canvas text-ink rounded-md p-lg
What it is
The same tokens as plain CSS variables on :root. Component values point at the color variables, so changing one color updates everything that uses it.
Best for
Any website: plain CSS, Webflow custom code, Framer, WordPress.
How to use it
- Add it to your stylesheet, or in Webflow paste it into Site settings → Custom code inside a
<style>tag - Use the variables anywhere:
color: var(--color-ink) - Change a token once and every place that uses it follows






