
Editorial design is four numbers and one grid: a measure, a baseline unit, a scale ratio, and a small set of rule weights. Get those four right and a page reads as a magazine before a single image loads. Get them wrong and no amount of serif typeface will rescue it.
The measure is 66 characters, which is Robert Bringhurst's stated target inside a workable range of 45 to 75. The baseline unit is 4px. The ratio is 1.333, a perfect fourth. The rule weights are 1px, 2px and 4px, and there is no fourth weight anywhere.
why shadows somewhere and not for other cards? why so many different font sizes with no hierarchy?
A developer on Hacker News, reading a generated page
That pair of questions is the whole diagnosis. Editorial pages answer both by construction: the grid decides the sizes, so a size that is not on the ladder cannot exist, and the shadow question never arises because there are no shadows. The call, early: write the grid down before you write the page. The Thanor library sells that grid as prompts for exactly this reason.
Measure, and the width that follows#
Set max-width: 66ch on every paragraph and stop tuning it. At 19px in a text serif that resolves to roughly 620px, and the ch unit means it stays correct if you change the face later.
The rest of the page is built outward from that column, not inward from the viewport:
- Text column:
66ch, roughly620px. This is the spine. - Figure, standard:
66ch, flush with the text. The default. - Figure, wide:
880px, centred, breaking the column on both sides. - Figure, full bleed:
100vw, used at most twice per article. - Sidenote column:
180px, offset48pxto the right of the text column, collapsing to an inline block under1100px. - Page gutter:
clamp(20px, 5vw, 64px), so the column never touches a phone edge.
Three widths for figures, not five. The reason to have exactly three is that a reader registers a change in width as emphasis, and a page with seven widths has emphasised nothing. The full bleed is the loudest move available on an editorial page, which is why the budget is two per article and a page that spends both in the first screen has nothing left.
Body copy sets at 19px, weight 400, in a text serif, with text-wrap: pretty on paragraphs and text-wrap: balance on every heading. Those two properties remove the single ragged widow that makes otherwise careful typography look untended, and they cost one line of CSS between them.
Hyphenation stays off on the desktop measure and on under 480px, where a 66ch column has become 34ch and unhyphenated rag turns into holes.
The scale, on a four pixel baseline#
Ratio 1.333 from 19px. Every line height in the table is a multiple of 4, which is what lets two adjacent columns share baselines.
| Step | Size | Line height | Tracking | Used for |
|---|---|---|---|---|
| -2 | 11px | 16px | 0.16em | kicker, byline, folio |
| -1 | 14px | 20px | 0.005em | captions, sidenotes |
| 0 | 19px | 32px | 0 | body copy |
| 1 | 25px | 32px | 0 | standfirst, lead paragraph |
| 2 | 34px | 40px | -0.005em | pull quote, h3 |
| 3 | 45px | 48px | -0.01em | h2 |
| 4 | 60px | 64px | -0.015em | article headline |
| 5 | 80px | 80px | -0.02em | cover headline only |
Note that steps 0 and 1 share a 32px line height. That is deliberate: a standfirst at 25px set on the body's own leading sits tighter than the copy below it and reads as a distinct voice rather than as large body text.
Vertical spacing is every multiple of 8: 8, 16, 24, 32, 48, 64, 96, 128. Paragraph spacing is 24px with no indent, or a 1.5em first line indent with zero spacing, and the paragraph immediately after a heading is never indented.
- Space above an
h2:64px. Below it:16px. - Space above an
h3:48px. Below it:12px. - Figure margin:
48pxabove,48pxbelow, caption8pxunder the image.
Rule weights, and the paper palette#
Three weights, one colour each, and every horizontal line on the page is one of them.
| Element | Weight | Colour | Contrast |
|---|---|---|---|
| Hairline, between items | 1px | #D8D4C8 | 1.43:1 |
| Section break | 2px | #1A1A18 | 16.83:1 |
| Above a pull quote | 4px | #8C2F1E | 7.98:1 |
| Link underline | 1px at 3px offset | current colour |
And five ink values, on paper rather than on white:
| Role | Hex | Contrast on paper | Where it goes |
|---|---|---|---|
| Paper | #FCFBF7 | the page, all of it | |
| Ink | #1A1A18 | 16.83:1 | headlines and body copy |
| Muted | #57544D | 7.29:1 | captions, bylines, sidenotes |
| Rule | #D8D4C8 | 1.43:1 | hairlines only, never type |
| Accent | #8C2F1E | 7.98:1 | links, the pull quote rule |
The muted grey is at 7.29:1, which is well past the 4.5:1 floor, and that matters more here than anywhere else: captions carry real information on an editorial page and a caption at 3:1 is a decorative element pretending to be text. There is no surface colour in this palette. Editorial pages do not raise things onto cards, which is why the shadow question never comes up.

The five devices, specified#
An editorial page has a fixed vocabulary. Five devices, each with values, and nothing outside the list.
- Drop cap, first paragraph of the article only.
initial-letter: 2 2on::first-letter, with a fallback offloat: left,font-size: 82px,line-height: 0.74,padding-right: 10px, nudged until the cap's baseline sits on the second line's baseline. - Standfirst, one paragraph at step 1 in ink,
44chwide,24pxunder the headline. It summarises, it does not tease. - Byline, step -2 all caps at
0.16em, in muted, with a1pxrule beneath at16pxclearance. Date on the same line, right aligned. - Pull quote, step 2, weight
400, roman not italic,40chwide, a4pxaccent rule120pxlong above it,48pxof margin top and bottom. At viewports over1200pxit hangs64pxleft of the text column. - Caption, step -1 in muted,
52chmaximum, left aligned under the image at8px. Never centred, never italic, and it always says something the picture does not.
The pull quote has one rule that is worth more than its specification: it must be text that appears in the article. A pull quote invented for the layout is the editorial equivalent of a stock photo, and readers who skim quotes to decide whether to read notice immediately.
Each device appears once per article, except the caption. Two drop caps means neither one marks the beginning. Three pull quotes means the article has no argument, only highlights. The scarcity is what makes any of the five land, and it is the rule a generated page breaks first because a device is easy to repeat and a reason is not.
The order, and the little motion there is#
An editorial page has almost no motion, and the absence is a decision rather than an omission. One curve, cubic-bezier(0.61, 1, 0.88, 1), at 320ms, on links and figure hovers only.
- Link hover:
text-decoration-thickness1pxto2pxover160ms. Colour does not change. - Figure hover, when the figure is a link: caption colour muted to ink over
320ms. The image does not scale. - No scroll triggered entrance animation anywhere. Text that fades in as you reach it is the opposite of a page designed to be read.
The sequence, and the reason for it:
- Kicker, step -2, naming the section. It orients before the headline claims anything.
- Headline, step 4,
text-wrap: balance, at most three lines. - Standfirst, then byline and rule. Attribution goes above the article because a reader deciding whether to invest twelve minutes wants to know who is asking.
- Lead figure, at the wide width, with a caption. Not full bleed: the bleed is spent later.
- Body, drop cap on paragraph one, first subhead no sooner than
250words in. An earlier subhead admits the opening did not hold. - Pull quote at roughly
40%depth, where attention historically dips. - Second figure, then the closing
2pxrule and one line of ask.
A reading progress bar is permitted and a sticky share rail is not. The bar is information about the document, 2px tall in the accent, and the rail is furniture that covers the measure you spent the article protecting.
The verdict on editorial as a system#
Editorial is the most transferable of the looks, because almost none of it is taste. A measure is arithmetic. A baseline is arithmetic. A ratio is arithmetic. The only genuinely aesthetic decisions in this entire article are the accent colour and the choice of text serif, and both survive being wrong far better than an inconsistent grid does.
Which is also why a model gets it wrong most predictably. Unspecified, you get 16px sans across a 1100px container, a card grid where a column should be, a shadow under every figure, and eleven font sizes. The objection that prompting harder fixes this fails in a specific way: an instruction to look editorial resolves to an average of every editorial page in training, while 66ch resolves to 66ch.
Take these five values and you have the look:
66chmeasure, three figure widths,4pxbaseline.1.333from19px, every line height a multiple of4.1px,2px,4pxrules, one colour each, no fourth weight.- Five inks on
#FCFBF7, no surface, no shadow. 320msout sine on links, and no entrance animation at all.
Every prompt in the Thanor library ships this layer already resolved, for whichever model you build in, which turns a day of grid decisions into a paste. For a darker, image led brief the luxury specification is the counterpart, and the general expensive look is the version for a normal commercial page. Then browse the Thanor library and start from a finished grid.
Questions this raises
What is the ideal line length for web body text?
66 characters, which is Bringhurst's single target inside a workable range of 45 to 75. At 19px in a text serif that lands near 620px, so set max-width to 66ch and stop adjusting it.
What is a baseline grid on the web?
A fixed vertical unit that every line box and every margin is a multiple of. Use 4px, set body text at 19px over a 32px line height, and make each heading line height a multiple of 4 so text in adjacent columns lines up across the page.
What type scale gives an editorial feel?
A perfect fourth, ratio 1.333, from 19px. That produces 14, 19, 25, 34, 45, 60 and 80 pixels. The gaps are wide enough to build a magazine hierarchy and small enough that a subhead never competes with a headline.
Should paragraphs be indented or spaced?
One or the other, never both. Either a 24px gap with no indent, or a 1.5em first line indent with no gap and no indent on the paragraph directly after a heading. Doing both is the most common editorial mistake on the web.
How many rule weights should an editorial page use?
Three. A 1px hairline in a warm grey between list items, a 2px ink rule for a section break, and a 4px accent rule above a pull quote. A fourth weight stops reading as a system.
Where can I get an editorial specification as a prompt?
The Thanor library is available now and sells prompts that already carry the measure, the baseline, the scale, the rule weights and the section order as literal values.
Part of
The expensive look
What makes a site read as expensive, written as values rather than adjectives: the type scale, the spacing, the curve and its duration, and the order the sections run in.
