/* ===========================================================================
   type.v3.css — PQB's typeface. ONE face.

   Supersedes type.v2.css (Host Grotesk + Commit Mono) and type.v1.css (Archivo +
   Spline Sans Mono). Both stay on disk: /assets/* is immutable-cached for a year and
   pages served before this deploy still resolve them.

   WHY (the measured reference). Oscar picked hyperline.co, then the Hyperline app, then two
   Attio Reports screenshots: "That is next level. This is it." Measured on those
   pages, the body and interface face is INTER and the only other family in use is the
   system ui-monospace stack. So PQB ships Inter and nothing else, and mono is the
   system stack — which is both authentic to the reference and free.

   INTER 4.001 — Rasmus Andersson, SIL Open Font License 1.1.
     source  https://github.com/google/fonts/raw/main/ofl/inter/Inter[opsz,wght].ttf
             876,576 B, axes opsz 14-32 and wght 100-900
     licence ofl/inter/OFL.txt, "Copyright 2020 The Inter Project Authors"

   TWO AXES, DELIBERATELY. wght is instanced to 400:500 because the law allows no
   other weight — measured on Hyperline, only 400 and 500 appear anywhere on the page.
   opsz is KEPT, and it is the whole reason this file exists rather than a static cut:
   browsers apply font-optical-sizing:auto by default, so an 11 px mono-caps label and
   a 48 px figure are drawn from different masters with no CSS at all. That refinement
   at both ends of the ramp is a large part of why the reference reads the way it does.

   BYTE COST
       inter-v1.woff2     40,312 B   variable, opsz 14-32 + wght 400-500
       ------------------------------------------------------------------
       was 34,756 B (Host Grotesk 22,548 + Commit Mono 12,208) — so this is
       5,556 B HEAVIER than the pair it replaces, not lighter. Said plainly
       because the opsz axis is 14,384 B of that: pinning opsz=14 yields a
       25,928 B file, 25% lighter than the old pair. That is one command away
       if the weight ever matters more than the optical sizing:
           fonttools varLib.instancer inter.ttf wght=400:500 opsz=14 -o …
       Gate budget is 69,632 B; this sits at 58% of it.

   HOW IT WAS BUILT (fontTools 4.65.0; re-run to regenerate, then bump the version):
       fonttools varLib.instancer "Inter[opsz,wght].ttf" wght=400:500 -o inter-w.ttf
       pyftsubset inter-w.ttf --flavor=woff2 --no-hinting --desubroutinize \
         --layout-features=kern,liga,ccmp,locl,mark,mkmk,rvrn,tnum,lnum,case \
         --unicodes=U+0020-007E,U+00A0-00FF,U+0100-017F,U+2013-2014,U+2018-2019,\
                    U+201C-201D,U+2022,U+2026,U+2030,U+2039-203A,U+2044,U+20AC,U+2122,\
                    U+2190,U+2192,U+2212,U+2215,U+2229,U+2248,U+2260,U+2264-2265,U+FEFF,U+FFFD
   Latin-1 + Latin Extended-A are in because customer and product names are user data
   and tofu in a quote is a bug. 339 codepoints; the probe set (currency, dashes,
   quotes, minus, arrows, >=, Latin-Ext) verified complete after subsetting.

   INSTRUMENT SERIF ITALIC stays — it is the gate display face, not interface type.

   The SCALE is not here. --fs-* / --lh-* / --tr-* / --fw-* are declared inline in each
   page's :root, because this file is fetched non-render-blocking on /app/ and a scale
   that arrives late is a page that reflows. Faces swap; sizes must not.
   =========================================================================== */

@font-face{
  font-family:'Inter';
  src:url(/assets/inter-v1.woff2) format('woff2-variations'),
      url(/assets/inter-v1.woff2) format('woff2');
  font-weight:400 500;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Instrument Serif';
  src:url(/assets/instrument-serif-italic-v1.woff2) format('woff2');
  font-weight:400;
  font-style:italic;
  font-display:swap;
}
