Visual identity
Wester Law Offices
A law firm providing legal counsel and representation across a broad range of practice areas for its clients.
Compact identity
Favicon scale
compactLogoSemantic system
Brand colour
data-brand- Brand ID
- westerlaw
- Token package
- @brandos/tokens/css/westerlaw
- Heading
- Playfair Display
- Body
- Montserrat
01.01 · Wester Red ramp
19 shades of Wester Red
Wester Red identity ramp generated from canonical westerlaw token data.
01.02 · Wester Black ramp
19 shades of Wester Black
Wester Black identity ramp generated from canonical westerlaw token data.
01.03 · Wester Gray ramp
19 shades of Wester Gray
Wester Gray identity ramp generated from canonical westerlaw token data.
01.04 · Semantic slots
Meaning over hue
Components consume semantic slots, never raw ramps. The hue can evolve; the meaning shouldn't.
- Token
--semantic-brand-primary- Class
bg-primary
- Token
--semantic-brand-accent- Class
bg-accent
- Token
--semantic-surface-1- Class
bg-base-100
- Token
--semantic-content-primary- Class
text-base-content
- Token
--semantic-status-informative- Class
text-info
- Token
--semantic-status-success- Class
text-success
- Token
--semantic-status-warning- Class
text-warning
- Token
--semantic-status-error- Class
text-error
02 · Typography
Playfair Display on display · Montserrat for everything else
Heading and body families resolve from the canonical effective specification and its font registry.
--brandOS-font-headingWester Law moves with purpose.
- Family
- Playfair Display
- Registry ID
- playfair-display
- Primary use
- Display and hierarchy
- H1 · DisplayThe system in practice
- H2 · Section107 brands, one system
- H3 · CardProfile contract
- Size
- 4xl
- Leading
- Tight
- Weight
- Bold
--brandOS-font-bodyClear systems make complex decisions feel simple, consistent, and unmistakably on brand.
- Family
- Montserrat
- Registry ID
- montserrat
- Primary use
- Reading and interface
- LedeA clear, generous opening that orients the reader fast.
- BodyStandard paragraph text. The quick brown fox jumps over the lazy dog.
- CaptionSmall print, footnotes, and metadata.
- Size
- Base
- Leading
- Normal
- Weight
- Regular
One voice across both surfaces
This brand uses the same pair everywhere. A marketing face and an application face can be split at any time by declaring one per surface in the brand registry; until then both panels resolve identically.
Campaign pages, hero moments, the public site.
data-surface="marketing"Wester Law, in its own voice.
Marketing copy gets room to breathe: generous measures, expressive headlines, and a face chosen to be seen before it is read.
- Heading
- Playfair Display
- Body
- Montserrat
- Origin
- Inherits the base pair
Product screens, dense tables, forms, operator tools.
data-surface="application"Open invoices, 128 rows
Application copy is read all day at small sizes: labels, table cells, validation messages, and column headers that must stay legible under density.
- Heading
- Playfair Display
- Body
- Montserrat
- Origin
- Inherits the base pair
03 · Effective specification
One resolved source for every visual rule
Version 1.0.0, effective . Every rule below is generated from the canonical registry projection.
- 01Defaults
- 1.0.0
- 02Brand
- 1.0.0
- 03Content
- rev 8d3ac3cc
The content revision is a checksum of the authored specification. It changes whenever any rule changes, so two profiles with the same revision are guaranteed identical.
- Inherited Shared
- 0
- Defaulted System
- 10
01Colour and accessible pairings
defaultedToken usage, print values, gradients, accent discipline, and derived WCAG pairings.
20 resolved values
Colour and accessible pairings
defaultedToken usage, print values, gradients, accent discipline, and derived WCAG pairings.
20 resolved valuesTechnical details20 canonical values and registry paths
- Accent Token Refs 0
- --semantic-brand-primaryColors · Accent token refs · #1
- Accent Token Refs 1
- --semantic-brand-accentColors · Accent token refs · #2
- Body Surface Token Ref
- --semantic-surface-1Colors · Body surface token ref
- Body Text Token Ref
- --semantic-content-primaryColors · Body text token ref
- Direction
- 135degColors · Gradients · #1 · Direction
- From Token Ref
- --semantic-brand-primaryColors · Gradients · #1 · From token ref
- Id
- brand-accentColors · Gradients · #1 · Id
- To Token Ref
- --brandOS-primary-700Colors · Gradients · #1 · To token ref
- Enforceable
- NoColors · Guidance · #1 · Enforceable
- Id
- accessible-color-useColors · Guidance · #1 · Id
- Text
- Use canonical content pairs for text on semantic surfaces and status fills.Colors · Guidance · #1 · Text
- Groups Colors Print Values
- No additional entriesColors · Print values
- Content Token Ref
- --semantic-status-error-contentColors · Status · Error · Content token ref
- Token Ref
- --semantic-status-errorColors · Status · Error · Token ref
- Content Token Ref
- --semantic-status-informative-contentColors · Status · Informative · Content token ref
- Token Ref
- --semantic-status-informativeColors · Status · Informative · Token ref
- Content Token Ref
- --semantic-status-success-contentColors · Status · Success · Content token ref
- Token Ref
- --semantic-status-successColors · Status · Success · Token ref
- Content Token Ref
- --semantic-status-warning-contentColors · Status · Warning · Content token ref
- Token Ref
- --semantic-status-warningColors · Status · Warning · Token ref
02Typography
Font roles, the base type ladder, and sparse responsive overrides.
12 resolved values
Typography
Font roles, the base type ladder, and sparse responsive overrides.
12 resolved valuesA distinct voice, built to scale.
The quick brown fox jumps over the lazy dog. Clear typography gives every branded surface a recognisable rhythm.
Caption and supporting metadata remain readable at compact sizes.The base hierarchy scales without brand-specific overrides.
Technical details12 canonical values and registry paths
- Font Id
- playfair-displayTypography · Base ladder · #1 · Font id
- Id
- headingTypography · Base ladder · #1 · Id
- Line Height Token Ref
- --brandOS-leading-tightTypography · Base ladder · #1 · Line height token ref
- Size Token Ref
- --brandOS-text-4xlTypography · Base ladder · #1 · Size token ref
- Weight Token Ref
- --brandOS-font-weight-boldTypography · Base ladder · #1 · Weight token ref
- Font Id
- montserratTypography · Base ladder · #2 · Font id
- Id
- bodyTypography · Base ladder · #2 · Id
- Line Height Token Ref
- --brandOS-leading-normalTypography · Base ladder · #2 · Line height token ref
- Size Token Ref
- --brandOS-text-baseTypography · Base ladder · #2 · Size token ref
- Weight Token Ref
- --brandOS-font-weight-regularTypography · Base ladder · #2 · Weight token ref
- Groups Typography Guidance
- No additional entriesTypography · Guidance
- Groups Typography Responsive Overrides
- No additional entriesTypography · Responsive overrides
03Logo usage
defaultedClear space, minimum sizes, prohibited uses, and approved lockups.
8 resolved values
Logo usage
defaultedClear space, minimum sizes, prohibited uses, and approved lockups.
8 resolved valuesClear space: Space 4
Technical details8 canonical values and registry paths
- Clear Space Token Ref
- --brandOS-space-4Logos · Clear space token ref
- Groups Logos Co Branding Rules
- No additional entriesLogos · Co branding rules
- Context
- Primary digital lockupLogos · Minimum sizes · #1 · Context
- Id
- digital-primaryLogos · Minimum sizes · #1 · Id
- Width Px
- 120Logos · Minimum sizes · #1 · Width px
- Enforceable
- NoLogos · Prohibited uses · #1 · Enforceable
- Id
- do-not-distortLogos · Prohibited uses · #1 · Id
- Text
- Do not stretch, skew, recolour, or otherwise distort a registered mark.Logos · Prohibited uses · #1 · Text
04Registered assets
defaultedCanonical marks, imagery, and graphic assets referenced by stable identifiers.
2 resolved values
Registered assets
defaultedCanonical marks, imagery, and graphic assets referenced by stable identifiers.
2 resolved valuesTechnical details2 canonical values and registry paths
- Groups Assets Approved Asset Ids
- No additional entriesAssets · Approved asset ids
- Groups Assets Guidance
- No additional entriesAssets · Guidance
05Responsive layout
defaultedBreakpoint ranges, containers, grids, columns, and margins.
34 resolved values
Responsive layout
defaultedBreakpoint ranges, containers, grids, columns, and margins.
34 resolved valuesMargins and containers expand progressively while content order stays stable.
Technical details34 canonical values and registry paths
- Columns
- 4Responsive layout · Breakpoints · #1 · Columns
- Grid Id
- mobile-gridResponsive layout · Breakpoints · #1 · Grid id
- Id
- mobileResponsive layout · Breakpoints · #1 · Id
- Margin Token Ref
- --brandOS-space-4Responsive layout · Breakpoints · #1 · Margin token ref
- Max Viewport Px
- 639Responsive layout · Breakpoints · #1 · Max viewport px
- Min Viewport Px
- 0Responsive layout · Breakpoints · #1 · Min viewport px
- Columns
- 8Responsive layout · Breakpoints · #2 · Columns
- Container Width Px
- 960Responsive layout · Breakpoints · #2 · Container width px
- Grid Id
- tablet-gridResponsive layout · Breakpoints · #2 · Grid id
- Id
- tabletResponsive layout · Breakpoints · #2 · Id
- Margin Token Ref
- --brandOS-space-6Responsive layout · Breakpoints · #2 · Margin token ref
- Max Viewport Px
- 1023Responsive layout · Breakpoints · #2 · Max viewport px
- Min Viewport Px
- 640Responsive layout · Breakpoints · #2 · Min viewport px
- Columns
- 12Responsive layout · Breakpoints · #3 · Columns
- Container Width Px
- 1280Responsive layout · Breakpoints · #3 · Container width px
- Grid Id
- desktop-gridResponsive layout · Breakpoints · #3 · Grid id
- Id
- desktopResponsive layout · Breakpoints · #3 · Id
- Margin Token Ref
- --brandOS-space-8Responsive layout · Breakpoints · #3 · Margin token ref
- Min Viewport Px
- 1024Responsive layout · Breakpoints · #3 · Min viewport px
- Columns
- 4Responsive layout · Grids · #1 · Columns
- Gutter Token Ref
- --brandOS-space-4Responsive layout · Grids · #1 · Gutter token ref
- Id
- mobile-gridResponsive layout · Grids · #1 · Id
- Margin Token Ref
- --brandOS-space-4Responsive layout · Grids · #1 · Margin token ref
- Columns
- 8Responsive layout · Grids · #2 · Columns
- Gutter Token Ref
- --brandOS-space-5Responsive layout · Grids · #2 · Gutter token ref
- Id
- tablet-gridResponsive layout · Grids · #2 · Id
- Margin Token Ref
- --brandOS-space-6Responsive layout · Grids · #2 · Margin token ref
- Columns
- 12Responsive layout · Grids · #3 · Columns
- Gutter Token Ref
- --brandOS-space-6Responsive layout · Grids · #3 · Gutter token ref
- Id
- desktop-gridResponsive layout · Grids · #3 · Id
- Margin Token Ref
- --brandOS-space-8Responsive layout · Grids · #3 · Margin token ref
- Enforceable
- NoResponsive layout · Guidance · #1 · Enforceable
- Id
- content-first-responsiveResponsive layout · Guidance · #1 · Id
- Text
- Choose responsive changes from content pressure and the declared non-overlapping ranges.Responsive layout · Guidance · #1 · Text
06Iconography
defaultedApproved library, family, style, weight, licence, and custom exceptions.
12 resolved values
Iconography
defaultedApproved library, family, style, weight, licence, and custom exceptions.
12 resolved valuesTechnical details12 canonical values and registry paths
- Groups Iconography Custom Icon Asset Ids
- No additional entriesIconography · Custom icon asset ids
- Enforceable
- NoIconography · Guidance · #1 · Enforceable
- Id
- icons-are-symbolsIconography · Guidance · #1 · Id
- Text
- Use the approved library for interface symbols; register custom brand marks as assets.Iconography · Guidance · #1 · Text
- Family
- Material SymbolsIconography · Library · Family
- Id
- material-symbols-roundedIconography · Library · Id
- Name
- Apache License 2.0Iconography · Library · License · Name
- Reference
- https://github.com/google/material-design-icons/blob/master/LICENSEIconography · Library · License · Reference
- Spdx Id
- Apache-2.0Iconography · Library · License · Spdx id
- Source
- https://fonts.google.com/iconsIconography · Library · Source
- Style
- RoundedIconography · Library · Style
- Weight
- 400Iconography · Library · Weight
07Graphic systems
defaultedNamed visual systems and their registered asset and taxonomy references.
2 resolved values
Graphic systems
defaultedNamed visual systems and their registered asset and taxonomy references.
2 resolved valuesTechnical details2 canonical values and registry paths
- Groups Graphics Systems
- No additional entriesGraphics · Systems
- Groups Graphics Taxonomies
- No additional entriesGraphics · Taxonomies
08Imagery direction
Photography, product imagery, composition, subject, and treatment guidance.
11 resolved values
Imagery direction
Photography, product imagery, composition, subject, and treatment guidance.
11 resolved valuesLead with crisp black-and-white surfaces and reserve red for a single, deliberate accent, never red as a flood fill.
Pair the Playfair Display serif headlines with clean Montserrat body copy for a credible, established legal tone.
Apply one repeatable crop, contrast, and surface treatment.
Technical details11 canonical values and registry paths
- Groups Imagery Approved Asset Ids
- No additional entriesImagery · Approved asset ids
- Enforceable
- NoImagery · Photography · #1 · Enforceable
- Id
- imagery-01Imagery · Photography · #1 · Id
- Text
- Lead with crisp black-and-white surfaces and reserve red for a single, deliberate accent, never red as a flood fill.Imagery · Photography · #1 · Text
- Enforceable
- NoImagery · Photography · #2 · Enforceable
- Id
- imagery-02Imagery · Photography · #2 · Id
- Text
- Pair the Playfair Display serif headlines with clean Montserrat body copy for a credible, established legal tone.Imagery · Photography · #2 · Text
- Enforceable
- NoImagery · Photography · #3 · Enforceable
- Id
- imagery-03Imagery · Photography · #3 · Id
- Text
- Keep layouts formal and generously spaced, letting the flame mark and confident typography anchor the composition.Imagery · Photography · #3 · Text
- Groups Imagery Product Imagery
- No additional entriesImagery · Product imagery
09Shared components
defaultedShared component participation and bounded state-token overrides.
8 resolved values
Shared components
defaultedShared component participation and bounded state-token overrides.
8 resolved valuesTechnical details8 canonical values and registry paths
- Component Id
- buttonComponents · Participation · #1 · Component id
- Groups Components Participation 0 Guidance
- No additional entriesComponents · Participation · #1 · Guidance
- State
- defaultComponents · Participation · #1 · State overrides · #1 · State
- Token Ref
- --semantic-brand-primaryComponents · Participation · #1 · State overrides · #1 · Token ref
- Token Slot
- backgroundComponents · Participation · #1 · State overrides · #1 · Token slot
- State
- defaultComponents · Participation · #1 · State overrides · #2 · State
- Token Ref
- --semantic-brand-primary-contentComponents · Participation · #1 · State overrides · #2 · Token ref
- Token Slot
- contentComponents · Participation · #1 · State overrides · #2 · Token slot
10Data visualisation
defaultedCategorical, sequential, and diverging palette intent derived from brand tokens.
10 resolved values
Data visualisation
defaultedCategorical, sequential, and diverging palette intent derived from brand tokens.
10 resolved valuesBrand-derived colour intent supports comparison without changing the underlying data meaning.
Technical details10 canonical values and registry paths
- Categorical Token Refs 0
- --semantic-brand-primaryData visualization · Categorical token refs · #1
- Categorical Token Refs 1
- --semantic-brand-accentData visualization · Categorical token refs · #2
- Categorical Token Refs 2
- --semantic-status-informativeData visualization · Categorical token refs · #3
- Diverging Token Refs 0
- --semantic-status-errorData visualization · Diverging token refs · #1
- Diverging Token Refs 1
- --semantic-status-successData visualization · Diverging token refs · #2
- Enforceable
- NoData visualization · Guidance · #1 · Enforceable
- Id
- data-viz-contrastData visualization · Guidance · #1 · Id
- Text
- Use semantic token references whose labels, strokes, and fills remain distinguishable without colour alone.Data visualization · Guidance · #1 · Text
- Sequential Token Refs 0
- --semantic-surface-3Data visualization · Sequential token refs · #1
- Sequential Token Refs 1
- --semantic-brand-primaryData visualization · Sequential token refs · #2
11Motion
defaultedGoverned motion variance, timing, easing, and reduced-motion expectations.
5 resolved values
Motion
defaultedGoverned motion variance, timing, easing, and reduced-motion expectations.
5 resolved valuesReduced-motion behavior is required.
Technical details5 canonical values and registry paths
- Duration Token Refs 0
- --brandOS-duration-fastMotion · Duration token refs · #1
- Duration Token Refs 1
- --brandOS-duration-normalMotion · Duration token refs · #2
- Easing Token Refs 0
- --brandOS-ease-smoothMotion · Easing token refs · #1
- Groups Motion Guidance
- No additional entriesMotion · Guidance
- Reduced Motion Required
- YesMotion · Reduced motion required
12Prose guidance
defaultedHuman-readable direction distributed with the effective visual specification.
3 resolved values
Prose guidance
defaultedHuman-readable direction distributed with the effective visual specification.
3 resolved valuesAuthor visual guidance in the registry and regenerate every hosted and agent-readable projection.Human-readable guidance
Technical details3 canonical values and registry paths
- Enforceable
- NoProse guidance · #1 · Enforceable
- Id
- registry-firstProse guidance · #1 · Id
- Text
- Author visual guidance in the registry and regenerate every hosted and agent-readable projection.Prose guidance · #1 · Text
04 · Accessibility
Verified accessible pairings
Live specimens rendered from canonical foreground and background tokens.
--semantic-brand-accent-contentSurface--semantic-brand-accent- Standard text
- AA passAAA fail
- Large text
- AA passAAA pass
--semantic-brand-primary-contentSurface--semantic-brand-primary- Standard text
- AA passAAA fail
- Large text
- AA passAAA pass
--semantic-brand-secondary-contentSurface--semantic-brand-secondary- Standard text
- AA passAAA pass
- Large text
- AA passAAA pass
--semantic-neutral-contentSurface--semantic-neutral-base- Standard text
- AA passAAA pass
- Large text
- AA passAAA pass
--semantic-status-error-contentSurface--semantic-status-error- Standard text
- AA passAAA pass
- Large text
- AA passAAA pass
--semantic-status-informative-contentSurface--semantic-status-informative- Standard text
- AA passAAA pass
- Large text
- AA passAAA pass
--semantic-status-success-contentSurface--semantic-status-success- Standard text
- AA passAAA pass
- Large text
- AA passAAA pass
--semantic-status-warning-contentSurface--semantic-status-warning- Standard text
- AA passAAA pass
- Large text
- AA passAAA pass
--semantic-content-mutedSurface--semantic-surface-1- Standard text
- AA passAAA pass
- Large text
- AA passAAA pass
--semantic-content-primarySurface--semantic-surface-1- Standard text
- AA passAAA pass
- Large text
- AA passAAA pass
--semantic-content-mutedSurface--semantic-surface-2- Standard text
- AA passAAA pass
- Large text
- AA passAAA pass
--semantic-content-primarySurface--semantic-surface-2- Standard text
- AA passAAA pass
- Large text
- AA passAAA pass
--semantic-content-mutedSurface--semantic-surface-3- Standard text
- AA passAAA pass
- Large text
- AA passAAA pass
--semantic-content-primarySurface--semantic-surface-3- Standard text
- AA passAAA pass
- Large text
- AA passAAA pass
05 · Example uses
Where Wester Law shows up
Real interface patterns shaped by the same identity, semantic tokens and typography defined in this profile.
surfaces
06 · Delivery
Drop in anywhere
Three lines and an attribute, the whole Wester Law Offices brand renders from CDN.
- 01LoadGlobal tokens
- 02ThemeWester Law
- 03RenderEvery component
5 immutable assets
Pinned artwork for stable delivery. Themeable -ink follows the active theme, while -light and -dark variants preserve exported colour.
- Release
- v0.44.11
- Integrity
- 5/5
- Payload
- 27 KB
- 01 · Faviconwesterlaw-dark.svgdark artwork3.0 KBVerified
- 02 · Faviconwesterlaw.svgsingle artwork3.0 KBVerified
- 03 · Logowesterlaw-logo-dark.svgdark artwork9.3 KBVerified
- 04 · Logowesterlaw-logo-light.svglight artwork9.3 KBVerified
- 05 · Login Bgwesterlaw-login-bg.svgsingle artwork2.6 KBVerified
Implementation libraryAlternative asset recipesImage, background and favicon patterns3 recipes
<img
src="https://brand.snyder.tech/cdn/0.44.11/assets/brand-logos/westerlaw-logo-dark.svg"
alt="Wester Law Offices"
loading="lazy"
decoding="async"
/>.westerlaw-mark {
background-image: url("https://brand.snyder.tech/cdn/0.44.11/assets/brand-logos/westerlaw-logo-dark.svg");
background-repeat: no-repeat;
background-size: contain;
}<link rel="icon" type="image/svg+xml" href="https://brand.snyder.tech/cdn/0.44.11/assets/brand-favicons/westerlaw.svg" />Registry evidenceVersioned asset manifestPaths, sizes and integrity hashesSHA-256
# favicon · 3.0 KB
# sha256:540cf0f700f55c61893ba12133402d01f10e9149d5aeabfc77e1835722f5d193
https://brand.snyder.tech/cdn/0.44.11/assets/brand-favicons/westerlaw-dark.svg
# favicon · 3.0 KB
# sha256:4b3b0b55a89a405e156c91b0dfdb5a822856019dbc687d2b70a9edf024ba6293
https://brand.snyder.tech/cdn/0.44.11/assets/brand-favicons/westerlaw.svg
# logo · 9.3 KB
# sha256:d8a8afb6ccd09281f3a30276d928e92874b547baef86e5b30e8a9535af736ba3
https://brand.snyder.tech/cdn/0.44.11/assets/brand-logos/westerlaw-logo-dark.svg
# logo · 9.3 KB
# sha256:350d32be4709abbd22d78a2fc0dcf7a0eaab027c9de57b568321acc52ac2f28b
https://brand.snyder.tech/cdn/0.44.11/assets/brand-logos/westerlaw-logo-light.svg
# login-bg · 2.6 KB
# sha256:fd924737f6ad0c7b01bd5493350275860e5dfe9157f5c1cfca83ed4baa38aedf
https://brand.snyder.tech/cdn/0.44.11/assets/login-bg/westerlaw-login-bg.svg