FrameForge← Site
FrameForge OÜ · Brand system

The system

A frame is raw material; FrameForge is what happens to it afterwards. FRAME is composition, camera, the moment that was there. FORGE is editing, sound, colour, pace. Never explain that in client-facing copy — the identity carries it.

02

Colour

Monochrome by decision — a brand colour would fight the footage. The only colour is the Estonian flag stripe already on the production clothing.

ink#0A0A0B

primary page ground

graphite#0D0D0F

alternating section surface

steel#1A1A1D

fields, filled rules

media#101013

media placeholder ground

silver#C7CBD1

flat symbol, section rules, accents

bone#EBE9E4

primary type, light buttons

ash#8B8985

mono labels, eyebrows

signalBlue#0072CE

Estonian flag stripe only

Text ramp on dark

Aaprimary#EBE9E4
Aastrong#C6C3BD
Aabody#B6B3AD
Aasecondary#A8A5A0
Aamuted#7A7873
Aafaint#5E5C59
Aaghost#4F4D4B
signal blue · #0072CENever fills a button. Never sets type. Never exceeds 3px in any dimension other than the garment sleeve stripe. If it reads as a brand colour, it has been overused.
03

Typography

Prata for display, Commissioner for text, IBM Plex Mono for the technical layer. All three carry Latin, Estonian and Cyrillic in one design, so the Russian site is the same typeface, not a fallback — with a single documented exception below.

FRAMEFORGE
h1Hero
familyPrata
weight400
sizeclamp(42px,9.6vw,146px)
line-height0.96
tracking-0.015em
What we make
h2Section
familyPrata
weight400
sizeclamp(30px,5.2vw,74px)
line-height1.02
tracking-0.012em
One person you actually talk to.
h2Studio
familyPrata
weight400
sizeclamp(26px,3.5vw,49px)
line-height1.14
tracking-0.008em
max-width18ch
Shape the moment. Forge the story.
slogan
familyPrata
weight400
sizeclamp(19px,2.0vw,29px)
line-height1.26
tracking-0.005em
max-width19ch
Brand films
h3Card
familyPrata
weight400
sizeclamp(19px,1.8vw,26px)
line-height1.2
tracking-0.005em
Cinematic video and visual content for brands, businesses, events and creators.
lede
familyCommissioner
weight300
sizeclamp(15px,1.15vw,17px)
line-height1.68
max-width44ch
Films that carry a company’s tone, not just its logo.
body
familyCommissioner
weight300
size15px
line-height1.68
max-width40ch
Start a project
ui
familyCommissioner
weight500
size14px
line-height1.4
VISUALS IN MOTION
signature
familyCommissioner
weight300
sizeclamp(9.5px,1vw,12px)
tracking0.42em
Selected work
labelMono
familyIBM Plex Mono
weight400
size11px
tracking0.20em
2026 · Director, DOP, edit
metaMono
familyIBM Plex Mono
weight400
size10.5px
tracking0.12em
16:9
microMono
familyIBM Plex Mono
weight400
size10px
tracking0.16em
Known gap — Prata has no latin-ext

Prata ships no latin-ext subset and has no ž (U+017E). Across all display copy in all three languages that character occurs exactly once — the Estonian capability title Montaaž ja järeltöötlus — where it falls back to the serif in the stack. Commissioner and IBM Plex Mono both cover latin-ext in full, so body, UI and mono copy are unaffected.

Three ways out, in order of preference: reword that one Estonian title, accept the fallback, or change the display face. It is not fixable by subsetting — the glyph is not in the font.

04

Motion

One curve carries the brand. Nothing bounces, nothing parallaxes, nothing hijacks the scroll.

Brand curve

cubic-bezier(.76,0,.24,1)

The ident, the shutter, the connector draw. Anything that is the brand behaving.

Reveal curve

cubic-bezier(.2,.8,.2,1)

Scroll reveals and entrances: 750ms, 20px rise, staggered index % 4 × 70ms, capped at 280ms.

Studio ident

2050ms

Blades open → F resolves → wordmark wipes → signature tracks in → the overlay lifts. Once per session. Cut to 1.8s it is the video ident.

Shutter blink

1600ms · idle 5.2–8.6s

On the header mark, and on click. Suppressed when the tab is hidden.

05

Media

Until real footage exists, every media slot carries a graded gradient frame. They are not filler — they are the loading state under the real thing, colour-matched to it.

Hero — night city
boat-party
car-build
bar-night
myshisha
cheesecake
Studio portrait — single key
06

Voice

One personality, three native writers. Short declaratives, concrete nouns — camera, edit, colour, deadline. The films do the boasting.

English

International, cinematic, unfussy. British spelling. Contractions fine.

✓ Send a date, a place and a rough idea.

✕ Bringing your vision to life.

Eesti

Kaasaegne ja otsekohene, „sina“ vormis, tegusõnadega. Ei mingit kantseliiti.

✓ Saada kuupäev, koht ja umbkaudne mõte.

✕ Teostame kvaliteetseid videolahendusi.

Русский

Современный, спокойный, без канцелярита, «вы» со строчной, «ё» всегда.

✓ Пришлите дату, место и общую идею.

✕ Осуществляем видеосъёмку под ключ.

Banned in every language, and in their Estonian and Russian equivalents: bringing your vision to life, elevate your brand, where creativity meets innovation, captivating experiences, unlock the power of storytelling.

company nameFrameForge — never translated or transliterated
descriptorVISUALS IN MOTION — stays English in all three languages
statement ENShape the moment. / Forge the story.
statement ETVormi hetk. / Sepista lugu.
statement RUПоймай момент. / Создай историю.
07

Assets

Every file below is in this site’s /brand directory and can be linked or downloaded directly.

frameforge-symbol.svg

default — inherits text colour

frameforge-symbol-ink.svg

fixed dark mark, on light ground

frameforge-symbol-small.svg

≤24px — thinner blade gaps

frameforge-symbol-metallic.svg

large sizes on dark only

frameforge-symbol-shutter.svg

animatable — [data-leaf] / [data-rotor]

favicon.svg

favicon, bone on ink

avatar-square.svg

social avatar

avatar-round.svg

social avatar, round

avatar-inverted.svg

light contexts

frameforge-flag-stripe.svg

the Estonian three-bar detail

fontsPrata 400 · Commissioner 300–600 · IBM Plex Mono 400/500, self-hosted at /fonts
tokensdesign/tokens.json — the source this page reads
type specdesign/TYPOGRAPHY.md
logo specdesign/LOGO.md
media specdesign/MEDIA.md
full handoffdesign/BRAND-HANDOFF.md