Exenai Limited · exenai.design

One brand.
Every surface.

The foundation, surfaces, type, voice and presentation patterns that make something recognisably Exenai. Written to be read by people and by the tools we build with, so anything produced in our name arrives already looking like us.

EXENAI GREEN
ACTION BLUE
TOCA PINK
BULLHORN ORANGE

01 · Principle

The system is the contract.

Everything Exenai puts into the world inherits the same surfaces, the same type scale and the same component logic. Our products all wear Exenai green. The other accents belong to other companies and appear only when we are talking about them.

01

Recognisable as Exenai

Dark surfaces, the Poppins scale, the same cards, buttons and spacing rhythm. Somebody should be able to tell a thing is ours before they read a word of it.

02

Accents mean something

An accent is never decoration. Green is ours and carries every product and every primary action. Blue is interactive. The rest belong to other companies and appear only when we refer to those companies.

03

Cheap to extend

Decks, one-pagers, agreements, case studies, internal tools — all inherit the system. A new artefact takes hours rather than weeks, and an AI tool handed this document produces something that already fits.

02 · Foundation

Surfaces.

Five dark surfaces, three light. Two border tiers on each. The brand reads dark by default; light surfaces are used to break the rhythm on alternating sections.

Dark surfaces · primary register

Used for hero sections, product feature blocks, footer, and the Bullhorn-aligned dark register that runs through the brand.

Deepest
#080808
Footer · clients strip
Primary
#0e0e10
Page background
Secondary
#141416
Section break
Surface
#1a1a1e
Cards · panels
Elevated
#222226
Logo tiles · pills

Dark borders

Always 0.5px on dividers, 1px on cards. Default for most uses; emphasis for hover states and meta separators.

Border · Default
#2a2a30
Cards · dividers
Border · Emphasis
#333338
Hover · meta sep

Light surfaces · for breathing room

Used on alternating sections to break the dark rhythm. Always paired with the dark text scale.

White
#ffffff
Card body · platform
Off-white
#fafafa
Section background
Warm grey
#f4f4f2
Soft section

Light borders

Same role as dark borders, on light surfaces.

Border · Default
#e8e8e4
Cards · dividers
Border · Emphasis
#d8d8d4
Hover · meta sep

Text on dark surfaces

Used on every dark surface in the brand. Three tiers, used consistently.

Primary White
#ffffff
Headings · strong
Secondary White
#c8c8cc
Body · paragraphs
Muted White
#888890
Captions · meta

Text on light surfaces

Mirrors the dark scale — three tiers, same hierarchy.

Primary Dark
#0e0e10
Headings · strong
Secondary Dark
#444450
Body · paragraphs
Muted Dark
#888890
Captions · meta

03 · Brand & Accents

Four accents. Two scopes.

Exenai green and action blue are ours and carry everything we make, products included. Toca Pink and Bullhorn Orange are borrowed: they appear only when we are referring to Toca or to Bullhorn, and never to colour something of ours.

Exenai Green
Ours · every product · CTAs · eyebrows · the standout colour
Everywhere
Exenai Green
#bada55
CTA · eyebrow · accent
Green Text
#8aaa1a
Green text on light
Green Dim
rgba(186,218,85,.08)
Pill background
Green Border
rgba(186,218,85,.2)
Pill border
RECRUITMENT REENGINEERED
Green on dark, carrying the eyebrow and the primary action.
Book a meeting
RECRUITMENT REENGINEERED
Exenai green on light needs the darker text variant.
Book a meeting
Action Blue
Ours · links · interactive elements · secondary signal
Everywhere
Action Blue
#4a89dc
Links · hovers
Blue Dim
rgba(74,137,220,.08)
Pill background
Blue Border
rgba(74,137,220,.2)
Pill border
EXECUTIVE SEARCH
Used inside copy as a link, and as a secondary signal in firm-type pills.
Executive Search
Toca Pink
Toca’s colour · used when we refer to the Toca platform
Borrowed
Toca Pink
#e91e63
Toca reference
Toca Dim
rgba(233,30,99,.08)
Embedded App pill
Toca Border
rgba(233,30,99,.2)
Pill border
POWERED BY TOCA
Used where we attribute something to the Toca platform. Never used to colour an Exenai product.
Embedded App
Bullhorn Orange
Bullhorn’s colour · used when we refer to Bullhorn
Borrowed
Bullhorn Orange
#F47920
Bullhorn reference
Orange Text
#c45a08
Orange text on light
Orange Dim
rgba(244,121,32,.08)
Pill background
Orange Border
rgba(244,121,32,.2)
Pill border
CANDIDATE EXPERIENCE
Used where we refer to Bullhorn, its platform or anything it owns. Never used to colour an Exenai product.
Live from your ATS

04 · Logos

Three forms. One brand.

The Exenai logo is built from two elements: a wordmark in Comfortaa Bold, and an icon — three forms representing the three stakeholders Exenai serves. They lock together as the primary logo, and each can stand alone where the application demands it.

The three forms

LOGO · HORIZONTAL

Wordmark + icon, side by side

The default lockup. Used on the site header, footer, decks, MSAs, and most digital and print applications. Two colourways: dark wordmark for light surfaces, light wordmark for dark surfaces.

LOGO · STACKED

Wordmark + icon, stacked

The vertical lockup. Used where horizontal space is constrained — square avatars, app tiles, badges, narrow sidebars. Same two colourways as horizontal.

ICON · THE SYNAPSE

Three stakeholders, one connection

The Exenai mark on its own. Three forms representing the stakeholders Exenai connects — clients, candidates, consultants — held together by a central organic body. Used for favicons, app icons, social avatars, and any application below 64px where the wordmark won’t read.

Formats

SVG

Scalable vector

Default for web and any digital application. Scales to any size without loss. Use this unless the destination cannot accept it.

PNG

Raster · transparent

For email signatures, social posts, decks, and anywhere a raster file is required. Supplied at native size; downsample as needed.

AI

Master vector source

Adobe Illustrator master file. For commercial print, signage, merchandise, and any work where the vector source needs editing rather than just placing.

GIF

Animated raster

Animated icon variant for loaders and brand moments. Used sparingly — the animation works because it is rare.

Logos · horizontal

Logo horizontal · dark
Logo horizontal · dark
Dark wordmark · for light surfaces
Logo horizontal · light
Logo horizontal · light
Light wordmark · for dark surfaces

Logos · stacked

Logo stacked · dark
Logo stacked · dark
Dark wordmark · for light surfaces
Logo stacked · light
Logo stacked · light
Light wordmark · for dark surfaces

Icon · The Synapse · four contexts

Icon · on dark
Icon · on dark
Packaged on dark
PNG
Icon · on light
Icon · on light
Packaged on light
PNG
Icon · transparent
Icon · transparent
No background
Icon · animated
Icon · animated
Loader · GIF
GIF

The Synapse is always brand green (#bada55). Static contexts: a version on a black ground for dark surfaces, a version on a light ground for light surfaces, a transparent version that sits on whatever surface it’s placed on. The animated variant powers loaders on the live site.

05 · Voice

Two straplines.

A primary line that does most of the work, and a secondary line that runs longer when more context is warranted. Both are fixed wording — neither is paraphrased, neither is rewritten for length.

PRIMARY

Recruitment.
Reengineered.
Fully managed.

The headline strapline. Three end-stopped beats, hierarchical, definitive. Used on hero placements, deck back covers, partner one-pagers, and anywhere a single confident line needs to do the work. The full stops are part of the line — kept on every rendering.

SECONDARY

Smarter automation.
Seamless experiences.
Recruitment reengineered.

The expanded line. The three clauses map to AaaS, CEP, and the brand respectively. Used in the footer of every page, at the close of long-form content, and where a fuller statement of what the brand does is more useful than the punchier primary line. Never broken into one sentence, never paraphrased.

How we write.

Rules about register and construction, not about what we sell. Product claims live in product material and change more often than this document should.

RULE 01

Claims, not labels

A headline states something arguable. “How we got here” is a label; “Connect was not the plan” is a claim. Labels make the reader wait for the point. Claims give it to them.

RULE 02

Plain words, full sentences

No leverage, no synergies, no solutioning. British spelling. Sentence case in body copy, uppercase reserved for eyebrows. If a sentence needs a comma to survive, it gets one.

RULE 03

Concede something real

Naming what we do not do, what cost us, or what a competitor genuinely does well earns the right to the rest. Copy with nothing conceded reads as marketing and gets discounted accordingly.

RULE 04

Numbers are specific or absent

“Usually an hour” beats “quickly”. If we cannot be specific we say nothing rather than reaching for “significant”, “robust” or “industry leading”.

RULE 05

Name others from the record

When we describe another company we describe what it publishes about itself, and we can point to the source. Never characterise a third party as unofficial, unsanctioned or unsafe without one.

RULE 06

Accuracy about our own history

The founders co-founded Invenias and held senior roles at Bullhorn after its acquisition. We never say we built Bullhorn. Where the true version is less impressive, we use the true version.

06 · Typography

One family. One scale.

Poppins for everything. The wordmark is Comfortaa Bold, but it's set as an SVG — it doesn't appear in the live type stack. Comfortaa is documented here for reference and for the cases where it does need to be rendered as text.

Type families

DISPLAY · BODY · UI

Poppins

Used for everything: headings, body, UI, buttons, eyebrows, captions. Light (300) for hero and body large. Regular (400) for section titles and most body. Medium (500) for subheadings. Semi-bold (600) for buttons and eyebrows.

WORDMARK

Comfortaa

Used only for the Exenai wordmark. Bold 700. Now shipped as an SVG so the live site doesn't load Comfortaa as a webfont. Documented here for reference and for environments where the text version is required (email signatures, system fallbacks).

FALLBACK

System UI

For Word documents, email signatures, and any environment without webfont access, fall back to Arial or the OS system font. Never Calibri, never Times.

Type scale

Sizes shown are the desktop reference. Mobile scales down by ratio, with H1 clamping to 38px and body type never below 14px.

H1 · HeroPoppins 300
72 / 1.02 / -0.035em
clamp 38–72
A hero line, with one green word.
H2 · SectionPoppins 400
44 / 1.10 / -0.025em
clamp 28–44
A section headline sits here.
H3 · Card titlePoppins 400
28 / 1.15 / -0.02em
clamp 20–28
A card title sits here
H4 · SubheadingPoppins 500
20 / 1.30 / -0.01em
clamp 16–20
A subheading, one line, sentence case
H5 · EyebrowPoppins 600
11 / 1.00 / 0.12em
Always uppercase
SECTION EYEBROW · ALWAYS UPPERCASE
H6 · ButtonPoppins 600
14 / 1.00 / 0.01em
Book a meeting
P1 · Body largePoppins 300
18 / 1.75
clamp 16–18
Body large is reserved for hero subheadings and the lead paragraph of a long-form section. Light weight, generous line height, used sparingly.
P2 · Body defaultPoppins 400
15 / 1.70
clamp 14–15
The default for paragraphs across the site. Regular weight, comfortable line height, sized to read on mobile without resizing. Most copy lives here.
P3 · Body smallPoppins 400
13 / 1.65
clamp 12–13
Used for nav links, card body, captions, footer copy, and any compact UI surface. The system never goes below 12px.

07 · Components

The shared library.

Built once as shared components. Used across every page. Never restyled locally — if a component needs to change, the change happens at the source and propagates.

Buttons

PRIMARY · ALL PAGE CTAs

Exenai green button

Used for the lead CTA on every page: hero, mid-page conversion, and the close. The single most-pressed button in the brand.

background: #bada55 · text: #0e0e10 · padding: 13px 28px · radius: 8px
GHOST DARK · SECONDARY

Transparent with border

Used as the secondary CTA next to the primary green button. Less weight, same hierarchy.

background: transparent · border: 1px #333338 · radius: 8px
NAV PILL · HEADER ONLY

Compact green pill

Used in the header only. The standing CTA that sits in the nav across every page.

background: green-dim · border: 1px green-border · radius: 20px

Cards

DARK CARD · DARK SECTIONS

Surface card on dark

CARD EYEBROW
Card headline

Body copy in the card sits at 13px on the small body scale. Dark surface, default border, hover bumps the border to emphasis.

surface · #1a1a1e · border: 1px #2a2a30 · radius: 10px · padding: 32px
LIGHT CARD · LIGHT SECTIONS

Surface card on light

CARD EYEBROW
Card headline

The light variant for sections set on off-white or warm grey. Same radius, same padding, same hierarchy.

white · #ffffff · border: 1px #e8e8e4 · radius: 10px · padding: 36px

Tag pill

TAG PILL · HERO

Tag with status dot

Used in hero sections to flag context — partner status, page topic, system register. Dot colour swaps to signal product or partner.

When we refer to Bullhorn When we refer to Toca Smarter automation, seamless experiences
CARD BADGES · CATALOGUE

Inline status badges

Used on catalogue and listing cards to carry status, category or attribution. A badge is a container plus an inner text element, expanded or collapsed rather than hidden with opacity.

Moderate Embedded App Executive Search

08 · Presentation system

Decks are the system, at full screen.

Exenai presentations are single HTML files, not slide software. Every section is one full screen, navigated with a button or the keyboard. They inherit the same surfaces, type and components as everything else — which is why a deck takes an afternoon rather than a week.

Slide anatomy

the eyebrow
One idea per slide, stated as a sentence
The subtitle carries the argument. If the headline is a label rather than a claim, the slide is doing less work than it could.
Card title
Two or three lines. The card is the unit of thought, and a slide is three to five of them.
Card title
Grids run from two to five columns. Beyond five the text stops being readable at the back of a room.
Card title
Body copy sits at 12.5 to 14.5px. It is a screen a metre wide, not a document.
The footnote is the aside a presenter would say out loud, set in italic muted text.
ORDER

Eyebrow, headline, subtitle

In that order, every time. The eyebrow orients, the headline claims, the subtitle argues. A slide missing the eyebrow reads as though it belongs to a different deck.

GRID

Two to five columns

g2 through g5, collapsing to two columns under 1000px and one under 680px. Five is the maximum and only for short cards.

CLOSE

Footnote or callout, never both

End on one of them. A slide carrying an italic footnote and a callout is two endings, and the second one wins by accident.

Callout · the quiet pull quote

The line a presenter would say out loud and then pause on. One per slide, never two.

Replaces the solid green block used in v1.0. A two pixel green rule fading downward, body scale type at regular weight. It reads as emphasis rather than as a highlighter, and it survives being used twice in one deck.

Emphasis card

EMPHASIS · ONE PER SLIDE
the point
The one claim the slide exists to make
Dark surface, green border, and a soft green glow bleeding from the top edge. The card carries weight without the text having to sit on a green fill.
background: #1a1a1e · border: 1px green-border · radial glow 13%
WHY IT REPLACED THE SOLID FILL

Dark text on green does not scale

A solid green card is loud enough that a second one on the same slide cancels the first. It also forces dark text, which breaks the type hierarchy that holds everywhere else. The emphasis card keeps white text, keeps the hierarchy, and can sit beside three normal cards without shouting over them.

Solid green is still correct for exactly one thing on a slide: the element that is the answer. A gateway in a flow diagram, a headline number, a primary button.

Icon squares

Icon square
38px square, 10px radius, elevated surface, one pixel border.
Single colour
Outline only. Green stroke at 1.6, round caps and joins.
Inline SVG
No filled icons, no duotone, no icon fonts. Drawn on a 24 grid.

Horizontal rail · for anything sequential

01
First stage
Ghost numerals sit above the rail, the node sits on it, the copy hangs below.
02
Second stage
No card, no border. The rail is the structure, so boxes would compete with it.
03
Third stage
Works for years, for numbered stages, and for any four or five step process.
04
Where it lands
The rail brightens toward the end and only the final step is green.

Numbered rows & statistics

1First itemFor a list where each item needs a title and a full sentence. Reads faster than cards when there are more than four.
2Second itemFixed 34 and 190 pixel columns so the titles align down the page and the eye can scan them.
15
a supporting number
40%
another supporting number
25
the number that is the point

One solid green statistic per slide at most, and only when that number is the point of the slide.

Deck chrome

START GATE

A deck opens closed

A near-empty screen with the deck name in muted small caps and a single Start button. It holds the title animation until the room is ready, and it tells the presenter which deck they are in.

PROGRESS

Bar, count, dots

A two pixel green progress bar across the top, a slide count top right in tabular numerals, and a column of dots on the right edge that double as navigation.

NAVIGATION

Back and Next, bottom right

Ghost and primary buttons. Arrow keys, page keys and space also move. The last slide turns Next into Back to start.

BRAND

Corner lockup, after the title

The lockup appears in the top left from slide two onward, never on the title slide, where the full lockup is already the hero.

Partner lockups

GEOMETRY

Match the text, not the box

Two logos sit together correctly when their wordmark heights match and their baselines align, not when their bounding boxes match. Measure the text band and the baseline offset in each asset, then scale from that. Exenai’s wordmark occupies 88% of its box height; most other marks sit far lower in theirs.

SEPARATOR

A thin plus, centred on the text

Set in the muted tier at light weight, vertically centred on the shared text band rather than on the overall lockup, so it does not drift upward when one mark is taller.

ORDER

Host brand first

Exenai leads on our own material. On co-branded material for a partner audience, whichever brand the room belongs to leads. Never lock up with a partner mark on a deck that criticises them.

Building a deck as an HTML artefact

Exenai decks are produced by describing them to Claude and iterating on the result. What follows is the construction Claude should use, so that a deck built in one conversation matches one built in another. Give this document to the model and ask for a deck; it should not need to invent any of this.

01

One self-contained file

A single .html file with everything inline: styles, script, and every image as a base64 data URI. No build step, no external assets, no CDN beyond the Google Fonts link. It has to work from a laptop with no internet in a meeting room, and it has to survive being emailed.

02

Sections are screens

A scroll-snapping container, one section per screen, each a flex column that is vertically centred. Content is written to fit 900px of height at 1440px wide; if it overflows, the copy gets cut rather than the type shrunk.

03

Chrome is fixed, not per slide

Progress bar, slide count, dot navigation, Back and Next, and the corner lockup all live outside the deck container and persist. The corner lockup is hidden on the title slide and fades in from slide two.

04

Reveal on entry, not on load

An IntersectionObserver adds a class when a section comes into view; elements marked to rise translate up and fade in with a small stagger. It makes a deck feel deliberate without anything animating twice.

05

The start gate holds the room

The deck opens on a near-empty screen carrying the deck name in muted small caps and a single Start button. Nothing on the title slide animates until it is pressed, so the reveal happens when the presenter is ready rather than while they are still sharing their screen.

The shell

<body>
  <div id="gate"><div class="gwrap">
    <p class="gdeck">Deck name &middot; audience</p>
    <button id="startBtn">Start</button>
  </div></div>

  <!-- persistent chrome, outside the deck -->
  <div id="bar"></div>          progress
  <div id="brand">…</div>         corner lockup, hidden on slide 1
  <div id="count">01 / 12</div>
  <div id="dots"></div>
  <div id="nav"><button id="prev">Back</button><button id="next">Next</button></div>

  <main id="deck">
    <section class="hero intro"> … </section>   title
    <section> … </section>                       content
    <section class="hero"> … </section>          close
  </main>
</body>

Snapping and section layout

#deck { height:100dvh; overflow-y:scroll; scroll-snap-type:y mandatory; }
#deck section {
  min-height:100dvh; scroll-snap-align:start; scroll-snap-stop:always;
  display:flex; flex-direction:column; justify-content:center;
  padding:96px var(--pad) 120px;
}
/* reveal on entry */
.rise { opacity:0; transform:translateY(16px);
        transition:opacity .55s ease, transform .55s cubic-bezier(.22,1,.36,1); }
section.live .rise { opacity:1; transform:none; }
section.live .rise:nth-child(2) { transition-delay:.05s; }
section.live .rise:nth-child(3) { transition-delay:.10s; }

Navigation

var io = new IntersectionObserver(function (entries) {
  entries.forEach(function (x) {
    if (x.isIntersecting) {
      x.target.classList.add('live');
      i = slides.indexOf(x.target); paint();
    }
  });
}, { threshold: .55 });
slides.forEach(function (s) { io.observe(s); });

// keys: down / right / page down / space advance, up / left / page up go back,
// home and end jump to the ends. The last slide turns Next into Back to start.
function paint() {
  bar.style.width = ((i + 1) / slides.length * 100) + '%';
  count.textContent = pad(i + 1) + ' / ' + pad(slides.length);
  document.body.classList.toggle('past-hero', i > 0);   // corner lockup
}

The title sequence

Four beats over roughly three seconds, and none of them run until Start is pressed. The icon mark travels in and settles, the wordmark wipes in behind it, any partner mark and separator fade up, then the eyebrow, headline and subtitle rise in sequence. Everything is gated on a single class on the body so the whole sequence can be held or replayed.

/* nothing on the title runs until the gate is dismissed */
.lockup .mark { transform-box:fill-box; transform-origin:center; opacity:0; }
.lockup .type { clip-path:inset(-20% 0 -20% 100%); }
section.hero.intro .eyebrow,
section.hero.intro h1,
section.hero.intro .sub { opacity:0; }

body.started .lockup .mark { animation:markFly 2.1s both; }
body.started .lockup .type { animation:wipeReveal 1.2s cubic-bezier(.5,0,.2,1) .92s both; }
body.started section.hero.intro .eyebrow { animation:fadeUp .7s ease 2.45s both; }
body.started section.hero.intro h1      { animation:fadeUp .7s ease 2.60s both; }
body.started section.hero.intro .sub    { animation:fadeUp .7s ease 2.75s both; }

@keyframes wipeReveal { from { clip-path:inset(-20% 0 -20% 100%) }
                        to   { clip-path:inset(-20% 0 -20% 0) } }
@keyframes fadeUp     { from { opacity:0; transform:translateY(14px) }
                        to   { opacity:1; transform:none } }

Two things that will bite. Gate the animations to body.started and scope them to the title hero only — a closing hero sharing the class inherits a timer that expired minutes ago and never appears. And any keyframe using both must set its final opacity explicitly, or fill-mode reverts the element to the hidden base state.

Assets

LOGOS

Inline the SVG, embed the rest

The Exenai mark goes in as inline SVG so its parts can be animated and coloured with tokens. Partner marks and photographs are trimmed to their bounding box, scaled once, and embedded as base64 PNG.

ICONS

Drawn, not imported

Inline SVG on a 24 grid, single green stroke at 1.6, round caps and joins. No icon library, no filled glyphs, no emoji.

CHECK

Render before delivering

Screenshot every slide at 1440×900 and look at it. Overflow, clipped footnotes and text colliding with the navigation are invisible in the markup and obvious in the image.

Asking Claude for one

Build a presentation as a single self-contained HTML file, following the
Exenai Design System at exenai.design: dark surfaces, Poppins, green used
once per slide, scroll-snapped full-screen sections, start gate, and the
title sequence described in the presentation system section.

Audience:   who is in the room and what they already know
Purpose:    the one decision or action the deck is for
Sections:   the argument, in order, one idea each
Assets:     logos and data to embed

Write headlines as claims rather than labels. Concede something real.
Screenshot every slide at 1440x900 before returning it.

The last two lines matter more than they look. Without them a model reliably produces labelled slides, uniformly positive copy, and layouts that overflow at the bottom of the screen where nobody checked.

09 · Page architecture

Sections that alternate.

Pages follow a rhythm rather than a template: dark, dark, light, dark, light. The shape below is the default; the section names change with the content, the alternation does not.

Standard page
Dark by default, light to break the rhythm
  • Hero
  • Proof strip
  • The problem
  • What we do
  • Why us
  • Detail
  • Evidence
  • The ask
  • Footer
Rules of the rhythm
What the alternation is for
  • Never three light sections in a row
  • Open dark, close dark
  • Strips are deepest, and short
  • A light section carries the dark text scale
  • Section order is content, not decoration
Why alternate at all
The reason behind the pattern

A page that is dark all the way down reads as one long block and the reader stops noticing where they are. The light sections act as breathing points and give the eye somewhere to land. The alternation is what makes a site feel like a brand rather than a sequence of components.

Layout tokens

CONTENT

1200px content · 1440px max

Main content sits in a 1200px column. The page background spans 1440px maximum. Beyond that, content is centred and the surrounds are flat.

PADDING

52px desktop · 24px mobile

Left and right page padding. Section vertical padding is 108px on standard sections, 40 to 52px on short strip sections.

RHYTHM

Eyebrow · headline · body

14px from eyebrow to headline. 16–18px from headline to body. 36–40px from body to button. The rhythm is the same on every section.

RADIUS

10 · 8 · 20

Cards 10px, buttons 8px, pills 20px. No other radii used. Consistency over variety — same shape language everywhere.

10 · Usage

How the system stays the system.

Six rules. Each protects the system from the small drifts that accumulate into "we used to have a brand". None of these are stylistic preferences; they're the contract.

RULE 01

Borrowed accents stay borrowed

Toca Pink and Bullhorn Orange are other companies’ colours. They appear only where we are referring to those companies, never to colour something of ours, and never decoratively.

RULE 02

Exenai green is rare, and solid green rarer still

Green carries the most weight in the system. Once for the eyebrow and once for the primary action, per page or per slide. A solid green fill is reserved for the single element that is the answer — never two on one screen.

RULE 03

Dim variants never carry text

The 8% dim variants of green, blue, pink, and orange are for pill backgrounds only. Text on dim fails contrast. Text uses the full accent or the on-light text variants.

RULE 04

Shared components only

Buttons, cards, dividers, header, footer — all built once as shared components. Never restyled per page. If a change is needed, the source updates and propagates.

RULE 05

Type stays Poppins

No second display face. No serif accents. No swapping in a different family for "personality". Personality comes from green, from the dark register, and from the voice — not from the typeface.

RULE 06

Foundation is canon

Surfaces, borders, text colours, and the type scale don't fork per page. If a token isn't working, the system gets revised. The page doesn't override it locally.

RULE 07

A deck is a surface, not an exception

Presentations use the same tokens and the same components as everything else. A pattern invented for a deck either earns its way into this document or it gets removed from the deck.

RULE 08

One ending per slide

A footnote or a callout, never both, and never a callout immediately followed by another card. The last thing on the screen is the thing the room remembers.

11 · Governance

Maintaining the system.

The system is the source. It governs every Exenai surface — websites, customer-facing applications, internal tools, decks, documents, partner artefacts. Each of those is an implementation; none of them is the source. This document is the canonical reference, and any implementation that diverges from it is wrong.

REFERENCE

exenai.design

Public. The single canonical reference for the Exenai brand and design system, for our own team, our partners, and anyone building alongside us. Every Exenai product is built against what is here.

SCOPE

One system. Many surfaces.

Marketing site, product applications, internal tooling, presentations, MSAs, partner one-pagers — all draw from the same source. The system holds across them. It is platform independent and travels with the brand.

OWNER

Rich Harrison · Exenai

The system, the foundation tokens, the type scale, the voice rules, the components. Material changes go through the owner before any implementation reflects them. Observations and proposals from the team and partners are welcome and considered for the next version.

VERSIONING

v1.1 · August 2026

Material changes are versioned. v1.1 adds the presentation system, clarifies that Exenai green carries all of our products while Toca Pink and Bullhorn Orange are borrowed, and moves the document to a public home. Previous versions are preserved for reference.