/* ---------------------------------------------------------------------------
   Rubik — SELF-HOSTED. One font for the whole site.

   Never link Google Fonts here: an external font request is a third-party
   dependency on a site whose whole point is to have none, and it silently
   falls back to a system font if the request is blocked or slow.

   Variable font (weight 300-900, normal + italic), two subsets — latin and
   latin-ext cover every weight and style used across the site (400-800,
   including the italic hero-hook / story-quote / faq-belief text).

   DEVANAGARI: Rubik has no Devanagari glyphs (Google only ships latin,
   latin-ext, cyrillic, cyrillic-ext, hebrew, arabic for this family — none of
   which cover Hindi). The Hindi headlines therefore fall back — the stack
   below names the fallback explicitly so it renders the same on every device
   instead of whatever each OS picks. Self-host Noto Sans Devanagari if you
   want it pixel-identical across Windows/Mac/Android.
   --------------------------------------------------------------------------- */

@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('../fonts/rubik-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: 'Rubik';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('../fonts/rubik-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: 'Rubik';
  font-style: italic;
  font-weight: 300 900;
  font-display: swap;
  src: url('../fonts/rubik-latin-italic.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: 'Rubik';
  font-style: italic;
  font-weight: 300 900;
  font-display: swap;
  src: url('../fonts/rubik-latin-ext-italic.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;
}

:root {
  --font: 'Rubik', 'Noto Sans Devanagari', 'Nirmala UI', 'Kohinoor Devanagari',
          system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* Belt-and-suspenders: every component's own font-family declaration
   (header, footer, homepage, landing template) has been repointed to Rubik
   at the source — see --ish-font, --isf-font, --is-font-main/accent in their
   respective files, and --fh/--fb in landing.css. This global override is a
   backstop against any future hardcoded family slipping back in, not a patch
   over a real gap. */
html, body,
.ish-wrap, .isf-wrap, .is-integrated,
.ish-wrap *, .isf-wrap *, .is-integrated * {
  font-family: var(--font) !important;
}
