# ADR-0002: Page copy in Astro Content Collections (Markdown)

**Status:** Accepted — 2026-07-15

## Context

Body copy currently lives inside `.ts` files (`src/data/services.ts`, `src/data/focusAreas.ts`)
as quoted string properties — painful to edit, no spellcheck/preview, and prose is trapped in
code. Separately, the rebuild paraphrased much of the live-site copy, and Phase 2 requires
restoring exact copy (see `docs/parity-checklist.md`). Doing both at once avoids a double
migration.

## Decision

Move prose-heavy page copy **out of `.ts` and into Astro Content Collections as Markdown**, with
typed frontmatter for structured/SEO fields. Split of responsibility:

- **Prose** (service/focus/about body, insights) → Markdown body rendered through a shared layout.
- **Structured/visual data** (metrics grid, nav, service icon+blurb cards, CTAs) → typed
  frontmatter or kept in `.ts` where it drives layout/components.

Exact-copy restoration (Phase 2) lands directly in this format, not into the old `.ts` shape.

## Consequences

- Editing copy no longer means editing code; enables an eventual owner-editing workflow.
- Consistent rendering/flow via one styled layout (reduces, not increases, formatting risk).
- Requires content collections for `services`, `focusAreas`, and standalone `pages`, plus
  refactoring the `[slug]` routes to read from collections.
- Pairs with ADR-0003 (the collection schema encodes SEO rules).
