NBC News Design System Deep-Dive
1. Brand Overview
NBC News runs on trust and immediacy. The design language isn’t here to wow you with flashy gradients or playful animations — it’s here to deliver information quickly, clearly, and without distraction. This is a broadcast brand translated into digital: strong typographic hierarchy, high-contrast text, restrained use of color except for key interactive elements, and a grid that adapts to any screen without breaking the reading rhythm.
The vibe is serious but approachable. You immediately feel the credibility of a legacy news organization, but the interface doesn’t feel dusty. The typography choices — Founders Grotesk Condensed for headlines, Publico Text for body — bring a blend of modern sans and traditional serif, nodding to both print newspaper heritage and contemporary digital readability.
Colors are mostly neutral: whites, dark grays, mid grays, punctuated by a bright, saturated blue (#3061ff) for primary actions. There’s also a deep purple (#400094) and a green (#0db14b) that appear in specific functional contexts. This is a functional palette rather than a decorative one. Every color has a job.
Spacing follows an 8px logic, but with some oddball values like 7px used heavily (986 occurrences), plus micro adjustments (3.2px, 5.5px). It’s a sign of a design system that’s been iterated in production rather than strictly enforced from a style guide — reality over perfection.
Components are utilitarian. Buttons are either solid blue or outlined blue. Links drop underlines in favor of color change. Inputs strip down borders until focus, then punch up with a blue background. Shadows are rare; when used, they’re subtle and utilitarian (rgba(0,0,0,0.4) 0px 0px 10px shows up 77 times).
If you’re designing alongside NBC News, know this: clarity beats creativity here. Respect the palette, keep typography tight, and make interactions obvious. The system is built for speed — both in terms of user comprehension and newsroom deployment.
2. Color System
2.1 Primary Colors
The hero color is #3061ff — a vivid blue. It’s loud enough to stand out against the grayscale UI but not so neon that it feels clickbait. Blue in news contexts signals trust, authority, and neutrality. Competitors like CNN lean heavily on red (urgency, alertness), while BBC uses black/white (neutrality, gravitas). NBC’s blue positions it as credible but modern.
White (#ffffff) is the dominant background. Text lives mostly in dark grays (#2a2a2a, #333333, #555555) for readability and hierarchy.
Purple (#400094) is interesting — likely tied to brand-specific features (maybe election coverage or special segments). Green (#0db14b) shows up only once — hover/focus state somewhere. Not a core brand color, but a functional signal.
2.2 Complete Palette
| Color Name | Hex | Role | Usage |
|---|---|---|---|
| White | #ffffff | Background, text on dark | Global containers, buttons, header/footer |
| Dark Gray | #2a2a2a | Primary text | Links, share components |
| Dim Gray | #696969 | Secondary text | Category headers |
| Light Gray | #cccccc | Dividers, UI neutrals | Logos, related content headers |
| Bright Blue | #3061ff | Primary actions | Buttons, logos, titles |
| Medium Gray | #555555 | Tertiary text | Branding elements |
| Charcoal | #333333 | Text | General text |
| Mid Gray | #999999 | Borders, captions | Miscellaneous UI |
| Deep Purple | #400094 | Accent/secondary brand | Preference save button |
| Bright Green | #0db14b | Functional success state | Hover/focus highlight |
2.3 Color Relationships
Contrast is strong: white backgrounds with dark text easily meet WCAG AA/AAA for body text. Bright blue on white is borderline for small text — fine for buttons and large labels. Blue on dark gray is less ideal — keep text sizes large.
Dark mode isn’t evident in the extracted data — palette is tuned for light UI.
2.4 Usage Guide
- Primary actions: Use
#3061ffsolid background with white text. - Secondary actions: Outline with
#3061ff, transparent fill. - Text: Use
#2a2a2afor primary,#555555or#696969for secondary. - Dividers:
#ccccccor#999999. - Avoid using purple or green unless replicating a specific functional context — they’re not part of the general UI vocabulary.
- Never invent blues — stick to
#3061ffor risk breaking brand consistency.
3. Typography
3.1 Font Families
- FoundersGroteskCond — Condensed sans, for headlines and links. Fallbacks: Arial Narrow, Arial.
- PublicoText — Serif, for body copy and select headings. Fallbacks: Georgia, Times New Roman, Baskerville.
- FoundersGroteskMono — Monospace, for captions or special text. Fallbacks: Courier, Courier New.
- Arial — Utility sans, fallback for body and captions.
- sans-serif — Generic fallback for system UI text.
Google Fonts source lists Poppins (but not heavily used in extracted styles), variable fonts enabled.
3.2 Type Scale
Here’s the condensed table (showing context, font, size, weight, line height):
| Element | Font | Size px | Weight | Line Height |
|---|---|---|---|---|
| heading-1 | FoundersGroteskCond | 32 | 600 | 1.00 |
| heading-1 | PublicoText | 32 | 400 | 1.00 |
| heading-1 | FoundersGroteskCond | 30 | 400 | 1.00 |
| heading-1 | FoundersGroteskCond | 28 | 600 | 1.00 |
| heading-1 | Arial | 26 | 400 | 1.00 |
| heading-1 | FoundersGroteskCond | 24 | 700 | — |
| link | FoundersGroteskCond | 24 | 600 | — |
| heading-1 | FoundersGroteskCond | 20 | 400 | 1.25 |
| button | PublicoText | 20 | 400 | — |
| heading-1 | FoundersGroteskMono | 20 | 400 | 1.00 |
| link | FoundersGroteskCond | 18 | 400 | 3.33 |
| button | FoundersGroteskCond | 16 | 600 | 1.00 |
| caption | FoundersGroteskMono | 14 | 400 | 1.00 |
| caption | Arial | 14 | 400 | 1.36 |
| caption | FoundersGroteskMono | 12 | 400 | 1.00 |
| caption | Arial | 12 | 700 | 1.00 |
| caption | FoundersGroteskCond | 10 | 400 | — |
(Full list is much longer — keep the extracted data table handy for dev work)
3.3 Hierarchy
Large headlines (32px) in condensed sans hit you first — perfect for news urgency. Serif body (18–20px) maintains readability for long-form. Condensed sans for links maintains visual consistency with headings.
Line heights are tight — 1.0 in most cases — making blocks more compact. This works for headlines but can feel cramped in body text; likely compensated by enough white space in layout.
4. Spacing & Layout
4.1 Spacing Scale
Base: 8px grid logic, but real-world use has quirks.
| Value px | Rem | Count | Notes |
|---|---|---|---|
| 1 | 0.06rem | 20 | Hairline borders, micro gaps |
| 2 | 0.13rem | 29 | Icon padding |
| 3 | 0.19rem | 32 | Tight element spacing |
| 3.2 | 0.20rem | 10 | Odd — possibly icon alignment |
| 4 | 0.25rem | 37 | Small gaps |
| 5 | 0.31rem | 74 | Inner element padding |
| 5.5 | 0.34rem | 30 | Fine-tuned component spacing |
| 6 | 0.38rem | 13 | Rare |
| 7 | 0.44rem | 986 | Heavy use — list item separation |
| 8 | 0.50rem | 198 | Common grid unit |
| 10 | 0.63rem | 180 | Button padding |
| 12 | 0.75rem | 101 | Input padding |
| 14 | 0.88rem | 57 | Medium gaps |
| 15 | 0.94rem | 48 | Between cards |
| 16 | 1.00rem | 12 | Standard component padding |
| 20 | 1.25rem | 219 | Section spacing |
| 48 | 3.00rem | 11 | Large section gaps |
4.2 Layout
Breakpoints are granular: from 400px to 1280px, with specific device widths (425px, 768px, 1024px, etc.). This suggests content reflows at many points — responsive typography and layout adjustments are likely fine-tuned per breakpoint.
5. Visual Elements
Border Radius: Mostly square corners (0px on buttons). Small radii (1px, 2px, 3px) on divs and spans. 50% for circles (avatars, icons). 18px for switches. No soft rounded cards — this is sharp.
Shadows: Rare. Most common: rgba(0,0,0,0.4) 0px 0px 10px — utilitarian, for overlays or modals. No decorative depth.
Borders: Thin (1px) in light gray (#ccc, #999). Dashed borders in some lists. Solid outlines in focus states.
6. Components
6.1 Buttons
Primary (solid):
- Default:
background:#3061ff,color:#fff, padding1px 6px, border radius0, no shadow. - Hover:
background:#1eaddb, opacity0.7. - Focus:
background:#1eaddb, border1px solid #000, outline2px solid #000, opacity0.7.
Secondary (outline):
- Default: transparent,
color:#3061ff, border1px solid #3061ff, padding24px 4px. - Hover:
color:#6497ed(lighter blue), backgroundinherit. - Active: heavy shadows,
background:black, opacity0.3. - Focus:
background:#1eaddb, outline1px solid #000, color#fff.
6.2 Links
Six variants, all no underline. Hover color is always #3860be.
Examples:
- Gray link (
#cccccc) default → hover blue. - Dark gray (
#2a2a2a) default → hover blue. - Black (
#000) default → hover blue. - Blue (
#3061ff) default → hover darker blue. - White (
#fff) default → hover blue.
6.3 Forms
Search input: transparent background, no border until focus. On focus: background:#1eaddb, text #fff, border 1px solid #000.
6.4 Cards
The data doesn’t give explicit card styles, but given spacing and shadows, expect white background, thin border, minimal or no shadow, padding in 20px increments.
7. Design Tokens
:root {
/* Colors */
--color-white: #ffffff;
--color-dark-gray: #2a2a2a;
--color-dim-gray: #696969;
--color-light-gray: #cccccc;
--color-bright-blue: #3061ff;
--color-medium-gray: #555555;
--color-charcoal: #333333;
--color-mid-gray: #999999;
--color-deep-purple: #400094;
--color-bright-green: #0db14b;
/* Typography */
--font-founders-cond: "FoundersGroteskCond", "Arial Narrow", Arial;
--font-publico-text: "PublicoText", Georgia, "Times New Roman", Times, Baskerville;
--font-founders-mono: "FoundersGroteskMono", Courier, "Courier New";
--font-arial: Arial, Helvetica, sans-serif;
/* Spacing */
--space-1: 1px;
--space-2: 2px;
--space-3: 3px;
--space-3-2: 3.2px;
--space-4: 4px;
--space-5: 5px;
--space-5-5: 5.5px;
--space-6: 6px;
--space-7: 7px;
--space-8: 8px;
--space-10: 10px;
--space-12: 12px;
--space-14: 14px;
--space-15: 15px;
--space-16: 16px;
--space-20: 20px;
--space-48: 48px;
/* Border Radius */
--radius-none: 0px;
--radius-1: 1px;
--radius-2: 2px;
--radius-3: 3px;
--radius-5: 5px;
--radius-13: 13px;
--radius-18: 18px;
--radius-full: 50%;
/* Shadows */
--shadow-overlay: rgba(0,0,0,0.4) 0px 0px 10px 0px;
}8. AI Coding Assistant Prompt
# NBC News Design System Specification
You are an NBC News design expert. Build UIs matching their visual language exactly.
## Brand Context
NBC News prioritizes clarity, credibility, and speed. The design is functional, high-contrast, and typographically disciplined. Decorative elements are minimal; color is used only for function.
## Color Palette
- White: #ffffff — Page background, text on dark
- Dark Gray: #2a2a2a — Primary body text
- Dim Gray: #696969 — Secondary text
- Light Gray: #cccccc — Dividers, UI neutrals
- Bright Blue: #3061ff — Primary actions, buttons, key links
- Medium Gray: #555555 — Tertiary text
- Charcoal: #333333 — General text
- Mid Gray: #999999 — Borders, captions
- Deep Purple: #400094 — Preference save buttons
- Bright Green: #0db14b — Success state highlight
## Typography
Fonts:
- Headings: FoundersGroteskCond, Arial Narrow, Arial
- Body: PublicoText, Georgia, Times New Roman, Times, Baskerville
- Monospace: FoundersGroteskMono, Courier, Courier New
- Utility: Arial, Helvetica, sans-serif
Type sizes:
| Level | Size | Weight | Line Height | Use For |
|-----------|------|--------|-------------|-----------------|
| H1 | 32px | 600 | 1.00 | Main headlines |
| H1 serif | 32px | 400 | 1.00 | Body headings |
| Link | 24px | 600 | — | Nav links |
| Button | 16px | 600 | 1.00 | CTAs |
| Caption | 12px | 400 | 1.00 | Small labels |
## Spacing & Grid
Base: 8px grid
Scale: 1px, 2px, 3px, 3.2px, 4px, 5px, 5.5px, 6px, 7px, 8px, 10px, 12px, 14px, 15px, 16px, 20px, 48px
Use multiples in all layout and component spacing.
## Border Radius
- none: 0px — buttons, containers
- sm: 1–3px — small UI elements
- md: 5–13px — specific spans, switches
- lg: 18px — toggle switches
- full: 50% — avatars, circular icons
## Shadows & Depth
- Overlay: rgba(0,0,0,0.4) 0px 0px 10px — modals, overlays
Flat design otherwise — use borders for separation.
## Components
### Primary Button
Default: background #3061ff, color #ffffff, padding 1px 6px, border-radius 0, border none.
Hover: background #1eaddb, opacity 0.7.
Focus: background #1eaddb, border 1px solid #000, outline 2px solid #000, opacity 0.7.
### Secondary Button
Default: transparent background, color #3061ff, border 1px solid #3061ff, padding 24px 4px.
Hover: color #6497ed.
Active: background black, opacity 0.3, heavy shadow.
Focus: background #1eaddb, color #fff, border 1px solid #000.
### Navigation Links
Default: color per variant (gray, black, white), no underline.
Hover: color #3860be, no underline.
### Input Fields
Search default: transparent, no border.
Focus: background #1eaddb, color #fff, border 1px solid #000.
## Layout & Responsive Rules
Breakpoints: 400px, 425px, 768px, 1024px, 1280px, plus device-specific widths.
Adjust typography and spacing per breakpoint.
## Interaction Rules
- Transition: 150ms ease for hover/focus/active changes
- Focus: Always visible outline using specified color
- Disabled: 50% opacity, no pointer events
## DO
- Use only palette colors
- Maintain 8px grid
- Use FoundersGroteskCond for headings, PublicoText for body
- Keep outlines visible on focus
- Use square corners unless full circle
## DON'T
- Invent new colors
- Add drop shadows where not specified
- Round corners inconsistently
- Remove focus outlines
## Code Examples
### Primary Button
```css
.btn-primary {
background: #3061ff;
color: #fff;
padding: 1px 6px;
border-radius: 0;
font-weight: 600;
font-size: 16px;
border: none;
transition: background 150ms ease;
}
.btn-primary:hover { background: #1eaddb; opacity: 0.7; }
.btn-primary:focus { outline: 2px solid #000; border: 1px solid #000; }
```
### Secondary Button
```css
.btn-secondary {
background: transparent;
color: #3061ff;
border: 1px solid #3061ff;
padding: 24px 4px;
}
.btn-secondary:hover { color: #6497ed; }
```
### Input
```css
.input-search {
background: transparent;
border: none;
padding: 1px 2px;
}
.input-search:focus {
background: #1eaddb;
color: #fff;
border: 1px solid #000;
}
```9. Summary
TL;DR — NBC News’ design system is a tool for delivering information fast: condensed sans headlines, serif bodies, blue CTAs, tight spacing, and minimal decoration. Stick to the palette, keep corners sharp, and let typography do the talking.
Brand Keywords:
- trust-first
- typography-driven
- functional-minimalist
- broadcast-digital
- high-contrast