Skip to content
90-Day Money-Back Guarantee — no return needed Subscribers save on every order · Skip or cancel anytime Free shipping on subscription orders

For designers · VetPro Complete

Type & colour system

Everything below is rendered in the live theme fonts and tokens — what you see here is exactly what ships on the site and in email. Match these and artwork will sit correctly alongside it.

01 — The three faces

Aa

Fraunces

Display

Headlines, product names, pull quotes, prices. Variable, optical size 9–144.

300 · 400 · 500 · 600

Aa

Instrument Sans

Body

All running copy, buttons, navigation, form labels.

400 · 500 · 600 · 700

Aa

Spline Sans Mono

Utility

Eyebrows, badges, fine print, tags, tabular numerals.

400 · 500 · 600

02 — Fraunces, the display face

Care better.
Worry less.

weight
500
tracking
-0.02em
line-height
1.06
optical size
144

Weights

Vet-formulated 300

Vet-formulated 400

Vet-formulated 500 · default

Vet-formulated 600

The tracking rule

Hip & Joint

Do — 500, −0.02em

Hip & Joint

Don't — 700, default tracking

03 — Instrument Sans, the body face

Thirty years in exam rooms taught our family one thing: the owners who get the best outcomes are the ones with the information in hand.

size
14.5–17px
line-height
1.5–1.6
weight
400 · 600 emphasis

04 — Spline Sans Mono, the signature move

The single most recognisable thing in the system: small uppercase mono, very wide tracking, sitting directly above a tight serif headline.

VetPro Health 360 · 3 months free

Every record. One place.

size
10–11px
tracking
0.10–0.16em
weight
600
case
uppercase

05 — Type scale in use

Page headline 50px · Fraunces · 500 · -0.02em
Section headline 32px · Fraunces · 500 · -0.01em
Card headline 24px · Fraunces · 500 · -0.01em
Small headline 19px · Fraunces · 500 · normal
Lede paragraph 17px · Instrument Sans · 400 · normal
Body copy 14.5px · Instrument Sans · 400 · normal
Eyebrow / badge 11px · Spline Sans Mono · 600 · 0.16em

06 — Palette

Ink #2b1533 --color-ink
Plum #5b2d66 --color-plum
Plum deep #341a3d --color-plum-deep
Plum mid #7c4a88 --color-plum-mid
Plum soft #a45a95 --color-plum-soft
Lavender #f1eaf4 --color-lav
Oat #faf6f0 --color-oat
Oat deep #f3ece2 --color-oat-deep
Amber #e8632b --color-amber
Amber deep #c94f1d --color-amber-deep

Amber is the only action colour — buttons and badges, nothing else. Plum carries hierarchy; oat is the page.

07 — Text tints & contrast

Secondary text is never a separate colour — it is ink at reduced opacity over oat. Ratios below are measured against the oat background.

Ink at 85% #4a374f · 10.00:1 Body
Ink at 78% #59465d · 7.93:1 Body
Ink at 70% #69596c · 6.01:1 Body
Ink at 66% #716173 · 5.33:1 Body
Ink at 60% #7e6f7f · 4.37:1 Large only
Ink at 55% #887a88 · 3.76:1 Large only
Ink at 50% #928692 · 3.23:1 Large only
Ink at 45% #9d919b · 2.80:1 Decorative

Careful with amber. White on amber measures 3.36:1 — under the 4.5:1 needed for body text. It is fine on large button labels, but never set small text in white on amber, and never set amber text on oat (3.12:1).

08 — Logo

On oat or white. This is the primary mark.

On plum. Knock out to oat — never place the dark mark on a dark panel.

Download

master
784 × 292 px · 2.68:1
used at
142–188 px wide
export
2× — 376 px minimum
clear space
½ the logo height, all sides

Transparent PNG. Never recolour, stretch, rotate, add effects, or place on a busy photo without a solid panel behind it.

09 — Shape & depth

Corner radius

999px 1.5rem 1.25rem 1rem 12px

Pills for anything interactive. 1.25–1.5rem for cards and panels. 12px for small tiles and icon chips. Nothing is ever square.

Elevation

soft card panel

Shadows are plum-tinted, never neutral grey or black. Large blur, low opacity, offset downward only.

10 — Icons

grid
24 × 24
stroke
1.7
caps / joins
round
fill
none

Line only, never filled. New icons must match the 1.7 stroke on a 24px grid or they will read heavier than the set.

11 — Photography & export

Direction

Natural light, warm cast, shallow depth of field. Real dogs in real places — grass, woods, the exam room — never a studio sweep or a white cyclorama. Clinical shots are candid and warm, not sterile. Dogs are relaxed and mid-life, matching the joint-support audience.

Where to get pictures

Customer photos are shown with permission. Gallery images are tied to the review they came with — never present one as a different customer's dog, and never pair one with a testimonial it did not belong to.

Export sizes

Email card header displays 552px export 1104 × 736 3:2
Email product panel displays 290px export 580 wide free
Site hero displays full widthpx export 2400 wide 16:9 – 3:2
Phone mockup screen displays 212–276px export 497 × 900 497:900
Logo displays 142–188px export 376 wide 2.68:1
Avatar / review displays 48–72px export 200 square 1:1

Always export at 2× the display width. A 200px image placed in a 552px slot is what blur looks like — the browser cannot invent detail. Target JPEG quality ~78 and keep full-width email images under about 250 KB.

12 — Patterns to match in artwork

Badge

3 months free

Amber pill, 10px mono, 600, uppercase, 0.1em tracking, fully rounded.

Button

Get it on the App Store

Amber, white text, Instrument Sans 700 at 16px, fully rounded, generous padding.

13 — Getting the fonts

All three are free and open source. Use the Google Fonts page to install on your machine — the Get font button there downloads a zip. The repository link gives you the raw OTF, TTF and variable files if you prefer them.

For developers — web embed

https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500;9..144,600&family=Instrument+Sans:wght@400;500;600;700&family=Spline+Sans+Mono:wght@400;500;600&display=swap

Fallbacks

--font-display: 'Fraunces', georgia, serif; --font-body: 'Instrument Sans', system-ui, sans-serif; --font-mono: 'Spline Sans Mono', ui-monospace, monospace;

Fraunces is a variable font. The zip contains a static/ folder as well as the variable file. If your tool handles variable fonts badly, use the static instances — but set the 144 optical size for anything large, or the serifs flatten and it stops matching the site.