OTTO DESIGN.md
Brands
OTTO is a German online shop and the retail brand of the Hamburg-based Otto Group. Its story starts on 17 August 1949, when the 40-year-old Werner Otto founded "Werner Otto Versandhandel", a mail-order company with…
At a glance
- Group
- Brands
- Main color
- #eb001fRed design systems
- Font
- OTTO Sans
Colors in this file
- #212121
foreground
- #2366cb
interactive
- #1c50a0
interactive-hover
- #143b75
interactive-pressed
- #dc001d
primary
- #eb001f
brand
- #f0f0f0
frame
- #6d6d6d
text-secondary
- #949494
disabled-text
- #e5e5e5
disabled-background
Overview
Visual Theme & Atmosphere
OTTO is a German online shop and the retail brand of the Hamburg-based Otto Group. Its story starts on 17 August 1949, when the 40-year-old Werner Otto founded "Werner Otto Versandhandel", a mail-order company with three employees, in barracks in Hamburg-Schnelsen. The first catalogue followed in 1950. In 1960 the business moved to Hamburg-Bramfeld, where the group is still based.
In 2022 OTTO relaunched its corporate design with the agencies Mutabor and C/O Setzkorn Kemper. Mutabor describes a new house typeface, a versatile colour spectrum, clear layouts and expressive imagery. With type designer Henning Skibbe they made OTTO Play, a campaign face whose letters each carry one of four brand tonalities, swapped in automatically through OpenType contextual alternates. It sits alongside OTTO Sans, the typeface the shop renders in.
The shop is white and calm, with dark #212121 text, blue #2366cb for interactive text,
and red — #eb001f for the brand, #dc001d for sale and primary fills.
What makes it worth reading:
- A public, layered system. OTTO Components tokens run base → semantic → component
(
--oc-base-color-*,--oc-semantic-color-text-interactive,--oc-component-button-*). - Commerce as its own layer. 92
--ofc-*tokens cover what a shop needs and a generic system doesn't: EU energy labels, product colour swatches, the wishlist heart, price information. - Two reds. Brand red and sale red are separate tokens, a shade apart.
Primary tasks
- Search and browse categories; open a product.
- Sign in; manage the wishlist, basket and orders.
Brand Narrative
From a Hamburg mail-order business with three employees to a national online shop, OTTO has reinvented its channel more than once. The 2022 relaunch gave it its own type — a calm sans for the shop and an expressive campaign face — and the design system behind otto.de is public, layered and extended for commerce.
Principles
- Blue acts, red sells. Interactive text is blue; red is brand and sale.
- Tokens in layers. Base, semantic, component, then commerce.
- Calm shop, loud campaigns. OTTO Sans in the interface, OTTO Play on posters.
Personas
Not researched. No persona claim is made from a UI capture.
Colors
Measured with getComputedStyle on otto.de: 729 root custom properties — about 630 --oc-*, 92
--ofc-*, and small --font-*, --icon-*, --label-* groups. No framework namespace.
Brand and ink
- Brand (
#eb001f) —--oc-semantic-color-brand,--oc-semantic-color-text-brand. - Primary (
#dc001d) —--oc-semantic-color-background-primary,--oc-semantic-color-sale-background. - Foreground (
#212121) —--oc-semantic-color-text-default; 62 of 65<p>elements. - Text secondary (
#6d6d6d) · Disabled text (#949494). - Canvas (
#ffffff) · Frame (#f0f0f0,--oc-semantic-color-background-frame).
Interactive
- Interactive (
#2366cb) —--oc-semantic-color-text-interactive; links and product tiles. - Interactive hover (
#1c50a0) and pressed (#143b75) — the tile link's states. - Hint (
#dcf2ff) —--oc-semantic-color-background-hint.
Disabled
Disabled background #e5e5e5 · Disabled border #cccccc.
Status
Success #227642 · Warning #ae4518 · Error #b30023 · Sustainable #50734d.
A range of soft, block and card backgrounds (yellow, mint, purple, beige, pink …) serves
editorial and campaign surfaces.
Typography
Font family
OTTO Sans — OTTOSans, Arial, Helvetica, sans-serif on body, headings and buttons, served by
OTTO. document.fonts loaded 400, 700 and 800. The campaign face OTTO Play did not load on the
pages measured.
Scale
Measured: the search field 16px/400, product tiles 14px/400.
Layout
- White pages with grey
#f0f0f0frames; product grids on search and category pages.
Responsive Behavior
Not measured. Desktop 1440×1000 only.
Elevation & Depth
One elevation: --oc-semantic-shadow-above = drop-shadow(0 1px 2px #00000040) drop-shadow(0 4px 6px #0000001a). --oc-semantic-shadow-stacked is empty — no shadow.
Motion & Easing
Not measured.
Tier 1 sources: (live homepage — 729 root custom properties read via getComputedStyle, OTTO Sans loaded, search field and header link measured, captured 2026-09-26); (search results — product tile link measured at rest, hover and press, captured 2026-09-26); (OTTO Design System on zeroheight — nonsense path returns 404, read 2026-09-26); (legacy docs — "Design System powered by OTTO Components", rendered; nonsense path renders "404 - OTTO Design System", read 2026-09-26); (Otto Group history — 17 August 1949, Werner Otto, Hamburg-Schnelsen, Bramfeld 1960, read 2026-09-26); (Mutabor case study — 2022 corporate design relaunch, OTTO Play, read 2026-09-26); (PAGE, 15 Feb 2022 — OTTO Play with Henning Skibbe, OTTO Sans, read 2026-09-26)
Components
Measured on otto.de and a search results page after declining cookies (OneTrust), focus read
under a real Tab key, and a hover counted only when :hover matched.
- Product tile link —
#2366cb, 14px. Hover darkens it to#1c50a0, press to#143b75. - Search field — transparent,
#212121, 48px,1px 2px 1px 16px, 16px/400. Nothing measured changes on hover, press or focus. - Header link — Mein Konto,
#212121, 40px. The link's own properties do not change; an::afteroverlay addsrgba(0,0,0,0.03)on hover andrgba(0,0,0,0.09)when pressed.
Radius
Semantic radii 0, .25rem, .5rem (buttons), .75rem, 1rem, 1.5rem, and focus-ring radii that
are each 2px larger than the shape they surround.
States
Hover: product links darken to #1c50a0; the search field does not change; the header link gains a 3% ::after
overlay. Press: #143b75 on product links, a 9% overlay on the header link. Focus on the search field changes nothing. The product-page basket
button could not be reached (product pages returned HTTP 400 to automation).
Do's and Don'ts
Do
- Use
#212121for text and#2366cbfor interactive text; darken to#1c50a0and#143b75. - Keep brand red
#eb001ffor the brand and#dc001dfor sale and primary fills. - Put commerce details (energy label, swatches, price) on their own token layer.
Don't
- Don't swap the two reds.
- Don't use red for links; interactive text is blue.
- Don't use OTTO Play for interface text; it is a campaign face.
Voice & Tone
Not assessed as authored voice.
Agent Prompt Guide
Quick Color Reference
#eb001f brand · #dc001d sale / primary · #212121 ink · #2366cb interactive · #1c50a0 /
#143b75 hover / pressed · #6d6d6d secondary · #f0f0f0 frame
Example Component Prompts
- "A product tile with a
#2366cb14px OTTO Sans title that darkens to#1c50a0on hover." - "A sale badge filled
#dc001dwith white text."
Governance
Known Gaps
- Contrast,
link-product. Text#2366cbon#00000000measures 3.83:1, below the WCAG AA 4.5:1 minimum for normal-size text. Recorded as measured, not adjusted. - Contrast,
input-search. Text#212121on#00000000measures 1.30:1, below the WCAG AA 4.5:1 minimum for normal-size text. Recorded as measured, not adjusted. - Contrast,
link-nav. Text#212121on#00000000measures 1.30:1, below the WCAG AA 4.5:1 minimum for normal-size text. Recorded as measured, not adjusted.
Use it with your agent
Save the file as DESIGN.md in your project root, then ask your agent to follow it for UI work. Or let the agent fetch it over MCP.
Download
MCP server
MCP tool call
Related Design.md files
Xiaohongshu
Brands · PingFang SC
Xiaohongshu (小红书) — known in English as RED or RedNote — is China's dominant lifestyle-discovery and social-commerce platform, the place a generation goes to research a skincare routine, a travel itinerary, or a…
Mastercard
Brands · Circular
Mastercard's experience reads like a warm, editorial magazine built from soft stone and signal orange. The canvas is a muted putty-cream (#F3F0EE) — not white, not gray, but a color that feels like the paper of a…
Peloton
Brands · Sailec
Premium, motivational fitness design built around bold metrics and cinematic instructor content. Peloton's public product pairs a near-black studio-inspired shell with a confident red accent, large legible data…
Brands · Pin Sans
Pinterest's marketing system is built around a single instructional principle: get out of the photograph's way. The chrome is a quiet warm-cream neutral palette (,,) carrying typography in Pinterest's proprietary Pin…
SmartNews
Brands · Hiragino
SmartNews (スマートニュース) is the machine-learning news-discovery app born in Japan and now read across 150+ countries — and its visual identity is built around a single, unmissable asset: a bright, urgent red (#EB0B22).…
Vocus
Brands · Noto Sans TC
Vocus (方格子) is Taiwan's leading independent creator and paid-content platform — a local equivalent of Medium or Substack, built for Traditional-Chinese long-form writing. Its design reads as warm editorial…