/* ============================================================================
   HEARTH — fonts.css · the single self-hosted @font-face source (D1/D7)
   ----------------------------------------------------------------------------
   No external origin. Every AETHER surface gets its type from here — either via
   colors_and_type.css (which @imports this) or by linking ../../fonts.css directly
   (brand kits that don't want the full Hearth token layer). url() is relative to
   THIS file (repo root), so /fonts resolves the same from any kit depth.

   Canon: Newsreader (display) · Hanken Grotesk (UI/body) · JetBrains Mono (code) ·
   Sora (wordmark) · Syne (sub-brand/eyebrows). Fraunces, Plus Jakarta Sans + Manrope are
   self-hosted sub-brand/drop faces so those surfaces also ship CDN-free. All permissive OFL, latin-subset variable woff2.
   ============================================================================ */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url('fonts/fraunces-latin-var.woff2') format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:swap;src:url('fonts/jetbrains-mono-latin-var.woff2') format('woff2');}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url('fonts/plus-jakarta-sans-latin-var.woff2') format('woff2');}
@font-face{font-family:'Syne';font-style:normal;font-weight:400 800;font-display:swap;src:url('fonts/syne-latin-var.woff2') format('woff2');}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url('fonts/manrope-latin-var.woff2') format('woff2');}
@font-face{font-family:'Sora';font-style:normal;font-weight:300 800;font-display:swap;src:url('fonts/sora-latin-var.woff2') format('woff2');}
/* --- P2A · the public site's specified faces (vendored 2026-08-30bq, §13 row 88 leg ①) ------
   Both SIL OFL 1.1, verified at google/fonts `ofl/<family>/OFL.txt` before download:
     Newsreader     — Copyright 2020 The Newsreader Project Authors (productiontype/Newsreader)
     Hanken Grotesk — Copyright 2021 The Hanken Grotesk Project Authors (marcologous/hanken-grotesk)
   Latin subset, variable, same convention as the canon faces above.

   ⚠ NEWSREADER CARRIES ITS OPTICAL-SIZE AXIS ON PURPOSE, and it is why this file is the largest
   here (128.7 KB against Fraunces' 65.7). A wght-only build was measured at 56.7 KB — 55% smaller —
   and REJECTED: `font-optical-sizing: auto` is the CSS *initial* value, so a browser drives `opsz`
   by itself with no declaration anywhere, and a grep for `font-variation-settings` cannot see that.
   Newsreader's opsz exists for display sizes, which is exactly how the public site uses it (the
   hero runs at ~56px). Dropping the axis would have been a silent visual downgrade of the direction
   we were asked to apply. ⭐ If the 72 KB ever needs trading, the wght-only URL is
   `.../s/newsreader/v26/cY9VfjOCX1hbuyalUrK49dLac06G1ZGsZBtoBAbNJYQ5ayZC.woff2` — trade it with
   LCP evidence, not on the file size alone. */
@font-face{font-family:'Newsreader';font-style:normal;font-weight:200 800;font-display:swap;src:url('fonts/newsreader-latin-var.woff2') format('woff2');}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:100 900;font-display:swap;src:url('fonts/hanken-grotesk-latin-var.woff2') format('woff2');}
/* --- P2B · the ENTERPRISE direction's pair (vendored 2026-09-05c, §13 row 120, closing it) -------
   Both SIL OFL 1.1, verified at google/fonts `ofl/<family>/OFL.txt` before download:
     Instrument Serif  — Copyright 2022 The Instrument Serif Project Authors (Instrument/instrument-serif)
     Schibsted Grotesk — Copyright 2023 The Schibsted-Grotesk Project Authors (schibsted/schibsted-grotesk)

   ⚠ THESE TWO ARE NOT THE SAME KIND OF FILE, AND THE NAMES SAY SO. Schibsted Grotesk is VARIABLE
   (`wght` 400..900, 45.8 KB) and takes the `-latin-var` suffix. **Instrument Serif has NO WEIGHT AXIS
   AT ALL** — a `:wght@400..700` request to Google Fonts returns an HTML error page rather than CSS, and
   fontTools finds no `fvar` — so it is a STATIC single-weight face at 400 (14.7 KB) and takes the
   `-latin-regular` suffix, the same convention as Architects Daughter.

   ⛔ SO P2B's `--font-display-weight: 400` IS NOT A STYLISTIC CHOICE — it is the only weight this face
   HAS. Any rule that asks Instrument Serif for 500/600/700 gets a SYNTHETIC bold from the rasteriser,
   which on a high-contrast display serif is exactly the smeared result the weight axis exists to avoid.
   A surface adopting P2B must read `--font-display-weight`, never hard-code a display weight
   ([[applying-a-type-token-needs-a-reader]] — the defect 09-05b found in the consumer kit). */
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/instrument-serif-latin-regular.woff2') format('woff2');}
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:400 900;font-display:swap;src:url('fonts/schibsted-grotesk-latin-var.woff2') format('woff2');}

/* --- P1I / P2C · the consumer + dark direction's display face (vendored 2026-09-05b, §13 row 120) ---
   EB Garamond — SIL OFL 1.1, Copyright 2017 The EB Garamond Project Authors
   (octaviopardo/EBGaramond12), verified at google/fonts `ofl/ebgaramond/OFL.txt` before download.
   Latin subset, VARIABLE (`wght` 400..800, verified with fontTools — not a static 400 renamed), same
   convention as every face above. 43.1 KB.

   ⭐ THE AXIS IS LOAD-BEARING, NOT A NICETY. P1I sets `--font-display-weight: 500` and P2C sets `400`
   from the SAME family, so a static 400 build would have rendered the consumer display weight as a
   synthesised bold on some engines and as plain 400 on others — a silent visual downgrade of the very
   direction we were asked to apply, and the exact trade the Newsreader note above records refusing.

   ⛔ THIS FACE IS WHY THE PAIRINGS WERE PALETTE-ONLY. P1I and P2C name EB Garamond + Hanken Grotesk +
   JetBrains Mono; the latter two were already here, so this ONE file is what unblocked the type half
   of both scopes. ⚠ P2B (enterprise) is NOT unblocked — it names Instrument Serif + Schibsted Grotesk,
   neither vendored, and stays palette-only with Hearth type standing. Do not read "type applied" as
   covering the enterprise apps. */
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400 800;font-display:swap;src:url('fonts/eb-garamond-latin-var.woff2') format('woff2');}
@font-face{font-family:'Architects Daughter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/architects-daughter-v20-latin-regular.woff2') format('woff2');}
