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.
The mark
A six-blade aperture with a centred F. It is a finished asset — every variant ships in /brand. Do not redraw, trace or regenerate it.
1600ms. Leaves close over the F, the rotor turns −60° — which lands identically, the mark being six-fold symmetric — then the leaves retract. Fires on click of the logo and idles every 5.2–8.6s.
Clear space is 23% of the symbol’s diameter on all four sides. Nothing enters it. Below 24px the small variant is used — its blade separations are thinner so they survive the pixel grid.
Symbol plus live text — there is no baked wordmark SVG on purpose, so it stays crisp at any size. Onest 500, tracking −0.045em (−0.03em below 24px), gap 12px, symbol height ≈ cap height × 1.55.
- DOInline the SVG where you need `currentColor` or the animation hooks.
- DOSuffix mask ids per instance if you inline several copies in one document.
- DOUse the metallic variant only at large sizes on dark. Below ~64px, flat.
- NEVERRotate the blades, outline the symbol, add shadow or glow, or tint it.
- NEVERPlace it over a busy part of an image.
- NEVERSet it below 16px on screen or 6mm in print.
Colour
Monochrome by decision — a brand colour would fight the footage. The only colour is the Estonian flag stripe already on the production clothing.
primary page ground
alternating section surface
fields, filled rules
media placeholder ground
flat symbol, section rules, accents
primary type, light buttons
mono labels, eyebrows
Estonian flag stripe only
Text ramp on dark
Typography
Two families, both drawn with Latin, Estonian (õ ä ö ü) and Cyrillic in the same design — so the Russian site is the same typeface, not a fallback.
- DOMeasure headings in `ch` with `text-wrap: balance`. Estonian and Russian run 15–30% longer than English.
- DOLet buttons, nav items and cards size to their content.
- DOTest every component in all three locales at 375 / 768 / 1440.
- NEVERPut a hard <br> inside a heading. The one exception is between the two slogan sentences, which is a designed break present in all three languages.
- NEVERGive a button, nav item or card a fixed width.
Motion
One curve carries the brand. Nothing bounces, nothing parallaxes, nothing hijacks the scroll.
cubic-bezier(.76,0,.24,1)
The ident, the shutter, the connector draw. Anything that is the brand behaving.
cubic-bezier(.2,.8,.2,1)
Scroll reveals and entrances: 750ms, 20px rise, staggered index % 4 × 70ms, capped at 280ms.
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.
1600ms · idle 5.2–8.6s
On the header mark, and on click. Suppressed when the tab is hidden.
- DOHonour `prefers-reduced-motion: reduce` — durations clamp to 0.01ms and the ident is skipped, not shortened.
- NEVERAnimate type per letter. A glyph-counting reveal breaks on Cyrillic and on Estonian compounds — wipe or fade instead.
- NEVERBounce, stack parallax, or hijack the scroll.
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.
- DOGrade real footage for deep blacks, cool shadows, neutral-to-warm highlights. Grain welcome.
- DOAlways set `poster`. `preload="none"` below the fold. Muted autoplay loop only for hero and featured.
- DOShip H.264 and VP9. They are not interchangeable — Safari needs one, Chromium without proprietary codecs needs the other.
- DOWatermark delivered media with the symbol only: bone at 45%, bottom-right, height 2.5% of frame.
- NEVERCrop vertical content out of a 16:9 master. Shoot it vertical.
- NEVERUse stock gloss, lens-flare presets, or the full lockup over footage.
Voice
One personality, three native writers. Short declaratives, concrete nouns — camera, edit, colour, deadline. The films do the boasting.
International, cinematic, unfussy. British spelling. Contractions fine.
✓ Send a date, a place and a rough idea.
✕ Bringing your vision to life.
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.
Assets
Every file below is in this site’s /brand directory and can be linked or downloaded directly.
default — inherits text colour
fixed light mark
fixed dark mark, on light ground
≤24px — thinner blade gaps
large sizes on dark only
animatable — [data-leaf] / [data-rotor]
favicon, bone on ink
social avatar
social avatar, round
light contexts
the Estonian three-bar detail