/* ═══════════════════════════════════════════════════════════════════════════
   THE TYPEFACE — and why this file had to exist
   ═══════════════════════════════════════════════════════════════════════════

   crewdocket.com was rendering in Segoe UI / San Francisco. Permanently. Not
   for a swap window — always.

   Both stylesheets name 'Geist' first in their stack, so the intent was there
   and the code read as correct. But @font-face IS PER-ORIGIN. The app loads
   Geist on app.crewdocket.com; that does nothing whatsoever for
   crewdocket.com, and nobody has Geist installed as a system font. There was
   no @font-face anywhere under site/ and no font files — so the first name in
   the stack silently never resolved and the browser fell to the next one.

   THE CONSEQUENCE, which is the whole reason this matters: the site and the
   app are one tap apart. Someone reads the page, taps "Start your workspace",
   and lands on a document set in a DIFFERENT TYPEFACE. That is the single
   loudest signal that two things are not the same product, and it was the
   real answer to why the site never looked like the app no matter how much
   the layout improved.

   carbon.css carried a written justification for skipping the font: that
   v2/index.html pulled it from Google Fonts render-blocking, "300-600ms of
   nothing on rural LTE". That was true when it was written and stopped being
   true on 2026-08-02, when the app moved to self-hosted variable WOFF2. The
   cost being avoided no longer exists. A stale reason is worse than no
   reason, because it survives review.

   ─── WHY A SEPARATE FILE ───────────────────────────────────────────────────
   These faces are byte-identical to v2/public/fonts/, copied rather than
   linked because the two origins cannot share a file. Keeping them in their
   own stylesheet means the next person to diff carbon.css against app.css is
   comparing TOKENS to TOKENS, and the font delivery — the one thing that is
   genuinely per-origin and cannot be shared — is not tangled up in it.

   ─── THE COPIES ARE A LIABILITY, SO SAY SO ─────────────────────────────────
   Two copies of a binary drift. If v2/public/fonts/ is ever revved, this
   directory must be revved in the same commit. The version is in the
   filename (geist-v5, geist-mono-v6) precisely so a mismatch is visible in a
   directory listing rather than only in a rendering.

   font-display: swap on every face. A marketing page read in a driveway on
   rural LTE shows system text immediately and upgrades, rather than showing
   nothing. The unicode-ranges are copied verbatim from v2/index.html so the
   latin-ext file is fetched only by a reader who needs a character in it.
   ═══════════════════════════════════════════════════════════════════════════ */

@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../assets/fonts/geist-v5-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(../assets/fonts/geist-v5-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;
}

/* Geist Mono is loaded because the page sets real data — a gate code, a time,
   a dollar figure — and CARBON's rule is that numbers are tabular. Without it
   the read-out in the hero artefact reflows as digits change width, which is
   the one place on this page a reader is looking at figures closely. */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../assets/fonts/geist-mono-v6-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(../assets/fonts/geist-mono-v6-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;
}
