/* Self-hosted brand fonts (CSP-safe: served from /fonts, no external fetch).
 * JetBrains Mono  — display headlines + all numbers (the terminal "tape" voice).
 * IBM Plex Sans   — body/UI text.
 * Latin subset woff2, font-display: swap so text paints immediately.
 * These replace the render-blocking Google Fonts @import for the surfaces that
 * link this file (landing + brand pages + global layout). */

@font-face {
    font-family: 'JetBrains Mono';
    font-style: normal; font-weight: 500; font-display: swap;
    src: url('/fonts/jetbrains-mono-500.woff2') format('woff2');
}
@font-face {
    font-family: 'JetBrains Mono';
    font-style: normal; font-weight: 700; font-display: swap;
    src: url('/fonts/jetbrains-mono-700.woff2') format('woff2');
}
@font-face {
    font-family: 'JetBrains Mono';
    font-style: normal; font-weight: 800; font-display: swap;
    src: url('/fonts/jetbrains-mono-800.woff2') format('woff2');
}

/* Character-forward brand voice (2026-07-14 identity):
 * Bricolage Grotesque — display headlines with personality (variable 200-800).
 * Hanken Grotesk      — warm, friendly body/UI text.
 * JetBrains Mono stays for data/numbers (the tape). */
@font-face {
    font-family: 'Bricolage Grotesque';
    font-style: normal; font-weight: 200 800; font-display: swap;
    src: url('/fonts/bricolage-grotesque-var.woff2') format('woff2');
}
@font-face {
    font-family: 'Hanken Grotesk';
    font-style: normal; font-weight: 400; font-display: swap;
    src: url('/fonts/hanken-grotesk-400.woff2') format('woff2');
}
@font-face {
    font-family: 'Hanken Grotesk';
    font-style: normal; font-weight: 500; font-display: swap;
    src: url('/fonts/hanken-grotesk-500.woff2') format('woff2');
}
@font-face {
    font-family: 'Hanken Grotesk';
    font-style: normal; font-weight: 700; font-display: swap;
    src: url('/fonts/hanken-grotesk-700.woff2') format('woff2');
}

@font-face {
    font-family: 'IBM Plex Sans';
    font-style: normal; font-weight: 400; font-display: swap;
    src: url('/fonts/ibm-plex-sans-400.woff2') format('woff2');
}
@font-face {
    font-family: 'IBM Plex Sans';
    font-style: normal; font-weight: 500; font-display: swap;
    src: url('/fonts/ibm-plex-sans-500.woff2') format('woff2');
}
@font-face {
    font-family: 'IBM Plex Sans';
    font-style: normal; font-weight: 600; font-display: swap;
    src: url('/fonts/ibm-plex-sans-600.woff2') format('woff2');
}
@font-face {
    font-family: 'IBM Plex Sans';
    font-style: normal; font-weight: 700; font-display: swap;
    src: url('/fonts/ibm-plex-sans-700.woff2') format('woff2');
}
