/* =========================================================================
   3dkad – Self-hosted Webfonts (offline, no CDN / no IP transfer)
   Switzer · General Sans (Fontshare/ITF) · IBM Plex Mono
   url() paths are relative to this file (assets/fonts.css → assets/fonts/…)
   ========================================================================= */

/* ---------- Switzer (Body + Display) ---------- */
@font-face{ font-family:"Switzer"; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/switzer-400.woff2") format("woff2"); }
@font-face{ font-family:"Switzer"; font-style:normal; font-weight:500; font-display:swap; src:url("fonts/switzer-500.woff2") format("woff2"); }
@font-face{ font-family:"Switzer"; font-style:normal; font-weight:600; font-display:swap; src:url("fonts/switzer-600.woff2") format("woff2"); }
@font-face{ font-family:"Switzer"; font-style:normal; font-weight:700; font-display:swap; src:url("fonts/switzer-700.woff2") format("woff2"); }

/* ---------- General Sans (Fallback) ---------- */
@font-face{ font-family:"General Sans"; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/generalsans-400.woff2") format("woff2"); }
@font-face{ font-family:"General Sans"; font-style:normal; font-weight:500; font-display:swap; src:url("fonts/generalsans-500.woff2") format("woff2"); }
@font-face{ font-family:"General Sans"; font-style:normal; font-weight:600; font-display:swap; src:url("fonts/generalsans-600.woff2") format("woff2"); }

/* ---------- IBM Plex Mono (Labels) · latin + latin-ext ---------- */
@font-face{ font-family:"IBM Plex Mono"; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/ibmplexmono-400.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:"IBM Plex Mono"; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/ibmplexmono-400-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:"IBM Plex Mono"; font-style:normal; font-weight:500; font-display:swap; src:url("fonts/ibmplexmono-500.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:"IBM Plex Mono"; font-style:normal; font-weight:500; font-display:swap; src:url("fonts/ibmplexmono-500-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; }
