# The Auto SKUS Group — Brand Kit v3.0

**Issued:** August 31, 2026
**Supersedes:** v2.0 (April 21, 2026). Same identity. Same colors. Same concept.
The marks were redrawn, not redesigned.

## What changed and why

v2's logo files were HTML text layout saved as SVG. Every one used live `<text>`
elements with `font-family="Oswald, 'Archivo Black', Impact, sans-serif"`, no
`@font-face`, no embedded font, and zero outlined paths. The wordmark's width
was therefore decided at render time by whatever fonts the viewer happened to
have installed.

That single decision caused the visible faults:

| Fault | Cause |
|---|---|
| Barcode not width-matched, despite the brand book requiring it | 51 hard-coded rects against a wordmark whose edges floated with the font |
| Monogram clipped its own A and S | fixed `viewBox` around font-dependent text |
| AUTO and SKUS looked unevenly tracked | `letter-spacing` applied after the final glyph of each anchored run |
| Logo looked wrong to anyone without Oswald | no embedded or outlined type |

The website header was never affected, because it rebuilds the wordmark from
HTML with the real web font. But `logo-primary.svg` is the schema.org
Organization logo, which is the file Google, LinkedIn and AI assistants fetch.

## How v3 is built

Every mark is **outlined vector geometry** measured from the real Oswald 700
outlines. There is no live text in any file. They render identically on every
machine, in Illustrator, in Figma, at the printer, and in search results.

The kit is **generated**, not hand-drawn. `build_kit.py` is the master. Change
tracking or bar height in one place and all fourteen marks regenerate in
agreement. This is what stops the kit drifting apart again.

The barcode's module width is derived by dividing the measured wordmark width,
so **width-match is true by construction** rather than nudged by eye on one
machine.

Construction grid: cap height = 100 units. Tracking 0.075em, applied between
glyphs only. Divider 8 units at full cap height. Lockup ratio 6.252:1.

## Contents — 14 marks

```
logos/
  auto-skus-primary-light.svg          the default
  auto-skus-primary-dark.svg           reverse, on navy or black
  auto-skus-primary-light-tagline.svg  with descriptor
  auto-skus-primary-dark-tagline.svg
  auto-skus-stacked-light.svg          square-ish placements
  auto-skus-stacked-dark.svg
  auto-skus-wordmark-light.svg         no motif, tight spaces
  auto-skus-wordmark-dark.svg
  auto-skus-mono-black.svg             one-color print, embossing, fax
  auto-skus-mono-white.svg             reverse on photography
  auto-skus-mono-blue.svg
  auto-skus-amber-accent.svg           campaign only, used sparingly
  auto-skus-social-avatar.svg          1024 square, profile images
  auto-skus-favicon.svg                motif only, legible at 16px
exports/                               21 PNG rasters
favicon/                               favicon set: SVG, ICO, 16/32/48/180/192/512
linkedin/                              company page covers (1x and 2x) + profile images
auto-skus-brand-kit-v3.zip             the whole kit in one download
build_kit.py                           generates the SVG marks
code128.py                             the Code 128 encoder behind the barcode
build_rasters.py                       generates every raster from the SVGs
```

Everything is published at **https://www.autoskus.com/brand**.

## Email signatures

Gmail and Outlook signature editors cannot render SVG and need a public URL, not
an upload. Use:

```
https://www.autoskus.com/brand/exports/auto-skus-wordmark-light-600.png
```

The wordmark, not the full lockup: at signature scale the barcode closes up. That
file is the 2x asset for a roughly 200px display width. Set the width in the
signature editor, not the file. Swap `-light-` for `-dark-` on dark templates.

Caveat: the light file has a transparent background, so on a recipient reading in
dark mode the navy half of the wordmark can go nearly invisible. No fix works
everywhere. If that matters more than looking clean on white, use the dark file,
which carries its own navy plate.

## Cut from v2

**Both monograms.** The company name is not abbreviated in logos, so the A|S
mark is retired. Anywhere the monogram was used, the favicon mark (for tiny
chrome) or the stacked lockup (for square placements) replaces it.

## The barcode is real

It is not a decorative rhythm. It is a valid **Code 128 subset B** symbol
encoding **`AUTOSKUS`**, with a start character, a mod-103 checksum, a stop
pattern and proper quiet zones. Point a scanner at the logo and it reads
`AUTOSKUS`.

The module width is derived by dividing the available span by the symbol's
module count plus both quiet zones, so the symbol fills the wordmark exactly
**and** stays readable. Width-match and scannability are both properties of the
construction, not things nudged by eye.

Verified with a real decoder (zxing-cpp) against rendered images, not assumed:

| Variant | Scans |
|---|---|
| primary light | yes, down to ~280px wide |
| primary light + tagline | yes |
| stacked light | yes, down to ~400px wide |
| mono black | yes |
| mono blue | yes |
| amber accent | reads on camera scanners; **do not rely on it** — see below |
| primary dark, mono white, social avatar | no, and that is expected |

**Reverse variants do not scan.** White bars on navy is an inverted symbol, and
standard laser readers do not decode inverted Code 128. This is normal and not
a defect. If a piece needs to be scannable, use a light-background variant.

**Amber is a warning case.** Signal Amber reflects red light, so a red-laser
scanner sees amber bars as white and the symbol breaks, even though a phone
camera may still decode it. The amber lockup is campaign-only anyway. Never
specify it where scanning matters.

## Hard rules

- **Below roughly 180px wide, use the wordmark-only variant.** The bars close up
  below that. This is true of any barcode motif and is not a defect.
- **Below ~280px wide the barcode stops scanning**, well before it stops looking
  right. If scannability is the point, size accordingly.
- Never re-typeset the wordmark in live text. The outlines are the artwork.
- Amber accent is campaign-only. It is not an alternate primary.
- Clear space is baked into each file's viewBox. Do not crop it out. The quiet
  zones the scanner needs live inside that clear space.

## Spelling

The logo lockup is `AUTO|SKUS`, all caps, split by the Electric Blue divider.
In running text the company is written **AutoSKUs** — SKU is the acronym, the
trailing s is a plural. The stylised lockup is not required to match prose.

## Fonts

The kit is generated by `build_kit.py` with `code128.py` beside it. Both must
sit in the same folder to rebuild.

Oswald 700 for the wordmark, Inter 500 for the descriptor. Both are outlined in
the delivered files, so neither needs to be installed to use the logos. Install
them only if you are editing `build_kit.py` and regenerating.

## Questions

chris@autoskus.com
