/* ───────── Work Sans, served from this origin ─────────

   These used to come from fonts.googleapis.com. That stylesheet was
   render-blocking and cross-origin, so a cold load paid a DNS lookup, a TLS
   handshake and a round trip to Google before the browser even learned which
   font files it needed — and then a second hop to fonts.gstatic.com to fetch
   them. Declaring the faces here collapses that to one same-origin request for
   a file the browser can start downloading immediately (see the rel=preload
   tags in the page <head>).

   Both families ship as variable fonts: Google returns one identical file for
   weight 400, 500 and 600, with the weight applied from the axis. So there are
   four files, not ten — one per family per subset — and `font-weight: 100 900`
   lets the browser pick any instance out of the one it already has.

   The unicode-range values are copied verbatim from Google's own CSS, so the
   browser still downloads latin-ext only if a character actually needs it. The
   page copy is English, and the glyph atlas in masthead-v4.js only asks for
   ASCII plus § ¶ † ‡ — – • · — all of which sit in the latin range. In
   practice that means one file per family gets fetched.

   ONE FAMILY, both roles: --font-display (every headline, and the animated
   masthead) and --font-body (paragraphs, leads, form labels, navigation) are
   both Work Sans. That is the brand: www.sdocs.com sets h1/h2/h3 in Work Sans.

   Its own body copy is Open Sans, which this site does not yet follow -- if the
   body is ever moved to match, it is a --font-body change plus two more
   @font-face blocks, and nothing else.

   WHAT THE MONO FACE LEFT BEHIND. Geist Mono was --font-display until
   2026-09-13 and two things were tuned around it being monospace:

     - word-spacing: -0.3em on the big headlines, compensating for a mono space
       glyph carrying the same 0.6em advance as every other character. Removed:
       Work Sans's space is already ~0.26em, so the same correction is wider than
       the space and the words collide ("Draft and Sign" set as "DraftandSign").
     - two nowrap headings sized from the 0.6em advance (microsite.css,
       #ai-request-title and .ai-intro-copy .h2). Their values survive because a
       proportional face is narrower, so they under-fill rather than overflow --
       but the arithmetic in those comments no longer derives the number.

   The masthead needed no such change: its grid pitch comes from settings.colGap
   rather than the font's advance, and glyphs bake centred in fixed atlas cells.

   Geist and Geist Mono files are left in fonts/ so this is revertible; delete
   them once Work Sans has stuck.

   Licence: Work Sans, Geist and Geist Mono are all SIL Open Font License
   1.1, which permits self-hosting. Keep this notice with the files. */

@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/work-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/work-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/geist-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/geist-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/geist-mono-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/geist-mono-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
