<!-- source: openspec/changes/apply-connected-stack-coordinate-grid/proposal.md -->

# Apply CAD coordinate-grid pattern to the connections section

> **Linear issue:** [RAP-1265](https://linear.app/rapoport-studio/issue/RAP-1265)
> — *placeholder; create the issue on rollout and replace `RAP-1265`
> everywhere in this change. See `AGENT_PROMPT.md` at the bundle root.*

## Why

The home page ships two background-pattern placements today — `for-legacy`
(P3, Modulor composition) and `closing-cta` (P4, hatch, accent). Both land
structurally quiet moments and read as punctuation, exactly as `D-DS-8`
intended.

The `connected-stack` section ("Connections — Works with your tools") is the
page's mechanism block: nine integration tiles in a literal `grid-cols-3`
lattice. Its content semantic is *coordinate system* — the studio's tools
plotted onto a shared plane. The `CAD/08` coordinate grid (60px pitch,
crosshair nodes, GOST-style registration marks) is the one pattern in the
catalog whose metaphor matches that semantic precisely: it reads as the
drafting-table coordinate field the connections are pinned to.

The paint-map currently records this section as **bare · already literal
grid** — a verdict made on the assumption that any grid tile would sit *under
or within* the card lattice and double it. This change places the grid where
that objection does not apply: the section's **empty bottom padding**, below
and apart from the cards, faded upward so it reads as the registration field
*beneath* the stack rather than a second grid competing with it.

## What Changes

- **`apps/web/src/components/home/connected-stack.tsx`** — add `relative` to
  the `<section>` and append a decorative, `aria-hidden` bottom-strip overlay
  carrying `bg-pattern-cad` (`text-blueprint`, intensity `normal`), faded
  upward via a **wrapper-level** `pattern-fade-top` mask. HeroC-style: the
  pattern is a sibling of the section's text content, never an ancestor, and
  never overlaps text. No copy, no layout, no grid changes.
- **Density-budget governance.** This is the page's third placement, which
  breaches the documented `Patterns total · 2 per page` cap. The change
  raises that cap to **3 per page**, replacing the blunt count with the
  spacing constraint that was always the real intent (≥1 bare section between
  any two placements — already an anti-pattern guard). The composition-per-page
  (1), tile-per-section (1), and accent-tone-per-page (1) sub-budgets are
  untouched; CAD is a blueprint-tone tile.
- **Paint-map amendment** (`current/home/blocks.md § Background patterns
  paint-map`): row 06 `connected-stack` verdict flips `bare → applied · P5`;
  header tally and budget note updated; the bare-rationale subsection for 06 is
  replaced by an applied-placement block.
- **Pattern-doc amendment** (`current/design-components.md § Background
  patterns`): the density-budget table moves 2 → 3 with revised rationale, and
  the fade section gains the **nested-wrapper CAD-fade technique** — the
  compliant way to soften CAD that the prior "drop opacity" guidance and the
  same-element anti-pattern did not cover.

## Impact

- **Affected specs:** `current/home/blocks.md`, `current/design-components.md`.
  See `deltas/` for the verbatim edits.
- **Affected code:** one file (`connected-stack.tsx`). No new component, no new
  CSS — `bg-pattern-cad` and `pattern-fade-top` already exist in
  `packages/ui/src/styles/patterns.css`.
- **No new dependency, no new token, no copy change.** Pure decorative paint on
  a text-free zone.
- **Risk surface:** the nested-mask fade (browser composition of two
  `mask-image` layers) and the budget revision. Both are addressed in
  `design.md` and gated in `verification.md`.

## Non-goals

- No change to the card lattice, tile content, or section copy.
- No change to the `for-legacy` or `closing-cta` placements.
- No new pattern utility and no edit to the `CAD/08` mask geometry.
- No dark-mode / theme-switch work — marketing is light-only by intent;
  `bg-pattern-cad` already carries its own `.dark` reactivity via tokens.
