diff --git a/docs/superpowers/specs/2026-06-26-email-templates-brand-hygiene-design.md b/docs/superpowers/specs/2026-06-26-email-templates-brand-hygiene-design.md
new file mode 100644
index 0000000..98069f4
--- /dev/null
+++ b/docs/superpowers/specs/2026-06-26-email-templates-brand-hygiene-design.md
@@ -0,0 +1,214 @@
+# Email templates: brand + hygiene pass
+
+**Date:** 2026-06-26
+**Status:** Design (spec only — no implementation)
+**Scope:** `email/` directory of `nodebb-theme-westgate`.
+
+## Problem
+
+The 10 templates under `email/` are NodeBB core's Cerberus boilerplate copied
+verbatim. Three issues:
+
+1. **No brand.** All colors are generic greys — `#f6f6f6` page, `#ffffff`
+ card, `#222222` button, `#333/#555/#888/#aaa` text. None of the Westgate
+ palette (plum, gold, red, parchment) appears anywhere. Emails do not look
+ like they came from the same product as the forum.
+2. **Massive duplication.** Each template inlines the full `
` (reset CSS,
+ media queries), header, and footer — ~400 lines per file, ~390 of them
+ identical across all 10. `partials/header.html`, `partials/footer.html`, and
+ `partials/post-queue-body.html` exist but **nothing imports them** — they are
+ dead code, and the README wrongly claims they are included.
+3. **Inbox hygiene gaps.** Every template has an empty `` and no
+ preheader (inbox preview text). These make messages look unfinished in the
+ inbox list and are easy wins under deliverability heuristics.
+
+## Goals
+
+- Reskin all 10 templates to the Westgate brand using a **light, client-robust**
+ treatment (not full dark — see Rejected alternatives).
+- Eliminate the duplication by wiring up real shared partials with Benchpress
+ `IMPORT`, mirroring how NodeBB core structures its own email templates.
+- Close the template-level hygiene gaps (real ``, preheader, valid HTML,
+ no hardcoded copy).
+- Document the deliverability work that templates **cannot** fix, so the reskin
+ is not mistaken for a complete anti-spam fix.
+
+## Non-goals
+
+- Full dark-background email design (rejected — see below).
+- Rewriting user-facing copy / in-world tone. Copy stays in the existing
+ `[[email:…]]` keys; this pass only adds keys that are missing. A copy/voice
+ pass is a separate language-file task.
+- Any change to SPF/DKIM/DMARC, sending domain, or mail-server config (out of
+ template scope; flagged below for ops).
+
+## Constraints (email rendering)
+
+These shape every decision and must be respected in implementation:
+
+- **No CSS custom properties.** Outlook and Gmail strip `var(--…)`. The brand
+ palette is therefore applied as **literal hex, inline on each element**. The
+ `--wg-*` tokens in `scss/westgate/_tokens.scss` are the source of truth for
+ the values, but cannot be referenced at runtime — they are copied as literals.
+- **Table layout, inline CSS, MSO conditional comments stay.** Do not refactor
+ into modern/flex/grid CSS. The shared `