
Brand guide
Loud, funny, unbothered. Use this so every new page looks like it belongs.
Logo

sm — dense headers / admin

md — default page header

lg — home hero
- Always render the logo through
<SiteLogo />— never a raw<img>. It ships responsive WebP + PNG sources for retina screens. - Use
size="lg"once per page at most (hero). Every other header usesmd; tight toolbars usesm. - Pass
priorityon the logo that appears above the fold; leave it off everywhere else so it lazy-loads. - Keep at least 16px of clear space around it. Never recolor, stretch, crop, add outlines, or place it on a busy photo.
- The hard black drop shadow is part of the mark — don't remove it.
Colors
Hot
var(--hot)Primary CTAs, highlights
Lime
var(--lime)Success, streaks, secondary CTA
Cyan
var(--cyan)Info panels, sliders
Yolk
var(--yolk)Legal / long-form backgrounds
Grape
var(--grape)Accent blocks, premium tiers
Ink
var(--foreground)Borders, hard shadows, text
- Only use these tokens (defined in
src/styles.css). Never hardcode hex colors or Tailwind palette colors in components. - One loud background per page, black ink for text and borders. Two loud colors fighting on the same surface = pick one.
- Text on any loud background is near-black (#0a0a0a) for contrast, never gray.
Typography
Archivo Black — headings
Space Grotesk — body, buttons and labels
- Headings:
font-display, UPPERCASE, tight leading (leading-[0.95]), oneh1per page. - Body:
font-body, 15–17px, relaxed leading. Small print istext-[11px] font-bold uppercase tracking-widestat ~70% opacity. - Never introduce a third typeface. No serif, no Inter, no Poppins.
Shape, shadow & motion
- Panels use
card-brutal/card-brutal-lg; buttons usebtn-brutal btn-brutal-press. Borders 3–4px solid ink, offset hard shadow, never soft blur. - Radii come from
--radius(rounded-2xl / full pills). No square corners. - Motion is punchy and short:
animate-pop,animate-shake,animate-wobble. Nothing longer than ~500ms except idle drift.
Voice
- Anti-affirmations: funny, blunt, self-aware. Never earnest self-help.
- Profanity is opt-in and controlled by the spice slider — respect the setting.
- Button labels are short and snarky. Legal pages stay plain and readable.