Typography

General Sans carries the interface. Manrope appears only in small editorial metadata. The hierarchy comes from scale, weight, and spacing rather than from decorative type.

General Sans, the primary typeface

General Sans is loaded as one variable-normal Fontshare webfont, the exact file used on shibin.co. Use it for headings, body copy, navigation, labels, and controls. One 200–700 face keeps every weight consistent across both sites.

Display 52 px · 550 · -0.025em

The quick brown fox

H1 page title 40 px · 550 · -0.02em

The quick brown fox

H2 section 24 px · 540 · -0.015em

The quick brown fox jumps over the lazy dog

H3 subhead 17 px · 540 · -0.01em

The quick brown fox jumps over the lazy dog

Body large 18 px · 400 · 1.65

The quick brown fox jumps over the lazy dog. Some shorter words follow to give the line a sense of rhythm.

Supporting copy 16 px · 500 · 1.55

Your brand’s AI, that sells for you. Use this role for introductions, project descriptions, and other short supporting statements.

Long-form body 16 px · 400 · 1.75

The quick brown fox jumps over the lazy dog. Articles and longer explanatory passages use this relaxed regular-weight role in --text-secondary on white.

Small 13.5 px · 400 · 1.55

Captions, metadata, helper text. Used sparingly, usually in text-muted or text-faint.

Label 12 px · 500 · sentence case

Section label

Manrope, editorial metadata

Manrope is reserved for quiet article context such as dates, breadcrumbs, reading time, and case-study metadata. It should never replace General Sans in headings, body copy, navigation, or controls.

Editorial metadata 13 px · 400 · 1.5

Case studies · May 2026 · 2 min read

Rules

  • Sentence case for all headings, labels, buttons, and nav.
  • Tight tracking on large type (−0.015em to −0.025em). Body text stays at default.
  • Use 16 / 500 / 1.55 for short supporting copy. Keep articles and longer explanatory prose at 16 / 400 / 1.75.
  • Color discipline: headings in --foreground, body in --text-secondary, labels in --text-faint.
  • Keep roles separate. General Sans is the interface voice; Manrope is metadata only.
  • Load one variable-normal General Sans face from Fontshare. Do not mix it with static weight files or bundle and redistribute the font.