Web Standards
The complete, interactive reference for every color, type scale, spacing value, animation, and component pattern used across BR properties.
Brand Colors
Seven core colors define every BR surface. Click any swatch to copy its hex value.
Typography
One font family, precisely calibrated. Every element has an exact size, weight, and spacing.
-webkit-font-smoothing: antialiased;
// Both lines required on every block.
Spacing
Consistent spacing creates rhythm. Hover bars to highlight. All values are exact — no approximations.
| Context | Desktop | 1024px | 768px | 480px |
|---|---|---|---|---|
| Hero content | 0 40px | 0 32px | 0 24px | 0 20px |
| Overview / Split | 80px 40px | 56px 24px | 40px 16px | -- |
| Quote / Testimonial | 56px 40px | -- | 40px 16px | 32px 14px |
| CTA | 72px 40px | -- | 40px 16px | -- |
| Next block | 48px 40px | 40px 24px | 36px 16px | -- |
| Layout | Columns | Notes |
|---|---|---|
| Split (copy + media) | 1fr 1fr | Equal columns, align-items: center |
| Split flipped | 1fr 1fr + direction: rtl | Player left, copy right. Reset children to direction: ltr |
| Single column (mobile) | 1fr | All grids collapse at 768px |
Animation
All animations are desktop-only. All entrance states must be inside @media (min-width: 769px). Mobile shows everything immediately.
Word: cubic-bezier(0.16, 1, 0.3, 1)
Simple: ease
Float: ease-in-out
Bounce: cubic-bezier(0.34, 1.56, 0.64, 1)
Components
Live, interactive versions of every standard component. Hover and interact to see exact behavior.
padding: 16px 40px
transform-origin: left
padding: 5px 14px
color: rgba(245,243,243,0.45)
Optional dark scrim fade for overlaid text
They transformed our digital presence.
Divider: 48px wide, gradient
Name: 14px/600/kraft | Role: 12px/400/40%
Animation: br-float [10-16s] ease-in-out infinite
Contained: aspect-ratio: 16/9; overflow: hidden; iframe absolute fill
Old height: max(360px,...) is deprecated
border: 1px solid rgba(245,243,243,0.15)
Vimeo Player API for mute/unmute
Hover: grayscale(0%) brightness(1)
Gap: 40px, animation: linear infinite
backdrop-filter: blur(6-24px)
-webkit-backdrop-filter: blur(6-24px)
border: 1px solid rgba(245,243,243,0.08)
The Kraft Rule
Kraft is the only accent color for text emphasis. It replaces bold, italic, underline, and highlight.
Responsive
Three breakpoints. No others. Click each to see all changes.
Email Standards
HubSpot email blocks. Table-based, all inline styles, no animations, no JS. Max-width 600px.
font-family: 'Helvetica Neue', Arial, sans-serif;No "LT Pro" in emails — web font not reliably loaded.
<table border="0" cellpadding="0" cellspacing="0" role="presentation">
<tr><td align="center" bgcolor="#C49A6C"
style="background-color: #C49A6C; border-radius: 0; padding: 14px 32px;">
<a href="#" style="color: #221E1F; font-size: 10px;
font-weight: 700; letter-spacing: 0.14em;
text-transform: uppercase; text-decoration: none;">
BUTTON TEXT
</a></td></tr></table>
@media (max-width: 480px) {
.email-container { width: 100% !important; }
.stack-column { display: block !important; width: 100% !important; }
}
Code Conventions
Naming, structure, and patterns that keep every block consistent and maintainable.
br-{client}-{block} — BEM-style with block__element pattern.
/* Case studies: br-{2-3 letter client code}-{block} */
.br-ab-hero { } /* Arapahoe Basin hero */
.br-au-grd { } /* Audi grid */
.br-ba-qt { } /* Ball quote */
/* Microsites: br-sec-{2-letter sector}-{block} */
.br-sec-tb-hero { } /* Tobacco sector hero */
.br-sec-au-hero { } /* Automotive sector hero */
.br-sec-ph-hero { } /* Pharma sector hero */
/* Main site: br-{short code} */
.br-vh { } /* Homepage hero */
.br-aag { } /* Stats block */
const el = document.getElementById('brAbHero');
const overview = document.getElementById('brAbOverview');
/* ========================================
BR [Client] -- [Block Name]
Brand Revolution Design Standards
======================================== */
.br-client-block *, .br-client-block *::before, .br-client-block *::after {
margin: 0; padding: 0; box-sizing: border-box;
}
.br-client-block {
font-family: "Helvetica Neue LT Pro", "Helvetica Neue", Arial, sans-serif;
-webkit-font-smoothing: antialiased;
}
.in-v — never .is-visible (deprecated, still in ~8 legacy blocks).
/* CORRECT */
.br-client-block__title.in-v { opacity: 1; transform: translateY(0); }
/* WRONG -- deprecated, migrate on contact */
.br-client-block__title.is-visible { ... }
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('in-v');
observer.unobserve(entry.target);
}
});
}, { threshold: 0.25 });
.br-client-block__bg iframe {
position: absolute; top: 50%; left: 50%;
width: max(100%, 177.78vh);
height: max(100%, 56.25vw);
transform: translate(-50%, -50%);
border: none; pointer-events: none;
}
.br-client-block__media {
position: relative; aspect-ratio: 16/9;
border-radius: 6px; overflow: hidden; background: #000000;
}
.br-client-block__media iframe {
position: absolute; top: 0; left: 0;
width: 100%; height: 100%; border: none;
}
@media (min-width: 769px)Photography & Media
How images are treated across BR. Darken and desaturate slightly — never flatten to black and white.
/* Dark overlay (default) */
background: linear-gradient(135deg,
rgba(34,30,31,.85) 0%,
rgba(34,30,31,.6) 100%);
/* Light overlay */
background: linear-gradient(135deg,
rgba(245,243,243,.9) 0%,
rgba(245,243,243,.7) 100%);
background: rgba(0,0,0,.45)
border: 2px solid rgba(245,243,243,.5)
Centered absolute positioning
Accessibility
Contrast, focus states, motion preferences, and semantic markup. Accessibility isn't optional — it's built into every block.
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}
/* Standard focus ring */
border-color: var(--kraft);
box-shadow: 0 0 0 2px rgba(196,154,108,.15);
alt="" on every image — descriptive, not decorativerole="presentation" on all layout tables (email)title="" on icon-only buttonsoverflow-wrap: break-word on all headline/title selectorsaria-label on interactive elements without visible textEditorial
Typography layout, alignment rules, and content structure patterns beyond the type scale.
/* Headlines */ font-size: clamp(28px, 4.5vw, 60px);
/* Subtitles */ font-size: clamp(14px, 1.4vw, 17px);
/* Quotes */ font-size: clamp(15px, 1.8vw, 20px);
/* Stats */ font-size: clamp(32px, 4vw, 52px);
Brand Voice
How BR speaks. Tone, vocabulary, headline formulas, and the language patterns behind every piece of copy.
craft
elevate
bold
resonate
disrupt
transform
unforgettable
synergy
utilize
optimize
stakeholder
deliverables
scalable
best-in-class
Imperial + metric (imperial first)
Avoid local idioms or slang
Local measurement system
UK/Europe: metric (miles excepted)
US: imperial only
More voice guidelines in progress
Do/Don't library, email subject line formulas, and case study narrative structures are being codified from live BR projects.