State.gov Brand Design System Deep Dive
1. Brand Overview
State.gov is the digital face of the U.S. Department of State — a high-stakes, high-visibility platform where formality meets direct public service. This isn’t a playful consumer brand. It’s a government communications tool. Every pixel has to carry authority, clarity, and accessibility. The design is about trust, not trend-chasing.
The first thing you notice: a restrained palette anchored in white, black, and deep blues, with selective use of a muted steel-blue (#4574a1) for interactive elements. Typography leans heavily on EB Garamond for headings — a serif that signals tradition and gravitas — paired with Open Sans for body text, which keeps things legible and modern. This pairing is a classic “heritage + clarity” formula: the serif says “institution,” the sans-serif says “readable and approachable.”
Layout choices are functional. The scale is clearly rooted in an 8px system, but with some one-off sizes (like 5px and 15px) that break the pure modularity — which I suspect is legacy code or manual overrides from content editors. The grid adapts to a wide range of breakpoints, from 321px all the way to 1366px+, which means they’ve accounted for everything from small phones to large desktop monitors.
The vibe is not flashy. It’s service-oriented, with strong contrast for accessibility. Buttons favor high-border styling over heavy fills, and hover states are obvious — there’s no subtlety here, which is exactly the right choice for a site where clarity trumps elegance.
There’s a certain blunt honesty to the design: underlines on links, uppercase labels on navigation, and zero tolerance for low-contrast text. Even the shadows they use are minimal and rare — this is mostly flat design, with depth coming from borders, spacing, and typography rather than heavy visual effects.
In short: the State.gov design system is about authority, accessibility, and timelessness. It doesn’t try to innovate visually. It tries to make sure you can find what you need, read it clearly, and trust that it’s official.
2. Color System
2.1 Primary Colors
The semantic primary is listed as pure white (#ffffff). That’s unusual. It tells you they’re defining “primary” not as “brand blue” but as the dominant background color. White dominates page backgrounds and is the neutral base for all typography and imagery.
The strongest brand-associated color is a muted steel blue (#4574a1), used for buttons and some links. It’s less saturated than the bright blues you see on commercial sites. This works because it feels institutional — less “buy now” and more “official document.”
There’s also a deep navy (#0a314d) that anchors the header, plus standard black and dark gray tones for text. A bright link blue (#0000ee) appears in body content, which is a very deliberate web-standard choice — instantly recognizable as a hyperlink.
2.2 Complete Palette
| Color Name | Hex | Role | Usage |
|---|---|---|---|
| Black | #000000 | Text, icons | Headers, nav text, body copy |
| White | #ffffff | Background, text | Page background, button borders, inverted text |
| Dark Gray | #333333 | Secondary text, header elements | Banner text, content blocks |
| Steel Blue | #4574a1 | Primary accent | Buttons, CTA links |
| Link Blue | #0000ee | Standard hyperlink | Inline links, skip links |
| Deep Navy | #0a314d | Branding background | Site header |
| Medium Gray | #666666 | Secondary text | Less prominent content |
| Bright Blue | #005fcc | Hover/focus accent | Interactive hover states |
2.3 Color Relationships
Contrast is high. Black on white is the default. White on deep navy is used in the header. Link blue on white exceeds WCAG AAA contrast for normal text. The steel blue (#4574a1) on white is also high contrast.
The only potential weak spot is steel blue text on white for smaller font sizes — still passes AA, but close to the threshold for AAA.
There’s no explicit dark mode. The palette is light-first and would need inversion logic for dark backgrounds.
2.4 Usage Guide
Works well:
- White background + steel blue buttons = clear CTAs.
- Deep navy header + white nav text = strong brand presence.
- Standard link blue for in-content links = immediate recognition.
Avoid:
- Steel blue on deep navy — contrast drops badly.
- Using medium gray (#666666) for essential text — keep it for secondary info only.
- Introducing non-palette colors — breaks the authoritative tone.
3. Typography
3.1 Font Families
Two main families:
- EB Garamond (Google Fonts) with Times fallback — used for headings and some links. It brings heritage and formality.
- Open Sans with Arial fallback — body text, buttons, captions. Neutral, legible, sans-serif.
Font Awesome 6 (Brands and Free) is used for icons, not for text content.
3.2 Type Scale
Here’s a condensed table from the extracted data:
| Element | Font | Size | Weight | Line Height | Notes |
|---|---|---|---|---|---|
| H1 | EB Garamond, Times | 52px | 400 | 0.92-1.12 | Page titles |
| H1 alt | EB Garamond, Times | 36px | 400-600 | 1.12-1.17 | Section titles |
| H1 small | Open Sans, Arial | 30px | 400 | 1.15 | Subheadings |
| H1 compact | EB Garamond, Times | 28px | 400-500 | 0.86-1.50 | Dense headers |
| Link lg | EB Garamond, Times | 36px | 500-600 | 1.17 | Large nav links |
| Link md | EB Garamond, Times | 24px | 400-500 | 1.17-1.25 | Secondary nav links |
| Body lg | Open Sans, Arial | 20px | 400 | 1.40 | Large body text |
| Body sm | Open Sans, Arial | 16px | 400-700 | 1.00-1.75 | Standard body text |
| Caption | Open Sans, Arial | 13-14px | 400-700 | 1.50-3.14 | Metadata, labels |
3.3 Hierarchy
H1 at 52px is huge — it commands attention. EB Garamond’s tall x-height makes it feel even larger. The step down to 36px and then 30px keeps hierarchy clear without feeling abrupt.
Body copy at 16px Open Sans is readable across devices. The use of uppercase in some Open Sans headings (with letter spacing up to 5.5px) is for navigational clarity, not style flourish.
Captions are small (13px) but spaced out with uppercase and letter spacing, making them scan-friendly.
4. Spacing & Layout
4.1 Spacing Scale
Base is roughly an 8px grid, but with extras:
| Value | Rem | Count | Use |
|---|---|---|---|
| 1px | 0.06rem | 36 | Borders, hairline dividers |
| 2px | 0.13rem | 10 | Thin gaps, icon offsets |
| 4px | 0.25rem | 7 | Icon/text padding |
| 5px | 0.31rem | 39 | Odd legacy sizes |
| 8px | 0.50rem | 7 | Small padding/margins |
| 10px | 0.63rem | 6 | Button vertical padding |
| 12px | 0.75rem | 28 | Small gaps |
| 14px | 0.88rem | 65 | Common padding in UI |
| 15px | 0.94rem | 29 | Nav padding |
| 16px | 1.00rem | 10 | Body text line height |
| 18px | 1.13rem | 26 | Card padding |
| 20px | 1.25rem | 61 | Section padding |
| 24px | 1.50rem | 21 | Larger gaps |
| 28px | 1.75rem | 3 | Rare |
| 30px | 1.88rem | 27 | Hero spacing |
| 32px | 2.00rem | 21 | Section gaps |
| 36px | 2.25rem | 8 | Large padding |
| 40px | 2.50rem | 3 | Hero blocks |
| 54px | 3.38rem | 4 | Banner padding |
| 72px | 4.50rem | 5 | Large hero sections |
4.2 Layout
Breakpoints range from 321px to 1366px. They’ve clearly tested for a variety of devices. The presence of both 767px and 768px breakpoints suggests they’re accounting for device pixel ratios and browser quirks.
No max container width is explicitly stated in the data, but given the breakpoints, I’d expect content to cap around 1280px with generous side padding.
5. Visual Elements
Border Radius:
- 0px: default for most flat elements.
- 3px: images.
- 5px top corners: specific cards.
- 100px: pill buttons.
- 50%: circular icons (play buttons).
- 100%: fully circular buttons.
Shadows:
Two shadows, both subtle:
rgba(0,0,0,0.15) 5px 5px 15px 0pxrgba(0,0,0,0.15) 0px 5px 8px -3px
They’re used sparingly — depth is mostly from borders.
Borders:
Lots of 1px and 2px solid borders in white, black, or steel blue. Outset borders on some buttons (2px). No heavy border radii except in pill shapes.
6. Components
6.1 Buttons
Variant 1 — White Border Button
- Default: Transparent background, white text,
padding: 14px 20px,border: 2px solid white, font-weight 700, font-size 12px. - Hover: Text color #8d98aa, border thickens to 4px white, background #8d98aa with 50% opacity.
- Active/Focus: Same as hover but border reduced to 1px white.
Variant 2 — Pill Steel Blue Button
- Default: White background, steel blue text (#4574a1),
border-radius: 100px,border: 2px solid #4574a1, font-weight 700, font-size 15.75px. - Hover: White text on very light gray background, border 1px solid #757575, opacity 0.7.
- Active: Gray background (#8d98aa), no border, scale up slightly (
scale(1.1)). - Focus: White text on gray background (#8d98aa), multi-layer white/blue focus ring.
Variant 3 — Circular Icon Button
- Default: Light gray background (#f7f7f7), black text/icon,
border-radius: 100%,border: 1px solid #e5e5e5. - Hover: Slightly darker text, drop shadow, scale 1.05.
- Active/Focus: Gray background (#8d98aa), no border, horizontal translate.
Variant 4 — Solid Blue Square Button
- Default: Blue background (#345d96), white text,
padding: 24px, no border radius. - Hover/Active/Focus: Same behavior as circular button.
6.2 Links
Four main link styles:
- Standard link blue (#0000ee) with underline; hover changes to #8d98aa.
- White links for dark backgrounds; hover to #8d98aa.
- Steel blue links; hover to #8d98aa.
- Deep navy links; hover to #8d98aa and underline adds.
6.3 Forms
No specific input styles extracted — likely default browser styling with minimal overrides.
6.4 Cards
No dedicated card component in the data, but border-radius 5px top corners suggest at least one card style with slight rounding.
7. Design Tokens
:root {
/* Colors */
--color-black: #000000;
--color-white: #ffffff;
--color-dark-gray: #333333;
--color-steel-blue: #4574a1;
--color-link-blue: #0000ee;
--color-deep-navy: #0a314d;
--color-medium-gray: #666666;
--color-bright-blue: #005fcc;
/* Typography */
--font-heading: "EB Garamond", Times;
--font-body: "Open Sans", Arial;
--font-icon-brands: "Font Awesome 6 Brands";
--font-icon-free: "Font Awesome 6 Free";
/* Font Sizes */
--font-size-h1: 52px;
--font-size-h2: 36px;
--font-size-h3: 30px;
--font-size-h4: 28px;
--font-size-h5: 24px;
--font-size-body: 16px;
--font-size-caption: 13px;
/* Spacing */
--space-1: 1px;
--space-2: 2px;
--space-4: 4px;
--space-5: 5px;
--space-8: 8px;
--space-10: 10px;
--space-12: 12px;
--space-14: 14px;
--space-15: 15px;
--space-16: 16px;
--space-18: 18px;
--space-20: 20px;
--space-24: 24px;
--space-28: 28px;
--space-30: 30px;
--space-32: 32px;
--space-36: 36px;
--space-40: 40px;
--space-54: 54px;
--space-72: 72px;
/* Border Radius */
--radius-none: 0px;
--radius-sm: 3px;
--radius-card-top: 5px 5px 0 0;
--radius-pill: 100px;
--radius-circle: 50%;
--radius-full: 100%;
/* Shadows */
--shadow-lg: rgba(0, 0, 0, 0.15) 5px 5px 15px 0px;
--shadow-md: rgba(0, 0, 0, 0.15) 0px 5px 8px -3px;
}8. AI Coding Assistant Prompt
You are a State.gov design expert. Build UIs matching their visual language exactly.
Brand Context:
State.gov is the U.S. Department of State's official site. Design is formal, accessible, and authoritative. High contrast, serif headings for tradition, sans-serif body for clarity. Minimal shadows, strong borders, and a restrained color palette.
Color Palette:
- Black: #000000 — Primary text, icons
- White: #ffffff — Backgrounds, reversed text
- Dark Gray: #333333 — Secondary text, header banners
- Steel Blue: #4574a1 — Primary accent, buttons, CTAs
- Link Blue: #0000ee — Standard hyperlinks
- Deep Navy: #0a314d — Header background
- Medium Gray: #666666 — Secondary/tertiary text
- Bright Blue: #005fcc — Hover/focus accents
Typography:
- Headings: "EB Garamond", Times — H1-H5, large links
- Body: "Open Sans", Arial — Body copy, captions, UI labels
- Icons: "Font Awesome 6 Brands", "Font Awesome 6 Free"
Type Sizes:
| Level | Size | Weight | Line Height | Use |
| H1 | 52px | 400 | 0.92-1.12 | Page titles |
| H2 | 36px | 400-600 | 1.12-1.17 | Section titles |
| H3 | 30px | 400 | 1.15 | Subheadings |
| H4 | 28px | 400-500 | 0.86-1.50 | Dense headers |
| Body | 16px | 400-700 | 1.38-1.75 | Standard text |
| Caption | 13-14px | 400-700 | 1.50-3.14 | Metadata |
Spacing & Grid:
Base: 8px grid with additional sizes: 1px, 2px, 4px, 5px, 8px, 10px, 12px, 14px, 15px, 16px, 18px, 20px, 24px, 28px, 30px, 32px, 36px, 40px, 54px, 72px.
Border Radius:
- none: 0px — default
- sm: 3px — images
- card-top: 5px 5px 0 0 — cards
- pill: 100px — pill buttons
- circle: 50% — round icons
- full: 100% — full round buttons
Shadows & Depth:
- Small: rgba(0,0,0,0.15) 0px 5px 8px -3px
- Large: rgba(0,0,0,0.15) 5px 5px 15px 0px
- Use sparingly. Prefer borders for separation.
Components:
Primary Button (White Border):
Default: transparent bg, white text, padding 14px 20px, border 2px solid white, font-weight 700, font-size 12px
Hover: text #8d98aa, border 4px white, bg #8d98aa (opacity 0.5)
Active/Focus: same as hover with 1px border
Secondary Button (Steel Blue Pill):
Default: white bg, steel blue text, border-radius 100px, border 2px solid steel blue, font-weight 700, font-size 15.75px
Hover: white text, bg #fafafa, border 1px solid #757575, opacity 0.7
Active: bg #8d98aa, no border, transform scale(1.1)
Focus: white text, bg #8d98aa, multi-layer focus ring
Navigation Links:
Standard blue #0000ee underlined; hover to #8d98aa
White links on dark bg; hover to #8d98aa
Steel blue links; hover to #8d98aa
Deep navy links; hover to #8d98aa + underline
Layout & Responsive Rules:
- Content adapts from 321px up to 1366px+
- Breakpoints: 321px, 360px, 377px, 414px, 455px, 500px, 520px, 550px, 600px, 640px, 641px, 761px, 767px, 768px, 781px, 782px, 800px, 834px, 896px, 991px, 992px, 1023px, 1024px, 1035px, 1070px, 1085px, 1115px, 1150px, 1194px, 1199px, 1200px, 1220px, 1245px, 1279px, 1280px, 1281px, 1294px, 1296px, 1366px
Interaction Rules:
- State transitions: 150ms ease
- Focus indicators: visible, multi-layer ring on pill buttons
- Hover: obvious color and border changes
- No subtle animations — clarity first
DO:
- Use only palette colors
- Maintain 8px grid with approved odd sizes
- Use EB Garamond for headings, Open Sans for body
- Keep high contrast for all text
- Use borders for separation over heavy shadows
DON'T:
- Introduce new colors
- Use steel blue on deep navy
- Drop underlines from inline links
- Mix rounded and sharp corners in same element
- Rely on subtle hover effects
Code Examples:
Primary Button
```css
.btn-primary {
background: transparent;
color: #ffffff;
padding: 14px 20px;
border-radius: 0;
border: 2px solid #ffffff;
font-weight: 700;
font-size: 12px;
transition: all 150ms ease;
}
.btn-primary:hover {
color: #8d98aa;
border: 4px solid #ffffff;
background-color: #8d98aa;
opacity: 0.5;
}
```
Secondary Pill Button
```css
.btn-secondary {
background: #ffffff;
color: #4574a1;
padding: 10.5px 20.95px;
border-radius: 100px;
border: 2px solid #4574a1;
font-weight: 700;
font-size: 15.75px;
transition: all 150ms ease;
}
.btn-secondary:hover {
color: #ffffff;
background-color: #fafafa;
border: 1px solid #757575;
opacity: 0.7;
}
```
Card
```css
.card {
background: #ffffff;
border-radius: 5px 5px 0 0;
padding: 20px;
border: 1px solid #e5e5e5;
}
```9. Summary
TL;DR — State.gov’s design system is formal, high-contrast, and accessible. Serif headings + sans-serif body. Steel blue accents. Minimal shadows. Borders do the heavy lifting.
Brand Keywords — institutional-trust, high-contrast, serif-sans-duo, border-driven, accessible-authority