# Footer ledger

> A footer read as a colophon: four ruled rows run the full container width, each a small tracked label hanging in a narrow left column against its values in a wide right one. Address, contact links, social links and the legal line each take a row, the first and last rules close the ledger, and the site name sits above it at a moderate size beside one line of orientation. No link columns, no grid of boxes, and every hairline follows your type. States no colour and no font of its own.

Canonical: https://patternpaste.com/pattern/footer-ledger.html
Section: Footer
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, group, heading, paragraph
Keywords: footer, ledger, colophon, rows, contact, legal

## Variations (3)

### Ledger (the default)

Identical markup in every theme.

Four ruled rows on your base with your contrast on them. The rules are currentColor, so they follow your text wherever your theme puts it.

### Charcoal and saffron

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

A charcoal ledger uses saffron on its ruled labels, set in a monospace stack.

### Night ledger

Identical markup in every theme.

The colour axis, done the only way the contract guarantees: the section inverts to your contrast with your base on it, and the rules follow the type because they are currentColor. Every theme has both slugs, so this arrives everywhere.


---

## The signature moment: the ruled rows

**Four hairlines run the whole container width and a fifth closes the last row,
so the footer reads as a ruled ledger with its labels hanging in a 25% gutter
and its values set in the 75% beside them.** The mark is made of length and
repetition, not of colour: the rules are `currentColor`, the labels are small
and tracked, the values are body size, and the difference between a 13px
uppercase label and a 16px line beside it is the whole of the contrast. Take
the colour away and the rows still read as rows; change the typeface and the
rules still run exactly as far as the content does. That is why it survives
colourlessness, and it is also why a buyer who wants a footer that is quieter
than the usual four columns of links has a reason to pick this one.

The header above the ledger is deliberately moderate. The site name is an `h2`
at `clamp(1.75rem, 2.6vw, 2.5rem)`, bottom-aligned to a single line of
orientation in the wide column, so the name sits on the same line as the
sentence beside it and the first rule underlines them both. A display wordmark
here would fight the rows; `site-footer` is the pattern for that.

## What it inherits from your theme

- **The typeface.** No font family is stated anywhere, in the base or the
  variation. The site name, the labels and the links are all set in your
  theme's face.
- **Your colours.** The ground asks for `base` and everything on it asks for
  `contrast`, the two slugs every stock block theme defines, each written as a
  fallback chain ending on a colour WordPress itself guarantees. No accent
  slug appears in any rung.
- **The rules.** Every hairline is a 1px `currentColor` border on its row, so
  it follows the type wherever your theme puts it and cannot resolve to
  nothing.
- **Your spacing scale.** The band's padding, the air inside each row, the gap
  between label and values and the space under the header are spacing
  presets, so a theme with a generous scale gets a taller ledger without you
  editing anything.
- **Your link and button styling.** Every link is a core button with its own
  colours cleared back to the band's, so it takes your theme's button element
  styles on hover and focus while reading as plain text.

## What it decides for itself

- **The rows.** Each row is a group carrying a `currentColor` top border with
  spacing preset 30 above and below its content; the last row carries a
  bottom border too, so the ledger closes on a rule. The band's block gap is
  zero so the rows butt against each other and the rules are shared, not
  doubled.
- **The 25/75 split.** Narrow enough that the label reads as a margin note,
  wide enough that a one-word label sits on one line in a serif and a sans.
  The header uses the same split so the site name and the first label share
  a left edge.
- **Proportion.** The site name at `clamp(1.75rem, 2.6vw, 2.5rem)`, weight
  700, tracking -0.02em on a line height of 1; the orientation line at
  `clamp(1rem, 1.15vw, 1.125rem)`; the labels at 13 to 14px, uppercase, 0.16em
  tracked; the address and the legal line at 15 to 16px.
- **Label alignment.** In the three rows whose values begin with a link, the
  label carries a 1rem top margin, which is the link's own top padding, so
  the label's line sits level with the link text rather than a line above it.
  The Visit row's label has no margin because its value is a plain paragraph.
- **The link boxes.** Each link carries a full rem of padding above and below
  and none at either side, so it is comfortably tappable on a phone and flush
  with the column's left edge. A run of links in a row is one buttons block
  with a horizontal gap, so it wraps rather than stacking.
- **Full bleed with its own measure.** The band spans the viewport and holds
  its content to 1240px.

## What to change first

1. **The site name and the orientation line.** Replace "Hallmere" and the
   sentence beside it. Keep the sentence under about seventy characters so it
   holds one line at desktop width; a name much longer than about twelve
   characters wants the `clamp()` maximum stepping down from `2.5rem` so it
   stays inside its 25% column.
2. **The four values.** The address is one paragraph with a line break; the
   contact and social links ship without URLs and with labels of eight
   characters or more, which keeps a sensible tap target. Keep them there.
3. **The labels.** Visit, Write, Follow and Legal are `h3` headings. Keep them
   to one or two words so they hold one line at 25%.
4. **The number of rows.** A row is one group block. Copy one to add a row, or
   delete one. If you delete the last row, move its bottom border to the new
   last row so the ledger still closes; if you add a row after it, remove the
   bottom border from the row that used to be last.
5. **The footer's height.** The band's top padding is spacing preset 80 and
   its bottom is 60. Step both down one rung if your theme's scale is already
   generous.

## Notes

- Core blocks only: group, columns, column, heading, paragraph, buttons,
  button. No separator block is used; the rules are group borders. No plugin,
  nothing to keep updated.
- Every colour is a fallback chain ending on a colour WordPress itself
  guarantees, so nothing in the footer can resolve to nothing.
- No promise axis is declared: colour, type and motion are all the default,
  so this pattern inherits your palette and your typeface and carries no CSS
  of its own.
- **Night ledger** is the one variation. It is a complete file you copy
  instead of the base, and it moves the colour axis only: the ground becomes
  your `contrast` and every piece of text and every link becomes your `base`.
  The rules need no change because they are `currentColor`. Composition,
  sizes and copy are identical.
- **Charcoal and saffron** (`charcoal-and-saffron`) states a charcoal ground, ivory values and saffron rules and labels. The ledger labels alone take a monospace face.
- Below 782px the columns stack, so each row reads label, then its values,
  then the next rule. The labels keep their gap to the rule above them, the
  link runs wrap inside the row, and the header becomes the site name over
  its sentence. That is core's stacking, not ours, and it is why the link
  boxes are sized for a thumb rather than for a mouse.
- Every pair, in the base and in the variation, is your `contrast` on your
  `base` or the reverse, the pair your theme already sets body copy on. The
  site name is large text and is claimed at 3:1; everything else is body
  text and is held to 4.5:1. Measured per host theme against the resolved
  values, not the authored chains.
