A two-frame editorial spread: a wide photograph with an inverted headline slab lapping up over its lower edge, and a second, smaller frame dropped down the page beside it with a caption and a note. Core blocks only, so there is nothing to install and nothing to keep updated.
The signature moment
The slab laps the photograph and breaks its column
The headline sits on a solid slab that overlaps the bottom of the first frame by a negative top margin, and pushes past the left edge of its own column into the section's padding. Two rules are broken deliberately and in one gesture: the type crosses the image boundary, and the panel escapes the grid. At phone width the slab runs past the screen's left margin entirely, so the device survives the stack rather than collapsing into a caption.
The type never touches the photograph. That is the constraint the design is built around, not a detail. A photograph's luminance is unknowable in the same way an accent slug's is: a buyer swaps in their own image and any headline set directly on it can land white-on-white with nothing to warn them. So the headline sits on a slab whose ground is your contrast and whose text is your base, a pairing every block theme is obliged to keep legible, and the photograph does the atmosphere while the slab does the reading.
What it inherits from your theme
- Typeface. No font family is stated anywhere. The headline takes your display face, and it is tested in a serif theme and a sans one: Twenty Twenty-Four sets it in Cardo, Twenty Twenty-Five in Manrope.
- Palette. The section ground is your
base, the body text yourcontrast, and the slab inverts the pair. Each is a fallback chain ending on a colour WordPress itself guarantees, so the section paints in a theme with a full palette and still paints in a theme with none. - Spacing scale. Section padding, the gap between frames and the drop on the second column use core spacing presets, so they resize at your theme's rhythm.
- The hairline above the caption is a core separator, so it takes your theme's own rule styling.
What it decides for itself
- The lap. The overlap and the leftward break are
clamp()ed so they scale from a restrained inset on a phone to a deep overlap on a wide screen, rather than stepping at a breakpoint. They are the pattern, so they are not negotiable to the theme. - The crops and the drop.
3/2against1/1, and the second column pushed down the page, which is what makes the two frames read as a spread rather than a row. - Proportion. The scale collision between a tracked-out
Issue 01at 13px and a headline at up to 60px is the pattern's, because that ramp is the design.
What you change first
- The two photographs. Select them in the editor; the crops are already set. A wide, calm lead image works best, because the slab covers its lower third.
- The headline. Keep it to six or seven words. Longer and the slab grows taller than the frame it laps, which reverses the relationship the pattern is built on.
Issue 01. It is an eyebrow, so it wants to be short and specific: a date, a location, a series number.- The lap depth.
margin-topon the slab, currentlyclamp(-4.5rem, -6vw, -2.25rem). Less negative for a gentler overlap; do not make it positive, or the pattern becomes an image with a box under it.
Images: what ships and what does not128 words
The pattern ships empty image blocks, exactly as WordPress's own editor writes them before a file is chosen. On paste you get two image placeholders with the crop and the layout already set; you point them at your media library and the composition holds.
Nothing is hotlinked and no photograph is bundled. The photographs in the preview are ours and are never part of the payload: see assets/preview/PROVENANCE.md. That means the preview shows the section as it is meant to look, and your copy is never dependent on someone else's server.
The crops are the pattern's decision: 3/2 on the lead frame, 1/1 on the second, both object-fit: cover. Whatever proportions your photographs are, they are cropped to those, so the composition survives contributors uploading whatever they have.
The six variations343 words
Each is a complete, separately measured markup file. Pick one in the switcher and copy that; they are not settings on a single pattern.
- Inverted slab. The slab is your
contrastcarrying yourbase. Highest contrast and the most graphic of the three: the headline reads as a mark laid on the photograph. - Paper slab. The same lap in reverse weight, a sheet of your
baseheld by a hairline incurrentColor. The hairline is doing real work: in a theme whose page ground equalsbase, it is the only thing that keeps the panel's edge visible where it hangs off the photograph. - Mirror masthead. Frames swapped, the lap breaking right instead of left, and the headline set in caps with open tracking at a smaller size. The same device reading as a magazine opening rather than a banner.
- Display shout. The type axis: an eyebrow down at 11px with very open tracking against a headline up to 88px with tight negative tracking, and a deeper lap so the overlap still reads under a taller slab. Same colours.
- Night section. The colour axis: the whole section inverts to your
contrastand the slab stays a sheet of yourbase. Every block theme has both of those, which is why this is the colour change on offer and a tint is not:base-2was measured resolving to plain white in both Twenty Twenty-Four and Twenty Twenty-Five, so a "tinted" variation changed nothing you could see.
- Ink and sand. The odd one out, and labelled as such in the switcher: it states its own colours rather than inheriting yours, so it is ink on sand in every theme and matches none of them. Measured
rgb(22,33,43)onrgb(231,220,199)in all four test themes, 48/48 contrast pairs, lowest 12.02. Take it if you want this palette exactly; take any of the others if you want your site's.
Five of the six inherit identically; what changes between them is the composition, the weight and the voice. The sixth is a different promise.
Display type18 words
Off the theme's ladder on purpose, because the size is the composition:
- h2 at clamp(2.5rem, 6vw, 5.5rem)
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: Display shout
Fetching the markup…Variation: Ink and sand
Fetching the markup…Variation: Mirror masthead
Fetching the markup…Variation: Night section
Fetching the markup…Variation: Paper slab
Fetching the markup…