flowmance

Oko Design System

Oko website template previewOko website template preview detail 2Oko website template preview detail 3

Oko is a dark, quiet studio site that gets its drama from scale and scroll. The page is pure black, nearly everything is white Inter 500, and there is almost no chrome: no filled buttons, no shadows, no rounded cards. Colour comes from grainy abstract hero art, saturated project photography and five small, tilted name tags on the team portraits.

Four signatures make it recognisable:

  1. The degree mark. Brand and section words end in °: Oko°, Oko Studio°, Discipline°, Creative Digital Lab°. It sits at the weight of the word, like a superscript.
  2. Text that lights up as you scroll. Large statements and paragraphs start at white 15% (ink-faint) and turn white word by word, scrubbed by scroll. Half-revealed lines (that connect and convert. Discover what we do.) are a normal state on screen.
  3. A difference-blend nav. The fixed nav (Oko°, Home, Work — 14, Contact) is authored in black with filter: invert() and mix-blend-mode: difference, so it reads white on black and flips dark where it crosses a light photo.
  4. The 24vw tracked-in title. Creative Digital Lab° runs at 24vw (346px at 1440) with −16px tracking, slides sideways, and has team portraits floating over and behind it.

Oko is a dark-only design.

Colors

Surfaces

canvas#000000

Page background, every section, the footer

surface-1#222222

Work-card panels, accordion + buttons, the testimonial name block

surface-2#333333

The dark-grey name tag (Marco)

Ink

on-primary#FFFFFF

Text on primary

ink#FFFFFF

All text once revealed: headlines, nav, links

ink-muted#FFFFFF

Body text is full white

ink-faint#FFFFFF · 15%

The start state of scroll-revealed text, never a resting colour

ink-ghost#FFFFFF · 7%

Start state of the 24vw Creative Digital Lab° title before it lights up

on-media#FFFFFF
on-accent#FFFFFF

Action

primary#000000

Oko has no filled buttons; the main action is a white underlined text link on black

accent#FF7700

Default name-tag colour (John)

Lines & effects

line#333333

1px solid rules between service rows

glass#000000 · 30%

Blurred overlays on media

scrim#000000 · 40%

Darkening layer on images under text

icon-ink#C1C1BE

Arrow glyph inside the 42px corner icon button

tag-purple#9000FF

The other name tags (Elena, Maya, Luna)

tag-pink#FF0051

The other name tags (Elena, Maya, Luna)

tag-blue#0059FF

The other name tags (Elena, Maya, Luna)

tag-teal#00A0A3

The other name tags (Elena, Maya, Luna)

Typography

Inter · display-hero

The quick brown fox jumps

Creative Digital Lab°, set as 24vw with −1rem tracking, one line, no wrap. 346px · 500 · 1.1 · -16px

Inter · headline-md

The quick brown fox jumps

Service names 3D Rendering, Content Creation (2.2rem). 35px · 500 · 1

Inter · body-lg

The quick brown fox jumps

Lighter long-copy paragraphs. 24px · 400 · 1.3 · -0.15px

Inter · title-md

The quick brown fox jumps

Footer and secondary link lists (1.4rem). 22px · 500 · 1.3

Inter · label

The quick brown fox jumps

Nav links (1.1rem). 18px · 500 · 1.3

Inter · caption

The quick brown fox jumps

Testimonial name Liam Carter, Head of Marketing. 16px · 500 · 1.1 · -0.32px

Spacing & shape

PurposeValue
Container95% of the viewport wide (1368px at 1440), centred, so the side margin is about 36px
Grid2 columns with a 16px gap for most sections; the nav and footer use a 4-column, 16px grid (Oko° in column 1, Home in column 3, Work — 14 and Contact across 3–4)
Section rhythm.section is 150px top and bottom
Breakpoints991, 767, 479px, plus a 1920px+ step

Spacing scale

TokenValuePreview
hair5px
xs10px
sm15px
md20px
lg30px
xl50px
2xl100px

Layout spacing

TokenValuePreview
column-gap16px
footer-bottom30px
hero-bottom70px
section150px

Border radius

xs3px
sm5px
full9999px

Surfaces

How the surfaces stack, from the page background up. Hex codes and roles are in Colors above.

Level 1canvas
Level 2surface-1
Level 3surface-2

Motion

Text roll on hover (nav, CTA)SplitText characters move y 0% → −100%, power1.in, staggered; totals 0.34s, 0.43s and 0.58s
Scroll-lit textSplitText words go from white 15% to white, scrubbed: ScrollTrigger top bottom → bottom 50, scrub: 0.8, staggered across the paragraph (six instances)
Longer staggered revealsy 0% → −100%, power1.in, 1.0–1.03s totals
Expo moves0.8s expo tweens on the scroll scenes
Fade and riseopacity 0 → 1 500ms; move y → 0% 500ms; slower fades 1000ms outQuart
Accordion+ rotates 400ms ease; panel height 600ms outExpo or 400ms cubic-bezier(0.38, 0.005, 0.215, 1)
Underline wipeWidth change, 300–500ms ease
Tag and portrait tiltRotate 600ms outExpo, 900ms cubic-bezier(0.135, 0.9, 0.15, 1)
Loader badgeContinuous rotation, 40s per turn
Hover blurfilter 400ms ease

Do’s and don’ts

  • Keep the page #000000 with white Inter 500 text; use #222222 only for panels and small square controls.
  • End brand and section words with ° at the same weight.
  • Set big statements at 69px, line height 1.1, tracking −2.4px, and let them light up from white 15% to white on scroll.
  • Make the main action an underlined 17px/600 text link (Let's Connect) with a line-wipe hover.
  • Keep images and cards square (0 radius); use 3px only on small controls and 5px on name tags.
  • Use one tag colour per person (#FF7700, #9000FF, #FF0051, #0059FF, #00A0A3) and tilt tags about 6°.
  • Add filled or pill buttons, drop shadows or rounded cards.
  • Use the tag colours anywhere except name tags. White on #FF7700 is only 2.7:1, so keep orange tags to 16px name labels and never use orange behind running text.
  • Leave text at ink-faint (white 15%) or ink-ghost (7%) once it is in view. They are animation start states.
  • Add Playfair Display or any second typeface, uppercase labels or weights above 600.
  • Put a background or blur behind the nav; it relies on the difference blend.
  • Shrink the 24vw title tracking: it stays at −16px.

Example prompt

Any page in the Oko style

Prompt
Build your page in the Oko style. Use a #000000 background and Inter 500 in white everywhere; body text is full white. Put a sticky, transparent 4-column nav (logo Name°, Home, Work — 14, Contact, 18px) with mix-blend-mode: difference. Set statements at 69px, line height 1.1, tracking −2.4px, in the right half of a 95%-wide container, and reveal them word by word from white 15% to white with a scroll scrub of 0.8. End section names with °. Use #222222 square panels for work cards with a centred 3:2 image, 2 columns, 16px gap. The CTA is an underlined 17px/600 link, no filled buttons. Use 3px radius only on small square buttons, 5px tilted colour name tags on portraits, no shadows, and 150px section padding.

More design systems like this

Agency design systems, the same colors first.

Browse all 398

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 Access