/* ============================================================================
   SELF-HOSTED FONTS — sethparker.net "For the Record"      generated 2026-08-11
   ============================================================================
   Four of the five families are served from this directory. The fifth, SWITZER,
   is NOT — and cannot be. See the note at the bottom of this file before you
   "finish the job" by self-hosting it too.

   Families here are all SIL Open Font License (OFL) via Google Fonts, which
   permits self-hosting. The .woff2 files are Google's own subset slices, taken
   verbatim from the fonts.googleapis.com CSS with a modern-browser UA, so the
   unicode-range blocks below are Google's and the browser still downloads only
   the slice a page actually needs. The `vietnamese` slices were skipped (the
   site is English); `latin-ext` was kept as insurance for accented client and
   firm names arriving through ACF later.

   WHY SELF-HOST: it removes a third-party origin from the critical path (no DNS
   + TLS + redirect to fonts.googleapis.com before a single glyph renders), and
   it stops leaking every visitor's IP and referrer to Google, which is the part
   that matters for a business site with EU visitors.

   PORT: this file and ./fonts/ move to parker-studios/assets/. Enqueue it
   BEFORE theme.css and bump PS_VERSION. Serve with a long cache header —
   the filenames are content-stable.
   ========================================================================= */

/* Anton 400 — latin (12,004 B) */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/anton-400-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;
}

/* Anton 400 — latin-ext (21,296 B) */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/anton-400-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;
}

/* Libre Caslon Text 400 italic — latin (19,576 B) */
@font-face {
  font-family: 'Libre Caslon Text';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/libre-caslon-text-400i-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;
}

/* Libre Caslon Text 400 italic — latin-ext (10,688 B) */
@font-face {
  font-family: 'Libre Caslon Text';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/libre-caslon-text-400i-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;
}

/* Libre Caslon Text 400 — latin (16,984 B) */
@font-face {
  font-family: 'Libre Caslon Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/libre-caslon-text-400-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;
}

/* Libre Caslon Text 400 — latin-ext (9,592 B) */
@font-face {
  font-family: 'Libre Caslon Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/libre-caslon-text-400-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;
}

/* Libre Caslon Text 700 — latin (17,292 B) */
@font-face {
  font-family: 'Libre Caslon Text';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/libre-caslon-text-700-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;
}

/* Libre Caslon Text 700 — latin-ext (9,684 B) */
@font-face {
  font-family: 'Libre Caslon Text';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/libre-caslon-text-700-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;
}

/* Alfa Slab One 400 — latin (11,580 B) */
@font-face {
  font-family: 'Alfa Slab One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/alfa-slab-one-400-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;
}

/* Alfa Slab One 400 — latin-ext (12,080 B) */
@font-face {
  font-family: 'Alfa Slab One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/alfa-slab-one-400-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;
}

/* Rye 400 — latin (22,880 B) */
@font-face {
  font-family: 'Rye';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/rye-400-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;
}

/* Rye 400 — latin-ext (4,464 B) */
@font-face {
  font-family: 'Rye';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/rye-400-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;
}

/* ---------------------------------------------------------------------------
   SWITZER IS DELIBERATELY ABSENT — DO NOT ADD IT HERE
   ---------------------------------------------------------------------------
   Switzer (--body, the entire body-copy voice) is served from Fontshare's CDN
   by a <link> in each page's <head>. It is NOT self-hosted because its licence
   forbids it. Switzer is "Closed Source / ITF Free Font License" (checked on its
   Fontshare page 2026-08-11 — it is not one of Fontshare's OFL titles), and the
   ITF FFL §02 "Limitations of Usage" says, verbatim:

     "The Fonts may not ... be distributed, duplicated, loaned, resold or
      licensed in any way ... This includes ... uploading them in a public
      server"

     "You are not allowed to transmit the Font Software over the Internet in
      font serving or for font replacement by means of technologies such as but
      not limited to EOT, Cufon, sIFR or similar technologies that may be
      developed in the future without the prior written consent of the Licensor."

   Putting a .woff2 on sethparker.net and @font-face-ing it is both of those.
   The licence's own "Notice to User" names the API as the sanctioned web path:
   the font is "delivered directly from the servers used by Indian Type Foundry
   to the Licensee's website, without the Licensee having to download the Font
   Software." §01 does grant Web use — so the CDN <link> is licensed and fine.
   It is self-hosting specifically that is not.

   Consequence: one third-party origin remains (cdn.fontshare.com), so the pages
   preconnect to it. If Seth wants zero third-party origins, the options are
   (a) written consent from ITF, or (b) swap Switzer for an OFL neo-grotesk.
   Neither is a code change to make unilaterally — (b) changes every page's
   body voice.
   --------------------------------------------------------------------------- */
