Text and smaller headings
Inter
Aa Bb Cc 0123456789
- Regular
- 400
- Semibold
- 600
- Black
- 900
Design-system specimen · v0.1
A living view of the typography, palette, spacing and semantic tokens available to every BSAVA digital product.
The responsive hierarchy is taken from the approved Styleguide/type-hierarchy frame. Inter supports text and compact headings; Decimal Ultra is specified for the two largest desktop display styles.
Text and smaller headings
Aa Bb Cc 0123456789
Desktop display headings
Aa Bb Cc 0123456789
The licensed Decimal Ultra face is bundled through the shared design-token stylesheet and used for the approved desktop display styles.
Display xl/Bold
Desktop H13.75rem / 4.5rem · 500 · -0.02emBuilt for better care.
Display lg/Bold
Desktop H23rem / 3.75rem · 500 · -0.02emClear, confident headings.
Display md/Black
Desktop H32.25rem / 2.75rem · 900A practical design language.
Display sm/Black
Desktop H4 · Tablet/Mobile H11.875rem / 2.375rem · 900Responsive by default.
Display xs/Black
Tablet/Mobile H21.5rem / 2rem · 900Compact display
Text xl/Black
Tablet/Mobile H31.25rem / 1.875rem · 900Prominent supporting text
Text lg/Black
Desktop H5 · Tablet/Mobile H4 and H51.125rem / 1.75rem · 900Strong compact heading
Text lg/Regular
Intro · all viewports1.125rem / 1.75rem · 400Introduce a section with enough presence to guide the reader.
Text md/Regular
Paragraph · all viewports1rem / 1.5rem · 400Body copy stays comfortable and readable across the experience.
Text sm/Regular
Small paragraph · all viewports0.875rem / 1.25rem · 400Supporting details, labels and concise metadata.
Figma BSAVA-library-2026 named paint styles used by active product pages. The primitive ramps preserve Figma names; components consume the semantic roles below.
#1d1c1d#ffffff#f5faff#eaf8fd#d6f0f8#b8e3f1#97d5eb#4d9bdc#1a7fd6#0071cf#005daa#21155f#fcfcfd#fafafa#f2f2f2#e6e6e6#cccccc#999999#808080#666666#4d4d4d#2f2e2f#1d1c1d#e6f8f7#ccf1ef#99e3df#66d4ce#00bcb5#00b6a9#00b09c#009e8c#008c7c#007a6c#00685c#f7f2fa#efe5f5#dfcbea#bf97d5#9f63bf#8b47b2#8232a7#752d96#672784#5a2273#4c1c62#b30040#a1003a#8e0033#7c002d#fef3f3#fde4e4#f8c9c9#f79a9a#f36b6b#f04747#f32727#da2323#c01f1f#a61b1b#d92d20#f4941e#ffd200#e6bd00#ecfdf3#abefc6#079455--color-background#ffffff
--color-surface#ffffff
--color-surface-text#1d1c1d
--color-surface-text-muted#666666
--color-text#1d1c1d
--color-text-muted#666666
--color-border#e6e6e6
--color-action#0071cf
--color-action-hover#005daa
--color-action-text#ffffff
--color-focus#0071cf
--color-disabled#999999
--color-hero#21155f
--color-category-vet#0071cf
--color-category-vet-nurse#8232a7
--color-category-student#007a6c
--color-category-concession#da2323
--color-category-text#ffffff
--color-testimonial#ffd200
--color-testimonial-text#21155f
--color-success#079455
--color-success-text#00685c
--color-danger#da2323
--color-danger-text#a61b1b
--color-error#d92d20
--color-warning#f4941e
--color-warning-text#1d1c1d
Figma active-page layout values; spacing variables are not published. The scale is expressed in rem so it respects user font-size preferences.
Observed layout and component steps
0123456891011121620240.51.52.53.54.5Shape hierarchy
none0xxs0.125remxs0.25remsm0.375remmd0.5remlg0.625remxl0.75rem2xl1rem3xl1.25rem4xl1.5remfull9999pxpill9999pxSurface separation
shadow.xs0 1px 2px rgb(16 24 40 / 5%)shadow.focusBrand0 1px 2px rgb(16 24 40 / 5%), 0 0 0 4px rgb(158 119 237 / 24%)shadow.focusGray0 1px 2px rgb(16 24 40 / 5%), 0 0 0 4px rgb(152 162 179 / 14%)shadow.sm0 1px 3px rgb(16 24 40 / 10%), 0 1px 2px rgb(16 24 40 / 6%)shadow.md0 4px 8px -2px rgb(16 24 40 / 10%), 0 2px 4px -2px rgb(16 24 40 / 6%)shadow.lg0 12px 16px -4px rgb(16 24 40 / 8%), 0 4px 6px -2px rgb(16 24 40 / 3%)shadow.xl0 20px 24px -4px rgb(16 24 40 / 8%), 0 8px 8px -4px rgb(16 24 40 / 3%)Responsive thresholds
Figma BSAVA-high-fidelity / Button styles (1425:23429). The shared Button component is composed locally here and in its Storybook specification, with browser checks guarding visual parity.
.button {
min-height: var(--button-size-large-height);
padding-inline: var(--button-size-large-padding-inline);
gap: var(--button-size-large-gap);
font: 600 var(--button-size-large-font-size) /
var(--button-size-large-line-height) var(--font-body);
border-radius: var(--button-radius);
box-shadow: var(--button-shadow);
}