// Brand & Style · SYS-01

One book.
Brand and system.

Logo, wordmark, favicons, tokens, type, components and voice — the operating manual for every PRIVATE/APP surface. Built for clarity on an actively-running railroad; restrained enough to hold up inside a control room, a field truck, and a boardroom.

PaletteInk · Bone · Signal
TypeInter Tight + JBM
Grid8px · 12 col
StatusOPERATIONAL
§ 01

Wordmark construction.

The wordmark is built from two typographic tokens — Inter Tight Medium for the name, a skewed regular slash for the separator. No outlines, no custom spacing per lockup: the construction is the mark.

Construction
PRIVATE/APP
Inter Tight500 · Medium
Tracking−0.02em
Slash weight400 · Regular
Slash skew−4° X-axis

Sizes & surfaces

Six lockups cover every use
Primary · dark text on bone48 pxPRIVATE/APP
Primary · bone on ink48 pxPRIVATE/APP
Mono nav · small14 pxPRIVATE/APP
Mono nav · small on ink14 pxPRIVATE/APP
Stacked · display56 pxPRIVATE/APP
Stacked · on ink56 pxPRIVATE/APP
PRIVATE/APP
The signature. Skew −4°, signal color, always bracketed by regular weight.
§ 02

Favicon & app icon.

The PA. monogram is reserved for favicons, app icons, and tight lockups where the wordmark can't breathe. Signal-orange dot carries the brand into 16 pixels.

Raw sizes

Six outputs · SVG master
16 × 16
32 × 32
48 × 48
192 · Android
512 · PWA
180 · Apple touch

In context

Tab · dock · home screen
Browser tab
PRIVATE/APP — Operational software×
iOS home screen · Android dock
§ 03

Foundations.

Three surfaces: Ink (dark, operational), Bone (light, editorial), Signal (accent, sparingly). Every screen resolves to one of them. Never mix two warms on the same frame.

Surface / 01
Ink
#0B0D10 · operational surfaces · dashboards · hero
Surface / 02
Bone
#F4F2ED · editorial surfaces · capability pages · docs
Accent / 01
Signal
#FF5A3C · hover · active · key numerals · slash
Do

Pick one surface per section.

A section is Ink OR Bone. Never mid-section surface swaps. Transitions happen at section boundaries.

Do

Treat Signal like fuel.

One to three appearances per frame. Active state, hover, key numeral, or the slash glyph. Never a background, never a body color.

Don't

No gradients. Period.

No blurs, no glows, no glassmorphism. Radial masks for grid fades are OK. Anything else breaks the operational aesthetic.

Don't

No extra warms.

Bone is the only off-white. Don't introduce cream, sand, ivory. Don't tint Ink blue. The palette is closed.

§ 04

Color tokens.

A split palette — Ink ramps for dark surfaces, Bone ramps for light. Foregrounds pair with their surface; the cross-surface combinations are forbidden. Operational semantic colors live only inside product artifacts.

Ink ramp

Dark surfaces · dashboards · hero
#0B0D10
Ink 000--ink-000Base dark surface. Primary frame color on every Ink section.
#11141A
Ink 050--ink-050Elevated dark surface. Cards, modals, second layer on Ink.
#181C23
Ink 100--ink-100Card fills inside dashboards. Rail detail panels.
#242932
Ink 200--ink-200Hairline borders and dividers on dark.

Bone ramp

Light surfaces · content · docs
#F4F2ED
Bone 000--bone-000Base warm off-white. Content sections, documents, brand book.
#ECEAE3
Bone 050--bone-050Subtle fill. Hover states, pull-quotes, component meta bars.
#E3E0D7
Bone 100--bone-100Divider. Tables, section rules, card borders on light.
#C9C5B8
Bone 200--bone-200Muted. Placeholder fills, de-emphasized marks.

Operational semantic

Inside product artifacts only
#FF5A3C
Signal--signalLive state, active nav, key numeric, the slash. Max 3 per frame.
#3DD68C
Op green--op-greenOK status, healthy pipeline, green-across-the-board states.
#F5A524
Op amber--op-amberAdvisory, slow order, action-required-but-not-urgent.
#E5484D
Op red--op-redDefect, fault, restriction breached. Stops work.
§ 05

Type.

Inter Tight for display and body. JetBrains Mono for any number, metadata, coordinate, identifier, or kicker. The two faces handle 100% of the system — there is no third.

Hero display500 · 0.92LH
-0.04 letter-spacing
clamp(48–104)
Operational
software/
for railroads.
Section display400 · 0.95LH
-0.035 letter-spacing
clamp(36–64)
Ship in weeks,
not quarters.
Lead paragraph400 · 1.45LH

17px · max 38ch

We embed with your operations team, ship working software in weeks, and prepare the railroad for what's next — AI-native decision support, built on the data you already have.

Body400 · 1.55LH

15px · max 60ch

Real-time, role-scoped views that roll up your KPIs, active slow orders, defects, and compliance into a single page — the one your team checks before coffee. Built to survive a diesel yard.

Kicker / eyebrowJBM · 500 ·
0.18 spacing
UPPERCASE · 11px
// Capabilities · § 01
Metadata rowJBM · 400 ·
0.06 spacing
12–13px
DeploymentWeeks, not months
IntegrationYour stack, untouched
Operating regionNorth America
PRIVATE/APP
The slash is the signature. Skew −4°, Signal color, always bracketed by regular weight.
§ 06

Scale.

Spacing is on an 8px baseline. Type scales fluidly at display tiers. Nothing in the system lives between tokens — if a value isn't listed, it doesn't exist.

Space

8px baseline · 10 steps
Token
Value
 
--sp-1
4px
--sp-2
8px
--sp-3
12px
--sp-4
16px
--sp-5
24px
--sp-6
32px
--sp-7
48px
--sp-8
64px
--sp-9
96px
--sp-10
128px

Type scale

Fluid · clamp-based
Token
Range
 
--fs-micro
11px
The quick brown fox
--fs-xs
12px
The quick brown fox
--fs-sm
13px
The quick brown fox
--fs-base
15px
The quick brown fox
--fs-md
17px
The quick brown fox
--fs-lg
22px
The quick brown fox
--fs-xl
28–40px
The quick brown
--fs-2xl
40–64px
Quick brown
--fs-3xl
56–120px
Quick
§ 07

Components.

The minimum viable parts — the ones every surface reuses. Anything custom gets built on top of these, not beside them.

See the dashboard
Buttons / 01Primary = Signal fill, black label. Ghost = 1px outline, currentColor. Link = underlined caps, JBM.
See the dashboard
Buttons / 02 · on InkSame tokens, Ink surface. Ghost and Link use on-dark foreground via currentColor.
LIVE · 14 sensorsOPS feed OK2 advisorydefect @ MP 80.1ingest 2.41 Mb/s
Status chips5px indicator dot + JBM label. Color encodes semantic — never decorative.
Defects · active
71
↑ 3 vs. 24h
Slow orders
2.11
Mainline · miles
Pipeline
OK
Last run 11:49:47 a.m.
Data cardInk-050 fill, Ink-200 border. Label in JBM caps, numeral in display weight, delta in JBM.
DeploymentWeeks, not months
IntegrationYour stack, untouched
RegionNorth America
Operating region
North America
Meta rows · Field labelsHairline-separated spec tables. Field pattern uses a 2px Signal keyline on the left.
// client · railroad ops / morning
ARTIFACT
Artifact frameEvery product screenshot lives in this chrome. Monospace URL slot, no real browser window — this is editorial presentation, not a demo.
§ 08

Voice.

Plainspoken. Operational. Confident without being loud. We write the way a seasoned rail engineer would brief a peer — not the way a consultancy writes a pitch deck.

Write like this
Software that comes out of the work beats software aimed at the work.
Not like this
We leverage cutting-edge AI to synergize your operational workflows.
Write like this
Ship in weeks, not quarters.
Not like this
Accelerate time-to-value with our agile delivery methodology.
Write like this
Your crews make the calls. Our job is to put the right information in front of them at the right time.
Not like this
Our AI-powered platform empowers your workforce to make data-driven decisions.
§ 09

Imagery.

Two sources: redacted product screenshots, and photography of actual rail infrastructure. No stock. No illustrations of AI. No people shot against brick walls in hard hats.

Do

Product screens, chromed.

Dashboards and field apps in the artifact frame. Redact customer identifiers with black bars, not blur.

Do

Rail infrastructure, documentary.

Track, wheelsets, yards, signals, wayside gear. Composed not posed. No gear porn, no drone sweeps.

Don't

No AI illustration.

No glowing brains, neural mesh overlays, or abstract data-swoops. If it reads as “AI stock,” it's out.

Don't

No staged headshots.

Team members appear in working-context shots only. Prefer environmental portraits on-site over studio portraits.

§ 10

Design principles.

Before the tokens: the decisions we make repeatedly. When a question isn't answered by this system, these resolve it.

01

Precision before polish.

An unambiguous number beats a beautiful chart. A legible hairline beats a soft shadow. The aesthetic is a by-product of being precise — not the goal.

02

The control room, not the trade-show booth.

Every surface should look like something that could be open on a dispatcher's second monitor at 4 a.m. If it wouldn't survive there, it doesn't ship.

03

Density over emptiness — earned.

We pack information. But every element has a job. If you can't say what a thing is telling the reader in one clause, remove it.

04

The slash is the signature.

One glyph carries the brand. Use it in the lockup, in sparingly-placed display type, and nowhere else. Don't decorate — it stops working.

05

Treat speed like a visual quality.

Subtract weight until the interface reads fast. Motion lasts 180–320ms, never longer. Nothing bounces, nothing lingers.

One system.
Every surface.
REV. 2026.04
SYSTEM V1
← HOME · SECURITY