DOC BRAND-01 · Field Manual · Vol. 01

Propaganda Inc
Brand Guidelines.

The operating manual for the Propaganda Inc identity. Logo, color, type, the dossier component library, motion, and voice — everything we build is built to this. Secretive and literal. Propaganda.

01

Logo system

The suffix trap

The -light / -dark suffix names the BACKGROUND the logo sits on — not the logo's own ink color. Reading "logo-light = light logo" is wrong and ships invisible white logos onto cream paper. Always pick by the background.

FileInkUse onContents
/img/logo-light.svgBlack #0a0a0aLight bg (cream, white)Wordmark + sigil
/img/logo-dark.svgWhiteDark bg (black)Wordmark + sigil
/img/logo-full.svgWhiteDark bg (alt file)Wordmark + sigil
/img/sigil-light.svgBlackLight bgSigil only
/img/sigil-dark.svgWhiteDark bgSigil only
/img/favicon.svgFaviconMark

Asset downloads — one click

Sizing & clearspace

Nav lockup sits at 24px height (20px ≤ 768px). Keep clearspace equal to the sigil's height on all sides. Never the legacy CSS 4-dot sigil placeholder — only the real SVGs.

Client logos on dark

Transparent SVG/PNG → filter:brightness(0) invert(1). Opaque light-bg PNG → grayscale(1) invert(1) contrast(1.15) brightness(1.1); mix-blend-mode:screen.

02

Color

Dark theme — default web
Background
#050505
--bg
Text primary
#f5f5f3
--text
Accent (red)
#b91c2e
--accent
Accent on dark
#d63a4c
--accent-2
Paper (cream)
#f0e6cf
--paper
Text secondary
#b8b8b4
--text-2
Text muted
#7d7d78
--text-3
Status green
#5ee39e
--good
Light theme — "Propaganda Paper"
Paper
#f4f1eb
--paper
Ink primary
#0a0a0a
--ink
Accent (red)
#b91c2e
--accent
Black panel
#0c0b09
--black
Card
#faf8f3
--card
Ink secondary
#33312d
--ink-2
Rule
#d4d0c5
--rule
Status green
#0f8c4b
--good

Red (#b91c2e) is the only loud color. Use it sparingly — eyebrows, pins, redaction bars, cursive accents, corner brackets, one primary CTA per viewport. Never pure #000 on hero surfaces; use #050505 dark / #f4f1eb light.

03

Typography

Aspekta for headers. Geist for body. Never set headers in Geist. Geist Mono for labels & eyebrows. Dancing Script for red cursive accents only.

Display / Headers — Aspekta (self-hosted, weights 50–1000)
Manufacture conviction.
Aa 200Aa 400Aa 540Aa 700Aa 900
/fonts/AspektaVF.woff2 · format('woff2-variations') · heading weight 540 · tracking −0.03em
Body / Paragraph — Geist

You are not selling to a company. You're selling to one person — a founder, a growth lead, a VP — with their career, their bonus, and their reputation on the line. They aren't making a purchase. They're making a career-risk decision.

Geist · 16–19px · line-height 1.55–1.7
Labels / Eyebrows — Geist Mono
FIELD BRIEFING · PI-HOME-001
STEP 2 OF 2 · 0.2em TRACKING
10–11px · uppercase · 0.18–0.24em
Accents — Dancing Script
redacted.
— DT
Red cursive accents only · never body
04

The dossier component library

These are what make a page unmistakably Propaganda Inc. Document IDs, redaction reveals, file tabs, corner brackets, black panels, hand-built instrument-panel SVGs, crosshair cursor, film grain.

Eyebrow
Field Briefing
Document pill
DOC 03 · PI-VSL-001
Corner brackets

Red 2px L-brackets on opposite corners. Hover "tracking" frames on interactive cards.

Redaction reveal — click it
This page has been redacted.
File tab
Case File · 001
Black panel + offset shadow
$0 upfront.
We put our own money on the line first.
Banned flourishes — tried and killed
  • DECLASSIFIED / VERIFIED rubber stamps ("tacky")
  • Ghost watermark letters behind cards
  • Poster grids
  • The legacy CSS 4-dot sigil placeholder
  • Stock or clipart SVGs — instrument panels are always hand-authored to the SVG spec
05

Buttons & CTAs

One button shape: the pill. Every button — primary, secondary, nav — is fully rounded (border-radius: 100px), set in Geist at 600 weight, with a Geist Mono arrow that slides right on hover and a 2px lift. Buttons are never sharp or lightly-rounded. One primary CTA per viewport.

Primary — the one action that matters

White (.btn-w) for dark surfaces; red (.btn-red, --accent) for emphasis or light surfaces. Reserve for the single most important action on a page.

Secondary / ghost & nav pill

Ghost (.btn-g) — outlined, sits beside a primary for the lower-priority action. Nav pill — compact, top-right of every page.

Specs

Radius
100px · pill
Padding
15px / 30px
Weight
600 · Geist
Size
15–16px
Arrow
Geist Mono →
Hover
translateY(−2px)
Button don'ts
  • Sharp or small-radius corners — buttons are always full pills
  • More than one primary CTA competing in a single viewport
  • The arrow set in Geist or Aspekta — it is always Geist Mono
  • Resting drop shadows — elevation appears on hover only
06

Motion

Scroll reveals

IntersectionObserver adds a class; 0.5–0.8s ease. Redactions open once and don't re-close.

Idle loops are quiet

4s phone-ring cycle, gentle float on proof cards, breathing status dots. Nothing bounces.

Hover

Scale ≤ 1.07, border-color shifts, bracket reveals. No color inversions.

07

Voice & copy

08

Propaganda Paper

The light editorial variant — funnels, sales letters, research, the method doc. Aspekta heads, serif justified columns, red drop caps, black feature panels.

§ Specimen — Propaganda Paper

The reason your spend isn't converting.

A click is a behavior. Nobody books a demo, puts their name on it, and walks it into their boss because they clicked — they do it because they're convicted. The entire job of growth is to collapse the gap between the two, on purpose, with behavioral science instead of luck.