JourneyMRO · Design System

A measured frame,
one accent, 1px everywhere.

Every pattern on this site is taken from journeymro_site. Class names are kept verbatim, so markup moves between the two projects without translation. The whole system is one CSS file and one JS file, no build step and no dependencies — link them and the page is already in the system.

01

The system in one screen

1px
Every border
1320px
Frame width
1
Accent colour
3px
The only radius
96px
Grid module

Those five numbers carry most of the look. The rest is restraint: headings at weight 300 and negative tracking, labels in wide-tracked uppercase mono, prose in sentence case, and a single cyan spent only on the active state, hover and links. Nothing else competes.

02

Contents

03

Using it

Copy assets/css/journeymro.css, assets/js/journeymro.js and assets/fonts/ into the new project. Then this, and nothing else:

<link rel="stylesheet" href="assets/css/journeymro.css">
<script src="assets/js/journeymro.js" defer></script>

<!-- must be inline in <head>, before first paint -->
<script>
  (function () {
    try {
      /* Dark is the house default — the light theme is opt-in, and a visitor
         whose OS is light should still meet the site as it is meant to look. */
      document.documentElement.setAttribute('data-theme', localStorage.getItem('jm-theme') || 'dark');
    } catch (e) { document.documentElement.setAttribute('data-theme', 'dark'); }
  }());
</script>
House rules
Do

Reach for a token. Every colour, size and duration in the system has one, and a hardcoded hex is a bug the light theme will find for you.

Don't

Add a second accent. If two things both need attention, one of them doesn't.

Do

Let horizontal rules run full-bleed and keep content in a narrower column inside them.

Don't

Use a shadow as an edge, or a radius on anything but the outer corner of a notch.

Do

Size type up rather than down. Alliance is a light grotesque and reads small for its nominal size.

Don't

Set prose in --muted or --dim. They are chrome colours; --dim is below the AA floor.