16 KiB
Synthesia Ltd. — Corporate Document Brand Guide
Version 1.0 · For SDS / TDS / Invoices / Letters document pipeline
0. Audit of the Old Template
For reference, here's what the current template actually contains (extracted from old_blank.doc):
| Element | Old value |
|---|---|
| Font | Arial only, no weight/size system |
| Header | One wide logo image (2480×458px), dominant blue #004C98 |
| Footer | A thin flat blue bar image (2482×43px), no page numbers, no company data |
| Body | Blank — no heading styles, no table styles, no defined margins beyond Word defaults |
| Colors | Just the logo blue; no defined palette |
Logo and its blue are kept exactly as-is per your instructions — everything below is built to complement it, not replace it.
1. Color Palette
| Role | Name | Hex | Usage |
|---|---|---|---|
| Primary | Synthesia Blue | #004C98 |
Logo (unchanged), header rule, table header fill, H1 headings, links |
| Primary Dark | Deep Blue | #00335F |
Footer bar, pressed/emphasis states, dense fills |
| Secondary | Slate | #2B2E33 |
Body text, H2/H3 headings |
| Muted Text | Steel Gray | #5B6670 |
Footer text, captions, doc metadata, page numbers |
| Accent | Certification Blue | #0071B8 |
Left accent bars on H2, dividers, icon tint — matched to the new TÜV Rheinland badge blue so both blues in the document feel intentional together |
| Highlight / Table Stripe | Ice Tint | #F2F6FA |
Alternating table rows, callout box backgrounds |
| Border / Rule | Hairline Gray | #D9E1E8 |
Table borders, section dividers |
| Background | White | #FFFFFF |
Page background |
| Warning (SDS hazard use only) | Safety Amber | #C77700 |
Hazard/precaution call-outs — kept separate from brand blue so it isn't confused with brand color |
| Danger (SDS hazard use only) | Safety Red | #B3261E |
Critical hazard call-outs only |
Note: Amber/Red are reserved strictly for GHS/hazard signal words inside SDS content — never used decoratively — so hazard cues stay visually distinct from brand styling.
2. Typography
Calibri replaces Arial as the base family — a genuinely more modern, rounder sans-serif that still ships by default with Word and LibreOffice (as metrically-compatible "Carlito"), so there's zero font-embedding risk on a generation server.
| Style | Font | Size | Weight | Color | Notes |
|---|---|---|---|---|---|
| Document Title (H1) | Calibri | 18pt | Bold | #004C98 |
All-caps optional for TDS/SDS titles |
| Section Heading (H2) | Calibri | 13pt | Bold | #2B2E33 |
Left accent bar, see §7 |
| Subsection (H3) | Calibri | 11pt | Bold | #2B2E33 |
Small-caps style via manual caps if needed |
| Body text | Calibri | 10pt | Regular | #2B2E33 |
Line spacing 1.15 |
| Table header text | Calibri | 9.5pt | Bold | #FFFFFF |
On #004C98 fill |
| Table body text | Calibri | 9.5pt | Regular | #2B2E33 |
|
| Footer text | Calibri | 7.5pt | Regular | #5B6670 |
|
| Caption / metadata (doc ref, rev, date) | Calibri | 8pt | Regular | #5B6670 |
|
| Emphasis | Calibri | inherit | Bold or Italic | inherit | Bold for key terms, italic for chemical/product names |
If the pipeline can guarantee font embedding on every generation target, a geometric sans like Montserrat (headings) paired with Lato (body) would push further into "modern" territory — but that adds embedding complexity and licensing checks. Calibri is the safe default; flag if you want the embedded-font route explored.
3. Layout Grid (A4)
Page size: A4 — 210mm × 297mm
Margin top: 3.6 cm (clears the header logo + rule)
Margin bottom: 2.8 cm (clears the footer bar + text)
Margin left: 2.2 cm
Margin right: 2.2 cm
Header distance: 1.0 cm from top edge
Footer distance: 1.0 cm from bottom edge
Paragraph spacing: 6pt before / 6pt after
Line spacing: 1.15
Gutter: 0 (single column body; tables may span full text width)
4. Header Design
┌──────────────────────────────────────────────────────────┐
│ [LOGO — corrected crop, left] [ISO SEAL — right] │
│ SDS-2026-014 · Rev 3 · 2026-07-04 │
├──────────────────────────────────────────────────────────┤ ← 1pt rule, #004C98
- Logo: left-aligned, scaled to 1.5 cm height, correct full crop (hexagon mark fully intact + wordmark), locked aspect ratio, never stretched.
- ISO seal: right-aligned in the same row as the logo, scaled to 1.5 cm height — the compact certified-seal icon only (triangle + "TÜVRheinland" + "CERTIFIED" banner), not the wider text panel.
- Below both: one slim right-aligned line — doc code · revision · date, muted gray, 8pt. No document-type label here anymore (it was redundant with the H1 title in the body), which keeps the header to just two lines total plus the rule.
- A single 1pt horizontal rule in
#004C98separates the header block from body content.
5. Footer Design
├──────────────────────────────────────────────────────────┤ ← 1pt rule, #D9E1E8
│ Synthesia Ltd. · VAT BG121306542 · Todor Radunchev 9, │
│ Krivina 1588, Bulgaria · +359 2 974 4968 · office@synthesia.bg │
│ Certified ISO 9001:2015 · ISO 14001:2015 · ISO 45001:2018 │
│ — TÜV Rheinland, ID 9105074744 (italic) │
│ SDS-2026-014 Page 1 of 6 │
└──────────────────────────────────────────────────────────┘
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ← 3pt solid bar, #00335F
- Top line: full company legal + contact block, centered, 7.5pt,
#5B6670. - Second line: certification statement in small italic text, centered, 7pt,
#5B6670— the visual seal lives in the header (see §4); this line keeps the compliance detail (cert numbers, TÜV ID) documented without repeating the graphic. - Third line: document ref (left) and "Page X of Y" (right) on the same line, 8pt — merged into one row rather than stacked, to keep the footer from feeling bloated.
- Bottom: a slim 3pt solid brand-blue bar (
#00335F) as the page's visual anchor, drawn as a table/shape so it scales losslessly at any print resolution.
Certification update: the visual ISO seal moved from the footer up into the header (top-right, alongside the logo) — a cleaner, more prominent placement than buried at the page bottom. The certification details (ISO 9001:2015 / 14001:2015 / 45001:2018, TÜV Rheinland, ID 9105074744) stay as small text in the footer so nothing is lost, just de-emphasized relative to the header seal.
6. Table Styles
| Element | Style |
|---|---|
| Header row fill | #004C98 |
| Header row text | White, bold, 9.5pt |
| Body row (odd) | White background |
| Body row (even) | #F2F6FA background |
| Borders | 0.5pt, #D9E1E8, all sides |
| Cell padding | 4pt top/bottom, 6pt left/right |
| First column (parameter/property names in SDS tables) | Bold, #2B2E33 |
| Row height | Auto, minimum 0.6cm |
7. Section Heading Styles
- H1 (Document Title): 18pt bold,
#004C98, followed by a 2pt bottom border in#004C98, 12pt space after. - H2 (Section, e.g. "3. Composition/Information on Ingredients"): 13pt bold
#2B2E33, preceded by a 4pt-wide vertical accent bar in#4A7FB5(implemented as a left cell border or a thin colored table column), 10pt space before / 6pt after. - H3 (Subsection): 11pt bold
#2B2E33, no rule, 8pt space before / 4pt after. - Numbering: keep GHS/SDS-mandated numbering (e.g. "3.1") in the same weight/color as the heading text — no separate numbering color.
8. Design Tokens (for python-docx / pandoc implementation)
colors:
primary: "004C98"
primary_dark: "00335F"
secondary_text: "2B2E33"
muted_text: "5B6670"
accent: "0071B8"
highlight: "F2F6FA"
border: "D9E1E8"
background: "FFFFFF"
warning_amber: "C77700" # SDS hazard use only
danger_red: "B3261E" # SDS hazard use only
fonts:
family: "Calibri" # falls back to metric-compatible "Carlito" on LibreOffice
sizes_pt:
h1: 18
h2: 13
h3: 11
body: 10
table_header: 9.5
table_body: 9.5
footer: 7.5
caption: 8
weights:
h1: bold
h2: bold
h3: bold
body: regular
page:
size: A4
width_mm: 210
height_mm: 297
margin_top_cm: 3.6
margin_bottom_cm: 2.8
margin_left_cm: 2.2
margin_right_cm: 2.2
header_distance_cm: 1.0
footer_distance_cm: 1.0
rules:
header_rule_pt: 1
header_rule_color: "004C98"
footer_rule_pt: 1
footer_rule_color: "D9E1E8"
footer_bar_pt: 3
footer_bar_color: "00335F"
h1_underline_pt: 2
h1_underline_color: "004C98"
h2_accent_bar_pt: 4
h2_accent_bar_color: "0071B8"
table:
header_fill: "004C98"
header_text_color: "FFFFFF"
row_alt_fill: "F2F6FA"
border_pt: 0.5
border_color: "D9E1E8"
cell_padding_pt: [4, 6, 4, 6] # top, right, bottom, left
logo:
file: "corrected full logo crop (hexagon mark + wordmark, nothing cut off) — design/color unchanged"
height_cm: 1.5
alignment: left
placement: header, top-left
aspect_ratio: locked
iso_seal:
file: "TÜV Rheinland certified-seal icon only (triangle + wordmark + CERTIFIED banner), cropped from the full badge"
height_cm: 1.5
alignment: right
placement: header, top-right (same row as logo)
aspect_ratio: locked
certification_text:
content: "Certified ISO 9001:2015 · ISO 14001:2015 · ISO 45001:2018 — TÜV Rheinland, ID 9105074744"
placement: footer, small italic line
size_pt: 7
company:
legal_name: "Synthesia Ltd."
vat: "BG121306542"
address: "Todor Radunchev 9, Krivina 1588, Bulgaria"
phone: "+359 2 974 4968"
email: "office@synthesia.bg"
iso_certs: ["ISO 9001:2015", "ISO 14001:2015", "ISO 45001:2018"]
certification_body: "TÜV Rheinland"
certification_id: "9105074744"
# python-docx quick reference
from docx.shared import Pt, Cm, RGBColor
PRIMARY = RGBColor(0x00, 0x4C, 0x98)
PRIMARY_DARK = RGBColor(0x00, 0x33, 0x5F)
SECONDARY = RGBColor(0x2B, 0x2E, 0x33)
MUTED = RGBColor(0x5B, 0x66, 0x70)
ACCENT = RGBColor(0x00, 0x71, 0xB8)
HIGHLIGHT = RGBColor(0xF2, 0xF6, 0xFA)
BORDER = RGBColor(0xD9, 0xE1, 0xE8)
section.top_margin = Cm(3.6)
section.bottom_margin = Cm(2.8)
section.left_margin = Cm(2.2)
section.right_margin = Cm(2.2)
For pandoc, drive the docx output through a reference.docx built once from this token set (Word "Styles" pane: Title/Heading 1/Heading 2/Normal/Table Grid mapped to the sizes/colors above) — pandoc will inherit all styling automatically from that reference file on every generation run.
9. Sample Page Layout (ASCII mockup)
┌────────────────────────────────────────────────────────────┐
│ [LOGO] [ISO SEAL] │
│ SDS-2026-014 · Rev 3 · 2026-07-04 │
├────────────────────────────────────────────────────────────┤ ← 1pt #004C98
│ │
│ SAFETY DATA SHEET │ H1, 18pt bold #004C98
│ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ← 2pt underline
│ │
│ ▍1. IDENTIFICATION │ H2, accent bar #0071B8
│ Product name ................................ Product X │ body 10pt
│ Recommended use .............................. Industrial │
│ │
│ ┌────────────────────┬───────────────────────────────────┐ │
│ │ PROPERTY │ VALUE │ ← header row #004C98/white
│ ├────────────────────┼───────────────────────────────────┤ │
│ │ Appearance │ Clear liquid │ ← white row
│ ├────────────────────┼───────────────────────────────────┤ │
│ │ pH │ 6.5 – 7.5 │ ← #F2F6FA row
│ └────────────────────┴───────────────────────────────────┘ │
│ │
│ ▍2. HAZARDS IDENTIFICATION │
│ ⚠ WARNING — Causes skin irritation │ Amber #C77700, hazard use only
│ │
├────────────────────────────────────────────────────────────┤ ← 1pt #D9E1E8
│ Synthesia Ltd. · VAT BG121306542 · Todor Radunchev 9, │ footer text 7.5pt #5B6670
│ Krivina 1588, Bulgaria · +359 2 974 4968 · office@synthesia.bg│
│ Certified ISO 9001:2015 · 14001:2015 · 45001:2018 — TÜV ID... │ ← 7pt italic, text only
│ SDS-2026-014 Pg 1/6 │ ← merged one line
│ ██████████████████████████████████████████████████████████ │ ← 3pt bar #00335F
└────────────────────────────────────────────────────────────┘
All headings/body text set in Calibri.
Notes for the Pipeline Team
- Logo file and its blue are unchanged in design — only the crop was fixed (the earlier version accidentally clipped part of the mark; the corrected asset uses the full, correctly-proportioned logo).
- ISO badge updated to the current TÜV Rheinland combined-certification mark (ISO 9001:2015 / 14001:2015 / 45001:2018,
www.tuv.com, ID 9105074744) — swap this one asset whenever certifications renew, without touching anything else. - Logo and ISO badge are now separate image assets rather than baked into one banner image, specifically so either can be updated independently in the future.
- All rules/bars are drawn as vector shapes or table borders, not raster images — this removes the blurring/scaling issues in the old letterhead and keeps output crisp at any print DPI.
- Amber/Red are hard-scoped to GHS hazard content only, so automated hazard-statement rendering never accidentally inherits brand-blue styling meant for headings/tables.
- This single token set (§8) should back every document type (SDS, TDS, invoices, letters) — only the H1 title text and footer doc-ref prefix change per document type.