Markt en intentie mappen
Informatieve vragen scheiden van koopvragen.
№ 001 / Brand System
Wazig wordt scherp wanneer het ertoe doet. Eén accent, twee modi, één systeem. Deze guide is hoe BLURR eruitziet, klinkt en beweegt — in productie.
02 — Positionering
Niet luid, wel duidelijk. BLURR is een klein performance-bureau dat één ding goed doet: resultaten halen uit betaalde advertenties. Geen hype, geen jargon. Bewijs boven belofte.
03 — Logo
Twee primaire assets: het BLURR® wordmark en het cirkel-emblem met de B. Beide blijven qua vorm ongewijzigd — alleen kleur past zich aan per context. Geen vervorming, geen schaduw, geen kleurverloop.
De favicon-emblem is altijd lime #ecf86e achtergrond met donkere #0a0a0a B. Dark/light inverse alleen voor bijzondere toepassingen (watermarks, OG-images, social avatars in donkere context).
Het ® mag in lime worden uitgevoerd voor een subtiele accent-tap — alleen op deze positie, nooit op de letters zelf. Spaarzaam: hero, e-mailhandtekening, social headers.
Minimaal de hoogte van de letter B als vrijruimte rondom het wordmark. Voor de emblem-favicon: minimaal 25% van de cirkel-diameter.
04 — Kleur
Lime-geel #ecf86e is de enige accent. Geen paars, geen warmen, geen secundaire kleur. Dark mode is default; light mode draagt dezelfde componenten met omgekeerde rollen.
| Do | Don't |
|---|---|
| Eén accent per sectie | Meerdere accenten naast elkaar |
| #ecf86e op dark voor primary CTA | #ecf86e als tekstkleur op wit (te laag contrast) |
| Secties alterneren: dark → paper → dark | Paars (#4D00DD), warme tinten, andere neons |
| #e8e8e8 / #a6a6a6 / #6f6f6f als ink-schaal | #444 / #333 / #2a2a2a als leesbare tekst |
05 — Typografie
Drie families, één systeem. Bricolage Grotesque draagt elke headline. Geist draagt alles wat gelezen wordt. Geist Mono draagt cijfers, labels en eyebrows. Niets anders.
We zijn een klein bureau dat één ding goed doet: resultaten halen uit betaalde advertenties.
Gemiddeld 3.8× ROAS over alle accounts. Niet eenmalig, niet onder bijzondere omstandigheden. Gemiddeld. Wat overigens niets garandeert — daarom meten we elke maand opnieuw.
Uppercase, letter-spacing 0.12–0.16em. Nooit voor lopende tekst. Alleen voor data, labels en eyebrows.
| Do | Don't |
|---|---|
| Headlines: Bricolage 700/800, tracking −0.035em / −0.04em | Bricolage voor body of paragrafen |
| Body 16px minimum, lede 18–20px | Body onder 16px, labels onder 11px |
| Mono uppercase met tracking 0.12–0.16em | Mono of caps voor lopende tekst |
| Max 3 weights per sectie | Italic Bricolage, decoratieve serifs, Unbounded buiten logo |
06 — Spacing & ritme
Spacing volgt een 4px basisritme. Layouts gebruiken een fluid gutter en een container van 1180px. Section-padding is geclampt aan viewport — geen vaste 96px, maar clamp(76px, 9vw, 120px).
| Token | Waarde | Toepassing |
|---|---|---|
--container | 1180px | Max-width van inner content |
--gutter | clamp(20px, 4vw, 48px) | Horizontale padding |
--radius | 8px (12px voor cards) | Border-radius default |
| Section padding | clamp(76px, 9vw, 120px) | Vertical block-padding |
| Background grid | 84px line-grid, alpha 0.035 | Subtiele depth in dark sections |
07 — Imagery & motion
Het merk leeft in beweging. Tekst gaat van wazig naar scherp. Iconen sweepen open. Secties onthullen zich via een krimpende cirkel. Niets springt — alles vloeit.
Transitie 2.2s, easing cubic-bezier(0.16, 1, 0.3, 1). Stagger 300ms basis + 2.2× per woord. Bidirectioneel via IntersectionObserver — tekst vervaagt terug bij scroll-out.
| Element | Duur | Easing |
|---|---|---|
| Blur reveal (tekst) | 2.2s | cubic-bezier(0.16, 1, 0.3, 1) |
| Sweep icon | 2.5s infinite alternate | ease-in-out |
| Circle reveal sectie-overgang | scroll-driven | easeInOutCubic |
| 3D tilt | 0.4s | ease-out · max 7–8° |
| Slot machine | 0.6s | cubic-bezier(0.16, 1, 0.3, 1) |
| Card hover | 0.5s | cubic-bezier(0.16, 1, 0.3, 1) |
| Sweep button highlight | 0.55s | ease |
08 — Voice & tone
Een goede vakman die zijn werk laat spreken. Korte zinnen. Actieve vorm. Bewijs boven belofte. Cijfers terloops, niet als show. Jij/je — niet u, niet jullie.
| Wel | Niet |
|---|---|
| Jij / je | U, jullie |
| Korte zinnen, max 12–15 woorden | Bijzin-stapeling |
| Actieve vorm: "Wij meten" | Passief: "Er wordt gemeten" |
| Punten in headlines | Uitroeptekens, drie puntjes |
| Cijfers in getallen (3.8×) | "Driekomma acht keer" |
| Komma of punt mid-zin | Gedachtestreepjes (—) als stijlmiddel |
| Nederlands waar het kan | Engels jargon (elevate, leverage) |
09 — Components
Hoe de tokens in productie samenkomen. Kopieerbare patronen — niet uitputtend, wel representatief.
Eindelijk een bureau dat zegt wat het meet, meet wat het zegt, en geen huurmoordenaars-presentatie maakt van een rapport. Ondernemer · E-commerce
— Aanpak
10 — Layout patterns
Dit zijn de patronen die in seo-example.css staan en op productie-sites terugkomen. Per pattern: visuele demo, class-naam, en de essentiële code. Pak deze blokken letterlijk over — niet opnieuw verzinnen.
.container
.container {
width: min(1180px, calc(100% - (var(--gutter) * 2)));
margin-inline: auto;
}
:root { --gutter: clamp(20px, 4vw, 48px); }
.section
.section {
padding-block: clamp(76px, 9vw, 120px);
scroll-margin-top: 96px;
}
body
body {
background:
linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px)
0 0 / 84px 84px,
var(--dark);
}
.site-nav
.site-nav {
position: sticky; top: 0; z-index: 50;
display: flex; align-items: center; justify-content: space-between;
min-height: 78px; padding: 17px var(--gutter);
border-bottom: 1px solid rgba(255,255,255,0.08);
background: rgba(7,7,7,0.72);
backdrop-filter: blur(22px);
}
.hero-rail
.hero-rail {
position: absolute; top: 50%;
font-family: var(--f-mono); font-size: 10px;
letter-spacing: 0.16em; text-transform: uppercase;
writing-mode: vertical-rl;
color: rgba(255,255,255,0.28);
}
.hero-rail.left { left: 18px; transform: translateY(-50%) rotate(180deg); }
.hero-rail.right { right: 18px; transform: translateY(-50%); }
.hero::before · .cta::before
.hero::before {
content: 'BLURR';
position: absolute;
right: -0.08em; bottom: -0.22em;
color: rgba(255,255,255,0.035);
font-family: var(--f-display);
font-size: clamp(220px, 34vw, 520px);
font-weight: 800; letter-spacing: -0.08em; line-height: 0.8;
pointer-events: none;
}
.eyebrow · .section-label
SEO / Search Experience
02 — Aanpak
.eyebrow, .section-label {
display: inline-flex; align-items: center; gap: 10px;
font-family: var(--f-mono); font-size: 11px;
letter-spacing: 0.12em; text-transform: uppercase;
color: var(--ink-faint);
}
.eyebrow span, .section-label::before {
content: ''; width: 24px; height: 1px; background: var(--acc);
}
.proof-strip
.proof-strip {
display: grid;
grid-template-columns: repeat(5, minmax(120px, 1fr));
gap: 1px;
border-block: 1px solid #dedbd0;
background: #dedbd0;
}
.proof-strip span {
min-height: 82px; display: grid; place-items: center;
padding: 16px; background: #f4f3ed;
font-family: var(--f-mono); font-size: 12px;
letter-spacing: 0.08em; text-transform: uppercase;
}
.process-steps
Informatieve vragen scheiden van koopvragen.
Pagina met bewijs, aanbod en CTA per cluster.
Topic content + interne links versterken de winnaars.
.process-steps { position: relative; display: grid; }
.process-steps::before {
content: ''; position: absolute;
left: 27px; top: 34px; bottom: 34px;
width: 1px; background: #d9d7cf;
}
.process-steps article {
display: grid; grid-template-columns: 56px 1fr;
gap: 22px; padding: 0 0 42px;
}
.outcome-band
.outcome-band {
display: grid; grid-template-columns: repeat(3, 1fr);
border: 1px solid #dedbd0; border-radius: 16px;
background: #f4f3ed; overflow: hidden;
}
.outcome-band div {
padding: 28px; border-right: 1px solid #dedbd0;
text-align: center;
}
.outcome-band strong {
font-family: var(--f-display); font-weight: 800;
font-size: clamp(44px, 6vw, 74px);
letter-spacing: -0.06em; line-height: 0.9;
}
.operating-visual · .orbit-card
.operating-visual {
position: relative; min-height: 620px;
border-radius: 24px; overflow: hidden;
background:
radial-gradient(circle at 50% 45%, rgba(236,248,110,0.42), transparent 22%),
linear-gradient(135deg, #101010, #252519);
}
.operating-visual::before,
.operating-visual::after {
content: ''; position: absolute; inset: 70px;
border: 1px solid rgba(236,248,110,0.2); border-radius: 50%;
}
.operating-visual::after { inset: 130px;
border-color: rgba(255,255,255,0.12); }
.faq-list details
Als je aanbod al verkoopt via referrals, ads of sales, maar je organische kanaal geen voorspelbare aanvragen oplevert.
Technische fixes worden snel zichtbaar. Organische groei werkt meestal in cycli van 90 dagen.
.faq-list details {
border: 1px solid #e5e5df; border-radius: 10px;
padding: 22px 24px; background: #f8f8f4;
}
.faq-list summary {
font-family: var(--f-display);
font-size: 22px; font-weight: 800; cursor: pointer;
}
.cta · .cta-panel
Ready, set, grow
In de scan krijg je een prioriteitenlijst voor pagina's die aanvragen kunnen opleveren.
.cta {
position: relative; overflow: hidden;
background:
radial-gradient(circle at 50% 0%, rgba(236,248,110,0.14), transparent 34%),
#0a0a0a;
}
.cta::before {
content: 'BLURR';
position: absolute; left: 50%; bottom: -0.28em;
transform: translateX(-50%);
color: rgba(255,255,255,0.035);
font-family: var(--f-display);
font-size: clamp(120px, 24vw, 360px);
font-weight: 800; letter-spacing: -0.08em;
}
.section · .section-light
/* default section = dark */
.section { padding-block: clamp(76px, 9vw, 120px); }
/* alternate to paper */
.section-light {
background: var(--light-2); /* #f4f3ed */
color: #111;
border-top: 1px solid #e7e4d8;
}
Voor een BLURR-site standaard: nav → hero (dark + rails + ghost) → proof-strip → process (paper) → product (paper→dark) → GEO (dark) → results (paper) → operating (paper→dark) → FAQ (paper) → CTA (dark + ghost) → footer. Acht tot tien blokken. Niet alle blokken op elke pagina — pak alleen wat de pagina dient.
11 — Hero variations
Niet elke BLURR-pagina opent hetzelfde. Hieronder drie goedgekeurde varianten — elk binnen het systeem (ghost-text, rails, lime accent, Bricolage). Kies op basis van pagina-doel, niet op smaak. Open de volledige demo →
.hero.hero-b
/* Use-case · Homepage, About, brand statement page */
/* DNA · Gecentreerde XXL-headline + ghost-text BLURR. achter + minimale meta */
.hero-b{
text-align:center;
background: radial-gradient(circle at 50% 60%, rgba(236,248,110,0.1), transparent 40%), var(--dark);
}
.hero-b::before{
content:'BLURR.'; position:absolute; left:50%; top:50%;
transform:translate(-50%,-50%);
color:rgba(255,255,255,0.04);
font-size:clamp(280px,40vw,680px);
}
.hero-b h1{ font-size:clamp(64px,11vw,176px); letter-spacing:-0.07em; }
.hero.hero-d
/* Use-case · Pricing, social proof, partner-cases, conversie-pagina's */
/* DNA · Headline links + duotone-portret + testimonial-card rechts */
.quote-portrait img{
filter:grayscale(1) contrast(1.08) brightness(0.78); /* B2 treatment */
}
.quote-portrait::after{ /* lime sweep diagonaal */
background:linear-gradient(90deg,transparent,rgba(236,248,110,0.55),transparent);
transform:translateY(-50%) rotate(-3deg); filter:blur(2px);
}
.quote-text{ font-family:var(--f-display); font-weight:700; font-size:24px; }
.hero.hero-e
/* Use-case · Campagne-landings, single-product, kortlopende ads */
/* DNA · Treatment-A2 als full-bleed background + gecentreerde headline overlay */
.hero-e{
background:
radial-gradient(circle at 25% 30%, rgba(236,248,110,0.28), transparent 30%),
radial-gradient(circle at 75% 70%, rgba(216,205,183,0.18), transparent 32%),
linear-gradient(135deg, #050505, #1a1a14 60%, #050505);
}
.hero-e::after{ /* scan-lines + 84px grid */
background:
repeating-linear-gradient(0deg,rgba(236,248,110,0.04) 0 1px,transparent 1px 6px),
repeating-linear-gradient(90deg,rgba(255,255,255,0.015) 0 1px,transparent 1px 84px);
}
.hero-e .sweep{ /* horizontale lime light-streak */
height:120px;
background:linear-gradient(90deg,transparent,rgba(236,248,110,0.42),transparent);
transform:rotate(-3deg); filter:blur(2px);
}
| Pagina-type | Variant | Waarom |
|---|---|---|
| Homepage / About / Brand-statement | .hero-b | Manifesto vraagt om gewicht en stilte — XXL gecentreerd, ghost-text als echo. |
| Pricing / Social proof / Partner-case | .hero-d | Quote met portret bouwt vertrouwen sneller dan elke claim. |
| Campagne / Single-product / Pilot | .hero-e | Full-bleed duotone = focus-modus — geen afleiding, één boodschap. |
Niet gebruiken? Houd het bij B als default — XXL headline + ghost-text past op het meeste. D vereist een echte foto van een echte klant; geen stock. E alleen voor afgebakende campagnes met één duidelijke CTA.
Brand kit
SVG-wordmarks (dark, light, lime-®), favicons (lime, dark, light), tokens en deze guide als referentie.
Open /brand directory