/* DhiX flavor type system — Space Grotesk (display) / DM Sans (body) /
   JetBrains Mono (numbers). Self-hosted variable woff2 (the exact binaries
   next/font/google resolves for these families/weights), served from /public
   and linked from app/layout.tsx on EVERY build.
   (Until the 2026-08-20 design audit this <link> was gated on
   NEXT_PUBLIC_SITE_FLAVOR=dhix, which left Lyceuma and every white-label
   tenant rendering in the OS system font — a parity break, since the rule is
   "same product every tenant, only the colour differs". The file carries no
   colour: only @font-face declarations and the three --font-*-dhix vars.)
   The *-Fallback faces carry next/font's size-adjusted metrics so the swap
   from the system fallback is layout-stable (no CLS). */

@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(/dhix/fonts/space-grotesk-latin.woff2) format("woff2");
  unicode-range: u+00??, 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: "Space Grotesk";
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(/dhix/fonts/space-grotesk-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: "Space Grotesk Fallback";
  src: local("Arial");
  ascent-override: 89.71%;
  descent-override: 26.62%;
  line-gap-override: 0%;
  size-adjust: 109.69%;
}

@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/dhix/fonts/dm-sans-latin.woff2) format("woff2");
  unicode-range: u+00??, 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: "DM Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/dhix/fonts/dm-sans-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: "DM Sans Fallback";
  src: local("Arial");
  ascent-override: 94.9%;
  descent-override: 29.66%;
  line-gap-override: 0%;
  size-adjust: 104.53%;
}

@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(/dhix/fonts/jetbrains-mono-latin.woff2) format("woff2");
  unicode-range: u+00??, 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: "JetBrains Mono";
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(/dhix/fonts/jetbrains-mono-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: "JetBrains Mono Fallback";
  src: local("Arial");
  ascent-override: 75.79%;
  descent-override: 22.29%;
  line-gap-override: 0%;
  size-adjust: 134.59%;
}

/* ── DISPLAY FACE: Anek Latin (Ek Type, an Indian type foundry) ─────────────
   Replaces Space Grotesk as the display face (design audit 2026-08-20).
   Space Grotesk / DM Sans / JetBrains Mono is close to the modal 2024-26
   AI-tool stack: competent, and indistinguishable from every other AI product
   an investor sees that week. Nothing in it says India, exams, or intelligence.

   Anek Latin is variable on BOTH weight and width, so the headline voice is
   tuned by axis rather than by picking a different family, and its sibling
   Anek Devanagari is metrically matched — the moment the Hinglish voice tutor
   grows a Hindi interface, the Hindi headings are the same typeface, which no
   competitor's stack can say.

   Space Grotesk's faces are left defined below and its woff2 files left in
   place: this swap is one variable, so the rollback is one variable too. */
@font-face {
  font-family: "Anek Latin";
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100% 125%;
  font-display: swap;
  src: url(/dhix/fonts/anek-latin-latin.woff2) format("woff2");
  unicode-range: u+00??, 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: "Anek Latin";
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100% 125%;
  font-display: swap;
  src: url(/dhix/fonts/anek-latin-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;
}
/* Size-adjusted fallback so the swap is layout-stable (no CLS), same technique
   next/font uses for the three faces above. Anek Latin runs narrower and taller
   than Arial, hence a size-adjust below 100%. */
@font-face {
  font-family: "Anek Latin Fallback";
  src: local("Arial");
  ascent-override: 95.5%;
  descent-override: 25.5%;
  line-gap-override: 0%;
  size-adjust: 97.5%;
}

/* The variables the theme layer (globals.css [data-flavor="dhix"] rules)
   consumes — defined here so they exist exactly when the fonts do. */
:root {
  --font-display-dhix: "Anek Latin", "Anek Latin Fallback";
  --font-body-dhix: "DM Sans", "DM Sans Fallback";
  --font-mono-dhix: "JetBrains Mono", "JetBrains Mono Fallback";
}
