The signature moment
A frieze of people, no gutter
The photographs touch. With no gap between them the four portraits stop being four cards and become one strip, a row of people shoulder to shoulder across the whole width of the page. The faces sit high, the plates sit low and line up along one edge, so the eye runs across the faces and then across the names.
Theme handoff
What comes from where
Theme and pattern
Inherits: every colour, the typeface, the spacing scale. Decides: the grid (four columns, each at least 10rem, gap zero), a tile height of max(34rem, 40vw) (never vh), so the tiles stay tall and narrow at 1920, the plate's inset, and a focal point at 30% height so a wide tile crops below the head, not through it. The section heading is display type, a bare clamp() off the theme's ladder, because its size against the frieze IS the composition; names are on the ladder at large.
At 820 the four tiles stay in one row; at 390 they go two by two, still with no gutter.
Full pattern notes
Why it works, and how it is built
Open a topic for the complete design reasoning, editing guidance and implementation notes.
Design rationaleComposition, intent and nearest alternatives
Overview
A team section: a heading row at your content width, then four tall core/cover portraits in a full-width grid with a block gap of zero, so the photographs meet edge to edge. Each cover carries a plate at its foot with the person's name and role.
The signature moment: a frieze of people, no gutter
The photographs touch. With no gap between them the four portraits stop being four cards and become one strip, a row of people shoulder to shoulder across the whole width of the page. The faces sit high, the plates sit low and line up along one edge, so the eye runs across the faces and then across the names.
Make it yoursVariations and the edits to make first
Variations
- Title in the frieze: the heading row is gone and the heading becomes the first tile, an empty cover under a 100%
contrastveil withbasetype, so the section is one strip: a title, then three people. With the veil at 100 the ground under the title iscontrastwhatever image a buyer adds.
Theme behaviourInheritance, fixed decisions and contrast
What it inherits, what it decides
Inherits: every colour, the typeface, the spacing scale. Decides: the grid (four columns, each at least 10rem, gap zero), a tile height of max(34rem, 40vw) (never vh), so the tiles stay tall and narrow at 1920, the plate's inset, and a focal point at 30% height so a wide tile crops below the head, not through it. The section heading is display type, a bare clamp() off the theme's ladder, because its size against the frieze IS the composition; names are on the ladder at large.
At 820 the four tiles stay in one row; at 390 they go two by two, still with no gutter.
Technical notesBlock mechanics, responsive behaviour and constraints
Why the type is legible on a photograph
It is not on the photograph. The name and role sit on a plate grounded in role-plate, falling to base, with role-plate-text falling to contrast as the text: judged on the plate, contrast on base, 4.5:1 or better in any theme honouring the contract. The cover has no veil (dimRatio 0), so the face stays a face; a contrast veil heavy enough to carry type on the image would have turned every portrait to grain. The cover states its own text colour so core's white default never applies.
What a buyer changes first
The photographs: select a cover and choose Replace. Portraits with the face in the upper third crop best. Then the names and roles; keep a role to two short words, since it is set in tracked capitals in a narrow tile.
Included images
The copied markup includes generated example portraits of nobody real, served from public URLs so they stay visible after pasting. Select a cover and choose Replace to use your own Media Library files. See image credits. Pasting an image URL does not import a Media Library attachment.
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: Title in the frieze
Fetching the markup…