/* ============================================================
   lulla.net self-hosted fonts (T123 build, 2026-07-01)
   Files live at /wp-content/themes/lulla-theme/fonts/
   This stylesheet lives at /wp-content/themes/lulla-theme/fonts.css
   Preload pair (orchestrator): fonts/NotoSerifDeva-400.woff2 + fonts/Inter-400.woff2
   ============================================================ */

/* ---- Noto Serif Devanagari (body prose) ----
   No unicode-range: the file carries Devanagari + Vedic + basic Latin
   so mixed Hindi/Latin prose resolves predictably from one face. */
@font-face {
  font-family: 'Noto Serif Devanagari';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('fonts/NotoSerifDeva-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Noto Serif Devanagari';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url('fonts/NotoSerifDeva-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Noto Serif Devanagari';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url('fonts/NotoSerifDeva-700.woff2') format('woff2');
}

/* ---- Noto Serif (Latin serif) ---- */
@font-face {
  font-family: 'Noto Serif';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('fonts/NotoSerif-400.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2013, U+2018-2019, U+201C-201D, U+2020-2026, U+2030, U+2039-203A, U+2044, U+2074, U+20AC, U+2212, U+FEFF;
}
@font-face {
  font-family: 'Noto Serif';
  font-style: italic;
  font-weight: 400;
  font-display: optional;
  src: url('fonts/NotoSerif-400italic.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2013, U+2018-2019, U+201C-201D, U+2020-2026, U+2030, U+2039-203A, U+2044, U+2074, U+20AC, U+2212, U+FEFF;
}
@font-face {
  font-family: 'Noto Serif';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url('fonts/NotoSerif-700.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2013, U+2018-2019, U+201C-201D, U+2020-2026, U+2030, U+2039-203A, U+2044, U+2074, U+20AC, U+2212, U+FEFF;
}

/* ---- Inter (UI) ---- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: local('Inter Regular'), local('Inter-Regular'), url('fonts/Inter-400.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2013, U+2018-2019, U+201C-201D, U+2020-2026, U+2030, U+2039-203A, U+2044, U+2074, U+20AC, U+2212, U+FEFF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: local('Inter Medium'), local('Inter-Medium'), url('fonts/Inter-500.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2013, U+2018-2019, U+201C-201D, U+2020-2026, U+2030, U+2039-203A, U+2044, U+2074, U+20AC, U+2212, U+FEFF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: local('Inter SemiBold'), local('Inter-SemiBold'), url('fonts/Inter-600.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2013, U+2018-2019, U+201C-201D, U+2020-2026, U+2030, U+2039-203A, U+2044, U+2074, U+20AC, U+2212, U+FEFF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: local('Inter Bold'), local('Inter-Bold'), url('fonts/Inter-700.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2013, U+2018-2019, U+201C-201D, U+2020-2026, U+2030, U+2039-203A, U+2044, U+2074, U+20AC, U+2212, U+FEFF;
}

/* ---- Noto Sans Devanagari (script sans) ----
   No unicode-range, same reasoning as the serif body face. */
@font-face {
  font-family: 'Noto Sans Devanagari';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('fonts/NotoSansDeva-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Noto Sans Devanagari';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url('fonts/NotoSansDeva-600.woff2') format('woff2');
}

/* ---- Noto Sans Gurmukhi (range-gated: only fetched when Gurmukhi appears) ---- */
@font-face {
  font-family: 'Noto Sans Gurmukhi';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('fonts/NotoSansGurmukhi-400.woff2') format('woff2');
  unicode-range: U+0A00-0A7F, U+200C-200D, U+25CC;
}
@font-face {
  font-family: 'Noto Sans Gurmukhi';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url('fonts/NotoSansGurmukhi-600.woff2') format('woff2');
  unicode-range: U+0A00-0A7F, U+200C-200D, U+25CC;
}

/* ---- Rozha One (display) ---- */
@font-face {
  font-family: 'Rozha One';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: local('Rozha One'), local('RozhaOne-Regular'), url('fonts/RozhaOne-400.woff2') format('woff2');
}

/* ---- Metric-tuned local fallback for Devanagari prose ----
   Goes after the webfont in the --lv-font-prose stack (orchestrator wires it).
   size-adjust computed against Devanagari MT: Noto Serif Devanagari avg advance
   0.4266 em vs Devanagari MT 0.4848 em for the sample glyphs, ratio 88%.
   ascent/descent overrides mirror Noto Serif Devanagari metrics
   (hhea 930 / -625, upm 1000). */
@font-face {
  font-family: 'Lulla Deva Fallback';
  src: local('Devanagari MT');
  size-adjust: 88%;
  ascent-override: 93%;
  descent-override: 62.5%;
  line-gap-override: 0%;
}
/* iOS ships Devanagari Sangam MN (92.9% ratio); Kohinoor tracks ~100%
   and needs no adjust, so it is left to the plain stack fallthrough. */
@font-face {
  font-family: 'Lulla Deva Fallback B';
  src: local('Devanagari Sangam MN');
  size-adjust: 93%;
  ascent-override: 93%;
  descent-override: 62.5%;
  line-gap-override: 0%;
}

/* ---- Metric-matched fallback for the display face ----
   Noto Serif Devanagari 700 re-sized to Rozha One's advance widths
   (measured 106.1%) and Rozha's vertical metrics (998/-422, upm 1000),
   so an early fallback frame occupies the same space as Rozha. */
@font-face {
  font-family: 'Rozha Fallback';
  src: url('fonts/NotoSerifDeva-700.woff2') format('woff2');
  font-display: optional;
  font-weight: 400;
  size-adjust: 106.1%;
  ascent-override: 99.8%;
  descent-override: 42.2%;
  line-gap-override: 0%;
}
