HOKA design specConsumer

A clean high-contrast athletic storefront where the chrome deliberately recedes so full-bleed product photography can shout — the hint’s "bold colour-blocked, chunky silhouettes" describes the imagery and shoe silhouettes, not the UI, which is near-monochrome. The entire page is one geometric sans, Jost (a Futura relative), with headings at weight 700 and frequently UPPERCASE while body and nav sit at 400, so emphasis is binary weight and case rather than colour, and tracking stays normal even at the 36px section head. Ink is a blue-cast near-black #2a2a38 on a white canvas, secondary #666666, and the single chromatic UI colour is a mid blue #0077b8 reserved for links, while orange #bf4800 and red #a60000 surface only as tiny labels. Structure is carried by 1px #e6e6e6 and #cccccc hairlines with a shared 8px image radius and 2px controls; elevation is essentially flat, the one real shadow a navy-tinted rgba(23,73,77,.15) drop. CTAs are outline controls laid over campaign imagery that fill solid #000000 on hover, and the newsletter field is a 56px bordered box at 2px radius. There are no CSS gradients, no canvas or video and no backdrop blur — all colour and bulk live in the photography; motion is tiny at 0.1–0.15s on cubic-bezier(.4,0,.2,1) with Swiper carousels, and the site suppresses its focus ring (an anti-pattern).

⚠ site only

Browse HOKA in the interactive gallery

Captured from the live site's computed styles into a prompt-ready DESIGN.md you can paste into Cursor, v0, Lovable, Bolt or Claude Code. Below is a summary of each captured surface.

Marketing site

Source: au.hoka.com (live DOM, computed styles), 2026-07-27 (desktop 1512px). US path www.hoka.com/en/us geo-redirects to au.hoka.com. Coverage: homepage. 1 stylesheet cross-origin (chat widget) — its ww-* keyframes/animation excluded as third-party. No :root custom properties (SFCC/hand-authored theme): palette read from the colour census, not tokens. Reality check: the hint ("bold colour-blocked, chunky silhouettes") describes the PRODUCT PHOTOGRAPHY and shoe silhouettes, not the chrome. The UI itself is restrained and near-monochrome — a blue-black #2a2a38 ink on white with ONE blue accent #0077b8; all colour and bulk live in full-bleed campaign imagery.

Visual Theme & Atmosphere

A clean, high-contrast Swiss-athletic storefront where the interface deliberately recedes so the product photography can shout. The entire page is one geometric sans (Jost, a Futura relative) on white, with headings set UPPERCASE at weight 700 and everything else at 400 — restraint by weight and case, not by colour. Chrome is a blue-tinted near-black #2a2a38 with a single mid blue #0077b8 for links; there are no decorative gradients, no shadows to speak of, and structure is carried by thin #e6e6e6 / #cccccc hairlines and a shared 8px image radius. CTAs are ghost/outline controls laid over imagery that fill solid black on hover. Feels: clean, athletic, high-contrast, product-first.

Color Palette & Roles

Text & ink

TokenHexRole / usage
ink#2a2a38Primary text + headings (blue-cast near-black, 792×)
black#000000Max-contrast text, hover fill for CTAs
white#ffffffText on imagery / dark bands
muted#666666Secondary text
faint#ccccccTertiary text, disabled, hairlines

Surfaces & borders

TokenHexRole / usage
canvas#ffffffPage background, cards
surface#f7f6f9Section tint / inset panels (56×)
surface-2#f4f5f7Alt panel fill
dark-band#2a2a38Full-bleed dark section fill (e.g. newsletter)
border#e6e6e6Control/card hairline
border-2#ccccccInput hairline
border-strong#343a40Emphasised 1px border

Accent & semantic

TokenHexRole / usage
blue#0077b8Links, secondary "+" buttons — the one UI accent
blue-deep#0b4062Deep-blue band fill
orange#bf4800Rare highlight (2×)
red#a60000Sale / error label (1×)

Rule: chrome stays blue-black + white; #0077b8 is the only chromatic UI colour — everything else vivid is photography.

Typography Rules

RoleSize/LineWeightTrackingCase
Section head (h3)36 / 40700normalUPPERCASE
Sub-head (h2)24 / 32700normalnone
Body (p)16 / 24400normalnone
Nav / label14 / 20400normalUPPERCASE
Button14–16 / 20400–700normalnone

Patterns: headings are 700 and mostly UPPERCASE; body/nav are 400; tracking stays normal at every size (no negative tracking even on the 36px head). Weight is binary — 400 or 700, nothing between.

Also documented in the full DESIGN.md: Component Stylings, Layout Principles, Depth & Elevation, Motion, Backgrounds, Effects & WebGL, Do's and Don'ts, Responsive Behavior, Agent Prompt Guide.