About
Every file: brand.tokens.json · tokens.css · brand/ on GitHub
- bg
#F3EEE4 - surface
#FBF8F2 - surface-2
#EAE2D4 - line
#DDD3C3 - text
#2A2622 - text-2
#4A453E - muted
#6B645A - mark
#E2442B - like
#C24A33 - accent
#C4381F - on-accent
#FBF8F2
- bg
#1A1714 - surface
#221E1A - surface-2
#2C2722 - line
#3B342D - text
#F1EBE0 - text-2
#D3CABC - muted
#A89E90 - mark
#FF6A4D - like
#FF7A5E - accent
#FF6A4D - on-accent
#1A1714
Inter 600 · Find the look for your next film
Inter 500 · Motions, creators, docs 0123456789
Inter 400 · Reusable looks for narrated and explainer video. 中文由系统字体显示:可复用的视频风格。
JetBrains Mono · npx @motionhub/cli get @iamsuosi/red-pencil
The site is quiet so the motions can be loud. motionhub's own look is paper and ink, one ordinary type family, and one vermilion that belongs to the logo and to the one action a page asks for. Everything here is the source the site and the logo files are made from.
Files
| Path | What it is |
|---|---|
brand.tokens.json |
The tokens, in the W3C Design Tokens Format: colours for the light and dark themes, font stacks, weights, sizes and radii. The one place a colour or a size is decided |
tokens.css |
The tokens as CSS custom properties (--color-bg, --font-ui, --size-base, …). Generated: node tools/brand.mjs |
logo/logo.svg, logo/logo-dark.svg |
The lockup, mark and wordmark, for light and dark grounds |
logo/mark.svg |
The mark alone |
logo/wordmark.svg |
The wordmark alone, in currentColor |
logo/icon.svg, logo/icon-light.svg, logo/icon-16.svg, logo/icon-square.svg |
The app icon: on ink (the default), on paper, one ball for 16 px and below, and square-cornered for platforms that round their own |
favicon/ |
What a browser asks for: favicon.svg, favicon-32.png, apple-touch-icon.png, icon-192.png, icon-512.png, site.webmanifest. tools/build.mjs copies them to the site's root |
social/og-default.svg, social/og-default.png |
The 1200×630 share card a page without its own uses |
source/build-logo.py |
Draws every file in logo/, favicon/ and social/ |
source/OFL-InstrumentSerif.txt |
The licence of the wordmark's typeface |
Colour
| Token | Light | Dark | Used for |
|---|---|---|---|
bg |
#F3EEE4 |
#1A1714 |
the page: paper |
surface |
#FBF8F2 |
#221E1A |
inputs, code, panels on the page |
surface-2 |
#EAE2D4 |
#2C2722 |
selected and hover |
line |
#DDD3C3 |
#3B342D |
borders and rules |
text |
#2A2622 |
#F1EBE0 |
headings, primary buttons |
text-2 |
#4A453E |
#D3CABC |
body copy |
muted |
#6B645A |
#A89E90 |
labels, counts, captions |
mark |
#E2442B |
#FF6A4D |
the logo, and nothing else |
like |
#C24A33 |
#FF7A5E |
a like that has been given, and nothing else |
accent |
#C4381F |
#FF6A4D |
the one call to action a page has (Copy prompt), and nothing else |
on-accent |
#FBF8F2 |
#1A1714 |
text on accent |
- The interface is ink on paper. Buttons, links and focus are
text, not a colour (accentaside): colour on the page is the motions' posters and samples. - Vermilion is three tokens with three jobs.
markis the logo;likeis a like the viewer has given;accentis the one thing a page most wants a visitor to do, at most once a page. None is a link colour or a warning. - Every text colour reads on every ground at WCAG AA (4.5:1),
mark,likeandaccentat 3:1, andon-accentonaccentat 4.5:1.tests/brand.test.mjsholds the tokens to it, so a colour that fails does not merge. - Dark follows the system unless a page sets
data-theme="light";data-theme="dark"forces it. The footer's theme switch sets it, and remembers the choice in the browser. - Remotion's and HyperFrames' logos appear beside their names where a motion works in them, as each project draws
them (
site/src/assets/engines/). They are their owners' marks, never recoloured or used for anything else.
Type
- Inter for Latin and figures, at 400, 500 and 600. Chinese is set in Noto Sans SC where it is installed and otherwise in the system's own: PingFang SC on Apple devices, Microsoft YaHei on Windows, Noto Sans CJK on Android. The site does not download a Chinese font: its pieces would be most of a page's weight, and every system has a good one.
- JetBrains Mono for commands, file names, versions and hex values.
- Sizes are few: 12, 13, 14 (body), 16, 20, 26 and 30 px. The interface is compact; a motion's name is the largest thing on its page.
- Instrument Serif is the wordmark's typeface and appears nowhere else. It ships as outlines in the logo files, never as a font on a page.
All four are under the SIL Open Font License 1.1. The site serves Inter and JetBrains Mono itself, not from a font service.
The logo
The mark is a ball in flight with its in-betweens, four circles rising up and to the right, the earlier ones fainter. It reads as movement in one direction, which is what a motion gives a film.
- The mark always leans up and to the right. Do not mirror, rotate or reorder it.
- The wordmark is
motionin roman andhubin italic, lower case, one word. - In the lockup the mark is a little shorter than the wordmark's ink and sits centred on it, a quarter of the font
size apart. Keep clear space of at least the height of the
haround it. - On paper or white use
logo.svg; on ink uselogo-dark.svg; on anything else usewordmark.svgin one colour that reads on it, without the mark. - Below 24 px use an icon, not the lockup; at 16 px use
icon-16.svg. - Do not recolour the mark, add effects, set the wordmark in another typeface, or put the logo on a poster.
Changing it
A colour, size or font: edit
brand.tokens.json, thennode tools/brand.mjs(ornpm run brand) to writetokens.css.node tools/brand.mjs --checkandnpm testfail while it is out of date.The logo, icons or share card: they are drawn from the mark's geometry in
source/build-logo.pyand the tokens' colours. Download Instrument Serif's two styles (github.com/google/fonts,ofl/instrumentserif), thenpip install fonttools # and librsvg for rsvg-convert python3 brand/source/build-logo.py InstrumentSerif-Regular.ttf InstrumentSerif-Italic.ttfCommit what it writes. The tests check that every SVG uses the brand's colours only and needs no font or script.
This page is brand/BRAND.md in the repository, rendered. Suggest a change