Canopy Typography — Best Practices

SkillDev tools

Foundation guidance for Canopy typography. Trigger when choosing font sizes, font weights, type scales, productive vs expressive text, or applying typography CSS variables in an Angular project using Canopy.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Canopy Typography — Best Practices skill

What this skill tells your AI

The instructions your AI receives, as published by legal-and-general/canopy in skills/best-practice/typography/SKILL.md and read by ahel’s review.

This skill provides guidance on using the Canopy typography system correctly in an Angular project.

Apply this skill when choosing type sizes, weights, families, or applying the lg-font--expressive modifier class.


Two Type Systems

Canopy has two type systems. Use the correct one for each context:

SystemFontUse when
Productive (default)Nunito SansAll body text, tabular data, interactive elements (buttons, labels). Use in the vast majority of cases.
ExpressiveABC OttoMarketing pages, home pages, display headings where brand personality is needed.

Productive Text

Apply productive styles by default — no class is needed. Productive type is Nunito Sans, available from Google Fonts.


Expressive Text

Apply the expressive modifier class to a heading or text element:

<h1 class="lg-font--expressive">Our products</h1>

Or on a Canopy component that supports it:

<lg-content-area-title [headingLevel]="1" class="lg-font--expressive">
  Welcome
</lg-content-area-title>

Typography CSS Variables

Use these CSS custom properties to apply typographic styles consistently.

Font Families

VariableDescription
--font-family-productiveNunito Sans
--font-family-expressiveABC Otto

Font Weights

VariableValueDescription
--font-weight-regular400Regular weight
--font-weight-medium500Medium weight (used for labels)
--font-weight-bold700Bold weight

Font Sizes

Sizes are responsive — they change between sm–md and lg breakpoints.

Variablesm–mdlg
--font-size-0-612px12px
--font-size-0-814px14px
--font-size-116px16px
--font-size-220px20px
--font-size-324px24px
--font-size-428px32px
--font-size-532px40px
--font-size-640px48px
--font-size-748px62px
--font-size-856px76px
--font-size-968px115px

Dos and Don'ts

Do

  1. Do use consistent headings to indicate hierarchy.
  2. Do use a minimum of 16px (--font-size-1) for paragraph text or data points.
  3. Do use bold text to emphasise information.
  4. Do check colour contrast of text on backgrounds (see the colour-foundation skill).
  5. Do centre-align text for empty or loading states.

Don't

  1. Don't use any font sizes or weights not in the type system.
  2. Don't use italic text to emphasise information.
  3. Don't use expressive text for paragraphs or anything below --font-size-4 (32px).
  4. Don't centre-align large passages of copy.

Signals

GitHub stars
23
Forks
46
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
canopy-typography
Source
github.com/legal-and-general/canopy