/* SELF-HOSTED TYPEFACES for every page on this site.

   WHY, in order of how much it matters:

   1. The contracts. A signed contract has to render the same in three years, from a saved PDF,
      on a laptop with no network. Every page under contracts/ used to fetch its typeface from a
      third party at open time, which fails all three, and handed that party a timestamped record
      of every document this company put in front of a customer.
   2. Everyone else's privacy. 554 marketing pages made the same two requests to Google on every
      visit, for every visitor, before consent was asked about anything.
   3. Speed, and it is not the bytes. It was two DNS+TLS handshakes to two hosts, then a
      render-blocking stylesheet, and only THEN the font files — a chain of round trips before a
      headline could be set in the right face. Now it is one file on a connection that is already
      open, preloaded.

   These are the same woff2 files the browser was already downloading from fonts.gstatic.com.

   font-display:optional is deliberate and matches what the site already asked for: if the face
   is not ready almost immediately the fallback is used for that page load and NOTHING SHIFTS.
   Self-hosting plus a preload means it usually now makes that window, so the brand face shows
   more often than before rather than less — with the layout-stability guarantee unchanged.

   ONE FILE PER FAMILY PER SUBSET PER STYLE. Google serves a variable font and points every
   requested weight at identical bytes; asking for 400/500/600/700 downloads the same file four
   times. Each rule below declares the weight RANGE against a single file.

   Latin and latin-ext only. The other subsets Google offers are not going to appear on a
   Maryland roofing site, and unicode-range means latin-ext costs nothing until a name needs it.

   Regenerate: /tmp/udfonts/fetch3.py  (records the Google CSS it was built from in css-full.txt)
   Guarded by: tests/self-hosted-font-guard.mjs */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 900;font-display:optional;src:url('inter-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:'Inter';font-style:normal;font-weight:400 900;font-display:optional;src:url('inter-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:'Playfair Display';font-style:italic;font-weight:400 800;font-display:optional;src:url('playfair-display-italic-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:'Playfair Display';font-style:italic;font-weight:400 800;font-display:optional;src:url('playfair-display-italic-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:'Playfair Display';font-style:normal;font-weight:400 800;font-display:optional;src:url('playfair-display-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:'Playfair Display';font-style:normal;font-weight:400 800;font-display:optional;src:url('playfair-display-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:'Sora';font-style:normal;font-weight:600 800;font-display:optional;src:url('sora-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:'Sora';font-style:normal;font-weight:600 800;font-display:optional;src:url('sora-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;}
