A feature set as four full-width ruled rows rather than a grid. Each row is one point set at the size a section heading usually gets, with its explanation beside it in a narrow column at footnote size. It is the answer for a page where the features are four sentences rather than four cards.
The signature moment
The hierarchy upside down
The section heading is the smallest type in the band and the four points are the largest. The opening What you get is a tracked, uppercase line at 15px sitting alone above the first rule, with one short paragraph under it at the same footnote scale. Then every row states its point at up to 2.875rem with tight negative tracking, and glosses it in a 36% right-hand column at 1rem.
The collision between the two is the design. Four statements read down the section like four headlines, the section's own heading has stood aside to let them, and the small copy beside each one is there for the reader who has already been convinced by the statement and wants the detail. Nothing is numbered and nothing hangs outside the measure: the weight of the type is the structure.
This pattern used to be a ruled index with a display numeral hanging in a narrow left column, which is the shape steps-ledger owns in the steps section, and feature-grid already carries numerals inside features. It was reshaped rather than retired, because ruled full-width rows are the right container for a feature set of four sentences; what changed is what fills the row.
What it inherits from your theme
- The typeface. No font family is stated anywhere. The statements and the gloss are set in your face, and the section reads very differently in a serif theme than in a sans one, which is the point.
- Your colours. The ground asks for
baseand everything on it asks forcontrast, the two slugs every stock block theme defines, each as a fallback chain ending on a colour WordPress itself guarantees. Nothing here can resolve to nothing. - Your spacing scale. Row padding and the header's gap are spacing presets, so a theme with a generous scale gets taller rows without you editing anything.
- The rules. Every hairline is
currentColor, so it is exactly the colour of the text beside it, in any theme and on either ground.
What it decides for itself
- Full bleed with its own measure. The section spans the viewport and holds its content to 1240px, so it is a band on the page and not another column of body text.
- The split. 64% to the statement and 36% to the gloss. The statement gets two or three lines at display size; the gloss gets three or four at reading size, and the difference in line count is what makes the row look dense at one end and airy at the other.
- The ramp. Statements are a
clamp()from 1.75rem to 2.875rem at line-height 1.02 with-0.035emtracking; the gloss has a 15px floor at line-height 1.7; the header is 15px with0.2emtracking. No bare font-size preset appears anywhere, because core'ssmallis 13px. - The rules. Every row is opened by a hairline and the last is closed by one, so the run reads as a ruled table rather than as four paragraphs with air between them.
- Where it stacks. Below 782px WordPress stacks the columns, so each row becomes the statement and then its gloss, with the hairlines still separating the rows. The scale collision survives the stack, because it is a difference in size rather than a difference in position.
What to change first
- The four statements. Four to seven words each, and they read better as sentences with a full stop than as labels. They are set at a size that punishes a clause.
- The gloss. One or two sentences. A single short line leaves the right of the row looking empty against the statement beside it.
- The number of rows. Duplicate a row group. Keep the closing hairline on whichever row ends up last: it is the bottom border on that group, not a separate block.
- The header. The small heading and its line are optional. Delete the header group and the run starts on its first rule, which is a stronger opening for a section that follows a hero.
- The split. 64/36 is tuned for a statement of five words. A longer statement wants 70/30 so it still breaks into two lines.
Notes76 words
- Core blocks only: group, paragraph, heading, columns, column. No plugin, nothing to keep updated.
- The hairlines are per-side group borders rather than separator blocks, which is what lets each rule sit tight against its row's padding.
- Text is measured against the ground it actually sits on at 4.5:1; the statements are large enough to qualify at 3:1 but are held to the same pair as the gloss, because they use the same chain.
The markup
Core block markup and nothing else. Copy it, then paste it straight into the block editor: WordPress reads the delimiters and rebuilds the blocks.
Fetching the markup…
Variation: Night statements
Fetching the markup…