Albert Sans + Lora

Grumpy wizards make toxic brew

A standfirst set in Lora, one size up — where a pairing starts earning trust.

The five boxing wizards jump quickly over the lazy dog, mixing jugs of quiet vodka while the jury watches. Click anywhere in this preview and type your own text to try the pairing.

“Type is a beautiful group of letters, not a group of beautiful letters.”

— Matthew Carter

Fig. 1 — Albert Sans over Lora, in the wild.

Albert Sans 700 / Lora 400 — click any section and type your own copy.

Why it works

Albert Sans brings a clean, slightly retro geometric headline, and Lora answers with a brushed, moderate-contrast serif that reads warm and literary in body text. The geometric-sans-over-humanist-serif contrast is a dependable one: the heading feels crisp and current, the paragraph feels considered and readable, and neither fights the other for the reader's attention.

More about each face: Albert Sans · Lora

Use this pairing

HTML — Google Fonts embed
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Albert+Sans:wght@700&family=Lora:wght@400;600&display=swap" rel="stylesheet">
CSS
h1, h2, h3 {
  font-family: 'Albert Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 700;
}

body {
  font-family: 'Lora', Georgia, 'Times New Roman', serif;
  font-weight: 400;
}
Next.js — next/font
import { Albert_Sans, Lora } from "next/font/google";

const heading = Albert_Sans({
  subsets: ["latin"],
  weight: "700",
  variable: "--font-heading",
});

const body = Lora({
  subsets: ["latin"],
  weight: "400",
  variable: "--font-body",
});

Related pairings