# Hero column portrait

> An opening section whose photograph stands as a column rather than a band: a tracked eyebrow, a display headline, a lede held to a 30rem measure and two actions on the left, and on the right a single portrait cover taller than everything beside it, carrying nothing but one tracked caption on an opaque plate at its foot. The cover includes a replaceable example photograph. States no colour and no font of its own.

Canonical: https://patternpaste.com/pattern/hero-column-portrait.html
Section: Hero
Access: Included in Pattern Paste access.
Needs: Requires a block theme on WordPress 7.0 to 7.1. Classic themes and page builders are outside our supported setup. Adaptive patterns use the block theme’s colour, spacing and typography presets; styled variations declare their own colours or type.
Blocks: button, buttons, column, columns, cover, group, heading, paragraph
Keywords: hero, portrait, cover, photo, landing, columns

## Variations (3)

### Portrait right (the default)

Identical markup in every theme.

The reading runs down the left and the picture stands to the right, bottom-aligned with the last button so it rises above the type instead of sitting beside it. On a phone the columns stack and the type comes first.

### Night portrait

Identical markup in every theme.

The colour axis, inverted: the band flips to your contrast with your base on it, the buttons swap with it, and the foot plate inverts too. Every block theme defines both slugs, so this arrives everywhere. The composition is unchanged.

### Portrait left

Identical markup in every theme.

The composition mirrors: the picture takes the left column and the type the right. Same widths, same type, same plate. Stacked on a phone the picture comes first, which is the trade the mirror makes.


---

## The signature moment: the picture is a column, not a band

Every other cover in this catalogue runs edge to edge; this one stands up
inside the content measure and is deliberately taller than all the type beside
it, so the section's weight is on the right while its reading order is on the
left. That asymmetry is the whole idea, and it survives colourlessness because
it is made of proportion: a 38rem picture against roughly 30rem of type, both
sitting on the same bottom line.

The columns are bottom-aligned so the foot of the picture and the foot of the
button row agree, and everything the picture is taller by happens at the top,
where there is nothing to collide with. `verticalAlignment` is written on the
parent `core/columns` **and on every child `core/column`**: the parent
attribute alone does nothing on the front end, because core pins
`.wp-block-columns { align-items: normal !important }` over the class the
parent emits.

## The cover, and what is not in it

The cover includes an example photograph through a public image URL in the copied markup. Choose Replace in the cover toolbar to select a photograph from your own media library.

The veil is a `contrast` chain at `dimRatio` 20, which is decoration and
nothing else: no word in this pattern sits on the photograph. The one line
that reads as a caption is on an **opaque plate** whose ground is a `base`
chain and whose type is a `contrast` chain, so the contrast walk finds the
plate first and measures an ordinary guaranteed pair rather than type over an
image whose luminance nobody can know. That is the only legible way to put a
line on a picture at a veil this light.

The plate lives INSIDE the cover's inner container, because a cover clips its
overflow and forms no stacking context: anything pulled up from outside would
paint under the photograph, invisibly. It is pushed to the foot by a vertical
flex group with `verticalAlignment: bottom` and its own `min-height: 38rem`,
not by a custom `contentPosition`, which would shrink-wrap the inner container
and make the plate's width depend on the length of its words.

The cover's height is `38rem`, never a `vh` value: the preview on this page
sizes its frame to the pattern, and a viewport-relative height would size the
pattern to the frame in turn.

The cover also states its own `style.color.text` as a `base` chain, so core's
`:where(.wp-block-cover:not(.has-text-color))` rule, which would otherwise
paint anything in it a literal `#fff`, never fires.

## Below 782

Core stacks the columns. In the base the type column is first in the markup,
so a phone reads the eyebrow, the headline, the lede and the buttons, and then
meets the picture: the reading order the desktop composition already had.
`portrait-mirror` puts the picture first in the markup, so on a phone the
picture comes first; that is the trade the mirror makes and it is stated on
the product page.

## What it inherits, what it decides

Inherits: every colour (the band is `base` with `contrast` on it, the veil and
the primary button are `contrast`, the plate is `base`), the typeface, the
spacing scale, and the button's hover and focus states, which are the theme's.
Decides: the proportion. A 13px tracked eyebrow, a headline from 40px to 68px
at 0.96 line-height and -0.035em, a 17px to 19px lede at 1.6 on a 30rem
measure, square buttons sized by padding rather than by a font-size preset,
and the 48/44 split with a gutter that opens from 2rem to 5.5rem.

`core/button` carries no `typography` attribute anywhere in this pattern:
that does not stay valid across editor versions, so the buttons are
sized with padding.

## No hand-off row

`cover-plate` and the other full-bleed covers ship a short row of page copy
below them so a buyer can see where the section ends. This cover is inside the
1240px measure with the band's own paper around it on all four sides, so the
section already reads as a section and the extra row would be scenery.

## What a buyer changes first

The photograph, then the headline. The eyebrow and the plate's caption are
both set in caps with wide tracking and read best under about 28 characters;
past that they wrap and the plate grows a second line.

## Variations

- **Portrait left** (`portrait-mirror`): the composition mirrors. The cover
  takes the left column at 44%, the type the right at 48%. Nothing else moves,
  so it is a composition variation and not a colour one.
- **Night portrait** (`night-portrait`): the colour axis, by inversion. The
  band becomes `contrast` with `base` type, both buttons swap, and the foot
  plate inverts with the band, so it stays ink on the picture rather than
  becoming a white chip on a dark section. Inversion between `base` and
  `contrast` is the only colour move that arrives in every theme; every other
  slug's luminance is unknowable. The veil is unchanged, because it is still a
  `contrast` chain over the photograph in both.

## Included images

The copied markup includes WordPress Photo Directory example photographs. The public image URLs
keep the examples visible after pasting. Select an image or cover and choose
**Replace** to use your own Media Library files. See [image credits](/image-credits/)
for the sources and licenses. Pasting an image URL does not import a Media Library
attachment.
