Web Design System

How the h2o brand translates into web. Layout patterns, section anatomy, component interactions, and spacing logic — all drawn directly from the live site design.

Section 1

Page Layout Anatomy

The LP is built as a sequence of full-width sections. Each section has a defined role, background treatment, and typographic scale. Heights are content-driven, never fixed.

Navigation
height: 114px · fixed/sticky · transparent → blurred on scroll
Hero — Marketing, without limits.
height: 875px · bg: #F9FAF9 · large circles graphic + round photo
Logo Reel
height: 184px · bg: #F9FAF9 · auto-scrolling pill logos · shadow: 15px 15px rgba(0,0,0,0.05)
Intro Card — "We're an integrated marketing agency"
height: 744px · white card · border-radius: 320px br · arc graphic overlay
The Challenge — "We know customer journeys…"
height: 928px · bg: #F9FAF9 · dot matrix left · sticky text scroll right
Challenge Tabs — interactive breakdown
height: 864px · bg: #F9FAF9 · tabbed content panels
What We Do — Services grid
height: 1403px · bg: #F9FAF9 · 3-col card grid
Projects — Solutions + Completed stats
height: 736px combined · accent strip + counter row
Our Partnership Model
height: 991px · bg: #323526 · stats + pillar columns
Let's Connect — CTA + form
height: 1437px · bg: #323526 · form left, copy right

Section 2

Navigation Bar

Fixed nav, 114px tall. Light variant on light backgrounds; dark variant for dark sections. CTA button always uses Lime #D3E694 with Ink text.

Light Nav — Default

Dark Nav — Over dark sections

Height

114px

Fixed. Blurs background on scroll using backdrop-filter.

Logo Treatment

Kantumruy Pro Bold

Wordmark. No icon at nav size. Accent dot in Lime #D3E694.

CTA Button

Lime Pill

bg: #D3E694 · color: #323526 · radius: 999px · padding: 12px 24px

Nav Links

12px / 400 / +0.1em

Uppercase. Gap 36px. Opacity 0.7 default, 1 on hover/active.

Section 3

Hero Section

875px tall. Large circle photo on right, headline text block left. Background graphic: Large Circles dot matrix fades from top-left. Circle image uses 500px border-radius with inset shadow.

Marketing,
without
limits.

Push it. Shape it. Drive it. Lead it. Grow it.

Photography here

Headline Scale

128px / Bold / -5%

Line-height: 128px. Tracking: -6.4px. Word 1 in Sage #545940, rest Ink.

Sub-headline Variant

24px / Mixed weights

Bold, Bold-Italic, Underline-Bold combo. Tracking: -1.2px. All Sage #545940.

Circle Crop

1000 × 1000px

border-radius: 500px. Inset shadow: 25px 25px 100px rgba(0,0,0,0.25). Right edge bleeds off-screen.

Graphic Overlay

Large Circles Asset

Positioned top-right behind text. 1500×1500px, y: -90px offset. Low opacity, decorative.

Section 4

Logo Reel

Auto-scrolling client logo strip. White circle pill containers, hard drop shadow, 144px × 144px. Animation: infinite horizontal translate. Duplicated set for seamless loop.

UCL
E·C·F
H-D
UNIPART
Annie Sloan
curium
UCL
E·C·F
H-D
UNIPART
Annie Sloan
curium

Container

144 × 144px pill

border-radius: 80px. bg: #FFFFFF. shadow: 15px 15px 0px rgba(0,0,0,0.05).

Animation

Infinite scroll

translateX(-50%) over 20–25s linear. Double the logos to create seamless loop.

Section 5

Intro Card

White card with dramatic asymmetric border-radius (320px bottom-right creates concave curve). Contains agency descriptor text plus interactive buzzwords toggle.

We're an integrated marketing agency helping brands grow and stay visible throughout long buying cycles. From PPC and SEO to CRM, lifecycle marketing and fully integrated campaigns, we turn activity into actual business growth.

Buzzwords
On

Card Radius

border-radius: 320px br

Top-right: 24px, Bottom-right: 320px, Bottom-left: 24px, Top-left: 320px. Creates the signature h2o concave curve.

Text Size

40px / Bold / -2px

Heading 3 scale. Sage #545940 for intro, Ink #323526 for emphasis. Line-height: 56px.

Toggle Component

Buzzwords: ON

bg ON: #D3E694 · bg OFF: #B7C5B3. Label: 12px uppercase. Toggles between "we make" and agency description.

Arc Graphic

Arrow Graphic Animation

853 × 853px. Centered right half. Consists of 20-row dot matrix in brand palette. Animated on scroll.

Section 6

The Challenge Section

928px section. Left: touchpoint dot-matrix graphic (animated nodes in Sage/Lime/Ink). Right: sticky text block that scrolls at 100% top offset.

The Challenge

We know customer journeys are far from simple.

In fact, many of them involve dozens of different touchpoints, with buyers jumping around and expecting an experience that's relevant and consistent.

At h2o, we keep it all connected, sharpening your message and helping you react quicker with more agility. Making your message different. That's what makes us different.

Heading Scale

80px / Bold / -4px

dsk/headings/2. Sage #545940 for sentence opener, Ink for emphasis words. Lime dot at end.

Sticky Scroll

position: sticky; top: 0

Right text panel is sticky. Left graphic scrolls at natural speed, creating parallax separation. Height matches full section.

Dot Matrix Graphic

Touchpoints Animation

612 × 1052px. 3 node colours: Sage (open ring), Lime (filled), Gold (highlighted). 5 glowing keyframe nodes animate in sequence.

Ellipse Accent

851 × 851px

Soft sage ellipse positioned far right. bg: rgba(135,159,128,0.08). Decorative depth element.

Section 7

Services Cards

3-column card grid. White cards on light bg, dark (#323526) cards used for featured services. Hover: translateY(-4px) + deeper shadow. Cards use 20px radius.

PPC & Paid Media

Performance campaigns across Google, Meta and programmatic — built around your conversion goals, not vanity metrics.

Google Ads Programmatic Meta

SEO & Organic

Long-term visibility through technical SEO, content strategy, and authority building that compounds over time.

Technical SEO Content Authority

CRM & Lifecycle

Nurture and retention programmes that keep buyers engaged across long, complex buying cycles.

HubSpot Automation Email

Integrated Campaigns

Idea-led work that ties all channels together — brand and performance working in service of each other.

Strategy Creative Media

Analytics & Insight

Data infrastructure and reporting that gives you a clear view of what's actually driving growth.

GA4 Attribution Dashboards

Brand & Creative

Visual identity, campaign creative and brand systems that make every touchpoint consistently h2o.

Identity Campaign Design

Card Radius

20px

All service cards use 20px border-radius. Shadow: 10px 10px 0px rgba(0,0,0,0.05).

Dark Card Treatment

bg: #323526

Icon bg: rgba(255,255,255,0.08). Icon color: #D3E694. Tags: rgba(255,255,255,0.08) bg.

Hover State

translateY(-4px)

transition: 0.25s ease. Shadow deepens on hover. No colour changes on the card itself.

Icon Container

48 × 48px / 12px radius

Filled bg. Icon size: 18px. Sage on light, Lime on dark. No border.

Section 8

Stats Strip

Dark #323526 background. Numbers in Lime #D3E694. Labels in muted white. Separated by 1px rgba(255,255,255,0.08) dividers. No border-radius on strip itself — full bleed.

200+
Projects completed
98%
Client retention
14
Years of experience
3.8×
Average ROAS delivered

Section 9

Let's Connect Form

Dark section with form on the left (white card) and partnership copy on the right. Form inputs: 5px radius, no border, offwhite background, gold focus ring. Submit CTA: Lime pill button.

Start the conversation

Fewer hoops. Fearless thinking. Faster results.

We work as an extension of your team — embedded, agile, and aligned to your goals. No account management layers, no wasted time.

  • Dedicated senior team across your account
  • Integrated across paid, organic, and CRM
  • Monthly strategy sessions, not just reporting
  • Transparent pricing, no hidden retainers
  • B Corp certified — we measure what matters

Section 10

Footer Anatomy

Dark footer with 4-column grid. Brand column wider (2fr). B Corp badge bottom-right. All text rgba(255,255,255,0.5). Bottom border divider 1px rgba(255,255,255,0.07).

Section 11

Colour on Web

How each brand colour token maps to its specific web execution role. Background, text, interactive, accent, and graphic layers each have a defined owner.

#F9FAF9 — Page Background

Default page bg. All sections without explicit override use this. Light, near-white with green undertone.

#323526 — Ink / Dark Sections

Hero headlines, dark section backgrounds, footer, nav dark state. Primary text colour throughout.

#545940 — Secondary / Olive

Hero headline word 1 (e.g. "Marketing,"). Challenge heading opener. Body text on white cards.

#879F80 — Sage / Brand Green

Graphic accents, touchpoint nodes, section title highlights, portal navigation. Never used as body bg.

#D3E694 — Lime / Tertiary

All primary CTAs (buttons, nav). Stat numbers. Accent punctuation dots in headlines. Toggle ON state.

#B7C5B3 — Primary 200

Divider lines (2px). Toggle OFF state. Muted supporting elements. Not used for text.

#E7ECE6 — Primary 100

Form input backgrounds. Tag pill backgrounds. Card subtleties. Never as section background.

#FFFFFF — White

Card backgrounds (service cards, logo pills, intro card). Always with 10px 10px 0px drop shadow.

Section 12

Typography on Web

Kantumruy Pro across all roles. Five named scales from dsk/headings/1 (128px) down to labels/small (12px). Letter-spacing always negative on display sizes, positive on labels.

dsk/headings/1 — Hero

Marketing.

128px · Bold 700 · line-height: 128px · tracking: -5% (-6.4px)
Use: Main hero headline only.

dsk/headings/2 — Challenge

Far from simple.

80px · Bold 700 · line-height: 88px · tracking: -5%
Use: Section hero headlines (challenge, partnership).

dsk/headings/3 — Section

We make:

40px · Bold 700 · line-height: 56px · tracking: -5%
Use: Section subheadings, intro card headline.

dsk/headings/5 — Cards

Integrated Campaigns

24px · Bold 700 · line-height: 30px · tracking: -5%
Use: Service card titles, feature headings.

dsk/p/standard — Body

We keep it all connected, sharpening your message and helping you react quicker with more agility.

18px · Medium 500 · line-height: 28px · tracking: -5%
Use: Body copy in challenge, partnership sections.

labels/large — Navigation / CTAs

HOW WE HELP    SEE FOR YOURSELF

16px · Regular 400 · line-height: 18px · tracking: +5% (+0.8px)
Use: Button text, nav links, section eyebrows.

Section 13

Section Pattern Library

A reference catalogue of every repeating layout pattern in the h2o website design system — ready to brief into development.

Pattern Background Layout Notes
Sticky Text + Scrolling Graphic #F9FAF9 50/50 split Right text sticky top:0. Left graphic scrolls naturally. Used: Challenge section.
Asymmetric Rounded Card White Full width border-radius TL: 320px, BR: 320px. Graphic bleeds right edge. Used: Intro card.
Round Crop + Text Left #F9FAF9 45/55 split Circle image 1000px radius, absolutely right-positioned. Text left with button pair. Used: Hero.
3-Col Service Grid #F9FAF9 3 columns Mix of white and dark cards. 20px radius. Icon + title + desc + tags. Used: What We Do.
Stats Bar #323526 4 columns Numbers in Lime. Labels in rgba white. Vertical dividers. Full-bleed section.
Form + Copy Split #323526 50/50 split Form in white card left. Partnership points right. Form inputs: 5px radius, no border, gold focus.
Logo Reel #F9FAF9 Scrolling row 144×144px pill logos. Shadow: 15px 15px 0px. Infinite translateX animation. Duplicate set for loop.
Dark Footer Grid #323526 2fr 1fr 1fr 1fr Brand col wider. B Corp badge bottom-right. Bottom border: 1px rgba(255,255,255,0.07).
Section Eyebrow + Divider Any bg Label + line 10–11px uppercase label. 2px sage-200 divider line extends to right edge. Used above all major headings.
Dot Matrix Background Transparent Absolute layer 24px spacing grid. 3 node types: grey open circle, sage active, lime highlight. z-index behind content.

Web Execution — Do / Don't

Principles in Practice

✓ Do
Use Lime #D3E694 exclusively for CTAs and interactive highlights — never decorative fills.
Apply the 10px 10px 0px hard drop shadow to all elevated white components (cards, nav, pills).
Keep form inputs at 5px radius — the only component that deliberately breaks the pill pattern.
Use negative letter-spacing on all display type (-3% to -5%). Positive tracking on labels (+5%).
Alternate light (#F9FAF9) and dark (#323526) sections to create rhythm — avoid 3+ consecutive light sections.
End hero headlines with a Lime dot. End section headings with standard punctuation in Sage.
✗ Don't
Don't use rounded rectangles smaller than 20px on cards — minimum radius is 20px, prefer 24px.
Don't use borders or keylines on cards. Shadow only. Keylines make the system feel dated.
Don't set body copy at 100% opacity on dark backgrounds — use rgba(255,255,255,0.5) for secondary text.
Don't use the Gold (#E5AC34) palette in the web UI — it belongs to print and brand materials only.
Don't centre-align body copy. Left-align always. Centred text reserved for single stat values only.
Don't mix Sage and Lime accent colours in the same sentence — use one highlight per heading.

14 — Brand-to-Web Styling

Brand
System
on Web.

How every element of the h2o brand identity — logo, colour, type, components, icons, voice, and motion — translates into the website's visual language. The executional bible for building in-browser.

01 — Logo

Logo on Web

Three lockup variants are defined for web. The primary wordmark is used at nav and hero scale. Never rasterise — always render as text or SVG to preserve crispness at all resolutions.

h2o.

Lockup A — Light Context

Used on all light (#F9FAF9 / #FFFFFF) backgrounds. Ink #323526 wordmark. Lime #D3E694 dot accent. Minimum size: 48px cap height.

h2o.

Lockup B — Tinted Context

Used on mid-tone sage or offwhite surfaces. Secondary #545940 wordmark. Sage #879F80 dot. Retains legibility at 80%+ contrast.

h2o.

Lockup C — Dark / Reversed

White wordmark on all dark (#323526) sections. Lime dot preserved. Used in footer, dark nav, and dark hero overlays.

Clear Space Rule

h2o.

Minimum clear space = cap-height of the "h" on all four sides. No other brand elements, text, or imagery within this zone.

Size Thresholds

h2o. Nav · 28–32px
h2o. Mobile nav · 20–22px
h2o. Minimum · 14px · never below

02 — Colour

Colour System

Eight tokens define the full palette. Each has a specific role — background, text, interactive, structural, or graphic — and should not be used interchangeably.

Dark
Olive
Sage
Lime
P100
P200
Page
White
#323526

Ink — Primary Dark

Text · Dark sections · Headlines

Primary text colour throughout. Background for all dark sections: footer, CTA blocks, partnership module, dark nav. Hero headline "Marketing" (secondary word). Never used as a border.

#545940

Olive — Secondary

Hero word 1 · Challenge opener · Subheads

The "Marketing," in the hero headline. Challenge section "We know" opener. Intro card body copy. Communicates warmth within the dark palette. Never for interactive elements.

#879F80

Sage — Brand Green

Graphic accents · Section title HL · Portal

Used for graphic atoms (dot nodes, circle outlines), the <span class="hl"> on section titles in the brand portal, icon colour on light cards. Never as a section background on the live site.

#D3E694

Lime — Tertiary / CTA

All primary CTAs · Stat numbers · Toggle ON

Exclusively for interactive/highlight use. Primary button bg. Nav CTA. Stat number colour on dark bg. Toggle ON state. Headline punctuation dot. Not used as body bg or decorative fill outside graphic atoms.

#E7ECE6

Primary 100 — Pale Sage

Form inputs · Tag backgrounds · Dividers

Form input fills (5px radius inputs). Service tag pill backgrounds on light cards. Divider lines (2px). Icon container backgrounds. Creates structural separation without using borders.

#B7C5B3

Primary 200 — Muted Sage

Toggle OFF · Dividers · Structural edges

Toggle component OFF background. Secondary/muted divider lines. Never as text. Sits between P100 and Sage in the hierarchy to provide mid-tone structural support.

#F9FAF9

Gray — Page Background

Default section bg · Mid sections

All light/neutral sections default to this. Not pure white — the subtle green undertone ties the page to the brand palette. Used for hero, logo reel, challenge section, services grid.

#FFFFFF

White — Card Background

Cards · Logo pills · Intro card · Form

All elevated card components: service cards, logo reel pills, intro card, form panel. Always paired with 10px 10px 0px hard drop shadow. Never used as a section/page background (that's #F9FAF9).

03 — Typography

Type Scale

Kantumruy Pro is the sole typeface. Five named scales cover every text role on the site. Tracking is always negative on display sizes and positive on label/uppercase copy.

H1 — Hero Marketing. 128px · 700 · -5% · lh 128px
H2 — Section Customer journeys. 80px · 700 · -5% · lh 88px
H3 — Sub We make: 40px · 700 · -5% · lh 56px
H5 — Card Integrated Campaigns 24px · 700 · -5% · lh 30px
Body / P We keep it all connected, sharpening your message and helping you react quicker. 18px · 500 · -5% · lh 28px
Label / L How We Help  ·  See For Yourself 16px · 400 · +5% · lh 18px
Label / S 03 — Typography  ·  Section Eyebrow 14px · 600 · +25% · lh 16px
Label / XS © 2025 h2o creative · Privacy Policy · Brand: Sage #879F80 12px · 400 · +4% · lh 14px

Hero — Dark bg treatment

Without
limits.

On dark sections, display type stays #fff. Lime accent used for the final word or dot punctuation. Never white + lime on the same word.

Button / CTA — Lime bg

How We Help →

Labels use Regular 400 weight, not Bold. Letter-spacing +0.1em (positive). Uppercase transform applied in CSS, never typed.

Mixed weight — Hero sub-headline

Push it. Shape it. Drive it. Lead it. Grow it.

Bold, Bold-Italic, Bold-Underline used in sequence to create rhythmic emphasis. All at 24px on desktop. Color: Olive #545940 for regular, Ink #323526 for bold words.

04 — Buttons & CTAs

Buttons & CTAs

All primary actions use the Lime pill. Dark pill for secondary actions on light backgrounds. Ghost/outline for tertiary. Link-style for inline CTAs. No solid colour buttons beyond these four families.

On Light Backgrounds

Lime pill: bg #D3E694, color #323526, radius 999px, padding 14px 28px.
Ink pill: bg #323526, color #fff.
Ghost: transparent, border 1.5px rgba(50,53,38,0.18).

Small: font-size 10px, padding 10px 20px.
Large: font-size 13px, padding 18px 36px.
Link: no bg, border-bottom 1px only.

On Dark Backgrounds

Lime pill is always the primary CTA — identical on dark and light. Ghost light: border rgba(255,255,255,0.2), color rgba(255,255,255,0.7).

Rounded variant: radius 50px (not pill). Used inside cards on dark sections.
Pulse dot: Lime, bwPulse animation, 2s infinite.

Hover & Focus States

Lime Pill Hover

transform: translateY(-2px)
box-shadow: 0 6px 20px rgba(211,230,148,0.45)
transition: 0.2s ease

Card Hover

transform: translateY(-4px)
shadow depth increases
transition: 0.25s ease

Input Focus

box-shadow: 0 0 0 3px rgba(229,172,52,0.18)
Gold glow ring. No border change.
transition: 0.2s ease

05 — Icons

Icon System

Icons are contained within a 48×48px tile at 14px border-radius. Three container states — pale sage, ink, lime — cover all background contexts. Icon stroke: 18px at default size, 1.5px stroke weight.

Touchpoints

48×48 · 14px radius · Sage on pale

Messaging

Dark container · Lime icon

Complexity

Lime container · Ink icon

Customers

Pale container · Sage icon

Growth

Dark container · Lime icon

Scaling

Pale container · Sage icon

Social

Lime container · Ink icon

Target

Dark container · Lime icon

Search

Pale container · Sage icon

CRM

Lime container · Ink icon

Icon Colour Logic

Pale container

bg: #E7ECE6
icon: #879F80 (Sage)
Used on white cards, light sections

Dark container

bg: rgba(255,255,255,0.08)
icon: #D3E694 (Lime)
Used on dark cards #323526

Lime container

bg: #D3E694
icon: #323526 (Ink)
Used for featured/highlighted cards

06 — Graphic Atoms

Graphic Atoms

Six reusable graphic elements built as CSS/SVG. Used as decorative backgrounds and section atmosphere — never as primary content. Always low opacity or partial bleed, never centre-stage.

Orbiting Circles graphic

Orbiting Circles

Primary asset. Concentric dashed orbits + node circles in Gold, Sage, Ink, Pale. Used: Hero bg, large-format print, section fills. Always full-bleed or partially cropped — never shrunk to fit a box.

Quarter Circle

Used: Dark section corners. Concentric arc lines in Lime at low opacity. Adds curvature language to otherwise rectangular dark blocks.

Arrow / Node Grid

Used: Intro card background. 768×853px. Grid of dot nodes (open circle) with highlighted nodes in Sage and Lime. Animates on page load via CSS keyframes.

Infinity Loop graphic

Infinity Loop

Primary asset. Interlocking dashed ellipses with Gold/Lime node markers. Represents the continuous integrated marketing cycle. Always shown complete — never crop. Light bg only.

Dot Texture

Used: Dark section overlays. 14px grid, 2.5px dots in Lime at 20% opacity. Fade-out radial mask at edges. Provides texture without distracting from content.

Nested Ellipses

Used: Challenge section right-side depth element. 851×851px. 3 concentric ellipses, sage fill + stroke. Always positioned right/partially off-screen.

07 — Navigation

Navigation States

Three states: Default (transparent/light bg), Scrolled (blurred glass), Dark (over dark sections). The CTA pill is always Lime — the single consistent anchor across all states.

State 1 — Default (at page top)

h2o.
  • What We Do
  • Our Work
  • About
  • Insights

State 2 — Scrolled (glass blur)

h2o.
  • What We Do
  • Our Work
  • About
  • Insights

State 3 — Dark (over dark sections)

h2o.
  • What We Do
  • Our Work
  • About
  • Insights

Height

114px

Fixed. Scrolled state adds backdrop-filter: blur(12px).

Padding

40px H

Horizontal padding 40–48px. Matches section content edges.

Link style

11px / +0.1em

Uppercase. Opacity 0.6 default, 1.0 active/hover. No underline.

CTA button

Lime pill

Same on all three states. Padding 10px 22px. Font-size 10px.

08 — Dividers & Spacing

Dividers & Spacing

An 8px base grid governs all spacing. Section padding is always 80–120px vertical. Dividers are always 2px with no border — height only, borderless. Four divider types cover all contexts.

Standard
h: 2px · #E7ECE6 · between list items
Sage
h: 2px · #879F80 30% · section emphasis
Lime Accent
h: 2px · #D3E694 · short accent, max 120px
Dark Internal
h: 1px · rgba(255,255,255,0.07) · dark section only

8px

Gap between tags/chips. Icon internal padding. Micro-spacing within components.

16px

Between form fields. Card internal row gap. Between icon and card title.

24px

Card padding (inner). Button group gap. Between type label and heading.

32px

Card padding (generous). Between heading and descriptor text. Nav item separation.

48px

Between section sub-components. Col gap in 2-col layouts. Footer grid gap.

64px

Between major layout groups within a section. Card-to-grid gap in 3-col services.

80px

Section vertical padding (compact). Top/bottom of mid-density sections.

120px

Hero section padding. Max vertical breathing room. Used at section top on hero/intro.

09 — Voice & Tone

Voice & Tone

h2o's voice is direct, confident, and human. No fluff, no jargon, no inflated claims. The website copy reflects a brand that knows what it's doing and doesn't need to shout about it.

Principle 01

Fearless & Direct

Lead with the statement, not the caveat. "Marketing, without limits." not "Our approach to comprehensive marketing solutions enables…"

Principle 02

Human, Not Corporate

Write like a person talking to another person. No passive voice. No industry buzzwords unless deliberately subverted (see the toggle component).

Principle 03

Specific Over Vague

"Dozens of different touchpoints" beats "complex buyer journeys". "3.8× average ROAS" beats "excellent return on investment". Specificity builds trust.

Principle 04

Confident Understatement

"That's what makes us different." Not "We are the industry-leading…". The work and the specifics do the selling. The tone stays calm and assured.

Copy — Do / Don't

✓ Write
Marketing, without limits.
✗ Avoid
A comprehensive, full-service marketing agency delivering results-driven solutions.
✓ Write
We keep it all connected, sharpening your message and helping you react quicker with more agility.
✗ Avoid
Our integrated platform leverages synergies across channels to optimise your marketing ROI.
✓ Write
Fewer hoops. Fearless thinking. Faster results.
✗ Avoid
We streamline processes to deliver efficient, high-quality marketing outcomes for our clients.
✓ Write
That's what makes us different. (short, full stop, no exclamation)
✗ Avoid
We're the best in the business and proud to offer award-winning marketing services!

10 — B Corp

B Corp Identity

h2o creative is a certified B Corporation — a legal designation holding the business accountable to people, planet, and profit equally. The B Corp logo is an official certification mark and must be used exactly as supplied, without modification.

Certified B Corporation — white lockup

Lockup A — Reversed / White

Use on all dark (#323526) backgrounds. Footer, dark section overlays, dark marketing collateral.

Certified B Corporation — black lockup

Lockup B — Standard / Black

Use on all light backgrounds. White card surfaces, light footers, printed materials, email signatures.

Minimum Size

50px tall

Minimum display height in digital contexts. Below this the "Certified" and "Corporation" text becomes illegible. Never crop or scale disproportionately.

Clear Space

= width of "B"

Clear space on all sides must equal at least the visual width of the "B" letterform. No other logos, text, or graphics within this exclusion zone.

Usage Rule

2 versions only

White on dark. Black on light. No colour tinting, no sage/lime recolours, no drop shadows applied to the mark itself. The certification mark must remain unmodified.

✓ Do

  • Use the white lockup on all dark (#323526) backgrounds — footer, dark nav overlays, dark print
  • Use the black lockup on white and light (#F9FAF9) backgrounds
  • Place in the footer, about page, and email signatures as a trust signal
  • Reference "Certified B Corp" in copy — always with the capital B and capital C

✗ Don't

  • Never recolour the mark in Sage, Lime, or any brand colour — black or white only
  • Never apply drop shadows, gradients, or opacity less than 80% to the logo
  • Never place on a busy photo background without a solid colour backing panel
  • Never abbreviate in copy as "b corp" (lowercase) or "BCorp" (merged) — always "B Corp"

In Context

Footer

© 2025 h2o creative

B Corp

About / Cards

B Corp

We measure what matters — people, planet, and profit.

Partnership / CTA

B Corp

B Corp certified — we measure what matters.

11 — Motion

Motion System

Three motion behaviours drive the h2o website experience: scroll-triggered fade-up reveals, infinite-scroll reel animation, and hover micro-interactions. All transitions use the brand easing curve — never linear.

Hover Lift — Cards & Orbs

transform: translateY(-4px) transition: 0.25s ease Cards lift 4px. Orbs lift 6px + scale(1.06). Shadow deepens proportionally. Never bounce or spring on simple hover.

Section content reveals here

Scroll Reveal — Fade Up

bwFadeUp keyframe 0.6s cubic-bezier(0.16,1,0.3,1) All .reveal elements fade up 16px on IntersectionObserver. 80ms stagger per element. Threshold: 0.12 (12% visible triggers).

How We Help

Button Hover — Lime Pill

transform: translateY(-2px) box-shadow: 0 6px 20px rgba(211,230,148,0.45) Only buttons lift 2px (half of cards). Lime glow shadow always uses the brand colour at 45% opacity, not black.

UCL Unipart Annie Sloan Curium UCL Unipart Annie Sloan Curium

Infinite Scroll — Logo Reel

bwScroll keyframe · 20s linear infinite translateX(-50%) over full loop. Requires double content set. will-change: transform for GPU acceleration.

Node Pulse — Touchpoints

bwPulse · 2s ease infinite Used on dot matrix highlight nodes. Lime dots pulse with Lime shadow; Sage with Sage shadow. 0.5s stagger between nodes in sequence.

Input Focus — Gold Ring

box-shadow: 0 0 0 3px rgba(229,172,52,0.18) transition: 0.2s ease Gold ring (not Lime) on focus. No border appears. Ring expands from 0 to 3px spread. Click the input above to preview.

Easing & Duration Reference

Micro (hover)

0.2s ease
Buttons, links, icon containers. Fast enough to feel responsive.

Card (hover)

0.25s ease
Service cards, logo pills, all elevated surface hovers.

Scroll reveal

0.6s cubic-bezier(0.16,1,0.3,1)
The brand's "spring" — overshoots slightly then lands. Use for all reveal animations.

Never use

linear or bounce
Linear feels mechanical. Bounce feels playful — neither fits the h2o brand.