/* ==========================================================================
   ADIS · Système graphique « ISOTHERMES »
   Africa Digital Infrastructures Summit · Rabat
   --------------------------------------------------------------------------
   Un data center est d'abord une affaire de chaleur : il consomme de
   l'énergie, la rejette, se refroidit, se négocie. L'identité emprunte le
   langage de la caméra thermique : cartes de chaleur posterisées en courbes
   de niveau (isothermes), viseurs, échelle froid/chaud. Plus une section est
   proche de la décision, plus elle est « chaude ».
   ========================================================================== */

@font-face { font-family: "Big Shoulders Display"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url(../fonts/big-shoulders-display-latin-wght-normal.woff2) format("woff2-variations");
  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: "Big Shoulders Display"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url(../fonts/big-shoulders-display-latin-ext-wght-normal.woff2) format("woff2-variations");
  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: "Schibsted Grotesk"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url(../fonts/schibsted-grotesk-latin-wght-normal.woff2) format("woff2-variations");
  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: "Schibsted Grotesk"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url(../fonts/schibsted-grotesk-latin-ext-wght-normal.woff2) format("woff2-variations");
  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: "Schibsted Grotesk"; font-style: italic; font-weight: 400 900; font-display: swap;
  src: url(../fonts/schibsted-grotesk-latin-wght-italic.woff2) format("woff2-variations");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F; }
@font-face { font-family: "Noto Kufi Arabic"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url(../fonts/noto-kufi-arabic-arabic-wght-normal.woff2) format("woff2-variations");
  unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+200C-200E, U+FB50-FDFF, U+FE70-FEFC; }

:root {
  /* ---------- L'échelle thermique : dix paliers, du froid au chaud ---------- */
  --t0: #0B0614;  /* nuit froide : fond */
  --t1: #22083F;
  --t2: #4A0D6E;
  --t3: #7E1180;
  --t4: #B8186F;
  --t5: #E5334B;  /* rouge */
  --t6: #FF6A1F;  /* orange */
  --t7: #FF9E1A;  /* ambre */
  --t8: #FFD23F;  /* jaune : l'action */
  --t9: #FFF4C2;  /* blanc chaud : le texte, les zones de décision */

  /* ---------- Neutres ---------- */
  --nuit: var(--t0);
  --surface: #120A22;
  --surface-2: #1A0C30;
  --filet: #2B1B45;
  --lavande: #C9B8E8;   /* texte secondaire sur nuit (10,9:1) */
  --brume: #9C8BBF;     /* légendes sur nuit (6,5:1) */
  --encre: #0B0614;     /* texte sur zones chaudes */
  --encre-douce: #4A3B66; /* texte secondaire sur blanc chaud (9:1) */

  /* Rôles (fond froid par défaut) */
  --fond: var(--t0);
  --texte: var(--t9);
  --texte-doux: var(--lavande);
  --ligne: var(--filet);
  --accent: var(--t8);
  --focus: var(--t8);

  /* ---------- Typographie ---------- */
  --f-titre: "Big Shoulders Display", "Arial Narrow", Impact, sans-serif;
  --f-texte: "Schibsted Grotesk", "Helvetica Neue", Arial, sans-serif;
  --f-arabe: "Noto Kufi Arabic", "Geeza Pro", sans-serif;

  --t-xs: 0.75rem;
  --t-sm: 0.9375rem;
  --t-base: 1.0625rem;
  --t-md: clamp(1.1875rem, 1.05rem + 0.45vw, 1.4375rem);
  --t-lg: clamp(1.75rem, 1.3rem + 1.4vw, 2.75rem);
  --t-xl: clamp(2.5rem, 1.6rem + 3vw, 4.75rem);
  --t-2xl: clamp(3rem, 1.6rem + 5vw, 7rem);
  --t-3xl: clamp(3.5rem, 1.2rem + 8.4vw, 10.5rem);

  /* ---------- Espaces ---------- */
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 24px;
  --s-6: 32px; --s-7: 48px; --s-8: 72px; --s-9: 96px; --s-10: 144px;
  --section: clamp(4.5rem, 3rem + 6vw, 9rem);
  --largeur: 1400px;
  --gouttiere: clamp(18px, 4.2vw, 56px);

  /* ---------- Formes ----------
     Rectangles nets, comme l'interface d'une caméra. Aucun arrondi, aucune
     ombre. Les cadres se signalent par des équerres de visée. */
  --rayon: 0;
  --trait: 2px;
  --equerre: 22px;

  /* ---------- Mouvement ---------- */
  --ease: cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* Zones : la température d'une section */
.z-froid  { --fond: var(--t0); --texte: var(--t9); --texte-doux: var(--lavande); --ligne: var(--filet); --accent: var(--t8); --focus: var(--t8); }
.z-tiede  { --fond: var(--surface); --texte: var(--t9); --texte-doux: var(--lavande); --ligne: var(--filet); --accent: var(--t7); --focus: var(--t8); }
.z-chaud  { --fond: var(--t8); --texte: var(--encre); --texte-doux: #3A2A10; --ligne: rgba(11,6,20,.25); --accent: var(--encre); --focus: var(--encre); }
.z-blanc  { --fond: var(--t9); --texte: var(--encre); --texte-doux: var(--encre-douce); --ligne: #E3D5A6; --accent: var(--t5); --focus: var(--t6); }
.z-orange { --fond: var(--t6); --texte: var(--encre); --texte-doux: #3A1405; --ligne: rgba(11,6,20,.3); --accent: var(--encre); --focus: var(--encre); }

/* Piliers : chacun a son palier de température */
.p1 { --pc: var(--t9); }  /* Souveraineté : blanc chaud */
.p2 { --pc: var(--t8); }  /* Calcul et IA : jaune */
.p3 { --pc: var(--lavande); } /* Cloud : lavande, le plus frais */
.p4 { --pc: var(--t6); }  /* Énergie : orange */
.p5 { --pc: var(--t7); }  /* Connectivité : ambre */
.p6 { --pc: var(--t5); }  /* Financement : rouge */
