# GUIDE.presentations — decks and presentation surfaces

**The law for how a Relay presentation is composed — on any surface: a living page, a
projected deck, or an exported file.**

*Added 2026-08-07, from the investor-package build: the v1 Introduction deck shipped with
tool-default substitute fonts (Cambria/Calibri) because no presentation guideline existed.
That deck was retired. This document is what was missing.*

---

## Where this sits

Same three layers as the rest of this area:

| Layer | Owns | Source |
|-------|------|--------|
| **Material** | Token values — colour, type, spacing | `relay-app/DESIGN.md` + `packages/ui/tokens.css` (tokens win on any value conflict) |
| **Composition** | How a slide is built — **this document** | here |
| **Copy** | What a slide says | Drive "Relay - Master Copy Deck" (M-ID system) + `briefs/BRIEF.emblematic-headlines.md` §Hard constraints |

A deck never invents copy or colour. It cuts slides from the Master Copy Deck by M-ID,
renders them to this law, and inherits the copy gates verbatim.

## Copy gates (inherited, non-negotiable)

- External copy says **Relay**, never RelayCTX. The legal entity line is **Relay Context Inc.**
- Never *memory*, *persistence*, or *continuity*. Governance vocabulary: provenance /
  audit / control / portability / trust. The user verb is **claim**.
- **"Protection in progress"** — never "patent-pending" until the provisional is filed.
- Disclosure stays at outcome level: no mechanism, no architecture internals, no novelty
  counts or names — in copy **and in imagery** (see Motifs).
- Gate tiers (OPEN / NDA / NDA+FILED) travel with the slide. A higher-gate slide never
  appears on a lower-tier surface, whatever the format.
- Numbers come from their canonical page (for the round: `relay-resources`
  `docs/investor/round-status.md`). Link to the source; don't duplicate terms onto slides.

---

## 1 · The living-page standard

**A deck's primary form is a page, not a file.** On gated surfaces (the investor package)
this is mandatory: no downloadable files — a file leaves the gate the moment it is
downloaded; a page stays current, governed, and attributable to its viewer.

A living deck page is a sequence of **slide sections** inside a `.rly-deck` wrapper. Each
slide is one `<section class="rly-slide">` (drenched variant: `rly-slide--drenched`) and
reads top to bottom:

1. **Kicker** — mono eyebrow naming the moment ("The problem", "How it moves"). Never a
   slide number: decks reorder freely, and faces carry no position.
2. **Display headline** — the one Cormorant italic moment. On a deck page, each slide
   section counts as a view for the Single Display Rule: one display headline per slide,
   never two.
3. **Body** — the slide's sentences, verbatim from the Master Copy Deck. Two short
   paragraphs maximum; a slide that needs more is two slides.
4. **Figure / motif** — optional: flow nodes, category cards, the Code chip, a stat.
5. **Pull quote** — the base line, when the M-ID carries one.

**Links inside slide sections use built URLs, not source paths.** A slide is raw HTML, and
static-site generators only rewrite `.md` links in Markdown — inside an HTML block they ship
verbatim and 404. Write `href="../rounds/pre-seed/"`, never `href="rounds/pre-seed.md"`, and
verify against the built tree rather than the source tree. (Recorded defect, 2026-08-07: the
investor deck's round link shipped as a literal `.md` target at the wrong depth.) The same
applies to the watermark `<script src>` — check its depth against the page's built URL.

**Provenance lives in comments, never on the face.** The Master Copy Deck's speaker-note
stamp `[M-ID · TIER · GATE · vN · YYYY-MM-DD]` goes in an HTML comment immediately above
each slide section — the page equivalent of speaker notes. No version code, M-ID, or tier
text on any slide face.

**Page chrome:** the page carries a visible version + date stamp at the foot
(`Version: vN · Last verified: YYYY-MM-DD`, bumped on every copy change), the
confidential footer line, and — on gated surfaces — the per-viewer stamp and watermark
(see `GUIDE.documents.md` §Watermark).

## 2 · Type scale

Three families, three registers — same semantics as every other Relay surface. Two
columns: the living page and the 16:9 file (1280×720 / 10"×5.625").

| Role | Family / weight | Living page | 16:9 file | Colour |
|------|----------------|-------------|-----------|--------|
| Display headline | Cormorant Garamond 300–400 **italic** | `clamp(2rem, 4.5vw, 3.2rem)`, lh 1.1 | 46–52pt | text-bright (light) / `#f4f6f5` (drenched) |
| Kicker / eyebrow | JetBrains Mono 600, uppercase, 0.2em tracking | 0.7rem | 9.5–10pt | accent-text / teal-bright on drenched |
| Body | Outfit 300–400, lh 1.6–1.8 | 0.95–1.05rem | 14–15pt | text-2 (light) / `rgba(244,246,245,.82)` (drenched) |
| Pull quote | Cormorant Garamond 400 italic | 1.15–1.3rem | 14–16pt | text |
| Code display | JetBrains Mono 600, uppercase, 0.15–0.18em | 1rem–1.15rem | 18–24pt | accent-text; chip: teal-dim bg, 6px radius |
| Footer / legal | Outfit 400, uppercase, 0.1em | 0.65rem | 8.5–9pt | text-muted |

Cormorant Garamond loads italic 300/400/500 only — never fake an upright or a bold italic.
Mono is for structured data (Codes, stamps, kickers); never for narrative sentences.

## 3 · Colour — three slide surfaces

Consume role tokens (`--accent-ui` / `--accent-text` / `--accent-fill` + `--on-accent`),
never raw teal hexes. Values are dual per theme: `#0d9488` light / `#2dd4bf` dark.

**Light (default).** The working surface for body slides. Achromatic surfaces
(`bg → surface → panel → deep`), teal on touch points and the Code only, ≤10% of any
slide (the Teal Rarity Rule). Flat: 0.5px borders, no shadows, no gradients.

**Dark (terminal).** The same neutral ramp inverted, for decks presented in a dark
theme. Teal fills carry the `#0d1514` ink-flip — white on teal (1.9:1) is forbidden in
every format, including exports.

**Drenched (v3.5 deep).** The presentation signature — the deep teal-black gradient
`linear-gradient(165deg, #0c1413, #0d2b27 55%, #0d3530)` with `#5eead4` (teal-bright)
kickers/accents and near-white text. Budgeted, not ambient:

- **Bookends** — the cover and the close are drenched. That is the default deck shape.
- **At most one interior drenched moment** — earned by the slide with the number or
  claim that deserves the room (the round, the flagship stat). Never two in a row.
- **Amber `#f3b04e` is the single sharp accent on drenched** — one element per slide,
  reserved for the figure that matters. Amber never appears on light surfaces (the
  light-mode semantic warning `#b45309` is a different job).
- Drenched slides keep their colours in both site themes — they do not re-theme.

> **Status (RCTX-96):** the drenched treatment is a v3.5-b signature pending EC
> ratification. This budget — bookends + one earned interior moment — is the
> **recommended stance** and what the investor deck ships with; if RCTX-96 lands
> differently, this section changes in the same pass.

## 4 · Grid and layout

- **File canvas:** 1280×720 (16:9) · 48px safe margin all sides · content max 1184px.
- **Living page:** slide frames max-width 900px, padding `clamp(32px, 6vw, 64px)`,
  0.5px border (`--rly-border`), 12px radius, one column; frames stack with 24px gaps.
  No horizontal overflow at 390px.
- **One idea per slide.** Headline ≤2 lines at full width; body ≤2 short paragraphs.
- Callout blocks: surface bg, 0.5px border, 8px radius. Rules/dividers: 1px border
  colour. No side-stripe accents, ever.

## 5 · Slide archetypes — mapped to the M-ID families

| Archetype | M-IDs | Anatomy |
|-----------|-------|---------|
| **Cover** | M01 | Drenched. Wordmark (Relay, Outfit 600) top-left · display headline pair · one-line framing sentence · entity + framing line + date in mono at the base. |
| **Statement** | M02, M03, M04, M15 | Light. Kicker · display headline · 1–3 sentence body · pull quote base · optional right-aligned callout line (`--rly-surface` block). |
| **Flow** | M06 (NDA variant M11) | Light. Kicker · headline · three numbered nodes **Send → Route → Receive** with hairline arrows · Code chip beneath ("one Code carries it") · pull quote. |
| **Category** | M07, M14 | Light. Kicker · headline · three category rows (name + verb phrase, surface blocks) · resolution sentence with the teal moment on "Relay" · pull quote. Categories stay generic below the NDA gate. |
| **Proof / Stat** | M08, M09, M21, M23 | M08: light, proof list ("in use daily" items) + protection line. Round/ask slides (M09/M23) may take the interior drenched moment: the figure dominant in amber, support items small, terms linked not duplicated. |
| **Close** | M05 | Drenched. Display headline · the deck's variant line · contact block (name · email · domain, mono) · confidential line. |

## 6 · Motifs

- **Send → Route → Receive nodes** — the product motif: numbered circles (hairline teal
  ring, mono numeral), connected left-to-right by hairline arrows. Teal-bright on
  drenched. This is a *movement* metaphor and stays one: never annotate it with
  envelope/payload internals, signing, or routing detail (disclosure gate).
- **The Code chip** — mono, uppercase, tracked, accent-text on teal-dim, 6px radius.
  Use an example-shaped Code (e.g. `A4K9R2`), never a live one, and never imply a fixed
  length in copy or layout.
- **The Open Signal mark** — inline SVG, `currentColor` only, never boxed, never `#00D9C8`
  as a static fill (motion-only). Sizes and clear space per `brand/relay-design-system.md`.
- No padlocks, no shields on OPEN-tier slides, no architecture diagrams anywhere below
  NDA+FILED.

## 7 · Font delivery for exports — the policy

The v1 failure this guide exists to prevent: a deck exported with whatever fonts the
tool found. The position:

1. **The living page is the delivery.** Gated surfaces: mandatory (no files). Everywhere
   else: default. The page loads the real brand fonts; nothing can substitute them.
2. **When a file must exist, it is a PDF rendered from the same HTML** (print CSS /
   headless Chromium) **with fonts embedded.** All three families — Cormorant Garamond,
   Outfit, JetBrains Mono — are SIL OFL licensed: embedding and subsetting are
   unrestricted. The PDF is the **visual of record** for any file that leaves our hands.
3. **PPTX only when a recipient explicitly requires an editable deck.** It ships with
   fonts embedded (PowerPoint font embedding; OFL permits it), **accompanied by the PDF
   of record**, and with the knowledge that embedding does not survive every host
   (Keynote, Google Slides, and LibreOffice ignore it). For those hosts the governed
   substitution stack applies — declared per register, never left to the tool:

   | Register | Brand | Substitution stack |
   |----------|-------|--------------------|
   | Display | Cormorant Garamond italic | Georgia italic → Times New Roman italic |
   | UI / body | Outfit | Segoe UI → Helvetica → Arial |
   | Mono | JetBrains Mono | Consolas → Courier New |

   Cambria and Calibri are never part of the stack. A substituted deck is a survival
   mode, not the brand: it is never the version of record and never the first thing a
   recipient sees.

## 8 · Do / Don't

**Do**

- Cut slide copy verbatim from the Master Copy Deck, M-ID provenance in a comment above
  every slide, and re-cut when the source changes — never patch a derived deck's facts.
- Keep one display headline per slide, and the teal moment rare enough to mean something.
- Bump the page's version + date stamp on every copy change.
- Build the deck to survive both site themes: light slides on tokens, drenched slides
  self-contained.
- Respect `prefers-reduced-motion` on any animated motif.

**Don't**

- Don't put version codes, M-IDs, tier tags, or slide numbers on a slide face.
- Don't add downloads to a living gated surface — that posture is a decision, not a gap.
- Don't use white on teal (any mode, any format), gradient text, glassmorphism,
  side-stripe borders, or shadows on resting surfaces.
- Don't exceed the drenched budget (bookends + one earned interior moment), and don't
  put amber on a light surface.
- Don't let an export pick its own fonts. Cambria/Calibri in a Relay deck is a defect.
- Don't restate NDA-tier numbers (cap, discount, returns) on an OPEN-tier slide — link
  to the gated page that owns them.
- Don't phrase a target as though it were achieved. "First milestone: 10% committed" reads
  as money already in when committed is $0 — say "10% **of target**". Any figure a reader
  could mistake for progress must be unambiguous on the slide face, not just on the page
  that owns it. (Recorded defect, 2026-08-07.)

---

*Companion: `GUIDE.documents.md` (page chrome, watermark, versioning) ·
`brand/relay-deck-tokens.css` (16:9 file spec) · reference implementation: the investor
Introduction deck at `relay-resources` `docs/investor/introduction.md` (investor branch).*
