# Cover veil

> A full-bleed cover whose photograph is reduced to grain behind a display headline by a heavy veil of your theme's contrast colour. The one cover design where the type sits on the image, measured against the lightest and darkest photograph you could choose. Includes a replaceable example photograph. States no colour and no font of its own. Ships with a short hand-off row on your theme's paper below it, so the cover reads as a section and not the page.

Canonical: https://patternpaste.com/pattern/cover-veil.html
Section: Cover
Access: Free, and free to keep.
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: cover, group, heading, paragraph
Keywords: cover, hero, photo, video, veil, display

## Variations (5)

### Ink veil (the default)

Identical markup in every theme.

An 80% veil of your contrast over the photograph, your base as the type. The headline runs to 100px and the photograph shows through as texture; whatever image you choose, the words pass contrast against it.

### In motion

Identical markup in every theme.

The same veil over a clip. Choose a short, silent, looping video in the cover's media picker; the heavy veil keeps it a texture rather than a film, so the type stays exactly as legible.

### Mahogany and honey

This variation states its own colours and states its own type: identical in every theme.

A hospitality look: states a mahogany veil over the photograph, cream type and a honey accent, with an Iowan Old Style headline over Helvetica. A honey Book a table button sits beside a tap-to-call link, and the hand-off row gives the kitchen hours on cream.

### Paper veil

Identical markup in every theme.

The veil is your base at 80% and the type your contrast: the photograph as a pale ghost behind ink. For a page that stays light.

### Vow

This variation states its own colours and states its own type: identical in every theme.

The Vow wedding set: confetti under a midnight veil, Thank you in Didot at display size, a pale peony label and square button, then a wisteria band with a peony Married label, in Gill Sans.


---

## The signature moment: scale collision

A 13px eyebrow at very open tracking, then a headline that runs from 44px to
100px, with nothing between them but a spacing preset. The headline is off the
theme's ladder, a bare `clamp()`, because its size is the composition; the
theme's own tracking and leading carry it. The lede is held to a 34rem measure under the headline, so the line
lengths go tiny, enormous, modest. The photograph is there for texture and
nothing else; at 80% veil it reads as grain, not as a picture.

## Why type on a photograph is permitted with a measured veil

A photograph's luminance is unknowable, so the rule is that type never sits on
one. A cover's veil is the exception that can be measured: its colour is a
chain and its opacity is a number, so the darkest ground the type can land on
is the veil over a black photograph and the lightest is the veil over a white
one. Both are measured, and the worse of the two has to pass. At `dimRatio`
80 with a `contrast` veil and `base` type, the lightest ground in Twenty
Twenty-Four is `rgb(65, 65, 65)` under `rgb(249, 249, 249)` type, 9.7:1; the
no-contract control's is 10.9:1. At `dimRatio` 40 the same markup measured
2.48:1, too low to read, which is how the veil was set.

So: whatever photograph you choose, light or dark, the words pass. Lower the
veil below 80 and that stops being true.

## What it inherits, what it decides

Inherits: every colour (veil `contrast`, type `base`), the typeface, the
spacing scale. Decides: the veil's opacity, the type ramp, the 34rem measure,
the 40rem minimum height (in rem, never vh), padding above and below. The
cover states its own text colour chain so core's `:where()` rule that paints
cover text `#fff` never applies. Heading level is `h1`: this is a page opener.

## What a buyer changes first

The photograph: the cover includes an example image; choose Replace to pick one from the media library. Then the headline. Keep it under about five words at this
size; two lines at 390 is the ceiling.

## Variations

- **Paper veil**: the veil is `base` at 80% and the type `contrast`. The
  photograph becomes a pale ghost behind ink. Darkest ground in Twenty
  Twenty-Four: `base` over black, `rgb(199, 199, 199)` under `rgb(17, 17, 17)`,
  12.6:1.
- **In motion**: `backgroundType: "video"`; a clip instead of a still, same
  veil, same type. Choose a short, silent, looping clip; core writes
  `autoplay muted loop playsinline`.

## The hand-off row

A full-bleed cover on its own fills the preview on this page edge to edge, and
on a buyer's page it is never alone either. So the pattern ships with what
comes next: a short row on your theme's paper under the cover, a tracked
label and one paragraph at a 34rem measure. It is ordinary page copy, it
shows where the cover ENDS, and it is the first thing a buyer rewrites or
deletes. It carries the same chains as everything else.

## 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.
