A near-black gray with just enough lift to avoid feeling like ink, suited to headline text and dense UI chrome.
Iron Ash
#4A4A4A
rgb(74, 74, 74)
A mid-dark gray with a slightly cooler cast, reading as steel under bright light and as soot under dim light.
Worn Slate
#6E6E6E
rgb(110, 110, 110)
The palette's midpoint, even and unremarkable in the best way — a gray that disappears into secondary text and borders.
Pale Fog
#A8A8A8
rgb(168, 168, 168)
A soft, dusty gray that reads as overcast sky or unfinished plaster, light enough to sit behind dark type.
Chalk Mist
#D9D9D9
rgb(217, 217, 217)
The lightest step, closer to white than to any of its siblings, holding just enough gray to avoid glare.
There's a discipline to working in a single hue family — every decision becomes about value and nothing else, since hue and saturation stay locked at zero across all five swatches. Graphite Core and Chalk Mist sit at the extremes, but even they share the same underlying gray, just pushed to opposite ends of the tonal range. In between, Iron Ash, Worn Slate, and Pale Fog fill out enough steps that the eye can read depth and hierarchy without a single accent color ever entering the frame. It reads as restrained rather than cold, more like an unpainted room than a corporate lobby.
Sponsors
Editorial layouts benefit from a scale like this one, since body copy, captions, rules, and backgrounds can all pull from the same five values and stay visually related without competing for attention. A publication built on flat design or long-form writing can run Graphite Core for headlines, Worn Slate for byline text, and Pale Fog for dividers, letting typography and spacing do the work instead of color contrast. Architecture and product photography portfolios also lean on tonal grays like these to keep the images themselves as the loudest element on the page. Even software interfaces that need a neutral shell — dashboards, admin panels, documentation sites — can build their entire chrome from this set and reserve any brand color for a single functional accent elsewhere.
Building a five-step ramp like this one starts with picking your darkest and lightest values first, then filling the middle steps by eye rather than by strict mathematical interpolation, since perceptual contrast doesn't scale linearly with RGB values. Worn Slate at 110,110,110 sits close to the visual midpoint most viewers expect from a gray scale, which makes it a dependable default for placeholder text or disabled states. Pairing Graphite Core against Chalk Mist gives strong enough contrast for body text on a light background, while flipping the ramp — Chalk Mist text on Graphite Core — works for dark-mode interfaces without introducing a second palette. Designers exporting this set as CSS custom properties often name them by step number rather than by their poetic names, since a gray scale like this tends to get reused across many unrelated projects.