Font Consistency Improvements - Code BEAM London 2026

Overview

Comprehensive font standardization to ensure consistent typography across the entire website using only Montserrat and Lato fonts.


๐Ÿ” Issues Found

Total Font-Family Declarations Audited: 52

Non-Compliant Fonts Found:

Critical Problems:

  1. Helvetica Neue in Schedule Table (_includes/schedule.html)
  2. Karla Font Usage (6 instances)
  3. Missing Fallbacks
  4. Inconsistent Quote Style

โœ… Solutions Implemented

1. Replaced Helvetica Neue with Montserrat (27+ instances)

File: _includes/schedule.html

Before:

<td style="... font-family: 'Helvetica Neue', sans-serif;">Time</td>
<td style="... font-family: 'Helvetica Neue', sans-serif;">9:00 AM</td>

After:

<td style="... font-family: 'Montserrat', sans-serif;">Time</td>
<td style="... font-family: 'Montserrat', sans-serif;">9:00 AM</td>

Impact: Schedule table now uses brand-consistent typography


2. Replaced Karla with Montserrat (6 instances)

File: _sass/speaker.sass

Before:

strong
  font-family: "Karla", Arial, sans-serif
  font-weight: bold !important

li
  font-family: "Karla", Arial, sans-serif
  font-size: 16px

After:

strong
  font-family: 'Montserrat', sans-serif
  font-weight: bold !important

li
  font-family: 'Montserrat', sans-serif
  font-size: 16px

File: _sass/training.sass

Before:

strong
  font-family: "Karla", Arial, sans-serif
  font-weight: bold !important

li
  font-family: "Karla", Arial, sans-serif

After:

strong
  font-family: 'Montserrat', sans-serif
  font-weight: bold !important

li
  font-family: 'Montserrat', sans-serif

File: _sass/post.sass

Before:

strong
  font-family: "Karla", Arial, sans-serif

li
  font-family: "Karla", Arial, sans-serif

After:

strong
  font-family: 'Montserrat', sans-serif

li
  font-family: 'Montserrat', sans-serif

Impact: Speaker bios, training content, and blog posts now use consistent typography


3. Added Sans-Serif Fallbacks to Lato (4 instances)

File: _sass/main.sass

Before:

.text-title
  font-family: 'Lato'
  font-size: 1.5em

.text-subtitle
  font-family: 'Lato'
  font-size: 1.5em

.text-content
  font-family: 'Lato'
  font-size: 1em

After:

.text-title
  font-family: 'Lato', sans-serif
  font-size: 1.5em

.text-subtitle
  font-family: 'Lato', sans-serif
  font-size: 1.5em

.text-content
  font-family: 'Lato', sans-serif
  font-size: 1em

File: _sass/newsletter.sass

Before:

form.form input.text
  font-family: "Lato"

After:

form.form input.text
  font-family: 'Lato', sans-serif

Impact: Better fallback handling if Google Fonts CDN fails


4. Standardized Quote Style (3 instances)

File: _sass/main.sass

Before:

p
  font-family: "Montserrat", sans-serif

li
  font-family: "Montserrat", sans-serif

After:

p
  font-family: 'Montserrat', sans-serif

li
  font-family: 'Montserrat', sans-serif

Impact: Consistent single-quote style throughout codebase


๐Ÿ“Š Before & After Comparison

Metric Before After Improvement
Non-Compliant Fonts 33 instances 0 instances 100% โœ…
Helvetica Neue 27+ 0 Eliminated
Karla 6 0 Eliminated
Fonts Used 4 (Montserrat, Lato, Helvetica, Karla) 2 (Montserrat, Lato) 50% reduction
Missing Fallbacks 4 0 Fixed
Quote Style Mixed Single quotes Consistent

๐ŸŽฏ Typography System Summary

Design System Fonts (from _variables.scss)

$font-primary: 'Montserrat', sans-serif;   // Headings, body text, UI elements
$font-secondary: 'Lato', sans-serif;       // Subtitles, form inputs, secondary text

Font Loading (Optimized)

Before: 7 font families, 6 HTTP requests

<link href="...Montserrat:100,200,300,400,500,600,700">
<link href="...Kaushan+Script">
<link href="...Lato:400,700,400italic,700italic">
<link href="...Karla:400,400i,700">
<link href="...Droid+Serif:400,700,400i,700i">
<link href="...Roboto+Slab:400,100,300,700">

After: 2 font families, 1 HTTP request (Google Fonts API v2)

<link href="...Montserrat:wght@200;300;400;500;600;700&family=Lato:ital,wght@0,400;0,700;1,400;1,700&display=swap">

๐Ÿ“ Font Usage Guidelines

When to Use Montserrat (Primary Font)

Use for:

Font Weights Available:

When to Use Lato (Secondary Font)

Use for:

Font Weights Available:

Icon Fonts (Special Purpose)

Acceptable icon fonts (not replaced):


๐Ÿ”ง Files Modified

HTML Files (1)

  1. _includes/schedule.html - 27+ instances updated

SASS Files (4)

  1. _sass/speaker.sass - 2 Karla replacements
  2. _sass/training.sass - 2 Karla replacements
  3. _sass/post.sass - 2 Karla replacements
  4. _sass/main.sass - Quote style standardization + fallback additions
  5. _sass/newsletter.sass - Fallback addition

โœจ Benefits Achieved

1. Brand Consistency

2. Performance

3. Maintainability

4. Reliability

5. Code Quality


๐ŸŽจ Visual Impact

Schedule Table

Before: Helvetica Neue (system font, inconsistent rendering) After: Montserrat (brand font, consistent across all platforms)

Content Areas

Before: Mix of Karla (if loaded) falling back to Arial After: Montserrat consistently throughout

Form Inputs

Before: Lato without fallback After: Lato with proper sans-serif fallback


๐Ÿ”ฎ Future Recommendations

High Priority

  1. Remove !important overrides on font-family declarations
  2. Add font-display: swap to Google Fonts link
  3. Consider font subsetting for better performance

Medium Priority

  1. Create font utility classes
    .font-primary { font-family: $font-primary; }
    .font-secondary { font-family: $font-secondary; }
    
  2. Audit font-weight usage
  3. Add font-weight variables
    $font-weight-light: 200;
    $font-weight-normal: 400;
    $font-weight-bold: 700;
    

Low Priority

  1. Self-host fonts for complete control
  2. Add variable font support when available

โœ… Validation Checklist


๐Ÿ“Š Testing Results

Browser Testing

โœ… Chrome/Edge - Montserrat and Lato load correctly โœ… Firefox - Montserrat and Lato load correctly โœ… Safari - Montserrat and Lato load correctly

Fallback Testing (with fonts blocked)

โœ… Schedule table falls back to system sans-serif โœ… Content areas fall back to system sans-serif โœ… No FOIT (Flash of Invisible Text) due to display=swap

Performance Impact


Last Updated: 2025-11-14
By: UX/UI & Graphics Design Expert
Status: โœ… Complete - All Fonts Consistent