Brand reference

Signal over noise.

Every Gritmind token, asset and rule in one place. Values on this page are read live from tokens/tokens.json; the rules summarise guidelines/ and the brand skill. Where this page and a source file disagree, the source file wins.

Light and dark Mint, blue, green accents
The signature move
01 · Principles

Quiet, precise, deliberate

Gritmind is an applied-AI consultancy. Everything is quiet so the one thing that matters can be loud.

The one rule

The accent colour is a scalpel, not a highlighter.

Roughly one accented element per view: one word in a headline, one line on a chart, one active state. If two things are accented, neither reads as the signal. This is the single easiest way to get Gritmind work wrong.

Core invariants

Numbers are mono, prose is sans

Stats, timestamps, code and labels are always JetBrains Mono. Prose is always Alliance No.2. That split is a large part of what makes the work recognisable.

One accent per scope

Mint is the brand. Blue and green are sanctioned alternates that give a secondary page, section or deck chapter its own identity. Never two accents in one view.

Motion clarifies

It never decorates. Calm by default, the spring curve reserved for the logo, and prefers-reduced-motion always honoured.

03 · Colour

Navy ink, off-white ground, one mint

Never pure white or pure black as a ground. Contrast ratios below are computed live from the tokens.

Source

Brand constants

Do not vary by theme

Semantic roles

Contrast against that mode's bg
RoleLightContrastDarkContrast

Accents

One per scope, applied with data-accent
Scoped accent

Three days to twenty minutes

Everything inside a data-accent subtree recolours, CSS and canvas alike. Switch it:

Accent rules

  • Mint is the brand. Every page ships mint unless a scoped alternate has been approved.
  • Errors are red, never the accent. Error states use the error token so they read as errors under any accent.
  • Blue and green are scoped. A secondary page, a case study, a deck chapter. Never mixed in one view.
  • Never red and green as two categories in the same chart.
  • Tints (signal-tint) are for section dividers and backgrounds behind a figure, never for text.

Canvas palette

RGB triplets; navy inverts in dark mode
NameLightDark

Elevation

Resting cards are flat

Shown in the current theme. Section boundaries are a 1px hairline rule, never a shadow or a filled band.

04 · Typography

Alliance No.2 and JetBrains Mono

Headings at 500, body at 400, tracking on everything sans. Headings never look loose.

Source
Alliance No.2 · Degarism · commercial
JetBrains Mono · OFL
The split

Lead time fell from 72h to 20 min across 14 teams in Q3 2026.

Numbers, dates, IDs, currency and code in mono. Everything else sans.

Web type scale

Generated from type.scale

Long-form article text uses --body, softer than --ink; reserve full ink for headings. Fallback stacks:

05 · Layout

Generous space, hairline structure

Spacing

Card grid gap 18 to 20px; card padding 24px, 32px for a feature card.

Corner radius
06 · Components

A few primitives, used everywhere

This page is built to the web spec, so the nav, cards, buttons and focus ring around you are the real thing.

Eyebrow
Case study

Mono, uppercase, 60% ink

Optional 8px accent dot. 12px above the heading it introduces.

Buttons

40px tall, fully rounded, 14px/500. Primary inverts in dark mode. Tab to see the focus ring: 2px signal, 3px offset, :focus-visible only.

Card

Hover me

Surface, 20px radius, no border. Elevation only on hover: lift and the card shadow over .

Input

8px radius. Focus uses the focus token, not the accent.

Marquee

CSS only: a duplicated track translating -50%, for logos, for testimonials. Pauses on hover; both edges masked. Never rebuilt in JS.

07 · Motion

Restraint is the whole point

Motion clarifies, it never decorates. Durations and curves below are the tokens, played as they are.

Duration and easing

The signature move

  • Grey wandering lines, equally weighted. About 1s of noise.
  • One resolves left to right over 1.2 to 1.6s: jitter flattens, ink turns to signal, a soft glow arrives with the colour.
  • The rest drop to about 18%. The resolved line holds. Once per piece.

Video timing

Element enter (fade, 14px rise)250 to 300ms
Title card in600ms
Social loop line build300ms, 70ms stagger
Section transition400ms
Noise to signal1.2 to 1.6s
Hold on a stat2.5s min

Reduced motion

  • Web: a real prefers-reduced-motion media query, everywhere.
  • Canvas: render the resolved end state, never frame zero.
  • Video used as a page loop: ship a still of the resolved end state.
  • Never linear, except continuous loops (marquees, tickers).
08 · Illustration and data

Quiet ink structure, one live accent element

If a diagram would not read as a still frame in a print deck, the animation will not save it.

The swoosh

Source: assets/graphics/ · gritmind-swoosh.js
gritmind-swoosh-*-navy-on-light.svgBand fill = ground
gritmind-swoosh-*-white-on-dark.svgBand fill = ground
  • Four outlined bands through an arch and a U, offset like the logo's arches. One wave is an arch and a U; lengthen it by adding waves, never by stretching.
  • Lines in the ground's ink colour. The band fill must match the ground, because it is what hides the bands behind; use it on flat grounds only.
  • Not yet defined: where it appears, sizes, accent use, and motion timing. draw(t) is the mechanism only.

Mark vocabulary

Reuse these before inventing new ones

Opacity encodes attention

Exactly one signal-coloured element per canvas, and it is always the live one. Structure is never accent-coloured; ink never glows.

Charts

  • One accented series; the rest slate at 40 to 85%.
  • Label the accented series at its end, in mono. No legend box.
  • Baseline only, at 12% ink. No box, no top or right spines.
  • Round numbers: 4.4T, not 4,412,890,000.

Static SVG

Deterministic, non-looping. Built at build time, no JS.

Scroll-gated

One narrative diagram per view. Draws in once (~1.6s), then a calm 8 to 10s loop.

Hover-gated

Grids of glyphs. Still until hovered or focused; the resting frame reads on its own.

Pointer-driven

The hero showpiece. A one-off; never repeated elsewhere.

09 · Voice

Declarative and anti-hype

Concrete beats abstract. Name the real number, the real constraint, the real failure. If a sentence would survive on any competitor's site, it is noise.

Sources
Write
Not
Three days to twenty minutes
Dramatic efficiency gains
Not demos, not decks
Production-ready solutions
Teams that ship, not teams that watch
Empowering teams to unlock value
Senior teams - small on purpose
Senior teams — small on purpose

Writing rules

  • No em dashes. A spaced hyphen ( - ) for asides. Anywhere: copy, code comments, JSON.
  • Sentence case for every heading and title. Never Title Case.
  • No exclamation marks. Contractions are fine.
  • Every number is real and sourced. Unsourced numbers are exactly the noise we claim to cut.
Never
leverageseamlesscutting-edge revolutioniseunlockempower game-changingtransform your business
10 · Production

Specs by medium

Same rules, different canvases. Mockups below are drawn at native size and scaled down.

Decks

1600x900 · margins 120 / 100 · 12 columns, 40px gutter
Discovery · Acme Logistics
Claims in minutes,
not days.
ACME LOGISTICS · OCTOBER 2026

Title slide, column grid shown. Body content sits in the left 7 to 8 columns.

  • Title · eyebrow top-left, headline 96px/1.05 with one accented word, client and date in mono at the foot.
  • Section divider · number in mono at 140px in signal-tint, name at 64px, surface-2 ground.
  • Statement · one sentence, 72px/1.15, 12 words max.
  • Stat · mono figure at 180px, label 28px in the accent, one line of context in muted.
  • Content · heading 48px, at most 4 bullets at 24px/1.5 with a 7px accent dot.
  • Quote · 40px/1.35 weight 500, 2px accent rule above at 50%, attribution in mono.
  • Closing · the tagline, with courage and grit in the accent.

Documents

A4 or Letter · 18mm margins
PROPOSAL
Claims triage in minutes
01 · CONTEXT
Where the time goes today

Every claim is read twice and keyed once. Median handling time is 3.1 days, and most of it is waiting, not work. We propose a six-week build that removes the second read.

PhaseWeeksFee
Discovery2$40,000
Build4$120,000
gritmind.com2 / 9
  • Title 36pt/1.1, one accented word. Body 11pt/1.6 in body, 72ch measure.
  • Tables: no vertical rules, no zebra; numeric columns right-aligned in mono.
  • Print styles are not optional. A table split across pages undercuts the argument that we are careful.

OG and social cards

1200x630 · nothing in the outer 48px but the wordmark
Case study
Claims triage in minutes, not days
  • Headline 56 to 72px, 9 words max, one accented word. Mono eyebrow with the accent dot.
  • One geometric element bleeding off the right at ~10%: the dial or a resolved signal line. No photo, unless the card is about a team member: then a real photo of that person (decision 0001).
  • Generated at build time from frontmatter, so every post has one and none drift.

Video

One build, three formats · 30 fps · H.264, AAC

Process

    On screen

    • Build type in code (Remotion). AI video only for footage no type touches; never the logo, type or UI.
    • First words by 2s. No logo intro. End on logo and gritmind.com, held 2 to 3s.
    • Social loops (under 10s, muted in a feed): first frame is the last frame, text builds in 300ms with a 70ms stagger, the card holds about 3s, and the homepage signal lines may run behind it. Reference build: templates/video/new-hire/.
    • Reading floor: 0.3s per word, 0.8s per card minimum. Gritmind sits at the slow end.
    • One idea per card, 6 words ideal, 9 the ceiling. Works muted; captions on any speech.
    • Cut to the beat when there is music; never hardcode frame counts.
    • Sound is sparse. Music under -18 LUFS, effects only on structural moments, mix peaks below -1 dBFS.
    • Log every asset in LICENSES.md: source, licence, prompt and job id if generated.

    Web

    • Tokens flow through two CSS layers; Tailwind's @theme inline is load-bearing for scoped accents.
    • Islands only where needed. Marquees stay CSS.
    • Canvases share one hook for DPR, resize, offscreen pause and reduced motion.
    • Every canvas: role="img" and a label describing what it depicts, not that it moves.

    Email

    • Plain text or lightly styled HTML. No image-heavy templates, no tracking pixels.
    • One accent element at most, usually none.
    Alex Morgan
    Engagement lead
    gritmind.com

    Signature: name, role, gritmind.com. Nothing else.

    11 · Process

    How the brand changes

    Anyone can improve the guide. Nobody changes it in only one place.

    Source-of-truth order

    1. 1 · tokens/tokens.json · every design value
    2. 2 · guidelines/ · the rules and the reasons
    3. 3 · assets/ and templates/ · published masters
    4. 4 · skill/gritmind-brand/ · the Claude skill, partly generated

    When two disagree, the higher one wins and the lower one is a bug.

    Flow

    1. Branch brand/<topic> from master
    2. Change it everywhere it applies: token, guideline, asset, template, skill
    3. Changelog entry under Unreleased
    4. PR into master with before and after images; review against the pre-flight
    5. Release by PR from master into main, tagged vX.Y.Z
    ClassExamplesVersionNeeds
    BreakingA token value, logo geometry, a typeface, a core rule; renaming or removing an assetMajorDecision record, owner approval, consumer list
    AdditiveNew guideline, template, asset, token or specMinorOne maintainer review
    EditorialWording, typos, examples, identical re-exportsPatchOne maintainer review
    12 · Pre-flight

    Before anything goes out

    Tick through it here; nothing is saved. Each production guideline adds its own items.

    Source
    13 · Open items

    Not decided yet

    Gaps and inconsistencies in the current brand. Each one becomes a decision record when it is settled.

    Source
    • Accent text contrast. Mint on the light ground measures , and in dark mode. Light mode passes only for large text (24px+, or 18.7px+ bold). Decide whether light-mode accent text below that size is allowed, or add a darker text token.
    • Spelling. Shipped site copy is US English; the brand skill is British.
    • Social look. The Forbes LinkedIn quote card uses a #0e121d ground, #5ab28a green and bold 700 headlines. None are tokens.
    • Imagery. Team photos in social are decided (decision 0001). Stock, event and client-site photography is still open.
    • Tagline and boilerplate. Long, short and one-line versions. The slogan, "With courage and grit, always first into the fire.", is settled (decision 0005).
    • Deck tools. HTML only, or Keynote, PowerPoint and Google Slides templates too.
    • Primary button colour. web.md specifies #141936; the navy token is . This page uses the token.