Brand System

March 2026

Color Palette

Four calibrated scales. Ink for neutrals, Violet as the primary accent, Amber and Scarlet for utility states. The 500 step anchors each scale.

Ink Primary Neutral
Violet Primary Accent
Amber Utility / Warning
Scarlet Utility / Danger

Semantic Tokens

Semantic tokens map to scale values per mode. All text tokens are WCAG AA contrast-tested against their surface.

Surfaces

TokenLightDarkRole
surface-pageink-50ink-900Page background
surface-raisedink-100ink-800Cards, panels
surface-overlayink-50ink-700Modals, popovers

Text

TokenLightDarkContrastRole
color-headingink-900ink-5015.5 / 15.2Headlines, titles
color-bodyink-800ink-20011.6 / 10.3Body text, descriptions
color-mutedink-500ink-4004.8 / 4.7Nav links, captions, secondary
color-faintink-300ink-6002.3 / 2.0Decorative only, not for text

Accent

TokenLightDarkRole
color-accentviolet-600violet-400Links, labels, interactive
color-accent-hoverviolet-700violet-300Hover / pressed state
color-accent-subtleviolet-50violet-900Tinted backgrounds

Borders

TokenLightDarkRole
borderink-200ink-700Default dividers
border-strongink-300ink-600Emphasized dividers

Highlight Mode

For content on a violet-500 surface. Dark ink content, identical in both light and dark themes.

TokenValueContrastRole
hl-surfaceviolet-500--Background
hl-headingink-504.2 : 1Headlines on violet
hl-bodyink-8005.6 : 1Body text on violet
hl-mutedink-5002.7 : 1Labels on violet (large text only)
hl-borderviolet-300--Borders on violet

Typography

Three typefaces, each with a distinct role. Every text element on the page maps to a named style with prescribed family, size, weight, line-height, and tracking.

Typefaces

Newsreader

Display — Serif

Know your margins.
Plus Jakarta Sans

Body — Sans-serif

Ag300
Ag400
Ag500
Ag600
Ag700
JetBrains Mono

Data — Monospace

$48,600 Revenue
$31,400 Cost
34.2% Margin

Styles

Each style defines family, size, weight, line-height, tracking, and color. Applied via .t-* classes.

Hero
.t-hero -- Newsreader / clamp(3rem, 8vw, 6rem) / 400 / 0.9 / -0.03em
Landing page hero headlines. One per page.
Display
.t-display -- Newsreader / clamp(2.5rem, 6vw, 4rem) / 400 / 0.95 / -0.03em
Page-level titles and large feature text.
Heading 1
.t-h1 -- Newsreader / clamp(2rem, 3.5vw, 2.5rem) / 500 / 1.0 / -0.02em
Section titles, primary content headings.
Heading 2
.t-h2 -- Plus Jakarta Sans / 1.5rem / 600 / 1.1 / 0.04em
Subsection titles, card headings.
Heading 3
.t-h3 -- Plus Jakarta Sans / 1.125rem / 600 / 1.2 / 0
Group headings, card titles, tertiary headings.
Body text for paragraphs and descriptions. Margin gives finance teams real-time visibility into pricing, costs, and profitability.
.t-body -- Plus Jakarta Sans / 1rem / 400 / 1.6 / 0
Primary readable text. Max width: 65ch.
Small text for secondary content, sidebar copy, and compact layouts.
.t-small -- Plus Jakarta Sans / 0.875rem / 400 / 1.5 / 0
Secondary body text, table cells, compact UI.
Caption text for hints, timestamps, and supplementary info.
.t-caption -- Plus Jakarta Sans / 0.75rem / 400 / 1.4 / 0.03em
Captions, input hints, image credits.
SECTION LABEL
.t-label -- JetBrains Mono / 0.75rem / 500 / 1.4 / 0.08em / uppercase
Section numbers, category labels, overline text.
META -- NAV LINKS, TABLE HEADERS, TIMESTAMPS
.t-meta -- JetBrains Mono / 0.6875rem / 400 / 1.4 / 0.06em
Navigation, table headers, auxiliary metadata.
MICRO -- SWATCH LABELS, TINY CHROME
.t-micro -- JetBrains Mono / 0.625rem / 400 / 1.3 / 0.04em
Color swatch labels, step indicators, minimal UI chrome.
$48,600
.t-data -- JetBrains Mono / 1.5rem / 400 / 1.1
Financial figures, statistics, KPI values.
Where profit lives.
.t-blockquote -- Newsreader / h1 size / 400 / 1.0 / -0.02em
Pull quotes, editorial callouts.
Where profit lives.
.t-tagline -- Newsreader / h1 size / 400 / 1.0
Brand tagline. Always follows "Margin."

Token Scale

Raw size, line-height, and tracking values. Each style class above composes these tokens with family and weight.

TokenSizeLine HeightTracking
heroclamp(3rem, 8vw, 6rem)0.9-0.03em
displayclamp(2.5rem, 6vw, 4rem)0.95-0.03em
h1clamp(2rem, 3.5vw, 2.5rem)1.0-0.02em
h21.5rem1.10.04em
h31.125rem1.20
body1rem1.60
small0.875rem1.50
caption0.75rem1.40.03em
label0.75rem1.40.08em
meta0.6875rem1.40.06em
micro0.625rem1.30.04em

UI Components

Reusable interface elements built from the type and color token system. Every component inherits its appearance from semantic tokens, adapting automatically across light, dark, and highlight modes.

Buttons

Pill-shaped with three variants (primary, secondary, ghost) and three sizes. Primary uses the accent color; secondary is outlined; ghost is minimal.

Form Inputs

Text inputs with labels and hints. Focus state uses the accent color. Placeholder text uses the faint token.

The legal entity name on your invoices.

Badges

Compact labels for status, categories, and metadata. Mono typeface at meta size with uppercase tracking.

Active v2.4 Draft Archived

Code

Inline code for references within body text, and code blocks for multi-line snippets. Both use JetBrains Mono with accent-subtle tinting.

Use the --color-accent token for interactive elements. The surface token --surface-raised applies to cards and panels.

:root {
    --color-heading: var(--ink-900);
    --color-body: var(--ink-800);
    --color-muted: var(--ink-500);
    --color-accent: var(--violet-600);
}

Tooltips

Contextual hints that invert the surface color. Dark tooltip on light mode, light tooltip on dark mode.

Copied to clipboard
34.2% gross margin

Cards & Surfaces

Layered surfaces using three elevation levels. Each card variant inherits its appearance from semantic surface tokens, transitioning automatically across themes.

Default
Content Panel
The baseline surface. Sits on the page with a subtle border. Use for content groups, sidebars, and static information.
.card
Elevated
Featured Metric
Shadow-based depth lifts content off the page. Hover to see the shadow deepen. For pricing cards, key stats, and featured content.
.card .card-elevated
Interactive
Selectable Option
Hover reveals a violet accent border and gentle lift. For clickable items — nav cards, selectable options, dashboard widgets.
.card .card-interactive
Glass
Floating Toolbar
Translucent surface with backdrop blur. The gradient behind shows through, proving the frosted effect. For nav bars, toolbars, and floating panels.
.card .card-glass
Highlight
Brand Moment
Violet surface using highlight tokens. For brand-forward moments — logo showcases, CTAs, and accent panels. Stays vibrant across themes.
.card .card-highlight
Overlay
Modal Dialog
Highest elevation surface with strong shadow. Visually separates from everything beneath. For modals, popovers, and dropdown menus.
.card .card-overlay

Surface Hierarchy

Cards nest on progressively elevated surfaces. Each level uses its own semantic token.

surface-page
surface-raised
surface-overlay