Identity system · v1 · August 2026

A shop badge,
built for screens.

The existing logo is a retro American service badge: cream field, slate frame, brick red call-out, and a mascot with real personality. Everything here extends that badge into a system that survives at 32px on a phone and still feels like the sign over the door.

02 / Color

Sampled from the badge

Every value below was pulled directly out of the logo artwork, then extended into a ramp dark enough for screen. Cream is the text color on dark grounds, not white. That single choice is what makes the site read as Dee's rather than as any other black-and-red auto site.

Cream#F4E2C3244 226 195The badge field. Primary text on dark, and the ground for warm sections.
Slate#35434A53 67 74The badge frame and wordmark. Panels, secondary surfaces.
Brick#AD3A30173 58 48"AUTO GARAGE" red. Actions only: buttons, links, the one thing to click.
Amber#E8A33D232 163 61The gold chain. Data, values, ratings, in-spec states.
Ink#06141A6 20 26Page ground. A blue-green cast black, not neutral, so it holds the warm accents.
Ink raised#0E262D14 38 45The logo's outline navy. Cards and raised surfaces on dark.
Steel#A6B6BD166 182 189The wrench, lightened. Body copy on dark grounds.
Tan#ECB881236 184 129Mascot skin tone. Reserved for the illustration, never a UI color.

Contrast pairs that pass

PairRatioUse
Cream on Ink15.4 : 1Body and headline text on the dark ground. Passes AAA.
Steel on Ink9.1 : 1Secondary and muted copy on dark. Passes AAA.
Ink on Cream15.4 : 1All text on the cream sections. Passes AAA.
Cream on Brick5.2 : 1Button labels and the CTA band. Passes AA.
Amber on Ink8.6 : 1Data values, eyebrows, spec readouts. Passes AAA.
Brick on Cream4.9 : 1Links and the badge red on warm sections. Passes AA.

Amber on cream fails at small sizes. Use the darker Amber 500 (#D18B27) on warm grounds instead.

03 / Typography

Two families, one voice

Archivo does display and body, using its width axis to get badge-like headlines without a second display face. JetBrains Mono carries anything that is a measurement, a code or a label, which is most of what a shop actually writes down.

Archivowdth 118 · wght 800uppercasetracking −0.025emline-height 0.92

We work on cars we'd own

Display. Page headlines. The wide axis is the brand's signature.

Archivowdth 108 · wght 750uppercase

Suspension repair & upgrades

Subhead. Card titles, section labels, buttons.

Archivowdth 100 · wght 40016.5px / 1.6

Worn shocks, tired bushings, control arms, wheel bearings and the clunk you've been ignoring for six months. We measure what's left rather than guessing, so you're not replacing parts that had another season in them.

Body. Everything the customer reads. Max 66 characters per line.

JetBrains Monowght 500tracking 0.16emuppercase

FRONT CAMBER −1.1° · TURNAROUND 1–2 DAYS · WORK ORDER 0412

Data. Measurements, codes, eyebrows, labels. Tabular numerals on.

04 / Voice

Like Dee explaining it

Plain, direct, specific, and never selling. The differentiator is that a real person tells you what's actually wrong, so the writing has to sound like that person, not like a marketing department describing him.

Write this

We measure what's left and tell you honestly, rather than selling you a set you don't need yet.

Not this

Our certified technicians leverage industry-leading diagnostic protocols to deliver unparalleled brake solutions.

Write this

Clunk over bumps at the front left, worse when it's cold.

Not this

Experiencing a suboptimal ride quality event? We're here to help!

Write this

Bring in an M3 or a Corolla. Same rack, same attention.

Not this

Servicing luxury, exotic and premium European marques since day one.

Write this

That didn't send. Call the shop directly, or try again in a minute.

Not this

Oops! Something went wrong. Sorry about that!

Rules

  • Sentence case everywhere except display headlines and mono labels.
  • Say the specific thing: "rear pads 4mm", not "brake wear detected".
  • Name the action on the button, and use the same word in the confirmation.
  • Errors explain what happened and what to do. They never apologize.
  • No em dashes. No "unlock", "elevate", "seamless", "solutions", "journey".

Claims to avoid

  • Don't state certifications, affiliations or years in business until Dee confirms them.
  • Don't invent numbers. No "500+ cars serviced" without a real count behind it.
  • Don't imply dealer authorization or factory partnership.
  • Don't guarantee turnaround the shop can't hold to; "typical" is the honest word.

05 / Photography

Warm light, dark shop

Every photo on this site is Dee's own, shot on a phone in the shop and put through one grading pass (brand/grade.py) that pulls the blown fluorescent highlights, deepens and cools the shadows, warms the mids and mutes the beige wall. That single recipe is what makes forty-five snaps read as one set. Shoot first, grade after.

Do

  • Shoot the shop's real cars. Accuracy is the whole point for this audience.
  • Get in close on components: a caliper, a coilover, a torque wrench on a hub.
  • Leave the bay door open in the frame; the cool/warm split is the brand's light.
  • Keep the frame tidy. Clean floor, coiled hoses, no clutter behind the subject.

Don't

  • Use other shops' or other accounts' photos. It's their copyright and their car, and a customer who recognises it is the worst possible outcome.
  • Use flash. It kills the amber and flattens the paint.
  • Use generated imagery for the shop, the cars or the parts. This audience spots it, and a photo's job here is to prove the work is real.
  • Include readable third-party branding, plates, faces or customer details.

Shot list for Dee

Hero

Wide down the shop, a car on the rack, bay door open behind. Landscape, lots of headroom for the headline.

21:9
Shop interior

Both bays in use, tool wall visible. Shot at dusk with the interior lights on.

3:2
Shop exterior

The building with one door open and glowing. Blue hour. This is the "we're a real place" shot.

16:9
Engine bay

Hood up, shot from above at a three-quarter angle. Carbon, braces, tidy loom.

4:3
Brakes

Wheel off, caliper and rotor at eye level on the lift.

4:3
Suspension

Coilovers on the bench before install, plus one underside shot on the lift.

4:3
Wheels & fitment

Three-quarter on the lip, caliper visible through the spokes.

4:3
Diagnostics

Scan tool on the fender cover, cable running into the cabin.

4:3
Everyday car

A Camry or CR-V on the lift. Essential, because it proves the range claim.

4:3
Job pairs

Before and after for each job posted. Feeds the Work page and the CRM later.

4:3

Shoot portrait, hold the phone level, get closer than feels natural and don't zoom. Portrait is deliberate: the cards on the site are 4:5, so a portrait frame crops to almost nothing. Landscape phone shots lose the wheels.

06 / Components

The parts bin

Built once in /assets/css/styles.css and reused across the site. The same components carry into the CRM in phase two.

Buttons

Brick fill is the primary action and there is only ever one per view. Ghost is everything else. 8px radius, uppercase Archivo, 2px lift on hover.

Spec panel

Work order

Sample
We found
Failed coil, cylinder 4
Also noted
Rear pads 4mmYour call

The signature element. Mono labels, amber values, a bar per row, red when something needs the customer's attention. Reused for checklists and readouts.

Shape and spacing tokens

TokenValueUsed for
--r-sm8pxButtons, inputs, small chips
--r-md14pxCards, panels, media frames
--r-lg22pxLarge feature blocks
--gutter20–40px fluidPage side margins
--section-y72–136px fluidVertical rhythm between sections
--maxw1280pxContent container

07 / Motion

Mechanical, not springy

Motion here should feel like a well-made switch: quick, decisive, settles hard. No bounce, no elastic overshoot, nothing that draws attention to itself. Everything respects prefers-reduced-motion.

TokenCurveUsed for
--easecubic-bezier(.2, .7, .2, 1)Reveals, color and opacity changes, layout shifts
--snapcubic-bezier(.16, 1, .3, 1)Hover lifts, the arrow nudge, anything that should feel positive
Reveal600ms, 18px riseSection entrances, staggered 80ms per item
Hover140–180msCards, buttons, links. Fast enough to feel instant.
Filter swap320ms view transitionService and work grids re-sorting

See it applied.

Every rule here is already live on the site.