# Ludo print and PDF guide

> How to produce proposals, one-pagers and posters in Ludo style: a physical pt type ramp, page geometry in mm, and the exact colour handling that keeps #825FFF from arriving blue-grey off a press.

Source of truth: `apps/ui/tokens/ludo.tokens.json` v0.1.0. Served from https://ui.ludo.computer/guides/print-pdf.md. Generated 2026-07-26. Self-contained: every value is inline, no images required.

Ludo runs venue operations (cashless payments, vendor settlement, visitor apps) at royal shows, fairs and festivals. Print pieces go into procurement packs and board rooms. Real people verify every number, so use only approved proof points (listed under Colour and claims below).

## Use these tokens

```text
Brand primary          #825FFF   (screen value; see Colour for print handling)
Primary readable       #7351EF   (links and small accents on white)
Primary pressed        #5A3FD0   (darkest brand purple)
Primary muted          #EDE7FF   (light purple tint fields)
Soft tint              #F4F2FF   (faintest purple wash)
Secondary pink         #F76CAF   (decorative only in print)
Accent yellow          #FFD059
Accent green           #67E8AA
Ink / near-black       #09090B   (zinc-950; body text, set as 100% K on press)
Text muted             #3F3F46   (zinc-700; captions, minimum grey for paper)
Table rule             #E4E4E7   (zinc-200)
Table header fill      #F4F4F5   (zinc-100)
Zebra row fill         #FAFAFA   (zinc-50)
Typeface               Geist (sans), Geist Mono (figures, code)
Font weights           400 body, 500 headings, 600 emphasis. Cap is 600. Nothing heavier.
Radius (boxes, cards)  4 / 6 / 8 / 12 px on screen; in print use 1.5 / 2 / 3 / 4 mm
```

## Layout

All page numbers below are for A4 (210 x 297 mm), the default document size for AU proposals.

- Margins: 18 mm on all edges for documents. Absolute minimum 12.7 mm (0.5 in).
- Text block: 110 to 120 mm wide for single-column body text, or two columns of 82 mm with a 10 mm gutter. A full-width A4 line at 10.5 pt runs past 90 characters and is hard to read. Target 45 to 75 characters per line, 66 ideal (Bringhurst, The Elements of Typographic Style).
- Bleed: 3 mm beyond trim for anything printed to the edge, plus a 5 mm safe zone inside trim for live content.
- Image resolution: 300 dpi at final printed size for offset and toner. 150 dpi is acceptable for large-format posters viewed from 2 m or more. Never place 72 or 96 dpi web assets.
- Rules and hairlines: 0.25 pt minimum stroke. 1 px web hairlines disappear or fatten unpredictably on press. Standard table rules: 0.5 pt.
- Footer (every page except the cover): left "Ludo Leisure Suite · Sendrato Australia Pty Ltd", centre "ludo.computer", right "Page X of Y". Set at 7.5 pt, #3F3F46. Date the document on the cover in full ("26 July 2026", Australian day-first order).
- Proposals: add "Commercial in confidence" at 7.5 pt in the footer or cover when the content is priced.
- Logo: wordmark asset at https://ui.ludo.computer/LudoLogo.svg (gradient wordmark), flat four-dot mark at /ludo-logo-mark.svg, square icon at /ludo-icon.png (512 x 512). Clear space on all sides equals the height of the L in the wordmark. Use the flat mark for single-colour printing. Name the company "Ludo Computer" in public copy, "Ludo" once established, "Ludo Leisure Suite" in legal and formal contexts. Never "LUDO", "ludo" or "Ludo." with a full stop.

### Posters

- Legibility maths (same visual-acuity basis as ANSI/AVIXA V202.01 DISCAS): capital letter height in mm >= viewing distance in mm / 250 for bare legibility, / 150 for comfortable reading. At 3 m that is 12 mm caps minimum, 20 mm comfortable (roughly an 80 pt font).
- ADA 2010 §703.5 sets 16 mm (5/8 in) minimum character height for signage read at distance. Treat that as the floor for any wayfinding-adjacent poster text.
- Posters carry one message, one CTA, one URL. Print the full URL, never "scan to learn more" alone. Pair every QR code with the printed URL.

## Type

The web ramp starts at 16 px, which converts to roughly 12 pt. Do not import it. Print is read at 300 to 400 mm on reflective paper, so a true pt ramp is smaller. Points are physical: 1 pt = 0.353 mm.

| Role | Size / leading | Weight | Colour |
|---|---|---|---|
| Cover title | 32 pt / 36 pt | 500 | #09090B |
| Document title (H1) | 22 pt / 26 pt | 500 | #09090B |
| Section head (H2) | 15 pt / 19 pt | 500 | #09090B |
| Sub-head (H3) | 10.5 pt / 14 pt | 600 | #09090B |
| Body | 10.5 pt / 15 pt | 400 | #09090B |
| Table body | 9 pt / 12 pt | 400 | #09090B |
| Caption | 8 pt / 11 pt | 400 | #3F3F46 |
| Fine print | 7 pt / 9.5 pt (6 pt floor) | 400 | #3F3F46 |
| Footer | 7.5 pt | 400 | #3F3F46 |

- Large-print accessible editions: 18 pt body (ADA / APH large-print convention).
- Figures, prices and totals: Geist Mono or tabular lining figures, right-aligned.
- Emphasis is weight 600 or the brand purple, never both at once, and never anything above 600.

### Pricing tables

- Horizontal rules only, 0.5 pt #E4E4E7. No vertical rules.
- Header row: #F4F4F5 fill, 8.5 pt, weight 600.
- Row padding: 2.5 mm minimum above and below text.
- Optional zebra striping: #FAFAFA on alternate rows.
- Totals row: weight 600 with a 0.75 pt top rule in #09090B.
- Every price states currency and tax status: "AUD 12,500 ex GST". Never a bare number.

## Colour

There are no print tokens. The token file carries screen hex values only, so print work maps them explicitly:

- Body text: never print small text as 4-colour rich black. Set body text to 100% K (the on-screen equivalent is #09090B). Rich black (for example C40 M30 Y30 K100) is fine for large solid fields, not for text under 12 pt, where mis-registration blurs it.
- Grey text: zinc-400 (#A1A1AA) and zinc-500 (#71717A) fill in or vanish with dot gain on uncoated stock. Minimum printed grey is zinc-700 (#3F3F46). Body stays at #09090B / 100% K.
- Screen-only PDFs (emailed proposals): keep sRGB, no conversion. Office toner printers accept RGB PDFs and convert internally.
- Offset / commercial print: deliver PDF/X-4 (ISO 15930-7) with a FOGRA51 output intent (PSO Coated v3, per ISO 12647-2:2013) for coated stock in AU and EU, or GRACoL 2013 for US jobs. Total ink coverage: about 300% coated, 260 to 280% uncoated. Rendering intents: relative colorimetric with black point compensation for images, perceptual for large saturated brand fields.
- #825FFF is out of gamut for coated offset (its chroma exceeds FOGRA51 and GRACoL). The approved handling, in order of preference:
  1. Keep purple to tints (#EDE7FF, #F4F2FF) and large fields where the shift reads less.
  2. Use one standard process build, approximately C67 M68 Y0 K0, and accept that it prints duller and darker than screen.
  3. For brand-critical covers, specify a Pantone spot in the 2665 C / Violet C family and proof it.
  4. For toner jobs, proof on the actual press before the full run.
  Never let a print vendor auto-convert unmanaged.
- Avoid large solid #825FFF floods on uncoated paper (mottling).
- Chart colours in print: the categorical ramp order is #825FFF, #FFD059, #F76CAF, #67E8AA, #C8B6FF, #3FB6C4, #5B6CFF, #FF8A5B, #B45FD4, #A8D86A. Several pairs converge in greyscale, so label series directly on the chart and add pattern or position cues. Never rely on hue alone: many proposals get photocopied in mono.
- Sequential data (heatmaps, ranked bins): use the purple ramp #EDE7FF, #C8B6FF, #A589FF, #825FFF, #5A3FD0. It survives mono copying because it is a single hue darkening.

### Approved proof points

Use only these Ludo metrics in print, exactly as sourced: 900K+ attendance at the Sydney Royal Easter Show, 500+ devices, 3 million transactions, 99.9% operational uptime, 400,000+ map sessions, 89% self-service (Ekka 2025). If a number is not on this list, do not print it.

## Do / Don't

- Do set body text at 10.5 pt with 15 pt leading. Don't import the 16 px web size, which lands at an oversized 12 pt with web-length lines.
- Do deliver PDF/X-4 with a FOGRA51 output intent for offset work. Don't ship a raw sRGB PDF to a commercial press.
- Do keep printed greys at zinc-700 (#3F3F46) or darker. Don't print zinc-400 or zinc-500 text on paper.
- Do print full URLs and pair QR codes with them. Don't leave interactive affordances (buttons, truncated links) in a printed layout.
- Do use the flat four-dot mark for single-colour printing with clear space equal to the height of the L. Don't stretch, recolour or crop the wordmark.
- Do label chart series directly and use the sequential purple ramp for magnitude data. Don't rely on hue alone in a document that will be photocopied.
- Do state "AUD" and GST status on every price. Don't print bare numbers in a pricing table.
- Do write in Australian English, active voice, with "visitor" never "guest". Don't use em dashes anywhere.

## Checklist before shipping

- [ ] Margins 18 mm (12.7 mm minimum), 3 mm bleed and 5 mm safe zone on edge-printed pieces
- [ ] Body 10.5 pt / 15 pt, line length 45 to 75 characters
- [ ] All text #09090B (100% K on press); no grey lighter than #3F3F46
- [ ] Images 300 dpi at final size; rules 0.25 pt or heavier
- [ ] Offset jobs exported as PDF/X-4 with FOGRA51 (or GRACoL 2013 for US) output intent
- [ ] #825FFF handled deliberately: tint, approved process build (~C67 M68 Y0 K0), or Pantone spot
- [ ] Footer carries Ludo Leisure Suite · Sendrato Australia Pty Ltd, ludo.computer, page numbers
- [ ] Every metric traces to the approved proof-point list; every price states AUD and GST status
- [ ] Full URLs printed; no screen-only affordances left in the layout
- [ ] No em dashes; Australian English; "visitor" never "guest"; nothing set heavier than weight 600
