# Placeholder reference

Every `{{ TOKEN }}` in the templates and what fills it. After substitution,
`grep "{{"` across the output must return nothing. Never invent a value — if a
token has no source, go back to the operator and ask.

## Brand tokens (palette) — from `brand-extract`

`INK_900` `INK_700` `INK_400` (text: primary / secondary / muted) ·
`PAPER_100` `PAPER_200` (white surface / page-bg tint) · `RULE_100` (dividers) ·
`ACCENT` (brand accent) · `ACCENT_TEXT` (accent **deepened** for legible small
text) · `ACCENT_SOFT` (pale accent wash) · `BRAND_GREY` (logo grey).

## Identity

`COMPANY_NAME` (trading name) · `COMPANY_LEGAL_NAME` · `COMPANY_SHORT` (monogram /
initials) · `TAGLINE` · `SECTOR_LABEL` (what the business is, e.g. "Chartered
accountants", "Dental practice", "Design studio" — operator-supplied, no default
category) · `ESTABLISHED_YEAR` · `YEARS_TRADING` (e.g. "over 15 years") ·
`OWNERSHIP` (e.g. "Independently owned") · `COMPANY_NUMBER` ·
`COMPANY_NUMBER_LABEL` (what to call that number in structured data — e.g.
"Company number" in the UK, "EIN" in the US; jurisdiction-driven, no country
baked in) · `COMPANY_JURISDICTION` · `COPYRIGHT_YEAR`.

## Contact & place

`PHONE_DISPLAY` `PHONE_TEL` `PHONE_INTL` · `MOBILE_DISPLAY` `MOBILE_TEL` ·
`EMAIL` · `WEBSITE_URL` (note the trailing slash; `og:image` and JSON-LD build on
it) · `STREET_ADDRESS` `POST_TOWN` `LOCALITY` `COUNTY` `POSTCODE` · `COUNTRY_CODE` (the ISO 3166-1 alpha-2 country for the
JSON-LD `addressCountry`, e.g. `GB`, `US`, `IE` — operator-supplied, no country
baked in) · `REGION` (service-area phrase) `REGION_2` (secondary area) ·
`FACEBOOK_URL` `INSTAGRAM_URL` `TIKTOK_URL`.

## Hero info-card

`HERO_STRAPLINE` · `HERO_META` (the one-line summary of what the business offers) ·
`HERO_SPEC_1..4` (four short credential cells). `HERO_1_ALT..HERO_10_ALT` are the
ten hero-slide alts — rewrite each to describe the real photo.

## Body blocks (Story / What we do / How we work)

`STORY_HEADLINE` `STORY_PARA_1` `STORY_PARA_2` ·
`BUILD_HEADLINE` `BUILD_PARA_1..3` (the "What we do" block; each paragraph may open
with a `<strong>lead-in.</strong>`) ·
`CRAFT_HEADLINE` `CRAFT_PARA_1..3` (the "How we work" block).

The `BUILD_*` / `CRAFT_*` token names are historical; the visible sections read
**What we do** and **How we work** by default. Fill them with the business's real
offer and way of working, in plain language.

## Section framing (nav labels, eyebrows, section IDs) — defaulted

These seven tokens carry the generic framing of the two middle body sections and
their nav links. **Each defaults to its generic value** below; fill the default
unless the business is framed differently (for example a construction trade that
says "What we build" / "Our craft"). The nav label and the eyebrow of a section are
separate tokens because they need not match.

- `NAV_STORY_LABEL` — the story-section nav label. Default `About`.
- `NAV_OFFER_LABEL` — the offer-section nav label. Default `What we do`.
- `NAV_HOW_LABEL` — the process-section nav label. Default `How we work`.
- `OFFER_EYEBROW` — the offer-section eyebrow. Default `What we do`.
- `HOW_EYEBROW` — the process-section eyebrow. Default `Start to finish`.
- `OFFER_SECTION_ID` — the offer section's anchor id (nav `href` + article `id`).
  Default `offer`.
- `HOW_SECTION_ID` — the process section's anchor id. Default `how`.

## Photo alts (grids and full-bleed)

`GRID_1_ALT..GRID_12_ALT` (the photo-grid cells, in document order) ·
`FULLBLEED_1_ALT` (the one full-width intermission image). Rewrite every alt to
the real photo; the template ships none baked in.

## Founder / team-lead section

`FOUNDER_SECTION_LABEL` (eyebrow) · `FOUNDER_NAME` · `FOUNDER_PORTRAIT_ALT` ·
`FOUNDER_HEADLINE` `FOUNDER_INTRO` `FOUNDER_QUOTE` `FOUNDER_ETHOS` ·
`FEATURE_PROJECT_ALT` `FEATURE_PROJECT_CAPTION` · `GIFT_ALT` `GIFT_CAPTION` ·
`UPDATES_LABEL` (defaults to "Latest updates") · `UPDATE_1..3_LOC`
`UPDATE_1..3_TEXT` (short "latest update" cards). This whole section is optional —
drop it when the business has no single figurehead.

## Testimonial

`TESTIMONIAL_ALT` (the image beside the quote) · `TESTIMONIAL_QUOTE` (verbatim;
wrap the highlight clause in `<span class="hl">…</span>`) · `TESTIMONIAL_ATTRIB` ·
`TESTIMONIAL_CONTEXT` · `FOUNDER_AVATAR_ALT` (the small round avatar).

## Services

`SERVICES_HEADLINE` `SERVICES_LEDE` · `SERVICE_1..6_NAME` `SERVICE_1..6_DESC` ·
`OFFER_CATALOG_NAME` (JSON-LD). Use fewer than six by deleting surplus service
cells rather than padding.

## Why-us / key facts

`WHY_HEADLINE` · `FACT_1..6_KEY` `FACT_1..6_VALUE` · `FACTS_FOOTNOTE`. (The first
fact row, "Established", uses `ESTABLISHED_YEAR`; Coverage uses `REGION`; Based
uses `LOCALITY`/`COUNTY`.)

## FAQ (visible + JSON-LD use the same tokens)

`FAQ_1..5_Q` `FAQ_1..5_A`. Answer-first: the first sentence of each answer is the
answer-engine lift target.

## CTA / footer / meta / schema

`CTA_HEADLINE` · `FOOTER_LABEL` `FOOTER_LEGAL` · `META_DESCRIPTION`
`META_DESCRIPTION_SHORT` · `SCHEMA_TYPE` `SCHEMA_DESCRIPTION` · `PAGE_LANG` (the
`<html lang>` BCP-47 tag, e.g. `en-GB`, `en-US`, `fr` — operator-supplied, no
locale baked in).

`SCHEMA_TYPE` is the schema.org type for the business and is **operator-supplied**.
Its default is `LocalBusiness` (use `Organization` for a business with no physical
premises, or a more specific schema.org subtype when one fits — `Dentist`,
`AccountingService`, `ProfessionalService`, and so on). No trade or industry type
is baked in as a default.

## llms.txt

`LLMS_SUMMARY` (the one-paragraph elevator summary) · `RECENT_PROJECTS`.

## Social tiles

The `socials` skill owns its own tokens and template set. It reads the built
`site/` (brand tokens, logo, hero photos) as its source; it does not add tokens to
these templates. See [`../../socials/SKILL.md`](../../socials/SKILL.md).
