/* Kounta — base: fonts, tokens, reset, typography. Layout lives in layout.css, parts in parts.css. */
@font-face{font-family:"Amiri";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/Amiri-Regular-arabic.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+08A0-08FF,U+200C-200E,U+2010-2011,U+FB50-FDFF,U+FE70-FEFC}
@font-face{font-family:"Amiri";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/Amiri-Bold-arabic.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+08A0-08FF,U+200C-200E,U+2010-2011,U+FB50-FDFF,U+FE70-FEFC}
@font-face{font-family:"Amiri";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/Amiri-Regular-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF}
@font-face{font-family:"Amiri";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/Amiri-Bold-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF}
@font-face{font-family:"Readex Pro";font-style:normal;font-weight:300 700;font-display:swap;src:url("../fonts/ReadexPro-arabic.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+08A0-08FF,U+200C-200E,U+2010-2011,U+FB50-FDFF,U+FE70-FEFC}
@font-face{font-family:"Readex Pro";font-style:normal;font-weight:300 700;font-display:swap;src:url("../fonts/ReadexPro-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF}

/* Tokens. Light is the default; the two dark blocks below redefine only the tokens. */
:root{
  color-scheme:light;
  --bg:#FBF7EF;          /* warm white, the page */
  --bg-2:#F1E8D6;        /* sand, quiet panels */
  --bg-3:#E6D9BE;        /* deeper sand, rules and hover */
  --ink:#1B2140;         /* night indigo, text */
  --ink-2:#4A4F66;       /* muted text */
  --line:#D6C9AE;        /* hairlines */
  --accent:#9A5420;      /* ochre, rubrics and links */
  --gold:#8C6516;        /* gold for small text, AA on --bg */
  --gold-soft:#C9A24A;   /* gold for large type and ornament */
  --night:#1B2140;       /* the hero sky, indigo in both themes */
  --night-2:#262E57;
  --on-night:#F4ECDC;    /* sand text on the night */
  --on-night-2:#C9C0AC;
  --map-sea:#D8DCE8;
  --map-land:#EFE4CC;
  --map-river:#3E5C9A;
  --shadow:0 1px 2px rgba(27,33,64,.08),0 12px 32px -16px rgba(27,33,64,.25);
  --font-body:"Readex Pro",Cairo,"Noto Sans Arabic","Segoe UI",Tahoma,sans-serif;
  --font-display:"Amiri","Noto Naskh Arabic","Scheherazade New","Times New Roman",serif;
  --measure:38rem;
  --gutter:clamp(1rem,4vw,2.5rem);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#12162B;--bg-2:#1B2140;--bg-3:#262E57;
    --ink:#F1EAE0;--ink-2:#BDB4A3;--line:#2F375C;
    --accent:#DE9564;--gold:#D8B25A;--gold-soft:#D8B25A;
    --night:#0C0F20;--night-2:#161B36;--on-night:#F4ECDC;--on-night-2:#B9B09C;
    --map-sea:#141a36;--map-land:#20264a;--map-river:#7C97D6;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 32px -16px rgba(0,0,0,.6);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#12162B;--bg-2:#1B2140;--bg-3:#262E57;
  --ink:#F1EAE0;--ink-2:#BDB4A3;--line:#2F375C;
  --accent:#DE9564;--gold:#D8B25A;--gold-soft:#D8B25A;
  --night:#0C0F20;--night-2:#161B36;--on-night:#F4ECDC;--on-night-2:#B9B09C;
  --map-sea:#141a36;--map-land:#20264a;--map-river:#7C97D6;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 32px -16px rgba(0,0,0,.6);
}

/* Reset */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:4.5rem}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-weight:300;font-size:1.0625rem;line-height:1.85;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}
:lang(en) body,body:lang(en),:lang(fr) body,body:lang(fr){line-height:1.65}
img,svg{max-width:100%;display:block}
a{color:var(--accent);text-decoration-thickness:.06em;text-underline-offset:.18em}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--gold-soft);outline-offset:3px;border-radius:2px}
button{font:inherit;color:inherit}
p,ul,ol,figure,blockquote{margin:0}
p+p{margin-top:1em}
strong{font-weight:600}
sup{font-size:.7em;line-height:0;vertical-align:super}
h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.3;margin:0;text-wrap:balance;color:var(--ink)}
h2{font-size:clamp(1.75rem,1.4rem + 1.4vw,2.5rem)}
h3{font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem)}
.measure{max-width:var(--measure)}
.muted{color:var(--ink-2)}
.eyebrow{display:block;color:var(--accent);font-weight:500;font-size:.85rem;margin-bottom:.5rem}
:lang(en) .eyebrow,:lang(fr) .eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}
.num{font-variant-numeric:tabular-nums}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;inset-inline-start:1rem;top:-4rem;z-index:100;background:var(--ink);color:var(--bg);padding:.5rem 1rem;border-radius:.25rem;text-decoration:none}
.skip:focus{top:1rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
