Visual identity
Think Hope
A faith-based educational and outreach ministry founded in 2020 — unleashing the power of hope in a world of despair, one person at a time. Supports classical Catholic schools including the Maria Middleton Primary School in Uganda, ministries that lift people out of despair, and the Communities of Hope coaching platform.
Compact identity
Favicon scale
compactLogoSemantic system
Brand colour
data-brand- Brand ID
- thinkhope
- Token package
- @brandos/tokens/css/thinkhope
- Heading
- Fraunces
- Body
- Lato
01.01 · Thinkhope Teal ramp
19 shades of Thinkhope Teal
Thinkhope Teal identity ramp generated from canonical thinkhope token data.
01.02 · Thinkhope Navy ramp
19 shades of Thinkhope Navy
Thinkhope Navy identity ramp generated from canonical thinkhope token data.
01.03 · Thinkhope Gray ramp
19 shades of Thinkhope Gray
Thinkhope Gray identity ramp generated from canonical thinkhope token data.
01.04 · Thinkhopemint ramp
19 shades of Thinkhopemint
Thinkhopemint identity ramp generated from canonical thinkhope token data.
01.05 · 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
Fraunces on display · Lato for everything else
Heading and body families resolve from the canonical effective specification and its font registry.
--brandOS-font-headingThink Hope moves with purpose.
- Family
- Fraunces
- Registry ID
- fraunces
- Primary use
- Display and hierarchy
- H1 · DisplayThe system in practice
- H2 · Section106 brands, one system
- H3 · CardProfile contract
- Size
- 4xl
- Leading
- Tight
- Weight
- Regular
--brandOS-font-bodyClear systems make complex decisions feel simple, consistent, and unmistakably on brand.
- Family
- Lato
- Registry ID
- lato
- 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
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 3a9eac05
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
- frauncesTypography · 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-regularTypography · Base ladder · #1 · Weight token ref
- Font Id
- latoTypography · 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 real people the ministry serves — students, families, and volunteers in the schools and outreach programmes — rather than abstract charity stock.
Use the pale teal tints for large calm surfaces and reserve the mid-teal primary for a single call to action per view, so a donate or enquiry step is never competing with decoration.
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 real people the ministry serves — students, families, and volunteers in the schools and outreach programmes — rather than abstract charity stock.Imagery · Photography · #1 · Text
- Enforceable
- NoImagery · Photography · #2 · Enforceable
- Id
- imagery-02Imagery · Photography · #2 · Id
- Text
- Use the pale teal tints for large calm surfaces and reserve the mid-teal primary for a single call to action per view, so a donate or enquiry step is never competing with decoration.Imagery · Photography · #2 · Text
- Enforceable
- NoImagery · Photography · #3 · Enforceable
- Id
- imagery-03Imagery · Photography · #3 · Id
- Text
- Keep compositions quiet and spacious. The heart-and-anchor mark carries the faith reference on its own, so avoid adding further religious iconography unless a surface explicitly calls for it.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 pass
- 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 fail
- 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 Think Hope 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 Think Hope brand renders from CDN.
- 01LoadGlobal tokens
- 02ThemeThink Hope
- 03RenderEvery component
6 immutable assets
Pinned artwork for stable delivery. Themeable -ink follows the active theme, while -light and -dark variants preserve exported colour.
- Release
- v0.44.6
- Integrity
- 6/6
- Payload
- 332 KB
- 01 · Faviconthinkhope-dark.svgdark artwork43 KBVerified
- 02 · Faviconthinkhope.svgsingle artwork43 KBVerified
- 03 · Logothinkhope-logo-dark.svgdark artwork82 KBVerified
- 04 · Logothinkhope-logo-ink.svgink artwork82 KBVerified
- 05 · Logothinkhope-logo-light.svglight artwork82 KBVerified
- 06 · Login Bgthinkhope-login-bg.svgsingle artwork561 BVerified
// Recommended, themeable: currentColor follows the theme when inlined
import ThinkHopeMark from '@brandos/ui/assets/brand-logos/thinkhope-logo-ink.svg?raw';
// Astro: <span set:html={Mark} /> · React (SVGR): import ...?reactImplementation libraryAlternative asset recipesImage, background and favicon patterns3 recipes
<img
src="https://brand.snyder.tech/cdn/0.44.6/assets/brand-logos/thinkhope-logo-dark.svg"
alt="Think Hope"
loading="lazy"
decoding="async"
/>.thinkhope-mark {
background-image: url("https://brand.snyder.tech/cdn/0.44.6/assets/brand-logos/thinkhope-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.6/assets/brand-favicons/thinkhope.svg" />Registry evidenceVersioned asset manifestPaths, sizes and integrity hashesSHA-256
# favicon · 43 KB
# sha256:04c201a23b6d6c41710d17e7584a1ed1c3e45ad8aab8754a1f432d4585b0c328
https://brand.snyder.tech/cdn/0.44.6/assets/brand-favicons/thinkhope-dark.svg
# favicon · 43 KB
# sha256:f2b6222e38e0d3e0094538db751e31b5aa1788ab18cd65907aefee8ff88995c1
https://brand.snyder.tech/cdn/0.44.6/assets/brand-favicons/thinkhope.svg
# logo · 82 KB
# sha256:4d62658e316b71e99765eb46fdcd422c05c6a7c684d63d0f62e4c4e7093a77d4
https://brand.snyder.tech/cdn/0.44.6/assets/brand-logos/thinkhope-logo-dark.svg
# logo · 82 KB
# sha256:702a886638e96e196be1480be549ae367e315ede5301a4a71a464b1cd8645f1a
https://brand.snyder.tech/cdn/0.44.6/assets/brand-logos/thinkhope-logo-ink.svg
# logo · 82 KB
# sha256:620e27edc639b227096f2b320db6b1a94c4166533941ce1255d79a18994a68fa
https://brand.snyder.tech/cdn/0.44.6/assets/brand-logos/thinkhope-logo-light.svg
# login-bg · 561 B
# sha256:457f2f4889bbb99027bf17f430f488f129208650f45018391e255a13f9f645c2
https://brand.snyder.tech/cdn/0.44.6/assets/login-bg/thinkhope-login-bg.svg