/* General Sans — SELF-HOSTED. Do not replace this with an api.fontshare.com link.
 *
 * General Sans is the premium UI typeface for the sans-serif shell (format.md
 * §3). It is loaded in `app/layout.tsx` for EVERY portal, so until now every
 * page in the product — admin dashboard, all 22 client portals, ESS, the Thai
 * signup page a prospect sees first — began by asking a third-party CDN for a
 * stylesheet before it could paint its own text.
 *
 * That is the same class of dependency CLAUDE.md's toolchain table already
 * settled for Google ("self-hosted Sarabun, Noto Sans JP, Tinos — never fetching
 * fonts from Google at print time"). fontshare.com is a different vendor, not a
 * different risk: a slow, blocked or down CDN means the UI paints in the
 * fallback stack, and `display=swap` makes that a visible reflow rather than a
 * silent one. It is also a request to a stranger on every page load, carrying
 * the referrer of whichever client portal the user is in.
 *
 * ⚠️ Unlike Sora, this is NOT a variable font — Fontshare serves General Sans as
 * static instances, so each weight is its own file and its own `@font-face`.
 * Four weights are shipped (400/500/600/700), matching exactly what the old
 * `f[]=general-sans@400,500,600,700` request asked for. ~90 KB total.
 *
 * ⚠️ No `unicode-range` here, deliberately. The faces Fontshare serves are a
 * single un-subsetted Latin file each, so there is no subset to key on; adding a
 * made-up range would only risk excluding a glyph the face actually has. The
 * cost of that is small (this is the primary UI face, so it is wanted on every
 * page anyway) but it is the reason this file looks simpler than sarabun.css.
 *
 * Licence: ITF Free Font Licence — free for commercial use, and self-hosting is
 * explicitly permitted. Vendored from cdn.fontshare.com on 2026-08-11. To
 * refresh, re-fetch `https://api.fontshare.com/v2/css?f[]=general-sans@400,500,600,700`
 * and re-download the four woff2 URLs it names.
 */

@font-face {
  font-family: 'General Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/general-sans-400.woff2') format('woff2');
}

@font-face {
  font-family: 'General Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/general-sans-500.woff2') format('woff2');
}

@font-face {
  font-family: 'General Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/general-sans-600.woff2') format('woff2');
}

@font-face {
  font-family: 'General Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/general-sans-700.woff2') format('woff2');
}
