Opening paragraph. Standard body copy, set in Newsreader at a comfortable measure of about 38rem. The first paragraph carries no special styling — the standfirst above already does the job an intro paragraph would otherwise do, so start straight into the argument.
A second paragraph, to show leading and spacing between blocks. Inline links look like this, inline code looks like reconcile(invoice, agreement), and emphasis and strong emphasis both behave as expected.
A section heading
Section headings sit above a hairline rule, which gives the page a clear scanning rhythm on longer posts without needing numbered markers.
A subheading
Subheadings are set in the display face at medium weight, lighter than the section headings so the hierarchy reads at a glance.
- An unordered list item, with a verdigris marker.
- A second item, long enough to wrap onto a second line so you can see how the indent handles it.
- A third.
- Ordered lists use numerals in the same accent.
- Useful for the five-mistakes structure this post actually has.
A blockquote, set in italic with a brass rule. Use it for quoting someone else — a client, a paper, a person in a meeting.
A pull quote is a different thing: it's your own sentence, promoted. Use it once per post, for the line you'd want someone to screenshot.
// Code blocks are dark, monospaced, and scroll horizontally
// rather than wrapping, so indentation survives.
const resolved = await agent.reconcile({
invoice,
agreement,
onLowConfidence: escalateToHuman,
});
Closing section
End with something concrete. The last paragraph is where a reader decides whether to look at the rest of the site, so give them a reason.