/* Self-hosted Source Sans 3 + Noto Sans Arabic. Load after all application CSS.
   Original unmodified font files and SIL OFL licenses: assets/fonts/.
   Source Sans supplies Latin within Arabic copy; Noto supplies Arabic glyphs
   within untagged French-first text. No third-party request is needed. */
@font-face{
  font-family:'Source Sans 3';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url('assets/fonts/source-sans-3-latin-ext-wght.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:'Source Sans 3';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url('assets/fonts/source-sans-3-latin-wght.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:'Noto Sans Arabic';
  font-style:normal;
  font-weight:400 800;
  font-stretch:100%;
  font-display:swap;
  src:url('assets/fonts/noto-sans-arabic-arabic-wght.woff2') format('woff2');
  unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
}
:root{
  --nawa-font-ui:'Source Sans 3','Noto Sans Arabic',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --nawa-font-ar:'Noto Sans Arabic','Source Sans 3',Tahoma,Arial,sans-serif;
  --nawa-font-text:var(--nawa-font-ui);
  --display:var(--nawa-font-ui);
}
/* :lang follows the nearest language declaration, including nested bilingual
   spans. The selected family token is inherited without changing direction. */
:lang(ar){--nawa-font-text:var(--nawa-font-ar)}
:lang(fr){--nawa-font-text:var(--nawa-font-ui)}

/* Family-only normalization beats the legacy serif font shorthands while
   preserving each component's size, weight, style, tracking and spacing.
   Never reset icon ligatures, SVG labels, code or pedagogical glyph demos. */
body,
body :is(h1,h2,h3,h4,h5,h6,p,a,label,button,input,select,textarea,option,summary,li,dt,dd,th,td,caption,figcaption,blockquote,b,strong,em,small,span,div,section,article,header,footer,nav,aside):not(
  .material-symbols-rounded,.material-symbols-rounded *,
  .material-symbols-outlined,.material-symbols-outlined *,
  .material-symbols-sharp,.material-symbols-sharp *,
  .material-icons,.material-icons *,
  svg,svg *,pre,pre *,code,code *,kbd,kbd *,samp,samp *,
  .arabic-writing-board,.arabic-writing-board *,
  .arabic-trace-lines,.arabic-trace-lines *,
  .arabic-alphabet-grid,.arabic-alphabet-grid *,
  .arabic-number-grid,.arabic-number-grid *,
  .arabic-letter-families,.arabic-letter-families *,
  [data-preserve-font],[data-preserve-font] *
){font-family:var(--nawa-font-text)!important}

/* Arabic text keeps connected-script tracking. Match text and controls only,
   never an outer RTL layout wrapper that also contains French copy. */
body :is(h1,h2,h3,h4,h5,h6,p,a,label,button,input,select,textarea,option,summary,li,dt,dd,th,td,caption,figcaption,blockquote,b,strong,em,small,span):is(:lang(ar),[dir=rtl]):not(
  .material-symbols-rounded,.material-symbols-rounded *,
  .material-symbols-outlined,.material-symbols-outlined *,
  .material-symbols-sharp,.material-symbols-sharp *,
  .material-icons,.material-icons *,
  svg,svg *,pre,pre *,code,code *,kbd,kbd *,samp,samp *,
  .arabic-writing-board,.arabic-writing-board *,
  .arabic-trace-lines,.arabic-trace-lines *,
  .arabic-alphabet-grid,.arabic-alphabet-grid *,
  .arabic-number-grid,.arabic-number-grid *,
  .arabic-letter-families,.arabic-letter-families *,
  [data-preserve-font],[data-preserve-font] *
){letter-spacing:normal!important}

/* Only the two named home-title rules previously compressed below 1.0. */
.nawa-halo-heading h1,.living-home-hero h1{line-height:1.15}
