Exponential Roadmap Initiative logo

Brand Reference

Brand Design System

The definitive guide to the Exponential Roadmap Initiative visual and verbal identity. The purpose of the system is to enable consistency, quality, and integrity across all touch points.

Introduction

BDS site version: V.2026.04.18  · @eri/components package version: v2.10.0

WHAT IS THE ERI BRAND DESIGN SYSTEM?

The ERI Brand Design System (BDS) is the single source of truth for all visual, verbal, and component decisions across ERI digital products. It covers brand tokens, typography, logo usage, layout patterns, and canonical UI components.

Every ERI web application — whether built by a human designer, a developer, or a Manus AI agent — must follow this system. Consistency across touch points is not optional: it is what makes ERI products feel like a coherent family rather than a collection of one-off builds.

WHO IS IT FOR?

Designers

Colour tokens, typography scale, logo usage rules, photography style, brand graphics, and verbal identity guidelines. Use the Communications & Brand zone.

Visual IdentityLogo UsageTypographyVerbal IdentityPhotographyBrand Graphics

Developers

Component library, spacing system, navigation tier patterns, CTA rules, and the Standard Components package. Use the Web & Development zone.

Navigation & LayoutSpacing & LayoutCTA ButtonsStandard ComponentsUI Components

Manus AI Agents

Read the eri-bds-reference skill before writing any code. The Machine Instructions section provides structured specs. Standard Components is the canonical implementation reference for all ERI app builds.

Machine InstructionsStandard Componentseri-bds-reference skill

BDS Maintainers

Release workflow, version tagging, and package build steps are documented in the Standard Components section. Run pnpm build:css before every checkpoint.

Standard Components → Release Workflow

TWO PATHS THROUGH THE BDS

A

Brand & Communications only

Use the Communications & Brand zone for colour, typography, logo, and verbal identity. No code or package installation required.

Sections: Visual Identity → Verbal Identity

B

Building an ERI application

Install @eri/components and follow the Standard Components section. This is the mandatory starting point for all ERI public-facing applications.

Sections: Standard Components → UI Components

Building an ERI app? Start with Standard Components.

The @eri/components package ships six canonical components that every ERI public-facing application must use verbatim. Install once, import, and the layout, header, hero, footer, status badges, and contact button are all handled.

EriPageLayoutFull-page wrapper: dark header, footer, content slot
EriAppHeaderFixed 64px header: ERI logo, app name, version, CTA
EriHeroSectionFull-viewport hero: hands image, left text block, CTAs
EriAppFooterStandard dark footer with ERI branding and links
EriStatusBadgePill badge for BETA / PILOT / PROTOTYPE labels
EriContactUsButtonStandalone Contact Us CTA linking to the shared service

FOR MANUS AI AGENTS — READ THIS FIRST

If you are a Manus AI agent working on any ERI project, you must read the eri-bds-reference skill before writing any code. The skill contains the canonical colour tokens, typography rules, component specs, and integration notes in a format optimised for AI consumption.

1.Read /home/ubuntu/skills/eri-bds-reference/SKILL.md — this is your primary reference for all ERI brand and component decisions.
2.For building ERI apps: follow the Standard Components section of this BDS site. Install @eri/components and use the six canonical components verbatim.
3.For brand decisions (colour, typography, logo): use the Machine Instructions section at the bottom of this page — it provides structured, AI-readable specs.
4.Never regenerate the ERI logo, the hands hero image, or brand assets. Use the CDN URLs documented in the skill and in the Logo Usage section of this site.
5.When in doubt about a brand decision, refer to this BDS site — it is the authoritative source. The skill is a portable summary; the BDS site is the full specification.

Brand Proposition

Mission

To accelerate the transition to a regenerative economy by providing organisations with a clear, actionable framework for exponential climate impact.

Vision

A world where every organisation understands and maximises its potential for positive climate impact across operations, value chains, solutions, finance, and policy.

Core Values

Clarity

Complex climate science made accessible and actionable

Integrity

Evidence-based, transparent, and honest assessment

Ambition

Pushing beyond incremental change to exponential impact

Collaboration

Collective action across industries and value chains

Brand Personality

"Expert yet approachable. Urgent but not alarmist. Ambitious and pragmatic. Scientific rigor with human warmth."

Visual Identity

Our colour system is built around the Five Pillars framework. Each pillar has a dedicated colour that creates instant recognition and helps users navigate complex climate information.

Brand Colours

Core brand colours for UI elements, text, and backgrounds. These provide the foundation for all interfaces.

Primary Green
HEX#3ba559
RGB59, 165, 89

Primary buttons, CTAs, links, success states

Primary Dark
HEX#232323
RGB35, 35, 35

Headings, footer background, and high-contrast UI elements. Use #232323 for H1–H4 headings and the footer background. Also used as the primary dark section background on marketing sites (alternating with #F9FAFB light sections), and as the semi-transparent overlay (#232323 at 80–85% opacity) on top of hero background images to create a consistent dark tone. For body paragraph text on white backgrounds, use Dark Gray #383838 (slightly lighter).

Neutral Gray
HEX#6b7280
RGB107, 114, 128

Secondary text, borders, disabled states

Off White
HEX#F9FAFB
RGB249, 250, 251

Page backgrounds, card backgrounds, and light section backgrounds. The standard light surface colour for all ERI web applications and the alternating light sections on marketing sites

Highlight Yellow
HEX#F5C842
RGB245, 200, 66

Data highlights, chart callouts, goal indicators, emphasis accents — introduced in Playbook v5

Accent Lime
HEX#93E07D
RGB147, 224, 125

Typographic heading accent colour for use on dark or green backgrounds (e.g. hero sections, dark cards). Use lime #93E07D for accent words when the background is dark green or black. On white or light backgrounds, use Primary Green #3ba559 instead. NOT for UI components, buttons, or data visualisation.

Dark Gray
HEX#383838
RGB56, 56, 56

Standard body paragraph text colour for all ERI surfaces. Use #383838 for all body copy on white or light backgrounds. Pair with Archivo headings (Primary Dark #232323) and Open Sans body text.

LinkedIn Blue
HEX#007BB6
RGB0, 123, 182

LinkedIn social media icon background. Used in the ERI footer social links row. Do not use for any other purpose.

YouTube Red
HEX#A82400
RGB168, 36, 0

YouTube social media icon background. Used in the ERI footer social links row. Do not use for any other purpose.

Pillar Colours

These colours represent the five dimensions of organisational climate impact. Use them consistently to reinforce the framework structure.

Pillar 1 — Cut Operational Emissions
HEX#9aa08c
RGB154, 160, 140

Operational emissions, Scope 1 & 2, internal processes

Pillar 2 — Decarbonize Value Chain
HEX#17b7dd
RGB23, 183, 221

Supply chain, Scope 3, procurement, supplier engagement

Pillar 3 — Build & Scale Solutions
HEX#00ac58
RGB0, 172, 88

Climate solutions, products, services, avoided emissions

Pillar 4 — Mobilize Finance & Investment
HEX#ff8b00
RGB255, 139, 0

Climate finance, green bonds, sustainable investment

Pillar 5 — Shape Policy & Narrative
HEX#ff5133
RGB255, 81, 51

Policy advocacy, regulatory engagement, trade associations

Dark Image Hero — Standard

The standard hero pattern for all ERI web applications and marketing sites. A full-bleed background image is overlaid with a semi-transparent #232323 at 80–85% opacity. Text is always left-aligned, with the left edge aligned with the ERI logotype in the header (same container padding). The eyebrow label, H1, body text, and CTA buttons occupy the left half only — the right half is reserved for the image composition. H1 accent word uses Accent Lime #93E07D — never Primary Green on dark backgrounds.

EXPONENTIAL ROADMAP INITIATIVE ——— BETA

Exponential
Human-AI Lab

One place for everything ERI builds at the intersection of human expertise and AI.

Dark Image Hero — Correct Layout

Left-aligned text, left edge aligned with header logotype. Eyebrow label above H1. Accent Lime #93E07D accent word. Accent Lime CTA button (rounded-lg, dark text). Right half reserved for image.

Hero Anatomy

BackgroundFull-bleed image + #232323 at 80–85% opacity
Text alignmenttext-left — NEVER text-center
Left edgeAnchored to logotype via --eri-content-inset — wrap text block in max-w-screen-xl mx-auto container with paddingInline: var(--eri-content-inset). Do NOT use raw pl-* padding.
Content widthmax-w-xl (~540px) — right half reserved for image
Eyebrow labelRequired — #93E07D uppercase tracking-widest · "BRAND NAME ——— BETA"
HeadingArchivo 800 · white · 4xl–6xl
Accent word#93E07D Accent Lime — NEVER #3ba559 on dark bg
Body textOpen Sans 400 · white/80 · 16–18px
CTA button#93E07D Accent Lime · dark text #1a1a1a · rounded-lg

Logo Usage

Three logo assets are available. Each card shows the asset on both a light and dark background so you can verify contrast before use. Each card includes a file identifier and a direct download button. Always respect minimum sizes and clear-space rules to maintain legibility and brand integrity.

Full Colour WordmarkLight background
Full Colour WordmarkDark background

Full Colour Wordmark

eri-logo-full-color_64e5c7dberi-logo-full-color_775a0122
Min Width160px
Clear SpaceEqual to the height of the 'E' letterform on all four sides.
When to useDefault choice. Use whenever background is white or light grey. Use the inverted (white) version on dark backgrounds.

Primary logo for all light-background contexts: website headers, footers, documents, presentations. On dark backgrounds, apply CSS filter: brightness(0) invert(1) to render the logo in white.

filter: brightness(0) invert(1)
ERI Icon MarkLight background
ERI Icon MarkDark background

ERI Icon Mark

eri-icon-mark_6c872e6b
Min Width32px
Clear Space4px on all sides minimum.
When to useWhen a compact ERI identifier is needed without the full wordmark.

Compact ERI mark for use in navigation menus, compact UI elements, and alongside pillar icons. The mark uses original green and black colours — do not recolour.

Favicon — White Rounded (Canonical)Light background
White bg — visible on darkWhite bg — visible on dark

Favicon — White Rounded (Canonical)

favicon-white-rounded-32_05ba5ceb
Min Width32px
Clear SpaceN/A — favicon is always displayed at system-determined size.
When to useAlways. This is the only approved favicon format for Manus-hosted ERI projects. Do not use .ico.

The canonical browser tab favicon for all ERI Manus-hosted projects. White background with 12% corner radius. Use the CDN URL directly in client/index.html — do not copy to client/public/. See the Favicon Implementation card below for the exact head code.

Available Sizes
32px (browser tab)Use CDN URL directly — do not copy to /public/
favicon-white-rounded-32_05ba5ceb
Download
180px (Apple Touch)Apple Touch Icon
favicon-white-rounded-180_2daaa7d4
Download
192px (Android/PWA)PWA manifest
favicon-white-rounded-192_54fb4338
Download
Mandatory

Favicon — Correct <head> Implementation

Copy these exact three lines into client/index.html inside <head>. Remove any existing <link rel="icon"> or <link rel="shortcut icon"> tags first. Do not copy any file into client/public/ — use the CDN URLs directly.

<!-- ERI Favicon — white rounded PNG (32px, white bg, 12% corner radius) -->
<!-- PNG only — Manus hosting does not serve .ico correctly -->
<link rel="icon" type="image/png" sizes="32x32"
  href="https://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/favicon-white-rounded-32_05ba5ceb.png" />
<link rel="apple-touch-icon" sizes="180x180"
  href="https://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/favicon-white-rounded-180_2daaa7d4.png" />
<link rel="icon" type="image/png" sizes="192x192"
  href="https://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/favicon-white-rounded-192_54fb4338.png" />

Why 32px? That is the correct and intentional size for a browser tab favicon. Do not search for a larger file to use as the tab icon.

!Favicon — What NOT to use

File / variantWhy it is wrong
exponential-logo.webpRaw swirl with no rounded corners — source file only, not a favicon
Any .ico fileManus hosting does not serve .ico correctly — PNG only
Any local /favicon.png fileLocal files cause deployment timeouts on Manus — use CDN URLs above

!Logo Don'ts

  • Do not stretch, skew, or distort the logo in any dimension.
  • Do not recolour the wordmark — use the full-colour version or the CSS-inverted white version only.
  • Do not place the colour wordmark on dark or busy photographic backgrounds without a white backing.
  • Do not add drop shadows, outlines, or decorative effects to the logo.
  • Do not use the icon mark as the sole brand identifier on external-facing pages.
  • Do not place the logo below minimum size (160px wide for wordmark, 32px for icon).

Typography

ERI uses a two-font system. Archivo is the heading and display typeface — used at weight 700–800 for all H1–H3 and marketing hero text. Open Sans is the body typeface — used for all paragraph text, UI labels, navigation, and captions. Both are loaded via Google Fonts CDN. The web applications map font-sans to Archivo for consistency with the design system.

Heading & Display Font

Archivo

Used for all H1–H3, hero text, section titles, and card headings. Weights: 400, 500, 600, 700, 800, 900. Loaded via Google Fonts CDN.

font-archivo → headings, display, hero textfont-sans → Archivo (Tailwind default alias)

Body & UI Font

Open Sans

Used for all body text, paragraphs, UI labels, navigation items, captions, and form fields. Weights: 400, 500, 600, 700. Loaded via Google Fonts CDN.

font-['Open_Sans'] → body, UI, captionsStandard body font for all ERI web applications

Type Scale Specimen

Each row shows the rendered text, the exact Tailwind classes used on live pages, and the intended context.

Hero H1font-archivo text-4xl md:text-5xl font-extrabold text-[#232323]

Capture Exponential Opportunities

Page hero headline. Used on Home, Framework, ClimateSolutions, Contact pages.

Section H2font-archivo text-3xl md:text-4xl font-extrabold text-[#232323]

The Five Pillars of Climate Action

Major section headings within a page. Responsive: 3xl mobile → 4xl desktop.

Sub-section H2font-archivo text-2xl md:text-3xl font-extrabold text-[#232323]

Brand Design System

Used in the design system itself and for secondary section headings.

Card H3font-bold text-[#232323] text-lg

Cut Operational Emissions

Card headings, widget titles, sidebar section labels.

Accent H4font-bold text-[#3ba559]

Core Values · Tone of Voice

Small card sub-headings, feature labels, pillar accent headings.

Bodytext-base text-gray-600

The fastest economic transition in history is underway.

Standard paragraph text. 16px (1rem). Open Sans 400 across all ERI surfaces — both marketing and web applications. Colour: #383838 on white backgrounds.

Small / UItext-sm text-gray-600

Interactive assessment tool based on the Exponential Business Playbook v5.0

Card descriptions, nav item descriptions, footer text, form labels. 14px.

Caption / Metatext-xs text-gray-500

Last updated · March 2026 · Exponential Roadmap Initiative

Timestamps, data source labels, badge text, table meta. 12px.

Overlinetext-xs font-semibold text-gray-400 uppercase tracking-wider

Five Pillars · Navigation · Resources

Section category labels above headings or nav groups.

Code / Monotext-xs font-mono text-gray-700 bg-gray-100 px-1.5 py-0.5 rounded

font-archivo text-4xl font-extrabold

Inline code, Tailwind class references, API keys, identifiers.

Italic Variant

Archivo supports italic. Used sparingly for hero accent phrases and pull quotes.

"The fastest economic transition in history"

font-archivo font-extrabold italic text-2xl text-[#232323]

Heading Accent Word Pattern

Accent Lime #93E07D is used for one or two accent words in a heading, exclusively on dark or green backgrounds — hero sections, dark cards, and dark section backgrounds. On white or light backgrounds, use Primary Green #3ba559 instead. Accent Lime has insufficient contrast on light surfaces.

✅ Correct — on dark background

About the Exponential Roadmap Initiative

Exponential Roadmap Initiative Members

❌ Do not use — on white/light background

About the Exponential Roadmap Initiative

Accent Lime on white has insufficient contrast. Use #3ba559 Primary Green on light backgrounds instead.

<h1 className="font-archivo font-extrabold text-white"> About the Exponential Roadmap{" "} <span className="text-[#93E07D]">Initiative</span> {/* dark bg only */} </h1>

Use sparingly — one or two accent words per heading maximum. Never apply to body text or on light backgrounds.

Typography on Light vs. Dark Backgrounds

Dark Background (hero sections, dark cards)

H1 heroArchivo 800 · 4xl–6xl · white
H2 sectionArchivo 700 · ~36px · #232323
Heading accentArchivo 700 · #93E07D lime highlight
Body textOpen Sans 400 · 16px · #383838
LinksOpen Sans · #93E07D Accent Lime

Light Background (white / #F9FAFB sections)

H1 heroArchivo 800 · 4xl–5xl · #232323
H2 sectionArchivo 800 · 3xl–4xl · #232323
Heading accentArchivo 700 · #3ba559 on white bg
Body textOpen Sans 400 · 16px · #383838
LinksOpen Sans · #3ba559 primary green

Unified standard (all ERI surfaces): Archivo for headings · Open Sans for body text · #383838 for body copy · #3ba559 for links. Use lime #93E07D for heading accents on dark/green backgrounds only; use #3ba559 on white backgrounds.

Verbal Identity

How we communicate is as important as what we communicate. Our voice reflects our values and builds trust with our audience.

Tone of Voice

Expert

We speak with authority grounded in science and data, not opinion

Accessible

We translate complex concepts without dumbing them down

Urgent

We convey the importance of action without inducing paralysis

Optimistic

We focus on solutions and possibilities, not doom

Writing Principles

Lead with impact

Start with the outcome, not the process

Be specific

Use numbers, percentages, and concrete examples

Active voice

'Apple reduced emissions by 60%' not 'Emissions were reduced'

No jargon without context

Define terms like 'Scope 3' on first use

Preferred Terminology

Use ThisInstead Of
Climate solutionsGreen products
Avoided emissionsCarbon offsets
Value chainSupply chain
Exponential impactIncremental improvement

Language

British English

ERI is a Swedish-founded initiative operating globally, but headquartered and primarily published in a European context. British English is the standard for all external communications, publications, and digital products.

Spelling Rules

RuleBritish English ✓Avoid ✗
-ise not -izeorganise, maximise, recognise, prioritise, emphasise, customiseorganize, maximize, recognize, prioritize, emphasize, customize
-our not -orcolour, behaviour, honour, favour, neighbourcolor, behavior, honor, favor, neighbor
-re not -ercentre, theatre, fibre, metre, litrecenter, theater, fiber, meter, liter
-ence not -enselicence (noun), defence, offence, pretencelicense (noun), defense, offense, pretense
-ogue not -ogcatalogue, dialogue, analoguecatalog, dialog, analog
Double consonantstravelling, modelling, cancelled, labellingtraveling, modeling, canceled, labeling

Punctuation & Formatting

Single quotation marks

Use single quotes for primary quotations: 'climate action'. Use double quotes for quotes within quotes: 'He said "net zero" is achievable.'

Oxford comma

Optional but consistent within a document. ERI preference: omit unless ambiguity arises.

Date format

Day Month Year — no ordinal suffixes: 18 March 2026, not March 18th, 2026.

Numbers

Spell out one to nine; use numerals for 10 and above. Use commas as thousands separators: 1,000 not 1.000.

Per cent

Write 'per cent' as two words in running text; use the % symbol in tables, charts, and data labels.

Common Pitfalls

Word PairRuleExample
'Program' vs 'Programme'Use 'programme' for schedules, events, and initiatives. Use 'program' only for computer software.The ERI accelerator programme; a software program
'Practice' vs 'Practise''Practice' is the noun; 'practise' is the verb.Best practice (noun); to practise consistently (verb)
'Licence' vs 'License''Licence' is the noun; 'license' is the verb.A Creative Commons licence (noun); licensed under CC BY (verb)
'Enquire' vs 'Inquire'Use 'enquire' for general questions; 'inquire' for formal investigations.Enquire about membership; a formal inquiry

Photography

ERI photography is documentary and systemic — it shows the infrastructure, industries, and cities that need to transform, not aspirational outcomes. These principles are derived from the Exponential Roadmap 1.5.1 report and apply across all ERI publications and digital products.

Photography Philosophy

Systemic, not aspirational

Show the systems that need to change — factories, ports, cities, energy grids — not idealised green futures. The scale of transformation must be visible.

Documentary, not decorative

Photography carries editorial weight. Every image should communicate something specific about climate action, not simply illustrate a mood or fill space.

Human scale within systems

Where people appear, they are interacting with infrastructure or technology — engineers, workers, cyclists. People ground the systemic narrative in lived experience.

Subject Matter by Pillar

Photography subject matter maps directly to the five pillars. Use these categories when sourcing images for pillar-specific content.

PillarSubject CategoryExample SubjectsSearch Terms
1 — Cut Operational EmissionsIndustrial transformationFactories, data centres, manufacturing lines, solar farmsaerial solar farm, industrial manufacturing overhead, data centre
2 — Decarbonize Value ChainSupply chain & logisticsPorts, shipping containers, warehouses, agricultural fieldsaerial shipping port, cargo containers, supply chain logistics
3 — Build & Scale SolutionsTechnology & innovationWind turbine engineers, EV charging, solar installationwind turbine engineer, electric vehicle charging, clean technology worker
4 — Mobilize Finance & InvestmentUrban infrastructure & capitalCity skylines, financial districts, construction sitesaerial city financial district, urban construction aerial, smart city
5 — Shape Policy & NarrativePeople & governanceCyclists, public transport, civic infrastructurecyclists city commuting, public transport tram, urban planning aerial

Composition Principles

Aerial city view — Finance pillar example

Aerial / Overhead

Chapter openers, hero images, high-impact moments

Communicates scale, systemic thinking, and the roadmap metaphor. Looking down at the terrain signals strategic perspective. Used for the most important moments in a publication.

Wide shipping port — Value Chain pillar example

Wide Establishing Shot

Section dividers, context-setting imagery

Shows the full context of a system or place, not a detail. Provides orientation and communicates the scope of the challenge or opportunity being discussed.

Wind turbine engineer — Solutions pillar example

Human-Scale Detail

Case studies, inline illustrations, pull quotes

Shows people interacting with technology or infrastructure. Engineers, workers, and citizens ground the systemic narrative in human experience and make abstract change tangible.

Colour Treatment Rules

Do

  • Use photography at full colour with no filters or overlays applied
  • Place the green brand colour (#3ba559) as a separate graphic element beside or on top of the photo — never blended into it
  • Use the green underline bar or swirl shape as the brand accent on chapter openers
  • Credit all photography sources — Unsplash, Alamy, Shutterstock, or company-provided

Don't

  • Apply colour tints, green overlays, or duotone effects to photographs
  • Use heavily processed photography: HDR, heavy vignettes, or dramatic colour grading
  • Use stock photo clichés: handshakes, lightbulbs, people pointing at whiteboards
  • Use nature/landscape photography decoratively — forests, mountains, or oceans without systemic context
  • Use close-up portrait photography as a primary image (only for case study headshots)

Approved Sources

UnsplashFree

Best for aerial, urban, and technology subjects. Search by subject + 'aerial' for overhead shots.

Visit ↗
AlamyLicensed

Primary source used in ERI 1.5.1 report. Extensive editorial and documentary photography library.

Visit ↗
ShutterstockLicensed

Used for supplementary imagery. Prefer editorial collections over generic stock.

Visit ↗
Company-providedCase studies

Partner organisations (Ericsson, Skanska, Telia, etc.) can provide images for case studies with attribution.

Curated Photo Library

29 curated images across all five pillars and brand. Each image has a stable reference ID (e.g. ERI-OPS-001) that can be used in Manus AI task prompts or shared with colleagues. Filter by pillar, copy the reference ID, or download directly.

Using photos in Manus AI tasks

Reference any photo by its ID in a task prompt, e.g.: "Use photo ERI-OPS-001 from the ERI Brand Design System photography library." The AI will use the correct Unsplash URL for that image. All images follow ERI photography principles: documentary, systemic, full colour, no filters.

Aerial view of a mountain valley with winding river — systemic landscape
Aerial / Overhead
ERI-BRD-001

Mountain valley aerial — systemic landscape

Photo: Sergei Akulich / Unsplash

landscapeaerialnature
View on Unsplash
Aerial view of a foggy forest — scale and complexity of natural systems
Aerial / Overhead
ERI-BRD-002

Foggy forest aerial — natural systems at scale

Photo: Lukasz Szmigiel / Unsplash

forestaerialfog
View on Unsplash
Wide view of a city skyline at dusk — urban scale and infrastructure
Wide Establishing
ERI-BRD-003

City skyline at dusk — urban infrastructure

Photo: Pedro Lastra / Unsplash

cityskylineurban
View on Unsplash
Aerial view of a highway interchange — systemic infrastructure
Aerial / Overhead
ERI-BRD-004

Highway interchange aerial — systemic infrastructure

Photo: Denys Nevozhai / Unsplash

highwayinfrastructureaerial
View on Unsplash
Solar panel array on a factory rooftop — operational renewable energy
Wide Establishing
ERI-OPS-001

Solar panels on factory roof — operational renewables

Photo: American Public Power Association / Unsplash

solarfactoryrenewable
View on Unsplash
Wind turbines in a field — clean energy generation at scale
Wide Establishing
ERI-OPS-002

Wind turbines in field — clean energy at scale

Photo: Nicholas Doherty / Unsplash

windturbinesenergy
View on Unsplash
Engineer checking equipment in a data centre — operational efficiency
Human-Scale Detail
ERI-OPS-003

Engineer in data centre — operational efficiency

Photo: ThisisEngineering / Unsplash

data centreengineerefficiency
View on Unsplash
Aerial view of solar farm — large-scale renewable energy deployment
Aerial / Overhead
ERI-OPS-004

Solar farm aerial — large-scale renewable deployment

Photo: Zbynek Burival / Unsplash

solar farmaerialrenewable
View on Unsplash
Electric vehicle charging station — transport electrification
Human-Scale Detail
ERI-OPS-005

EV charging station — transport electrification

Photo: Chuttersnap / Unsplash

electric vehiclechargingtransport
View on Unsplash
Aerial view of a container port — global supply chain at scale
Aerial / Overhead
ERI-VAL-001

Container port aerial — global supply chain

Photo: Chuttersnap / Unsplash

portshippingsupply chain
View on Unsplash
Workers in a warehouse — supply chain operations and logistics
Human-Scale Detail
ERI-VAL-002

Warehouse workers — supply chain operations

Photo: Ruchindra Gunasekara / Unsplash

warehouseworkerslogistics
View on Unsplash
Cargo ship at sea — maritime freight and emissions
Wide Establishing
ERI-VAL-003

Cargo ship at sea — maritime freight

Photo: Ian Taylor / Unsplash

shipmaritimefreight
View on Unsplash
Aerial view of a motorway with heavy goods vehicles — road freight
Aerial / Overhead
ERI-VAL-004

Motorway aerial with HGVs — road freight

Photo: Denys Nevozhai / Unsplash

motorwaytrucksfreight
View on Unsplash
Supplier meeting in a factory — supplier engagement and collaboration
Human-Scale Detail
ERI-VAL-005

Factory meeting — supplier engagement

Photo: Ant Rozetsky / Unsplash

suppliermeetingfactory
View on Unsplash
Offshore wind farm — scaling clean energy solutions
Wide Establishing
ERI-SOL-001

Offshore wind farm — scaling clean energy

Photo: Nicholas Doherty / Unsplash

offshore windenergysolutions
View on Unsplash
Engineers working on a green technology prototype — innovation and solutions
Human-Scale Detail
ERI-SOL-002

Engineers on green tech prototype — innovation

Photo: Science in HD / Unsplash

engineersinnovationtechnology
View on Unsplash
Modern green office building — sustainable built environment
Wide Establishing
ERI-SOL-003

Green office building — sustainable built environment

Photo: Nastuh Abootalebi / Unsplash

buildinggreensustainable
View on Unsplash
Circuit board close-up — digital and technology solutions
Human-Scale Detail
ERI-SOL-004

Circuit board — digital technology solutions

Photo: Alexandre Debiève / Unsplash

technologydigitalcircuit
View on Unsplash
Aerial view of a large solar installation — scaling renewable solutions
Aerial / Overhead
ERI-SOL-005

Large solar installation aerial — scaling renewables

Photo: Zbynek Burival / Unsplash

solaraerialscale
View on Unsplash
Financial district aerial — capital markets and investment at scale
Aerial / Overhead
ERI-FIN-001

Financial district aerial — capital markets

Photo: Maxim Hopman / Unsplash

financeinvestmentcapital
View on Unsplash
Business meeting reviewing financial data — investment decision-making
Human-Scale Detail
ERI-FIN-002

Business meeting with financial data — investment decisions

Photo: Scott Graham / Unsplash

meetingfinancedata
View on Unsplash
Green bond certificate and financial documents — sustainable finance
Human-Scale Detail
ERI-FIN-003

Financial documents — sustainable finance and green bonds

Photo: Markus Winkler / Unsplash

green bondssustainable financedocuments
View on Unsplash
Aerial view of a city financial district at night — capital concentration
Aerial / Overhead
ERI-FIN-004

City financial district at night — capital concentration

Photo: Maxim Hopman / Unsplash

citynightfinancial
View on Unsplash
Analyst reviewing ESG investment data on screens — climate finance
Human-Scale Detail
ERI-FIN-005

ESG data analyst — climate finance and reporting

Photo: Maxim Hopman / Unsplash

ESGdataanalyst
View on Unsplash
United Nations General Assembly hall — international policy and governance
Wide Establishing
ERI-POL-001

UN General Assembly — international policy and governance

Photo: Mathias Reding / Unsplash

UNpolicygovernance
View on Unsplash
Climate conference — policy makers and stakeholders in dialogue
Wide Establishing
ERI-POL-002

Climate conference — policy dialogue

Photo: Pedro Lastra / Unsplash

conferenceclimatepolicy
View on Unsplash
Government building facade — policy and regulatory frameworks
Wide Establishing
ERI-POL-003

Government building — policy and regulatory frameworks

Photo: René DeAnda / Unsplash

governmentpolicyregulation
View on Unsplash
Business leaders in a panel discussion — narrative and advocacy
Human-Scale Detail
ERI-POL-004

Panel discussion — narrative and business advocacy

Photo: Campaign Creators / Unsplash

paneldiscussionadvocacy
View on Unsplash
Roundtable meeting — multi-stakeholder policy engagement
Human-Scale Detail
ERI-POL-005

Roundtable meeting — multi-stakeholder engagement

Photo: Headway / Unsplash

roundtablemeetingstakeholders
View on Unsplash

29 images shown

Brand Graphics & Illustrations

Designed visual assets that represent ERI concepts and are approved for use across web applications, reports, presentations, and social media. These are distinct from photography — they are purpose-built illustrations and graphic compositions that carry specific conceptual meaning.

Human-AI Lab Hero — Hands Touching (Primary)

The primary hero background for the Human-AI Lab and any human + AI collaboration narrative. Two translucent wireframe hands reach toward each other across the S-curve crossing point, fingertips meeting in a golden burst of light — a Michelangelo-inspired composition set against a deep teal grid. The crossing point of the S-curves is the visual focal point: the moment of connection between human and AI.

EXPONENTIAL ROADMAP INITIATIVE — EXAMPLE

Exponential
Human-AI Lab

One place for everything ERI builds at the intersection of human expertise and AI.

Asset Details

File namehal-hero-human-v2-hands.png
Dimensions1456 × 816 px
FormatPNG
Aspect ratio16:9
ColoursAmber curve · Accent Lime curve · Dark teal grid · Wireframe hands
CDN tokenheroImages.halHandsTouching

Usage Rules

  • Always use full-bleed — the image must fill the entire hero section width.
  • Always apply a #232323 overlay at 80–85% opacity over the image before placing text.
  • Use white Archivo for the main heading; Accent Lime #93E07D for the accent word.
  • Do not crop, rotate, or alter the image in any way.
  • Do not use on light backgrounds without the dark overlay.
  • Do not use as a decorative element in body content — hero sections only.

Conceptual Meaning

The two S-curves crossing represent the central ERI insight: legacy fossil-fuel systems are on a declining S-curve while clean-technology systems are on a rising S-curve. The crossing point is the transition moment — the moment of connection between human and AI. The amber curve represents the old economy; the lime curve represents the new. The wireframe hands reaching toward each other evoke the Michelangelo “Creation of Adam” — a universal symbol of the spark of intelligence passing between two entities. This image should only be used in contexts where this meaning is relevant — it is not a generic technology background.

Alternate Versions

Three alternate hero compositions share the same S-curve structure and are documented in full in the Surface Modes section.

Testimonials & Pull-Quotes

Testimonials appear on ERI web applications and in reports to convey third-party credibility. The layout pairs a rounded-rectangle portrait with a left-aligned block-quote and a bold attribution line. Heading copy uses the standard ERI accent-word treatment: one or two key words set in Primary Green on a light background.

Layout Anatomy

  • 1Section heading — Archivo 700–800, left-aligned. One or two key words use Primary Green #3ba559 (or Accent Lime #93E07D on dark backgrounds). Use either black or green — do not mix both in the same heading.
  • 2Portrait — rounded-rectangle crop (border-radius: 8px), 120–160 px wide. No border or drop-shadow. Sits to the left of the quote block. The ERI brand does not use circular elements.
  • 3Quote body — Open Sans 400, 15–17 px, text-align: left. No typeset quotation marks. Colour: Dark Gray #383838. Justified alignment creates uneven spacing — left-align is the ERI standard.
  • 4Attribution lineBold name in Open Sans 700, comma, then role and organisation in Open Sans 400. Colour: #232323.
  • 5Background — light grey #F9FAFB or white. Never a coloured or gradient background behind testimonials.

Typography & Spacing

Section headingArchivo 700–800 · left-aligned
Accent word(s)#3ba559 (light bg) / #93E07D (dark bg)
Portrait size120–160 px · rounded-rect (border-radius: 8px)
Quote bodyOpen Sans 400 · 15–17 px · left-aligned
Attribution nameOpen Sans 700 · #232323
Attribution roleOpen Sans 400 · #232323
Background#F9FAFB or #FFFFFF

Live Example

What others say about us

Portrait placeholder

No company can achieve net zero alone. Accelerating decarbonisation requires collaboration and Exponential Roadmap Initiative has been a great partner and thought leader — helping us to think through our strategies and co-hosted Solutions House with Futerra at Climate Week NYC, facilitating great conversations around climate solutions, the challenges of Scope 3, advanced clean energy technologies and more.

Kate Brandt, Chief Sustainability Officer, Google

✓ Do

  • Use a rounded-rectangle portrait crop (border-radius: 8px) — the ERI brand does not use circular elements.
  • Left-align the quote body text.
  • Bold the speaker's name; use regular weight for role and organisation.
  • Use Primary Green for the accent word(s) in the heading on light backgrounds.
  • Keep the background white or light grey — no coloured panels.
  • Use real photography — no illustrations or icons as the portrait.

✗ Don't

  • Don't add decorative quotation mark glyphs (" ") — the layout implies the quote.
  • Don't use a coloured or gradient background behind the testimonial block.
  • Don't justify the quote body text — justified alignment creates uneven word spacing. Left-align is the ERI standard.
  • Don't omit the attribution — an unattributed quote cannot be published.
  • Don't use Accent Lime on a white background for body text — only for heading accent words on dark backgrounds.
  • Don't place the portrait below or to the right of the quote.

Multiple testimonials: When displaying more than one testimonial, stack them vertically with 40–48 px gap between entries. Do not use a carousel or slider — all testimonials should be visible without interaction. Each entry follows the same portrait-left / quote-right layout.

Exponential Framework

All visual assets for the Exponential Roadmap framework — pillar icons, framework diagrams, and pillar elements — are documented here. Always use the provided assets; never recreate or approximate them.

Pillar Icon Assets

Five WebP images represent the Exponential Framework pillars. They appear in the full-screen navigation overlay, pillar detail pages, and framework diagrams. Import from client/src/lib/pillarColors.ts for the canonical hex colours — never hard-code pillar colours inline.

Pillar 1 icon
Pillar 1

Cut Operational Emissions

pillar-1-icon.webp
#9aa08c
Pillar 2 icon
Pillar 2

Decarbonize Value Chain

pillar-2-icon.webp
#17b7dd
Pillar 3 icon
Pillar 3

Build & Scale Solutions

pillar-3-icon.webp
#00ac58
Pillar 4 icon
Pillar 4

Mobilize Finance & Investment

pillar-4-icon.webp
#ff8b00
Pillar 5 icon
Pillar 5

Shape Policy & Narrative

pillar-5-icon.webp
#ff5133

Usage Pattern

// Always import canonical colours from pillarColors.ts
import { pillarColors, pillarMeta } from "@/lib/pillarColors";
import { pillarBottomIcons } from "@/lib/assets";

// Render pillar icon with correct background tint
<div style={{ backgroundColor: pillarColors.pillar3 + "20" }}>
  <img src={pillarBottomIcons.pillar3} alt="Build & Scale Solutions" className="w-16 h-16" />
</div>

// Or iterate all five pillars
{pillarMeta.map((p) => (
  <img key={p.id} src={pillarBottomIcons[`pillar${p.id}`]} alt={p.name} />
))}

Framework Diagrams

v5 New

The Five Pillars radial diagram is the central visual identity of the Exponential Roadmap framework. Eight approved variants exist for different placement contexts. Always use the provided assets — never recreate the diagram.

Source: ERI Styleguide 1.0 — Framework (pp. 5–8) and Framework Integration (pp. 9–12).

Five Pillars Diagram — 8 Variants

BG

BG

Background only (no logo/text)

framework-5pillars-bg.webp
BG + Logo

BG + Logo

With ERI wordmark

framework-5pillars-bg-logo.webp
BG + Logo + Title

BG + Logo + Title

With wordmark and title text

framework-5pillars-bg-logo-title.webp
Extended

Extended

With action blocks around pillars

framework-5pillars-extended.webp
Transparent

Transparent

No background — for dark slides

framework-5pillars-transparent.webp
Short Text (Transp)

Short Text (Transp)

Pillar names only, transparent

framework-5pillars-short-text.webp
Symbols (Transp)

Symbols (Transp)

Icons only, transparent

framework-5pillars-symbols-transparent.webp
Text (Transp)

Text (Transp)

Full text labels, transparent

framework-5pillars-text-transparent.webp

Placement Rules

Clear Space

Minimum clear space around the diagram equals x — one unit defined as the width of the “E” in EXPONENTIAL. Never crowd the diagram with other elements.

Background Combinations

Use the solid BG variant on white/light backgrounds. Use the Transparent variant on dark or coloured backgrounds. Never place the solid variant on a dark background.

Never Do

  • • Do not distort, rotate, or recolour the diagram
  • • Do not add extra elements inside the diagram
  • • Do not use unofficial variants or recreations
  • • Do not place the diagram on a clashing background colour

Supporting Diagrams

Four additional diagrams support the framework narrative. Use these in context — do not mix them with the Five Pillars radial diagram on the same slide.

Leadership A

Leadership A

Leadership categories diagram (variant A)

framework-leadership-a.webp
Leadership B

Leadership B

Leadership categories diagram (variant B)

framework-leadership-b.webp
Pillars Linear

Pillars Linear

Five pillars in horizontal linear layout

framework-pillars-linear.webp
Reducing / Enabling

Reducing / Enabling

Reducing vs. enabling emissions framework

framework-reducing-enabling.webp

Pillar Elements

v5 New

The pillar element is a vertical graphic unit that anchors each pillar in presentations, reports, and digital interfaces. It always appears on the left side of a slide or frame. Four variants exist — choose based on available space and content depth. All assets are available in solid (white background) and transparent versions.

Source: ERI Styleguide 1.0 — Framework Integration (pp. 13–18).

Long Pillar (Primary)

The primary integration element for company presentations. Placed on the left side of the frame. Use x (width of the "E" in EXPONENTIAL) as minimum clear space from pillar to frame edge.

Pillar 1 Long
Pillar 1pillar-1-long-solid.webp
Pillar 2 Long
Pillar 2pillar-2-long-solid.webp
Pillar 3 Long
Pillar 3pillar-3-long-solid.webp
Pillar 4 Long
Pillar 4pillar-4-long-solid.webp
Pillar 5 Long
Pillar 5pillar-5-long-solid.webp
Pillar 1 Long Transparent
Pillar 1pillar-1-long-transparent.webp
Pillar 2 Long Transparent
Pillar 2pillar-2-long-transparent.webp
Pillar 3 Long Transparent
Pillar 3pillar-3-long-transparent.webp
Pillar 4 Long Transparent
Pillar 4pillar-4-long-transparent.webp
Pillar 5 Long Transparent
Pillar 5pillar-5-long-transparent.webp

Regular Pillar

Scaled-down version for data slides where more horizontal space is needed. Can be placed over images. Use 3x as the distance from pillar to frame edge.

Pillar 1 Regular
Pillar 1pillar-1-regular-solid.webp
Pillar 2 Regular
Pillar 2pillar-2-regular-solid.webp
Pillar 3 Regular
Pillar 3pillar-3-regular-solid.webp
Pillar 4 Regular
Pillar 4pillar-4-regular-solid.webp
Pillar 5 Regular
Pillar 5pillar-5-regular-solid.webp

Extended Pillar (with Action Blocks)

The most detailed variant — pillar extended downward with labelled Action Blocks (e.g. "Supplier Engagement"). The pillar icon appears at the bottom of the stack. Use 3x as the distance from pillar to frame edge.

Pillar 1 Extended
Pillar 1pillar-1-extended-solid.webp
Pillar 2 Extended
Pillar 2pillar-2-extended-solid.webp
Pillar 3 Extended
Pillar 3pillar-3-extended-solid.webp
Pillar 4 Extended
Pillar 4pillar-4-extended-solid.webp
Pillar 5 Extended
Pillar 5pillar-5-extended-solid.webp
Action Block Specification
Background
Pillar colour
Text
White, Archivo Bold
Size
~8pt / 11px
Gap between blocks
1px white

Short Pillar (Symbol & Text variants)

Minimal variant — symbol only (icon mark) or text only (pillar number + name). Used where space is very limited or as a compact reference marker.

Pillar 1 Symbol
pillar-1-symbol-solid.webp
Pillar 1 Text
pillar-1-text-solid.webpPillar 1
Pillar 2 Symbol
pillar-2-symbol-solid.webp
Pillar 2 Text
pillar-2-text-solid.webpPillar 2
Pillar 3 Symbol
pillar-3-symbol-solid.webp
Pillar 3 Text
pillar-3-text-solid.webpPillar 3
Pillar 4 Symbol
pillar-4-symbol-solid.webp
Pillar 4 Text
pillar-4-text-solid.webpPillar 4
Pillar 5 Symbol
pillar-5-symbol-solid.webp
Pillar 5 Text
pillar-5-text-solid.webpPillar 5

Top row: Symbol variant. Bottom row: Text variant. Transparent versions also available.

✓ Correct Usage

  • Always place on the left side of the slide or frame
  • Maintain minimum clear space: x from pillar to frame edge (basic), 3x for alternate
  • Use solid version on light backgrounds; transparent on dark
  • Use Long Pillar as the default; scale down only when content requires it
  • Keep pillar colours exactly as specified — never approximate

✗ Never Do

  • Do not place the pillar on the right, centre, or bottom of the frame
  • Do not distort, stretch, or rotate the pillar element
  • Do not change pillar colours or mix pillar colours across elements
  • Do not use the pillar element without the correct pillar number
  • Do not use the Extended variant without all action blocks present

Charts & Data Visualisation

ERI data visualisation follows a consistent visual language across publications, the Crocodile Economy whitepaper, and digital products. The chart style is minimal, editorial, and high-contrast — designed for print and screen alike.

The Crocodile Economy Chart Style

The Crocodile Economy charts show the decoupling of emissions from economic growth over time. Two lines form the "crocodile jaw" — the upper line (GDP or revenue growth) diverges upward from the lower line (CO₂ emissions). The fill colour between the lines encodes the entity type: green for companies, salmon for nations/regions. This is a semantic encoding — not a stylistic choice.

Company / Corporate

#7DD87A

Green fill between the GDP/revenue line and the CO₂ line. Used for all corporate entities (e.g. Astra Zeneca, Scania, Volvo). Signals that the entity is a private-sector actor.

Nation / Region

#F08070

Salmon/coral fill between the GDP line and the CO₂ line. Used for all national and supranational entities (e.g. European Union, Sweden, Australia). Signals that the entity is a public-sector actor.

Line Colours

GDP / Revenue line

#00B4D8 — Cyan

Upper trajectory. Represents economic growth (GDP for nations, revenue for companies).

CO₂ Emissions line

#1A1A1A — Near-black

Lower trajectory. Represents territorial or Scope 1+2 CO₂ emissions over time.

Grid lines / Axes

#CCCCCC — Light grey

Horizontal gridlines and axis ticks. Minimal — no border box around the chart.

Live Examples

Interactive recreations of the Crocodile Economy chart style using ERI brand colours.

Company

-500+502013172124
Revenue (% change)
CO₂ emissions (% change)
Decoupling gap

Illustrative. Sources: company annual reports, Klimatkollen.

Country

-500+501995061624
GDP (% change)
CO₂ emissions (% change)
Decoupling gap

Illustrative. Sources: World Bank GDP, Global Carbon Budget.

Semantic encoding rule: The fill colour between the two lines is not decorative. It encodes entity type — always green for companies, always salmon for countries/regions. Never swap these colours.

Chart Typography

ElementStyle
Chart titleArchivo 700 uppercase · #232323
Axis labelsOpen Sans 400 · #666666 · 11–12px
Tick valuesOpen Sans 400 · #888888 · 10–11px
Legend labelsOpen Sans 400 · #444444 · 11px
Data calloutsArchivo 600 · #232323 · 11px

Chart Anatomy Rules

  • • No border box around the chart area — only horizontal gridlines
  • • Y-axis on the left only; no right-side axis
  • • Zero line is slightly thicker (1.5px) than other gridlines (0.5px)
  • • X-axis shows year labels only — no tick marks
  • • Fill opacity: 0.7 (allows gridlines to show through)
  • • Line stroke width: 2px for both GDP and CO₂ lines
  • • Background: white #FFFFFF — no chart background colour

Data Sources

Country charts use World Bank GDP data and Global Carbon Budget CO₂ data. Company charts use Klimatkollen and ERI-compiled Scope 1+2 emissions with publicly reported revenue. Always cite the data source beneath the chart.

Member Company Logotypes

Official logotypes for ERI member companies. Use these assets when referencing member organisations in ERI publications, case studies, and digital products. Each logo has a stable CDN URL for use in Manus AI task prompts.

Note: All logos are the property of their respective companies and are provided here solely for use within authorised ERI communications.

Using member logos in AI tasks: Reference a logo by its token name, e.g.memberLogos.scania.urlfrom assets.ts, or use the direct CDN URL shown on hover. Always display logos on a white or light background. Do not apply colour filters, crop, or recolour any member logo.

AFRY logoAFRYEngineering
Alfa Laval logoAlfa LavalIndustrial
alfaLavalDownload
Apple logoAppleTechnology
Axel Johnson logoAxel JohnsonInvestment
axelJohnsonDownload
BT logoBTTelecoms
Ericsson logoEricssonTechnology
ericssonDownload
Google logoGoogleTechnology
googleDownload
Handelsbanken logoHandelsbankenFinance
handelsbankenDownload
Houdini Sportswear logoHoudini SportswearApparel
houdiniSportswearDownload
Icebug logoIcebugApparel
icebugDownload
IKEA logoIKEARetail
Investor AB logoInvestor ABInvestment
investorAbDownload
Juan Valdez Café logoJuan Valdez CaféFood & Beverage
juanValdezCafeDownload
Max Burgers logoMax BurgersFood & Beverage
maxBurgersDownload
Netflix logoNetflixMedia
netflixDownload
Oatly logoOatlyFood & Beverage
Oracle logoOracleTechnology
oracleDownload
Polestar logoPolestarAutomotive
polestarDownload
PowerCell Sweden logoPowerCell SwedenEnergy
powercellSwedenDownload
Ragn-Sells logoRagn-SellsWaste & Recycling
ragnsellsDownload
Scan Global Logistics logoScan Global LogisticsLogistics
scanGlobalLogisticsDownload
Scania logoScaniaAutomotive
scaniaDownload
Skanska logoSkanskaConstruction
skanskaDownload
Speedy Hire logoSpeedy HireEquipment Hire
speedyHireDownload
Spotify logoSpotifyMedia
spotifyDownload
Stegra logoStegraGreen Steel
stegraDownload
Tele2 logoTele2Telecoms
Telia Company logoTelia CompanyTelecoms
teliaCompanyDownload
Unilever logoUnileverConsumer Goods
unileverDownload

Data Source & Partner Logos

Logos for data providers, research institutions, standards bodies, and partner organisations used across ERI products and publications. Use these when citing data sources or acknowledging partners in reports, dashboards, and presentations.

All logos remain the property of their respective organisations and are provided here for use within authorised ERI communications only.

CDP logoCDPClimate Data
cdpCorporate climate disclosure platform
·Download
SBTi logoSBTiStandards
sbtiScience Based Targets initiative
·Download
TPI logoTPIClimate Data
tpiTransition Pathway Initiative
·Download
GLEIF logoGLEIFCompany Data
gleifGlobal Legal Entity Identifier Foundation
·Download
MSCI logoMSCIESG Ratings
msciESG ratings and analytics
·Download
WBA logoWBABenchmarks
wbaWorld Benchmarking Alliance
·Download
Net Zero Tracker logoNet Zero TrackerClimate Data
netzerotrackerNet Zero Tracker
·Download
B Corp logoB CorpCertification
bcorpB Corp certification
·Download
Eurostat logoEurostatStatistical Data
eurostatEU statistical office
·Download
Wikidata logoWikidataOpen Data
wikidataFree open knowledge base
·Download
Klimatkollen logoKlimatkollenClimate Data
klimatkollenSwedish climate data platform
·Download
LobbyMap logoLobbyMapPolicy Data
lobbymapCorporate lobbying tracker
·Download
Perplexity AI logoPerplexity AIAI Tools
perplexityAI-powered research assistant
·Download
SME Climate Hub logoSME Climate HubStandards
smeclimatehubSME climate commitment platform
·Download
SR Navigator logoSR NavigatorERI Tools
srNavigatorSustainability Reporting Navigator
·Download
LinkedIn logoLinkedInSocial
linkedinProfessional network
·Download
GitHub logoGitHubDeveloper
githubCode repository and collaboration
·Download
Oxford Net Zero logoOxford Net ZeroResearch
oxfordNetZeroOxford University Net Zero programme
·Download
Oxford University logoOxford UniversityResearch
oxfordUniversityUniversity of Oxford
·Download
IPCC logoIPCCResearch
ipccIntergovernmental Panel on Climate Change
·Download
UNFCCC logoUNFCCCPolicy
unfcccUN Framework Convention on Climate Change
·Download
WBCSD logoWBCSDStandards
wbcsdWorld Business Council for Sustainable Development
·Download
WRI logoWRIResearch
wriWorld Resources Institute
·Download
Project Drawdown logoProject DrawdownResearch
projectDrawdownClimate solutions research
·Download
Climate Champions logoClimate ChampionsInitiatives
climatechampionsUNFCCC Race to Zero Champions
·Download
2030 Breakthroughs logo2030 BreakthroughsInitiatives
breakthroughs2030Exponential Roadmap 2030 Breakthroughs
·Download
Klimatkommunerna logoKlimatkommunernaInitiatives
klimatkommunernaSwedish climate municipalities network
·Download
Viable Cities logoViable CitiesInitiatives
viablecitiesSwedish smart city programme
·Download
Naturvårdsverket logoNaturvårdsverketGovernment
naturvardsverketSwedish Environmental Protection Agency
·Download

Spacing & Layout Tokens

All spacing uses the standard Tailwind 4px base scale. Container widths and grid patterns are defined here so every page shares the same spatial rhythm.

--eri-content-inset

Content Inset — The Logotype Anchor

A single CSS variable that anchors the header logotype and the hero text block to the same left edge. Both containers must use this variable — never hard-code padding values.

Definition — add to client/src/index.css :root

--eri-content-inset: clamp(1rem, 3vw, 2rem);
/* ~16px on mobile → ~32px on wide screens */
/* Defines the left edge shared by the header
   logotype and the hero text block. */

Usage — header + hero containers

{/* Header inner container */}
<div className="max-w-screen-xl mx-auto w-full"
  style={{ paddingInline:
    'var(--eri-content-inset)' }}>

{/* Hero text container — same anchor */}
<div className="max-w-screen-xl mx-auto w-full"
  style={{ paddingInline:
    'var(--eri-content-inset)' }}>
  <div className="max-w-xl text-left">
Logo left edge = Hero H1 left edge — always
Do NOT use px-4 md:px-6 lg:px-8 — static values break the alignment

Container Widths

NameClassMax WidthPaddingNotes
Page Container.container1280px1rem → 1.5rem → 2remAuto-centered. Responsive padding: mobile 1rem, sm 1.5rem, lg+ 2rem.
Narrow Contentmax-w-3xl mx-auto768pxinheritedLong-form prose, descriptions, intro paragraphs.
Wide Contentmax-w-6xl mx-auto px-41152px1remUsed in Brand Design System and most public pages.
Full-bleed Sectionw-fullnone0Hero sections, coloured bands. Inner content uses container or max-w-6xl.

Standard Grid Patterns

PatternTailwind ClassesTypical Usage
2-column splitgrid md:grid-cols-2 gap-8Mission/Vision cards, two-option comparisons, side-by-side content
3-column gridgrid md:grid-cols-3 gap-4Resource cards, feature tiles, data source cards
4-column gridgrid md:grid-cols-4 gap-6Core values, tone-of-voice traits, pillar quick stats
5-column gridgrid md:grid-cols-5 gap-4Pillar colour swatches (one per pillar)
Responsive listgrid sm:grid-cols-2 lg:grid-cols-3 gap-4Company cards, member lists, search results
Dashboard sidebarflex gap-0 (sidebar 240px + flex-1 main)Admin/workspace pages using DashboardLayout or AdminLayout

Spacing Scale

4px (1)p-1 / m-1 / gap-1

Icon internal padding, tight badge gaps

8px (2)p-2 / m-2 / gap-2

Button icon gap, compact list item spacing

12px (3)p-3 / m-3 / gap-3

Card inner padding (compact), chip padding

16px (4)p-4 / m-4 / gap-4

Default card padding, section column gap

20px (5)p-5 / m-5 / gap-5

Card content padding (standard)

24px (6)p-6 / m-6 / gap-6

Card content padding (generous), section sub-gap

32px (8)p-8 / m-8 / gap-8

Grid column gap (desktop), section vertical rhythm

48px (12)p-12 / m-12

Section top/bottom padding (compact pages)

64px (16)p-16 / m-16

Hero section vertical padding

96px (24)pb-24

Hero section bottom padding (desktop)

Component Library

Reusable components that enforce brand standards through their API. These components ensure consistency and prevent styling violations.

ChartContainer

Use for any section requiring a coloured header. The component restricts colours to the approved palette.

P1/P3 Content

Operations or Solutions

Green header for Pillar 1 (Operations) or Pillar 3 (Solutions) content.

P2 Content

Value Chain

Cyan header for Pillar 2 (Value Chain) content.

P4 Content

Finance

Orange header for Pillar 4 (Finance) content.

Usage

import { ChartContainer } from "@/components/ui/chart-container";

<ChartContainer
  title="Section Title"
  subtitle="Optional subtitle"
  headerColor="green" // green | cyan | orange | red | gray
>
  {/* Your content */}
</ChartContainer>

Badge Reference

Badges are used throughout the platform to communicate status, tier, priority, data type, and qualification. Always use the canonical classes below — never invent new badge colours.

1. Tier Badges

Used in the header, workspace hub, and assessment pages to indicate a company's transformation tier.

Silverbg-gray-200 text-gray-700
Goldbg-yellow-100 text-yellow-800
Platinumbg-purple-100 text-purple-800

Shape: rounded (not rounded-full) · Size: text-[10px] px-1.5 py-0.5 · Weight: font-medium capitalize

2. System & Experimental Badges

Used in the header and on feature flags to signal development status.

Experimental Development for early feedbackbg-red-50 text-red-600 border-red-100 rounded-full
Activebg-[#3ba559]/15 text-[#3ba559] border-[#3ba559]/30
Inactivebg-gray-100 text-gray-600

3. Priority Badges

Used in CPR Recommendations and action lists to indicate urgency level.

Criticalbg-red-100 text-red-700 border-red-200
Highbg-amber-100 text-amber-700 border-amber-200
Mediumbg-[#17b7dd]/10 text-[#17b7dd] border-[#17b7dd]/30
Lowbg-gray-100 text-gray-600 border-gray-200

Shape: rounded-full · Size: text-xs px-2 py-0.5 · Always include border

4. KPI & Framework Badges

Used in KPI sections and action themes to classify framework items.

SOLVEDbg-[#3ba559]/15 text-[#3ba559]
PRIMARYbg-cyan-100 text-cyan-700
SECONDARYbg-orange-100 text-orange-700
DEFAULTbg-gray-100 text-gray-700

Shape: rounded (square corners) · Size: text-xs px-2 py-0.5 · Text UPPERCASE in display

5. Qualification & Status Badges

Used in Climate Solutions qualification, case study cards, and pillar content.

Qualifiedbg-[#3ba559]/15 text-[#3ba559] border-[#3ba559]/40
Partialbg-amber-100 text-amber-800 border-amber-300
Not Qualifiedbg-red-100 text-red-800 border-red-300
Unknownbg-gray-100 text-gray-600 border-gray-200

Shape: rounded-full · Size: text-xs px-3 py-1 · Always include border

6. Data Source & API Badges

Used in DataSourceCard, DataSourcesTable, and widget headers to show data freshness and source type.

Healthybg-[#3ba559] text-white
Stalebg-yellow-500 text-white
Errorbg-red-600 text-white
Unknownborder border-gray-200 text-gray-600
Live APIbg-[#3ba559]/10 text-[#3ba559] border border-[#3ba559]/30
RESTborder border-gray-200 text-gray-600 font-mono

Use shadcn <Badge> component from @/components/ui/badge for these.

7. Opportunity & Category Badges

Used in CPR Opportunities and impact portfolio to categorise opportunity types.

Revenuebg-[#3ba559]/15 text-[#3ba559]
Efficiencybg-[#17b7dd]/10 text-[#17b7dd]
Riskbg-purple-100 text-purple-700

Shape: rounded-full · Size: text-xs px-2 py-0.5 · No border on these

Badge Anatomy Quick Reference

FamilyShapeSizeBorderWhere used
Tierroundedtext-[10px] px-1.5 py-0.5NoHeader, WorkspaceHub, assessment pages
App Statusrounded-fulltext-[11px] px-2.5 py-0.5Yes (border-current)Header right zone — ALPHA / BETA / PREVIEW / LIVE
Experimentalrounded-fulltext-[11px] px-2.5 py-1YesHeader right zone
Priorityrounded-fulltext-xs px-2 py-0.5YesCPR Recommendations, action lists
KPI / Frameworkroundedtext-xs px-2 py-0.5NoKPI sections, action themes
Qualificationrounded-fulltext-xs px-3 py-1YesClimate Solutions, case study cards
Data Sourceroundedtext-xs px-2 py-0.5VariesDataSourceCard, widget headers, data lake
Opportunityrounded-fulltext-xs px-2 py-0.5NoCPR Opportunities, impact portfolio

CTA Buttons

ERI uses one CTA button style across all products and surfaces. There are no exceptions. The shape is always rounded-lg — never a pill (rounded-full). The fill colour is always Accent Lime #93E07D — never Primary Green.

Shape: rounded-lg — always, everywhere

Hero CTAs, section CTAs, header CTAs, card CTAs, footer CTAs — all use rounded-lg.

Fill: #93E07D Accent Lime — always

Never use Primary Green #3ba559 for filled buttons. Primary Green is for links and text accents only.

No icon prefix, no pill shape

rounded-full is reserved for status badges only. Do not add Lucide icons before button text.

Live Examples

On dark background — hero sections, dark cards

Primary: bg-[#93E07D] text-[#1a1a1a] rounded-lg · Secondary: border-2 border-white text-white rounded-lg

On white / light background — interior pages, cards

Primary: bg-[#93E07D] text-[#1a1a1a] rounded-lg · Secondary: border-2 border-[#232323] text-[#232323] rounded-lg

Non-conformant patterns — do not use

Pill shape — wrongrounded-full — reserved for status badges only
Primary Green fill — wrong#3ba559 — links & accents only, never filled buttons
Icon prefix — wrongNo icon prefix on CTA buttons
All three patterns above are non-conformant. Do not use in any ERI product.

Code Reference

{/* ✅ Primary CTA — use on ALL surfaces */}
<a
  href="/solutions"
  className="inline-block px-6 py-3 rounded-lg font-archivo font-semibold text-base text-[#1a1a1a]"
  style={{ backgroundColor: "#93E07D" }}
>
  Explore Climate Solutions
</a>

{/* ✅ Secondary CTA — dark background */}
<a
  href="/playbook"
  className="inline-block px-6 py-3 rounded-lg font-archivo font-semibold text-base text-white border-2 border-white"
>
  Human-AI Playbook
</a>

{/* ✅ Secondary CTA — light background */}
<a
  href="/playbook"
  className="inline-block px-6 py-3 rounded-lg font-archivo font-semibold text-base text-[#232323] border-2 border-[#232323]"
>
  Learn More
</a>

{/* ❌ WRONG: pill shape */}  {/* rounded-full — reserved for status badges only */}
{/* ❌ WRONG: Primary Green fill */}  {/* bg-[#3ba559] — never for filled buttons */}
{/* ❌ WRONG: icon prefix */}  {/* no Lucide icons before button text */}
{/* ❌ WRONG: CTA in authenticated surface header */}  {/* Authenticated surface: no CTA in header right zone */}

Size Variants

Small: px-4 py-2 text-sm · Default: px-6 py-3 text-base · Large: px-8 py-4 text-lg · All use rounded-lg

Interactive States

Consistent hover, active, and focus states reinforce the brand colour system and improve usability.

Link & Text Colours

Primary linktext-[#3ba559]Default interactive colour for links, active nav items, icons
Link hoverhover:text-[#2d8a47]Darker green on hover — use with transition-colors
Body texttext-gray-600Standard body copy, descriptions, secondary labels
Muted texttext-gray-500Captions, timestamps, placeholder text
Heading texttext-[#232323]All headings and primary labels
Destructivetext-red-600Logout, delete, error states

Background & Border States

bg-[#F9FAFB]Default page background
bg-whiteAll Card components
hover:bg-gray-100Table rows, list items, nav items on hover
bg-gray-50Table header rows, alternating rows
bg-[#232323]Hero sections, dark cards, code blocks
border-[#3ba559]Active nav item bottom border, focus ring

Standard Transition Utilities

// Colour transitions (links, buttons, icons)
className="transition-colors"

// All property transitions (cards, shadows, transforms)
className="transition-all"

// Translate on hover (arrow icons in nav)
className="group-hover:translate-x-1"

// Shadow elevation on hover (cards)
className="shadow-sm hover:shadow-md transition-shadow"

// Always pair with a duration class if non-default speed is needed:
className="transition-all duration-300 ease-in-out"

Contact Us Integration

Version 2026.04.16 · Service URL: contact-us.exponentialroadmap.org

⚠ Never build a custom contact form

All ERI applications link to the single shared contact service at https://contact-us.exponentialroadmap.org. The service is self-registering — no configuration is needed on the contact service side. The app simply passes its identity in the URL.

URL Pattern

https://contact-us.exponentialroadmap.org/?source=<id>&sourceLabel=<name>&return=<url>

Parameters

ParameterRequiredDescriptionExample
sourceRecommendedStable lowercase machine ID for your app. Never change after launch.psm
sourceLabelRecommendedHuman-readable app name. URL-encode spaces as +.Professional+Services+Matrix
returnRecommendedFull URL to return to after form submission. URL-encode the value.https%3A%2F%2Fpsm.exponentialroadmap.org
subjectOptionalSubject hint for the owner alert email. URL-encode spaces as +.PSM+Partnership+Enquiry

Full Example — Professional Services Matrix

https://contact-us.exponentialroadmap.org/?source=psm&sourceLabel=Professional+Services+Matrix&return=https%3A%2F%2Fpsm.exponentialroadmap.org&subject=PSM+Enquiry

Button Implementation — Mandatory Style

CRITICAL — Do not style this button yourself.

The Contact Us button MUST use Accent Lime fill, rounded-lg, dark text, and no icon. Any other style is non-conformant.

On dark header:Contact Us
On white header:Contact Us
{/* ✅ CORRECT — copy this exactly */}
const contactUrl =
  'https://contact-us.exponentialroadmap.org/' +
  '?source=YOUR_SOURCE_ID' +
  '&sourceLabel=Your+App+Name' +
  '&return=https%3A%2F%2Fyour-app.exponentialroadmap.org';

<a
  href={contactUrl}
  className="px-4 py-2 bg-[#93E07D] text-[#1a1a1a] rounded-lg text-sm font-semibold hover:opacity-90 transition-opacity"
>
  Contact Us
</a>

{/* ❌ WRONG — white fill */}
{/* <button className="bg-white text-gray-900 rounded-lg">Contact Us</button> */}

{/* ❌ WRONG — pill shape */}
{/* <button className="bg-[#93E07D] rounded-full">Contact Us</button> */}

{/* ❌ WRONG — icon suffix */}
{/* <button className="bg-[#93E07D] rounded-lg">Contact Us ✉</button> */}

Fill

bg-[#93E07D]

Text

text-[#1a1a1a]

Shape

rounded-lg

Icon

None — text only

Registered Source IDs

Source IDs are self-registering — no manual setup required. This table is maintained here for human reference. Add your app's row when integrating.

Source IDApp NameReturn URL
halHuman-AI Labhttps://human-ai-lab.exponentialroadmap.org
psmProfessional Services Matrixhttps://psm.exponentialroadmap.org
taxonomyERI Taxonomyhttps://taxonomy.exponentialroadmap.org
platformERI Platformhttps://exponentialroadmap.org

Choosing a Source ID

  • • Use lowercase letters, numbers, and hyphens only — no spaces or special characters.
  • • Keep it short and stable. It is stored in the database and used in analytics — do not change it after launch.
  • • Use the product's short name or abbreviation. Examples: hal, psm, playbook, data-hub, climate-tracker.

Implementation Checklist

  • 1.Choose a unique source ID following the naming conventions above.
  • 2.Add the ID and app name to the Registered Source IDs table in this BDS.
  • 3.Construct the full contact URL with source, sourceLabel, return, and optionally subject.
  • 4.Place the link in the header CTA (public surface only), footer, or navigation drawer per BDS guidelines.
  • 5.Test end-to-end: verify the contact page hero shows your app name, the form submits successfully, and the success screen returns to your app.

Admin Dashboard

All enquiries across all apps are visible at:

https://contact-us.exponentialroadmap.org/admin

Requires a Manus account with the admin role on the contact service. Provides a Submissions tab (all enquiries, filterable by source app) and a Registered Apps tab (submission counts, first/last seen, return URL).

Standard Components

Version 2.0.0 · 6 canonical files · Copy verbatim — do not reconstruct

Scope: Public-Facing ERI Apps Only

These components apply to public-facing ERI product apps — such as Taxonomy, Professional Services Matrix, and HAL. They are not intended for internal or documentation tools (such as this BDS site itself, which uses its own PublicLayout with a white header appropriate for a reference document). If a project has a fundamentally different surface — for example a white header, an admin panel, or an embedded widget — it is exempt and should use its own layout.

PREFERRED: INSTALL AS NPM PACKAGE

Install @eri/components once per project. Updates propagate automatically to all ERI sites on their next deploy.

Pin to a stable release (recommended):

pnpm add "github:Exponential-Roadmap-Initiative/eri-brand-design-system#v2.10.0&path:packages/eri-components"

Or track latest (auto-updates on each deploy):

pnpm add "github:Exponential-Roadmap-Initiative/eri-brand-design-system#main&path:packages/eri-components"

Then add the pre-built CSS to client/src/index.css before your own styles (required — without this, components will be invisible in Tailwind 4 projects):

@import "@eri/components/dist/eri-components.css";

Then import in App.tsx:

import { EriPageLayout, EriHeroSection, EriStatusBadge, EriContactUsButton } from '@eri/components';

Release workflow (BDS maintainer): After updating a component, bump the version in packages/eri-components/package.json, run pnpm build:css in packages/eri-components/ to rebuild the CSS, save a checkpoint (auto-pushes to GitHub), then run:

cd /home/ubuntu/eri-brand-design-system && TOKEN=$(gh auth token) && git remote set-url user_github "https://x-access-token:${TOKEN}@github.com/Exponential-Roadmap-Initiative/eri-brand-design-system.git" && git tag vX.Y.Z && git push user_github vX.Y.Z

Source: github.com/Exponential-Roadmap-Initiative/eri-brand-design-system

REQUIRED: IMPORT THE PRE-BUILT CSS (Tailwind 4)

Tailwind 4 does not scan node_modules by default. Without this import, all component styles are stripped at build time — components render in the DOM but are completely invisible. Add this line to client/src/index.css before your own styles:

@import "@eri/components/dist/eri-components.css";

Temporary workaround (pre-v2.9.1 only)

If pinned to an older version, add this line immediately after @import "tailwindcss"; in client/src/index.css. Remove it once upgraded to v2.9.1+.

@source "../../node_modules/@eri/components/src";

Projects with workaround applied

ProjectStatus
Exponential TaxonomyTemporary @source workaround applied — upgrade to v2.9.1 and switch to @import

FALLBACK: DOWNLOAD FILES DIRECTLY

If the npm package cannot be used, copy all 6 files into client/src/components/eri/. Note: these copies will not receive automatic updates — you must re-download when the BDS is updated.

1. EriStatusBadge

Transparent outlined pill badge for app status. Four values: ALPHA BETA PREVIEW LIVE. Adapts to dark and light backgrounds via the theme prop. Never filled, never coloured.

LIVE PREVIEW
dark:ALPHABETAPREVIEWLIVE
light:ALPHABETAPREVIEWLIVE
EriStatusBadge.tsx Download
export type EriStatusValue = 'ALPHA' | 'BETA' | 'PREVIEW' | 'LIVE';

export function EriStatusBadge({ status, theme = 'dark', className = '' }) {
  const colours =
    theme === 'dark'
      ? 'border-white/60 text-white'
      : 'border-gray-400 text-gray-500';
  return (
    <span className={`inline-flex items-center rounded-full border
      px-2.5 py-0.5 text-[11px] font-semibold tracking-widest
      uppercase ${colours} ${className}`}>
      {status}
    </span>
  );
}

NON-CONFORMANT PATTERNS — do not use

  • Filled background (e.g. bg-gray-200 or bg-green-500) — always transparent
  • Rounded rectangle (rounded-md) — always rounded-full
  • Coloured text (e.g. green or amber) — always white on dark, gray on light

Anatomy & Canonical Class String

ALPHA
ALPHA

Internal / pre-release

BETA
BETA

Public, under active development

PREVIEW
PREVIEW

Feature-complete, not yet launched

LIVE
LIVE

Fully launched, stable, production

Canonical class string

rounded-full border border-current text-[11px] font-semibold tracking-widest uppercase px-2.5 py-0.5

On dark/transparent headers: add text-white border-white/60

On white/light headers: add text-gray-500 border-gray-400

Never use a filled background colour. Never use a status dot alongside the badge.

2. EriContactUsButton

Accent Lime CTA button that links to the shared ERI contact service. Constructs the URL automatically from source, sourceLabel, and returnUrl props. Label is always "Contact Us" — do not rename.

LIVE PREVIEW
EriContactUsButton.tsx Download
export function EriContactUsButton({
  source, sourceLabel, returnUrl, subject, size = 'md', className = ''
}) {
  const encodedReturn = encodeURIComponent(returnUrl);
  const encodedLabel  = encodeURIComponent(sourceLabel);
  const subjectParam  = subject ? `&subject=${encodeURIComponent(subject)}` : '';
  const href = `https://contact-us.exponentialroadmap.org/
    ?source=${source}&sourceLabel=${encodedLabel}
    &return=${encodedReturn}${subjectParam}`;
  const padding = size === 'sm' ? 'px-3 py-1.5 text-xs' : 'px-4 py-2 text-sm';
  return (
    <a href={href}
       className={`inline-flex items-center justify-center
         rounded-lg font-semibold transition-opacity
         hover:opacity-90 ${padding} ${className}`}
       style={{ backgroundColor: '#93E07D', color: '#1a1a1a' }}>
      Contact Us
    </a>
  );
}

NON-CONFORMANT PATTERNS — do not use

  • White or gray button fill — always Accent Lime #93E07D
  • Pill shape (rounded-full) — always rounded-lg
  • Custom label ("Get in touch", "Send message") — always "Contact Us"
  • Custom contact form — always link to the shared service

3. EriAppHeader

Canonical 64px fixed header. Left zone: ERI logo → pipe divider → app name. Right zone: status badge → version → optional CTA → hamburger. The showCTA prop is always true — the Contact Us CTA is visible on all surfaces. Rendered once in EriPageLayout — never imported directly in page files.

LIVE PREVIEW — public surface (showCTA=true)
Exponential Roadmap InitiativeProfessional Services Matrix
BETAContact Us
LIVE PREVIEW — internal tool (showCTA=false)
Exponential Roadmap InitiativeInternal Admin Tool
ALPHA

Props

PropTypeNotes
appNamestringApp display name shown after the pipe divider
statusEriStatusValue?Omit to hide the badge
versionstringe.g. "V.2026.04.15"
showCTAbooleanAlways pass true — CTA visible on all surfaces. Only false for purely internal tools.
sourcestring?Required if showCTA may be true
sourceLabelstring?Human-readable app name for contact service
returnUrlstring?Return URL for contact service
onMenuClick() => voidOpens the navigation drawer
logoHrefstring?Defaults to "/"
EriAppHeader.tsx — usage Download
// In EriPageLayout (not in page files directly):
<EriAppHeader
  appName="Professional Services Matrix"
  status="BETA"
  version="V.2026.04.17"
  showCTA={true}
  source="psm"
  sourceLabel="Professional Services Matrix"
  returnUrl="https://psm.exponentialroadmap.org"
  onMenuClick={() => setMenuOpen(true)}
/>

INTEGRATION NOTES — read before implementing

  • Use via EriPageLayout, not directly — do not import EriAppHeader in page files. It is rendered once inside EriPageLayout in App.tsx. All header props (appName, status, version, showCTA, etc.) are passed to EriPageLayout and forwarded internally.
  • showCTA — always true — the Contact Us CTA must be visible on all surfaces (public and authenticated). Always pass showCTA={true}. Only pass showCTA={false} if the app has no Contact Us entry point (e.g. a purely internal admin tool). Do not use showCTA={!isAuthenticated} — this incorrectly hides the CTA from logged-in users.
  • Contact Us button — three source props all required — the CTA renders only when source, sourceLabel, and returnUrl are all provided. Omitting any one of them silently hides the button. A dev-mode console warning fires if showCTA=true but props are missing.
  • Hamburger — always visible, wire onMenuClick to your drawer — the hamburger button is always rendered. onMenuClick is optional (defaults to no-op) so the button never disappears, but it will do nothing unless you pass onMenuClick={() => setMenuOpen(true)}. The header does not manage a drawer — your app must render its own drawer component.
  • Scope: public-facing apps only — this dark (#232323) header is for Taxonomy, PSM, HAL, and future public ERI product apps. Internal tools (e.g. the BDS site itself) use their own layout and are exempt.

NON-CONFORMANT PATTERNS — do not use

  • Background other than #232323 — never white, green, or transparent
  • Height other than 64px — always h-16
  • Status dot (coloured circle) in the right zone — removed in v1.8.0, do not re-add
  • Navigation links in the header — use the hamburger drawer
  • Importing EriAppHeader directly in page files — use EriPageLayout

Header Anatomy

Fixed (sticky top-0 z-50), 64px tall (h-16), #232323 background. Inner container uses max-w-screen-xl mx-auto with paddingInline: var(--eri-content-inset) — this aligns the logotype with the hero text block.

Left Zone — Logo + Divider + Title Block

1.ERI wordmark — h-8 w-auto shrink-0, filter: brightness(0) invert(1), links to /
2.Vertical divider — h-6 w-px bg-white/20 shrink-0
3.App title — text-sm font-medium text-white truncate

Right Zone — Status + Version + CTA + Menu

1.EriStatusBadge — transparent outlined pill, white on dark
2.Version string — format V.YYYY.MM.DD (e.g. V.2026.04.15). Never date-only, never lowercase v.
3.All surfacesEriContactUsButton. Always pass showCTA={true}. The CTA is visible on both public and authenticated surfaces.
4.Hamburger — size-9 rounded-md with lucide Menu icon, always visible

4. EriAppFooter

Canonical two-zone dark footer. Left zone: ERI logo + optional tagline. Right zone: copyright string. Background is always #232323 — never dark green, white, or any other colour. Rendered once in EriPageLayout — never imported directly in page files.

LIVE PREVIEW
EriAppFooter.tsx — usage Download
// In EriPageLayout (not in page files directly):
<EriAppFooter
  appName="Professional Services Matrix"
  tagline="Making Pillar 3 climate impact measurable and actionable."
/>

NON-CONFORMANT PATTERNS — do not use

  • Dark green background (e.g. PSM v1) — always #232323
  • White footer (Tier C variation) — only for public marketing sites, not apps
  • Placeholder link columns with unconfirmed URLs — only show links with a confirmed destination
  • Importing EriAppFooter directly in page files — use EriPageLayout

Footer Rules

PropertyValue
Background#232323 — always. Never dark green, never white (except Tier C admin tools)
Top borderborder-t border-gray-700
Paddingpy-8 vertical · paddingInline: var(--eri-content-inset) horizontal
Layoutflex items-center justify-between — two zones, single row
Left zoneERI white wordmark (h-7, filter brightness(0) invert(1)) + optional tagline below (text-sm text-gray-400, max 80 chars)
Right nav zoneConfirmed links only: ERI homepage (https://exponentialroadmap.org/) + Contact Us (https://contact-us.exponentialroadmap.org?source=footer&app=...) — text-sm text-gray-400 hover:text-white
© Bottom bar© YYYY Exponential Roadmap Initiative. [App Name]. — text-sm text-gray-500
Link columnsOnly show links with confirmed URLs — no placeholder columns

Permitted Variation — Tier C (White Background)

Admin tools with a persistent sidebar. No logo (sidebar already shows it). Same two-zone layout, light surface.

Professional Services Matrix — Admin

© 2026 Exponential Roadmap Initiative.

Known violations to correct

  • ERI Platform footer: bg-[#1a3a2a] dark green — replace with #232323
  • PSM light footer: white background — acceptable only for Tier C admin tools, not for public-facing apps
  • Taxonomy footer: single-row flat layout with no logo column — upgrade to two-zone standard

5. EriHeroSection

Canonical full-viewport hero section. Matches the live pattern on human-ai-lab.exponentialroadmap.org. Text block is always left-aligned and vertically centred, anchored to --eri-content-inset so it aligns with the header logotype. The background image is centred (50% 50%) — the hands composition is designed to be centred. The overlay is always rgba(35,35,35,0.82) — brand dark, not pure black.titleLine1 is in Accent Lime; titleLine2 is in white. The canonical hands image is baked in as the default — no need to pass backgroundImage for standard use.

LIVE PREVIEW (condensed — full height in production)

PROFESSIONAL SERVICES MATRIX ——— BETA

ProfessionalServices Matrix

Making Pillar 3 climate impact measurable and actionable.

Props

PropTypeRequiredNotes
eyebrowstringYesFull eyebrow string e.g. "APP NAME ——— BETA"
titleLine1stringYesFirst H1 line — displayed in Accent Lime (#93E07D)
titleLine2string?NoSecond H1 line — displayed in white
bodystringYesBody paragraph text
primaryCTA{ label, href }YesAccent Lime filled button — rounded-lg always
secondaryCTA{ label, href }?NoWhite outline button — rounded-lg always
backgroundImagestring?NoDefaults to ERI_HERO_IMAGE_HANDS — only override for app-specific images
overlayOpacitynumber?No0–1, defaults to 0.82. Overlay colour is always #232323
showScrollIndicatorboolean?NoRenders an animated double-chevron at the bottom-centre of the hero. Defaults to false.
childrenReactNode?NoOptional slot below CTAs — for stat counters, attribution lines, etc.
EriHeroSection.tsx — standard usage (no backgroundImage needed)
import { EriHeroSection } from '@eri/components';

{/* Standard usage with scroll indicator */}
<EriHeroSection
  eyebrow="PROFESSIONAL SERVICES MATRIX ——— BETA"
  titleLine1="Professional"
  titleLine2="Services Matrix"
  body="Making Pillar 3 climate impact measurable and actionable."
  primaryCTA={{ label: "Try the Client Assessment", href: "/assessment" }}
  secondaryCTA={{ label: "PSM Journey Demo", href: "/demo" }}
  showScrollIndicator
/>

{/* Custom image (e.g. Crocodile Economics) */}
import { EriHeroSection, ERI_HERO_IMAGE_HANDS } from '@eri/components';

<EriHeroSection
  eyebrow="CROCODILE ECONOMICS ——— PROTOTYPE"
  titleLine1="Crocodile"
  titleLine2="Economics"
  body="Revenue up. Emissions down."
  primaryCTA={{ label: "Explore the Data", href: "/data" }}
  backgroundImage="https://cdn.example.com/croc-hero.webp"
  overlayOpacity={0.75}
/>

{/* children slot — supplementary content below the CTAs */}
{/* Use for: attribution lines, stat counters, scroll indicators */}
<EriHeroSection
  eyebrow="HUMAN-AI LAB ——— EXPONENTIAL ROADMAP INITIATIVE"
  titleLine1="Human-AI"
  titleLine2="Collaboration"
  body="Exploring the frontier of human and AI working together."
  primaryCTA={{ label: "Explore the Lab", href: "/lab" }}
  secondaryCTA={{ label: "Read the Research", href: "/research" }}
>
  {/* Attribution line — rendered below the CTA buttons */}
  <p style={{ color: 'rgba(255,255,255,0.55)', fontSize: '11px', marginTop: '1.5rem' }}>
    Data sourced from the ERI Exponential Framework v5.0
  </p>
</EriHeroSection>

Integration Notes

1.No pt-16 wrapper needed. EriHeroSection adds paddingTop: 64px internally to clear the fixed header. Do NOT wrap it in a div with pt-16 — that doubles the clearance.
2.No background colour needed on the page wrapper. The component sets its own background via the image and overlay.
3.--eri-content-inset is optional — the component falls back to clamp(1rem, 3vw, 2rem) if the variable is absent. Define it in index.css :root for alignment with the header logotype.
4.CSS import required. Ensure @import "@eri/components/dist/eri-components.css" is at the top of index.css (v2.9.1+) to prevent Tailwind 4 from purging component classes.
5.Default image is baked in. The canonical hands image (ERI_HERO_IMAGE_HANDS) is the default. Only pass backgroundImage for app-specific hero images. Never regenerate the hands image.

NON-CONFORMANT PATTERNS — do not use

  • Centred text (text-center) — always left-aligned
  • Top-anchored text (no flex flex-col justify-center) — text must be vertically centred
  • Pure black overlay (bg-black/40) — always rgba(35,35,35,0.82)
  • Accent word in Primary Green (#3ba559) — always Accent Lime (#93E07D) on dark backgrounds
  • Pill-shaped CTA (rounded-full) — always rounded-lg
  • Icon prefix on CTA buttons — text only
  • Wrapping EriHeroSection in a pt-16 div — the component handles its own header clearance
  • Passing backgroundImage with the hands URL manually — import ERI_HERO_IMAGE_HANDS or omit the prop entirely
  • Using the hands image on a Trust / Security / Compliance page — use ERI_HERO_IMAGE_TRUST instead

Trust & Security Variant — ERI_HERO_IMAGE_TRUST

For trust, security, data integrity, and compliance contexts, use ERI_HERO_IMAGE_TRUST instead of the default hands image. The Trust image uses an abstract dark texture with interconnected nodes, a hexagonal grid, and a subtle shield motif — conveying rigour and institutional credibility rather than human-AI collaboration. Import the constant from @eri/components and pass it as backgroundImage.

EXPONENTIAL ROADMAP INITIATIVE ——— TRUST

Security & Transparencyfor every ERI application

How ERI protects your data, maintains system integrity, and upholds transparency across all applications.

import { EriHeroSection, ERI_HERO_IMAGE_TRUST } from '@eri/components';

<EriHeroSection
  eyebrow="EXPONENTIAL ROADMAP INITIATIVE ——— TRUST"
  titleLine1="Security & Transparency"
  titleLine2="for every ERI application"
  body="How ERI protects your data, maintains system integrity, and upholds transparency across all applications."
  primaryCTA={{ label: "View Security Practices", href: "/security" }}
  secondaryCTA={{ label: "Data Privacy", href: "/privacy" }}
  backgroundImage={ERI_HERO_IMAGE_TRUST}
  showScrollIndicator
/>

6. EriPageLayout

Canonical layout wrapper. Renders EriAppHeader and EriAppFooter exactly once, wrapping all page content. Use this in App.tsx — never import header or footer directly in page files. The --eri-content-inset CSS variable must be defined in index.css.

Why this matters

If the header or footer markup is duplicated across page files, a change to one copy does not propagate to the others. A single component in a layout wrapper means one change updates every page simultaneously. This is a structural requirement, not a preference.

index.css — required CSS variable
:root {
  --eri-content-inset: clamp(1rem, 3vw, 2rem);
}
App.tsx — canonical usage Download
import { EriPageLayout } from '@eri/components';

function App() {
  const [menuOpen, setMenuOpen] = useState(false);

  return (
    <EriPageLayout
      appName="Professional Services Matrix"
      status="BETA"
      version="V.2026.04.17"
      showCTA={true}
      source="psm"
      sourceLabel="Professional Services Matrix"
      returnUrl="https://psm.exponentialroadmap.org"
      footerTagline="Making Pillar 3 climate impact measurable."
      onMenuClick={() => setMenuOpen(true)}
    >
      <NavDrawer open={menuOpen} onClose={() => setMenuOpen(false)} />
      <Router /> {/* your page router */}
    </EriPageLayout>
  );
}

INTEGRATION NOTES — read before implementing

  • Hamburger is always visible — wire onMenuClick to your drawer — the hamburger button is always rendered and cannot be hidden via props. onMenuClick defaults to a no-op, so the button is never missing, but it does nothing unless you pass onMenuClick={() => setMenuOpen(true)}. If you do not want a hamburger, do not use EriPageLayout.
  • Your app owns the drawer — render it as a child of EriPageLayoutEriPageLayout fires onMenuClick but never renders a drawer itself. Your app must manage menuOpen state and render its own <NavDrawer> or <Sheet> as a sibling to <Router /> inside the layout children.
  • Outer background is #232323 — the layout wrapper sets a dark background on the outermost div. Each page component must set its own background colour (typically bg-[#F9FAFB]) on its outermost div, otherwise the page will appear dark.
  • No automatic top paddingEriPageLayout does not add pt-16 to the content area. The header is fixed at 64px — each page's first section must add enough top padding to clear it (e.g. pt-16 or pt-24 for hero sections).
  • showCTA — always true — the Contact Us CTA must be visible on all surfaces (public and authenticated). Always pass showCTA={true}. Only pass showCTA={false} if the app has no Contact Us entry point (e.g. a purely internal admin tool). Do not use showCTA={!isAuthenticated} — this incorrectly hides the CTA from logged-in users.
  • Contact Us button — three source props all required — the CTA renders only when source, sourceLabel, and returnUrl are all provided. Omitting any of the three source props silently hides the button with a dev-mode console warning.

NON-CONFORMANT PATTERNS — do not use

  • Importing EriAppHeader or EriAppFooter directly in page files — always use EriPageLayout in App.tsx
  • Rendering the header inside a page component — leads to duplicate headers on navigation
  • Missing --eri-content-inset in index.css — header and hero text will not align

UI Components

All interactive components use shadcn/ui as the base. Two tab patterns exist — use the right one for the right context. Always import from @/components/ui/* or @/components/SimpleTabNav.

1. Page Navigation Tabs — SimpleTabNav

Used for page-level navigation where each tab changes the URL. Features: URL-driven active state, icon + label + count, green underline indicator, no background fill.

File(7)
API(5)
ERI(5)
Reference(2)
Overview(19)
SimpleTabNav · URL-driven · bg-[#3ba559] bottom border · icon + label + count
import { SimpleTabNav, TabConfig } from "@/components/SimpleTabNav";

const tabs: TabConfig[] = [
  { id: "file",  label: "File",  path: "/admin/data-lake/file",  count: 7,  icon: <FileText /> },
  { id: "api",   label: "API",   path: "/admin/data-lake/api",   count: 5,  icon: <Plug /> },
];

<SimpleTabNav tabs={tabs} basePath="/admin/data-lake" />

2. In-Page Content Tabs — <Tabs>

Used for in-page content switching where the URL does not change. Uses shadcn pill/background style.

Silver tier content renders here.
shadcn Tabs · state-driven · pill background active state · no URL change

Rule: Use SimpleTabNav when tabs change the page/URL. Use shadcn <Tabs> for in-page content switching only. Never mix the two patterns on the same page.

3. Buttons

Import from @/components/ui/button. The outline variant uses a transparent background — add a bg class manually if needed.

variant: default | outline | secondary | ghost | destructive | link · size: sm | default | lg
import { Button } from "@/components/ui/button";

// Primary CTA
<Button variant="default">Try Assessment</Button>

// Secondary action (note: transparent bg — add bg-white if on coloured surface)
<Button variant="outline">View Details</Button>

// Danger action
<Button variant="destructive">Delete</Button>

4. Inputs & Selects

Always pair with a <label>. Use placeholder as a hint, not as a label substitute.

This field is required.

Input · Select · always label · error: border-red-400 + text-xs text-red-600 below

5. Cards

Use shadow-sm as the default elevation. Add hover:shadow-md transition-shadow for interactive cards. Never use shadow-lg or shadow-xl.

Static Card

shadow-sm · no hover · use for data display

Interactive Card

shadow-sm hover:shadow-md · use for clickable items

Subtle Card

bg-gray-50 · use for secondary info, notes, callouts

Card · CardContent · shadow-sm (default) · hover:shadow-md (interactive) · bg-gray-50 (subtle)
import { Card, CardContent } from "@/components/ui/card";

// Static data card
<Card className="shadow-sm"><CardContent className="p-5">...</CardContent></Card>

// Interactive/clickable card
<Card className="shadow-sm hover:shadow-md transition-shadow cursor-pointer">...</Card>

// Subtle callout card
<Card className="shadow-sm bg-gray-50 border-gray-200">...</Card>

6. Data Tables

Use plain HTML tables inside a Card with p-0 padding. Alternate row colours with bg-white / bg-gray-50.

CompanyTierStatusScore
Volvo CarsGoldActive87%
IKEAPlatinumActive94%
H&M GroupSilverPending61%
Card p-0 · thead bg-gray-50 · tr alternating bg-white/bg-gray-50 · hover:bg-gray-100 · th font-bold text-[#232323]

3. CTA Buttons

The canonical call-to-action button for all ERI surfaces — hero sections, landing pages, interior pages, and footers. Accent Lime background (#93E07D), dark text (#1a1a1a), rounded-lg shape. This is the single CTA button style across all ERI products — do not use Primary Green (#3ba559) for filled buttons. Primary Green is reserved for links, active states, and text accents only.

bg-[#93E07D] · text-[#1a1a1a] · rounded-lg · font-archivo font-semibold · text-base · px-6 py-3 · no icon prefix
{/* ✅ Primary CTA — use everywhere (hero, interior, footer) */}
<a
  href="/solutions"
  className="inline-block px-6 py-3 rounded-lg font-archivo font-semibold text-base text-[#1a1a1a]"
  style={{ backgroundColor: "#93E07D" }}
>
  Explore Climate Solutions
</a>

{/* ✅ Secondary CTA — dark background surfaces */}
<a
  href="/playbook"
  className="inline-block px-6 py-3 rounded-lg font-archivo font-semibold text-base text-white border-2 border-white"
>
  Human-AI Playbook
</a>

{/* ✅ Secondary CTA — light background surfaces */}
<a
  href="/playbook"
  className="inline-block px-6 py-3 rounded-lg font-archivo font-semibold text-base text-[#232323] border-2 border-[#232323]"
>
  Learn More
</a>

{/* ❌ Do NOT use Primary Green for filled buttons */}
{/* ❌ Do NOT add icon prefixes to CTA buttons */}
{/* ❌ Do NOT add CTA buttons to the header right zone */}
{/* ❌ Do NOT use pill shape (rounded-full) for CTAs */}

5. Footer

The standard ERI dark footer. Four columns: About (nav links), Newsletter (subscribe CTA), Follow us (social links as text), Contact us (email). Column headings: Archivo weight 500, 18px, white. All links in Accent Lime #93E07D, Open Sans 14px. Bottom bar: Open Sans 16px, white/40.

Newsletter

Stay up to date with our latest news and resources.

Subscribe now
© Exponential Roadmap InitiativePrivacy policy
bg-[#232323] · 4 cols: About · Newsletter · Follow us · Contact us · headings: Archivo weight-500 18px white · body/links: Open Sans 14px text-[#93E07D] · newsletter btn: Open Sans 15px weight-500 white ghost rounded-full · social: text links not icon squares · bottom bar: Open Sans 16px text-white/40

Surface Modes

ERI products use two named surface modes — Light and Dark. These are not competing themes; they are two contexts within the same brand. Light mode is the default for application interiors. Dark mode is used for marketing landing pages and hero sections.

Light Mode

Default
Page background#F9FAFB
Card / panel#FFFFFF
Primary text#232323
Secondary text#6B7280
Border#E5E7EB
CTA button#93E07D

Use for: Application interiors — PSM, Crocodile data views, user management, dashboards

Dark Mode

Marketing
Page background#0d2828
Card / panel#1a3a3a
Primary text#FFFFFF
Secondary text#9CA3AF
Accent text#93E07D
CTA button#93E07D

Use for: Marketing landing pages, hero sections, Human-AI Lab, public-facing app entry points

When to use which mode

Public marketing / landing page?

Dark mode

Authenticated app interior?

Light mode

App with both landing + interior?

Dark hero → Light app (switch at login)

Dark Hero Background Images

Pre-approved hero backgrounds for dark-mode landing pages. Always overlay with white or Accent Lime #93E07D text. The left quarter of each image is kept dark for text placement.

Human-AI Lab — Hands Touching (Primary)
Primary
Download

Human-AI Lab — Hands Touching (Primary)

heroImages.halHandsTouching

Human-AI Lab landing page, any human + AI collaboration narrative. Two translucent wireframe hands reaching toward each other, fingertips meeting at the S-curve crossing point with a golden burst of light. Michelangelo-inspired composition. Currently live on human-ai-lab.exponentialroadmap.org.

Human-AI Lab — Human Network
Alternate
Download

Human-AI Lab — Human Network

heroImages.halHumanNetwork

Human-AI Lab, any human + AI collaboration narrative. Features the dual S-curves with a distributed network of connected person icons representing global human collaboration.

Human-AI Lab — Dual S-Curve (Minimal)
Minimal
Download

Human-AI Lab — Dual S-Curve (Minimal)

heroImages.halSCurveDual

Generic ERI dark hero, any dual-transition narrative without an explicit human network element.

Human-AI Lab — Reaching (Duo Figures)
Alternate
Download

Human-AI Lab — Reaching (Duo Figures)

heroImages.halMFReaching

Human-AI Lab, human collaboration with AI, gender-balanced team narratives. Two constellation figures (male left, female right) reaching toward each other across the S-curve crossing point — emphasising the human-to-human connection enabled by AI.

Crocodile Economics — Decoupling
App-specific
Download

Crocodile Economics — Decoupling

heroImages.crocodileDecoupling

Crocodile Economics app, any absolute decoupling / emissions-reduction narrative. Features diverging jaw curves: cyan (#00B4D8) GDP line rising, amber emissions line falling.

Resources

Additional materials and tools to support brand-consistent design and development.

Exponential Framework

Deep dive into the Five Pillars framework and methodology.

Visit ERI Website

Business Playbook

The Exponential Business Playbook v5.0 — the foundation for all ERI products.

View Playbook

Contact

Questions about brand usage or need custom assets? Get in touch with the ERI team.

Get in Touch

Machine Instructions

For AI Tasks

This section is the canonical reference for Manus AI tasks building ERI products. When instructed to follow the ERI brand, read this section first. All values are authoritative — do not infer, approximate, or substitute.

🧩

ERI BDS Reference Skill

v1.1.0Updated 12 Apr 2026

A portable Manus skill that embeds the ERI brand reference directly into any AI project. Once installed, the agent automatically consults the correct colour tokens, typography rules, navigation tiers, and CDN asset URLs before acting — without needing a manual prompt.

Pre-action checklistColour tokensTypography rulesNavigation tiersFavicon specCDN asset URLsLanguage rulesSection index

For AI agents: Download and install via Manus Skills UI, or add the CDN URL to your project instructions. The skill auto-triggers for any task tagged as an ERI product build.

For project leads: Share the download link with your team or add it to your project onboarding docs. When a new AI task is started, instruct it to install this skill before proceeding.

Download SkillCDN URL

eri-bds-reference-v1.2.0

Before You Act — Pre-Action Checklist

Before generating any asset, writing any colour value, or building any UI component for an ERI product, you must consult the relevant section of this Brand Design System. Do not rely on memory, approximation, or inference — always look up the authoritative value.

When you are…

Touching any logo or favicon

Check Logo Usage section

Never recolour the S-curve mark. Favicon = white-bg rounded PNG only. Use CDN URL favicon-white-rounded-32_05ba5ceb.png. 32px is correct — do not use the dark variant.

When you are…

Writing any colour value

Check Visual Identity section

Use exact hex values from the Colour Tokens table. Never approximate with Tailwind colour names.

When you are…

Building any navigation component

Check Navigation & Layout section

Match the correct tier (B, A, or C) to the app type. Left panel is sole desktop nav for Tier C.

When you are…

Using any brand asset (logo, icon, image)

Check Asset URL Reference below

Use the CDN URLs listed here. Do not regenerate assets that already exist on the CDN.

When you are…

Writing any copy or UI text

Check Language Rules below

British English throughout. -ise not -ize, -our not -or. Dates as DD Month YYYY.

When you are…

Choosing a font

Check Typography Rules below

Archivo only. Load from Google Fonts CDN. font-extrabold (800) for all headings.

How to reference this page in a Manus task prompt

Add the following instruction to any task prompt that requires ERI brand compliance:

Before building, read the ERI Brand Design System at:
https://eri-brand-design-system.manus.space/#ai-instructions

Follow all rules in the Machine Instructions section exactly.
Do not use any colours, fonts, or patterns not listed there.

Colour Tokens

Use these exact hex values. Never approximate with Tailwind colour names.

Brand Colours

TokenHexUsage
primary-green#3ba559Links, active states, text accents — NOT for filled buttons
primary-dark#232323Headings, footer bg, dark section backgrounds, hero overlay
neutral-gray#6b7280Secondary text, borders
off-white#F9FAFBPage bg, card bg, light section bg
green-300#93cda3Accent links in footer

Pillar Colours

PillarHex (500)Name
P1 Operations#9aa08cSee tonal scales in Visual Identity
P2 Value Chain#17b7ddSee tonal scales in Visual Identity
P3 Solutions#00ac58See tonal scales in Visual Identity
P4 Finance#ff8b00See tonal scales in Visual Identity
P5 Policy#ff5133See tonal scales in Visual Identity

Typography Rules

Mandatory. Do not substitute Inter, Roboto, or any other font.

Font: Archivo — load via Google Fonts CDN. Map to font-sans and font-archivo.
Weights: 400 (body), 700 (semibold), 800 (headings/extrabold).
Headings: font-extrabold (800) for all h1–h3.
Body: 16px/400, line-height 1.6, colour #232323.
Do not use Inter as the primary font.
Do not use font-weight 600 for headings — use 800.
Do not use text-gray-900 for body text — use #232323.
Do not load Archivo from local files — use Google Fonts CDN only.

Header Anatomy — Web App Pattern

All ERI web applications use this exact header structure. Implement it using PublicLayout.

EXPONENTIAL
ROADMAP INITIATIVE

EXPONENTIAL ROADMAP INITIATIVE

[App Title]

BETAV.YYYY.MM.DD
ElementTailwind ClassesNotes
ERI logo (PNG)h-8 w-autoLink to /. PNG not SVG.
Vertical dividerw-px h-8 bg-gray-300 shrink-0Hidden on mobile.
App titletext-[18px] font-semibold text-[#384151]Current app/page name.
BETA badgeborder border-gray-400 text-gray-600 rounded-full px-2 py-0.5 text-[11px]Outlined pill.
Version stringtext-[11px] font-medium text-gray-500 tracking-wideFormat: V.YYYY.MM.DD
Hamburger menusize-9 rounded-mdLucide Menu icon. Opens full-screen overlay.

Language Rules

All copy generated for ERI products must follow these rules without exception.

British English spelling throughout — -ise not -ize, -our not -or, -re not -er.
Use organisations, maximises, colour, programme, licence (noun).
Dates: DD Month YYYY (e.g. 18 March 2026).
Single quotation marks for quotes; double for quotes within quotes.
Oxford comma: use in lists of three or more items.
Do not write organizations, maximizes, color, program (for a programme).
Do not write dates as MM/DD/YYYY or YYYY-MM-DD in visible copy.
Do not use double quotation marks as the primary quote style.
Do not write per cent as % in formal prose — spell it out.

Component & Layout Rules

Follow these rules when building any ERI UI component or page.

Use PublicLayout as the wrapper for all public-facing pages — never build a custom header or footer.
Page background: bg-[#F9FAFB]. Card background: white. Footer background: bg-[#232323].
CTA buttons: bg-[#93E07D] text-[#1a1a1a] rounded-lg font-semibold hover:opacity-90. No icon prefix. One Contact Us CTA in the header right zone on all surfaces (public and authenticated). Always pass showCTA={true}.
Cards: shadow-sm, white background, rounded-lg. Use hover:shadow-md transition-shadow for interactive cards.
Max content width: max-w-6xl mx-auto px-4. Never exceed 1152px for content.
Pillar colours must always be used in their correct pillar context — do not reassign P1 colour to P3 content.
Do not use purple, teal, or pink as accent colours — they are not part of the ERI brand.
Do not use rounded-full on cards or large containers — only on badges, pills, and avatars.
Do not use gradient backgrounds on hero sections — use solid #232323 or white.

Asset URL Reference

All brand assets are hosted on the same CloudFront CDN. Use these direct URLs in AI task prompts or code. The base CDN path is https://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/.

Logos

TokenFileUsage
logos.eriLogoFullColoreri-logo-full-color_f5763508.pngPrimary wordmark (PNG) — use in <img> tags
logos.eriLogoFullColorSvgeri-logo-full-color_775a0122.svgSVG wordmark — use for download links only
logos.eriIconMarkeri-icon-mark_08cd328f.webpCompact ERI mark
logos.exponentialRoadmapLogoexponential-logo_0cda439e.webpExponential swirl icon — raw source file (no rounded corners). Use favicon variants for production.
logos.faviconWhiteRounded32favicon-white-rounded-32_05ba5ceb.png✅ CORRECT browser tab favicon — 32px white-bg rounded PNG (PNG only on Manus)
logos.faviconWhiteRounded180favicon-white-rounded-180_2daaa7d4.png180px Apple Touch Icon (iOS home screen)
logos.faviconWhiteRounded192favicon-white-rounded-192_54fb4338.png192px Android / PWA manifest icon

Manus Skills

SkillVersionCDN URL
eri-bds-referencev1.0.0eri-bds-reference-v1.2.0_dc90d54c.skill

Pillar Icons (WebP)

TokenPillar
pillarBottomIcons.pillar1P1 bottom icon (navigation overlay)
pillarBottomIcons.pillar2P2 bottom icon (navigation overlay)
pillarBottomIcons.pillar3P3 bottom icon (navigation overlay)
pillarBottomIcons.pillar4P4 bottom icon (navigation overlay)
pillarBottomIcons.pillar5P5 bottom icon (navigation overlay)
pillarMarks.pillar1P1 pillar mark (compact identifier)
pillarMarks.pillar2P2 pillar mark (compact identifier)
pillarMarks.pillar3P3 pillar mark (compact identifier)
pillarMarks.pillar4P4 pillar mark (compact identifier)
pillarMarks.pillar5P5 pillar mark (compact identifier)

Framework Diagrams (PNG) — v5

TokenDescription
frameworkV5.fivePillarsBg5 Pillars radial — coloured background
frameworkV5.fivePillarsBgLogo5 Pillars radial — bg + ERI logo
frameworkV5.fivePillarsBgLogoTitle5 Pillars radial — bg + logo + title
frameworkV5.fivePillarsExtended5 Pillars extended (with action blocks)
frameworkV5.fivePillarsTransparent5 Pillars radial — transparent bg
frameworkV5.fivePillarsShortText5 Pillars short text — transparent
frameworkV5.fivePillarsSymbols5 Pillars symbols only — transparent
frameworkV5.fivePillarsText5 Pillars text only — transparent
frameworkV5.leadershipALeadership diagram A
frameworkV5.leadershipBLeadership diagram B
frameworkV5.pillarsLinearPillars linear layout
frameworkV5.reducingEnablingReducing & enabling diagram

Pillar Elements (WebP) — v5

Pattern: pillarsLong[1].solid → filename pillar-1-long-solid.webp. Same for pillarsRegular, pillarsExtended. For pillarsShort: .symbol → pillar-N-symbol-solid.webp / .text → pillar-N-text-solid.webp

NamespacePillarsVariants
pillarsLong1–5solid, transparent
pillarsRegular1–5solid, transparent
pillarsExtended1–5solid, transparent
pillarsShort1–5symbol, symbolTransp, text, textTransp

Data Source & Partner Logos — Direct CDN URLs

Use the CDN URL directly in <img src>. Token pattern: dataSourceLogos.cdp.url

NameCategoryCDN URL
CDPClimate Datahttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/cdp-logo_cce59d3e.webp
SBTiStandardshttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/sbti-logo_c443004e.webp
TPIClimate Datahttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/tpi-logo_8c0a85cd.webp
GLEIFCompany Datahttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/gleif-logo_1564ec4e.webp
MSCIESG Ratingshttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/msci-logo_697a38d2.webp
WBABenchmarkshttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/wba-logo_a7d5909f.webp
Net Zero TrackerClimate Datahttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/net-zero-tracker-logo_9a6f718f.webp
B CorpCertificationhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/b-corp-logo_2a5f8eeb.webp
EurostatStatistical Datahttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/eurostat-logo_5e0881d5.webp
WikidataOpen Datahttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/wikidata-logo_064f2f7b.webp
KlimatkollenClimate Datahttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/klimatkollen-logo_69e86393.webp
LobbyMapPolicy Datahttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/lobbymap-logo_bf257500.webp
Perplexity AIAI Toolshttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/perplexity-ai-logo_0c220c4f.webp
SME Climate HubStandardshttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/sme-climate-hub-logo_9687a4db.webp
SR NavigatorERI Toolshttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/sr-navigator-logo_8fe4a7c5.webp
LinkedInSocialhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/linkedin-logo_8d548e22.webp
GitHubDeveloperhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/github-logo_3da73845.webp
Oxford Net ZeroResearchhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/oxford-net-zero-logo_ce1013f6.webp
Oxford UniversityResearchhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/oxford-university-logo_eca7f3ea.webp
IPCCResearchhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/ipcc-logo_ab7ea87a.webp
UNFCCCPolicyhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/unfccc-logo_fa309fd3.webp
WBCSDStandardshttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/wbcsd-logo_b3e424e8.webp
WRIResearchhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/wri-logo_83f04a6e.webp
Project DrawdownResearchhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/project-drawdown-logo_2c67a47c.webp
Climate ChampionsInitiativeshttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/climate-champions-logo_f27672a0.webp
2030 BreakthroughsInitiativeshttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/2030-breakthroughs-logo_0024771e.webp
KlimatkommunernaInitiativeshttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/klimatkommunerna-logo_551ccf43.webp
Viable CitiesInitiativeshttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/viable-cities-logo_42211258.webp
NaturvårdsverketGovernmenthttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/naturvardsverket-logo_bc234e18.webp

Member Company Logotypes — Direct CDN URLs

Use the CDN URL directly in <img src>. Token pattern: memberLogos.scania.url

CompanySectorCDN URL
AFRYEngineeringhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/afry-logo_5d25ca8d.webp
Alfa LavalIndustrialhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/alfa-laval-logo_9309c994.webp
AppleTechnologyhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/apple-logo_255c3687.webp
Axel JohnsonInvestmenthttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/axel-johnson-logo_28311721.webp
BTTelecomshttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/bt-logo_d3683a2e.webp
EricssonTechnologyhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/ericsson-logo_36fef01e.webp
GoogleTechnologyhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/google-logo_f127e1bf.webp
HandelsbankenFinancehttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/handelsbanken-logo_512b4f78.webp
Houdini SportswearApparelhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/houdini-sportswear-logo_881deb10.webp
IcebugApparelhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/icebug-logo_b84d308e.webp
IKEARetailhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/ikea-logo_26047fb0.webp
Investor ABInvestmenthttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/investor-ab-logo_1aa672a8.webp
Juan Valdez CaféFood & Beveragehttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/juan-valdez-cafe-logo_aa8886b3.webp
Max BurgersFood & Beveragehttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/max-burgers-logo_d1d37117.webp
NetflixMediahttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/netflix-logo_7a66f54f.webp
OatlyFood & Beveragehttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/oatly-logo_e7e935ba.webp
OracleTechnologyhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/oracle-logo_8aaa2878.webp
PolestarAutomotivehttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/polestar-logo_7991cd8e.webp
PowerCell SwedenEnergyhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/powercell-sweden-logo_9cbab63c.webp
Ragn-SellsWaste & Recyclinghttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/ragnsells-logo_269530a0.webp
Scan Global LogisticsLogisticshttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/scan-global-logistics-logo_add4fa3e.webp
ScaniaAutomotivehttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/scania-logo_8e61095e.webp
SkanskaConstructionhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/skanska-logo_ff07a68d.webp
Speedy HireEquipment Hirehttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/speedy-hire-logo_fe52c971.webp
SpotifyMediahttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/spotify-logo_70f403a1.webp
StegraGreen Steelhttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/stegra-logo_5fc0f38f.webp
Tele2Telecomshttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/tele2-logo_3ecd98de.webp
Telia CompanyTelecomshttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/telia-company-logo_ff637b46.webp
UnileverConsumer Goodshttps://d2xsxph8kpxj0f.cloudfront.net/310519663319595517/5mtZtU66sMbsnmPoVbf6UJ/unilever-logo_8889bae7.webp

Section Index

Canonical section IDs and their anchor URLs for programmatic reference.

#SectionAnchor ID
1Brand Proposition#brand-proposition
2Visual Identity#visual-identity
3Logo Usage#logo-usage
4Typography#typography
5Verbal Identity#verbal-identity
6Photography#photography
7Brand Graphics#brand-graphics
8Testimonials#testimonials
9Exponential Framework#exponential-framework
10Charts & Data Visualisation#charts
11Member Logotypes#member-logos
12Data Source Logos#data-source-logos
13Navigation & Layout#navigation
14Spacing & Layout#spacing
15Component Library#component-library
16Badge Reference#badges
17CTA Buttons#cta-buttons
18Interactive States#interactive-states
19Contact Us Integration#contact-us
20Standard Components#standard-components
21UI Components#components
22Surface Modes#surface-modes
23Resources#resources
24Machine Instructions#ai-instructions