Logo · dark background
Orange sign and white name.
Download the SVG : Logo · dark backgroundThe complete reference of Brunel's visual identity: the logo and its exact geometry, the colors, the typography, the components, the movement and the rules of use. Each value in this dossier is the one that runs in production.
Brunel transforms a GitHub repository into encrypted and validated cloud architecture. The identity must say the same thing: precision, solidity, sobriety. Nothing is decorative; everything is constructed.
Tribute to Isambard Kingdom Brunel, the Victorian engineer of bridges, tunnels and the Great Western Railway: someone who designed infrastructures, quantified them and made them stand. This is exactly the job of the product.
A diamond cut into four layers, the lightest at the top, like geological layers seen in cross-section. Four layers, like the four levels of architecture that Brunel proposes; from the visible surface down to the foundation, the densest.
A dark mark only, illuminated by a single color: ember orange #EC6F10. No photo, no generated illustration: each effect (gradients, grids, rails) is drawn in code.
The sign is the centerpiece of the identity. It exists alone (favicon, avatar, bullets), or accompanied by the name (logotype). Its reference version: ember orange on ink #161616.
#EC6F10 on #161616The logo uses only one hue. The layers are the same color at different opacities, never four distinct hues. This is what makes it reproducible everywhere, from the favicon to embroidery.
The sign is drawn on a grid of 24 × 24 units (that of the interface icons). All the dimensions below are the actual coordinates of the source file src/components/shell/logo-mark.ts.
| Layer | Shape | Points (x,y on 24) | Height | Opacity | Flat on #161616 | Flat on white |
|---|---|---|---|---|---|---|
| 1 · surface | Triangle | 12,2 16.6,6.6 7.4,6.6 | 4.6 u | 45 % | #763E13 | #F6BE93 |
| 2 | Trapeze | 6.2,7.8 17.8,7.8 21.4,11.4 2.6,11.4 | 3.6 u | 70 % | #AC5412 | #F29A58 |
| 3 | Trapeze | 2.6,12.6 21.4,12.6 17.8,16.2 6.2,16.2 | 3.6 u | 88 % | #D26411 | #EE802D |
| 4 · foundation | Triangle | 7.4,17.4 16.6,17.4 12,22 | 4.6 u | 100 % | #EC6F10 | #EC6F10 |
The 'flats' are the colors obtained through transparency. Use them only where transparency does not exist (Pantone or CMYK printing, embroidery, engraving, certain software). Everywhere else, keep the single color and opacities.
Start with a 20 u square placed on its tip, centered at (12,12). Cut it with three horizontal bands of 1.2 u centered on y = 7.2, 12, and 16.8. This results in two triangles of 4.6 u and two trapezes of 3.6 u.
2 u of space around the diamond in the 24 u square (8.3%). The two lateral points fall into the central slit: the diamond therefore has no visible left or right vertex, which lightens it.
The sign is perfectly symmetrical: its geometric center is its optical center. It is aligned with the vertical middle of the text or container, never with the baseline.
The name is always written 'Brunel': one capital, then lowercase. Never 'BRUNEL', 'brunel', or 'Brunel.cloud' in the logotype.
| Character of the name | Inter, weight 600 |
| Approach | -0.025em in interface, -0.033em beyond 48 px |
| Height of the S sign | ≈ the size of the name body (0.95 to 1.25 ×) |
| Sign / name space | 0.27 S (large formats) to 0.4 S (interface: 20 px + 8 px) |
| Alignment | Center of the sign on the center of the lowercase letters |
| Color of the name | White #FFFFFF on dark background, #161616 on light background; never orange |
By default. Headers, footer, documents, invoices, email signatures.
When the name is already written next to it or when space is lacking: favicon, avatar, collapsed sidebar, 'Eyebrow' bullet.
Square formats only (poster, loading screen, goodies). Sign = 1.8 × the height of the name, space 0.25 S.
Around the sign, a space equal to half its size S (the 24 u square). Around the logotype, a space equal to ½ S on all four sides. No text, border, or image enters it.
The lightest layer is always on top. Inverting the opacities reverses the meaning (the foundation must be the densest).
Orange belongs to the sign and actions. The name remains white (or ink on a light background).
The name is only composed in Inter 600. No serif, no italics, no capitals.
All these supports are generated by the code from the same source (MARK_LAYERS_24, BRAND). To change the logo, only one file is modified.
app/icon.svgGrid 32, ink square with 8 corners (25 %). The diamond grows (22 u high by 32, points at 5 and 27) and its slots go to 1.6 u. Opacities raised to 55 / 75 / 90 / 100% to remain legible at 16 px.
Margin 20 px, card with 32 corners, 8 px dot grid at 7%, sign 88 px + name 92 px bold 600, tagline 48 px, secondary line 26 px at 72% white.
On the payment pages (light background imposed by Stripe), each layer is raised by +10% opacity (55 / 80 / 98 / 100%) to maintain contrast. Stripe brand color: #EC6F10, accent #161616.
The small sign opens the subtitles, separated from the text by a line.
Validated architectureThe sign and the name in very large, in orange at 22% opacity which fades towards the bottom to 0%. The only place where the name takes orange: it is a texture, not a logotype.
Reuse the favicon: ink square #161616, orange sign occupying 70% of the height, centered. The platforms crop in a circle: the diamond fits without touching the edge.
The components use the tokens (src/styles/tokens.css), never the hexadecimal values. Orange is rare: main button, links, focus, active states, the sign. Everything else is in warm levels of black.
| Role | Token | Value | Usage |
|---|---|---|---|
| Page | --background | #161616 | All pages: site, app, console, docs |
| Card | --card | #1B1A19 | Cards, panels, footer |
| Menu | --popover | #1F1E1D | Menus, tooltips |
| Calm surfaces | --muted · --secondary · --accent | #211F1E #232120 #262422 | Bullets, fields, hover |
| Nets | --border · --input | #2F2B2A #3A3533 | Borders, rails, fields |
| Text | --foreground | #FFFFFF | Headings and body text |
| Secondary text | --muted-foreground | #B3ACA7 | Hats, legends (contrast 8.4:1 on #161616) |
| Accent | --primary · --ring | #EC6F10 | Main button, links, focus, active, the sign |
| Amber | BRAND.amber | #F2A15E | Reflections, character strings in code |
| Warm light | --brand-ember · rust · brown · ink | #DC7723 #8A4A1C #2B2019 #111111 | Coverage gradients, hatched panels, bullet hue |
| States | --success · --warning · --destructive | #3FBF7F #F2B544 #FF5F57 | Always with an icon or a word |
Validated on the card surface: luminance band, minimal chroma, color blindness separation, 3:1 contrast. Always in this order, never reassigned.
#DA6600#12A195#2769B7#C92F33#B98A00#8559B2#479C4D#BC4B87.hero-warm) · 1 px dot pattern every 6 px at 6% white, on vertical gradient #1e1d1c 0% → #221c17 30% → #4a2c16 72% → #8a4f22 100%. 32 px corners, 8 to 16 px inset from the window edge..panel-warm) · same pattern on #2b211a → #231c17. For the highlighted cell of a grid, the recommended offer, the name block in the footer.Title: Inter Display 500, approach -0.02 em, line spacing 1.11. Only one word in Instrument Serif italic, preferably at the end of the title.
Titles in bold 500. Regular text in 400, 16 px, line spacing 1.6. The name 'Brunel' in 600.
font-sans.font-displayItalic only, one word per title, via <em>. Never a whole sentence, never in regular text nor in buttons.
Figures, prices, code, small labels in capitals (11–12 px, spacing +0.08 em).
font-mono.font-label| Level | Size | Weight | Approach | Line spacing |
|---|---|---|---|---|
| Page title (h1) | clamp(2.6rem, 1.4rem + 4.4vw, 4.5rem) → 72 px | 500 | -0.02 em | 1,11 |
| Section title (h2) | clamp(2rem, 1.3rem + 2.4vw, 3rem) → 48 px | 500 | -0.02 em | 1,11 |
| Lead | 18 px | 400 | 0 | 1.55 · color #B3ACA7 |
| Text | 16 px (14 px in the app) | 400 | 0 | 1,6 |
| Label | 11–12 px mono, capitals | 400–500 | +0.08 em | 1,2 |
GlowButton : orange button, thin border, and hover animation, without glow. The historical reference #unopaq. LineButton : line and label that roll on hover. The components displayed here are those of the landing page.
src/components/ui/glow-button.tsx
Button : primary orange without glow, secondary rounded, ghost and destructive variants. These are the application components, in their default size.
src/components/ui/button.tsx
Hover: it rises by 4 px, the line warms up, and the background remains solid, without glow.
The sections are placed between two vertical lines, with a line at the top.
For the only thing to highlight in a grid. One per grid.
Only the position and opacity move. All movement disappears when the user requests fewer animations.
| Token | Value |
|---|---|
--ease-out | cubic-bezier(.25,.46,.45,.94) |
--ease-out-strong | cubic-bezier(.215,.61,.355,1) |
--ease-in-out | cubic-bezier(.645,.045,.355,1) |
--ease-soft | cubic-bezier(.2,.7,.2,1) |
--dur-quick · base · slow · reveal | 300 · 400 · 600 · 800 ms |
ease-out-strong.The official logos, ready for the web, a presentation or printing. Each SVG contains vector paths, including letters: no embedded PNG images and no fonts to install.
The signs and logotypes have a transparent background; the backgrounds below are for preview only. The icon has its own dark background.
Orange sign and white name.
Download the SVG : Logo · dark backgroundOrange sign and dark name.
Download the SVG : Logo · light backgroundMonochrome for dark backgrounds.
Download the SVG : Logo · whiteMonochrome for light backgrounds.
Download the SVG : Logo · blackFour strata at reference opacities.
Download the SVG : Sign · orangeMonochrome for dark backgrounds.
Download the SVG : Sign · whiteMonochrome for light backgrounds.
Download the SVG : Sign · blackFlat colors designed for a #161616 background.
Download the SVG : Sign · flat colorsRounded dark square, ready for an avatar.
Download the SVG : Icon · avatar<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<g fill="#EC6F10">
<polygon points="12,2 16.6,6.6 7.4,6.6" fill-opacity=".45"/>
<polygon points="6.2,7.8 17.8,7.8 21.4,11.4 2.6,11.4" fill-opacity=".7"/>
<polygon points="2.6,12.6 21.4,12.6 17.8,16.2 6.2,16.2" fill-opacity=".88"/>
<polygon points="7.4,17.4 16.6,17.4 12,22"/>
</g>
</svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<polygon points="12,2 16.6,6.6 7.4,6.6" fill="#763E13"/>
<polygon points="6.2,7.8 17.8,7.8 21.4,11.4 2.6,11.4" fill="#AC5412"/>
<polygon points="2.6,12.6 21.4,12.6 17.8,16.2 6.2,16.2" fill="#D26411"/>
<polygon points="7.4,17.4 16.6,17.4 12,22" fill="#EC6F10"/>
</svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
<rect width="32" height="32" rx="8" fill="#161616"/>
<g fill="#EC6F10">
<polygon points="16,5 20.8,9.8 11.2,9.8" fill-opacity=".55"/>
<polygon points="9.6,11.4 22.4,11.4 26.2,15.2 5.8,15.2" fill-opacity=".75"/>
<polygon points="5.8,16.8 26.2,16.8 22.4,20.6 9.6,20.6" fill-opacity=".9"/>
<polygon points="11.2,22.2 20.8,22.2 16,27"/>
</g>
</svg>src/components/shell/logo-mark.ts : geometry and colors of the signsrc/components/shell/logo.tsx : sign and logotype of the interfacesrc/app/icon.svg, apple-icon.tsx : iconssrc/app/opengraph-image.tsx : sharing imagesrc/app/brand/checkout-art.tsx : payment visualssrc/styles/tokens.css, src/app/globals.css : tokens, textures, movementdocs/art-direction.md : the short version of this folderHosted on AWS in Paris (eu-west-3). “Works with” badges identify the providers supported by Brunel.