/* =====================================================================
   AURIA — Webfonts
   Petrona (serif : titres, chiffres clés, signature) + Inter (sans : corps).

   Fraunces, retenue le 11/08/2026 pour son ADN Breathe, a été abandonnée le
   19/08/2026 : son « f » a été jugé illisible. L'axe WONK qui gouverne ce
   glyphe n'était de toute façon pas chargé par cet import — mesure faite le
   19/08 : SOFT 0 et SOFT 100 donnaient des largeurs identiques au centième,
   donc le « SOFT 30 » que prescrivait typography.css était inerte depuis le
   premier jour. Petrona a été retenue après comparatif de cinq serifs
   (Newsreader, Instrument Serif, Petrona, Faustina, Young Serif) sur les
   vraies phrases de la landing page.
   ===================================================================== */

/* vietnamese */
@font-face {
  font-family: 'Petrona';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/c7aed056-c90c-4eca-b948-63802a891743.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Petrona';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/6eebeef8-c23a-4d04-9442-8c4720d7546c.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;
}
/* latin */
@font-face {
  font-family: 'Petrona';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/6d9eef73-fe4f-4979-a578-1f64390ada4c.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;
}
/* vietnamese */
@font-face {
  font-family: 'Petrona';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/090bebc6-3e6c-41e0-bad3-5665776b4b4e.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Petrona';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/6e7cadad-e888-46cc-93f9-caf232faff16.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;
}
/* latin */
@font-face {
  font-family: 'Petrona';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/2f262642-fe8b-4fd4-b83b-54b35acce1c4.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;
}

/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/fonts/a84fa077-7f87-4f65-8d12-f9ea36dbc48d.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/fonts/70450de4-e14d-4bed-b5d5-a2adc4610a00.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/fonts/0201a47e-4221-483f-9b71-21debf1628ca.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/fonts/03fd55e9-88bb-4e3e-8a24-c5360bfd5b88.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/fonts/56b18060-ba71-42b4-bc70-1f86189a7fd1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/fonts/d59c2dbb-b738-4eb0-9b09-3a5bd2016267.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/fonts/4072e202-dc29-4af4-ab01-f884dfa8bd1a.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/a84fa077-7f87-4f65-8d12-f9ea36dbc48d.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/70450de4-e14d-4bed-b5d5-a2adc4610a00.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/0201a47e-4221-483f-9b71-21debf1628ca.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/03fd55e9-88bb-4e3e-8a24-c5360bfd5b88.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/56b18060-ba71-42b4-bc70-1f86189a7fd1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/d59c2dbb-b738-4eb0-9b09-3a5bd2016267.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/4072e202-dc29-4af4-ab01-f884dfa8bd1a.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/a84fa077-7f87-4f65-8d12-f9ea36dbc48d.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/70450de4-e14d-4bed-b5d5-a2adc4610a00.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/0201a47e-4221-483f-9b71-21debf1628ca.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/03fd55e9-88bb-4e3e-8a24-c5360bfd5b88.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/56b18060-ba71-42b4-bc70-1f86189a7fd1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/d59c2dbb-b738-4eb0-9b09-3a5bd2016267.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/4072e202-dc29-4af4-ab01-f884dfa8bd1a.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/a84fa077-7f87-4f65-8d12-f9ea36dbc48d.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/70450de4-e14d-4bed-b5d5-a2adc4610a00.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/0201a47e-4221-483f-9b71-21debf1628ca.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/03fd55e9-88bb-4e3e-8a24-c5360bfd5b88.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/56b18060-ba71-42b4-bc70-1f86189a7fd1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/d59c2dbb-b738-4eb0-9b09-3a5bd2016267.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/4072e202-dc29-4af4-ab01-f884dfa8bd1a.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/a84fa077-7f87-4f65-8d12-f9ea36dbc48d.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/70450de4-e14d-4bed-b5d5-a2adc4610a00.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/0201a47e-4221-483f-9b71-21debf1628ca.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/03fd55e9-88bb-4e3e-8a24-c5360bfd5b88.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/56b18060-ba71-42b4-bc70-1f86189a7fd1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/d59c2dbb-b738-4eb0-9b09-3a5bd2016267.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/4072e202-dc29-4af4-ab01-f884dfa8bd1a.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;
}


/* =====================================================================
   AURIA — Palette « Craie grave »
   Des poudrés désaturés — jamais sucrés — ancrés par un graphite et un
   bleu d'orage. La légèreté vient de la valeur, le sérieux de la saturation.
   Aucune autre couleur n'est admise dans le système.

   Socle affiné le 11/08/2026 à l'œil sur une page réelle : ces valeurs
   priment sur la planche d'exploration.
   ===================================================================== */

:root {
  /* ----- Socle (90 % des surfaces) ----- */
  --craie:      #FCFBF7;  /* fond de page, surface primaire */
  --craie-warm: #FDFCF8;  /* cartes posées sur la craie */
  --sable:      #F2EFE6;  /* panneau neutre, zone en retrait */
  --graphite:   #2B2A27;  /* encre : titres, corps, filets forts */
  --graphite-2: #5D5B55;  /* texte secondaire */
  --graphite-3: #8E8B83;  /* texte tertiaire, en-têtes de tableau */

  /* ----- Ancre (3 % — accent unique de marque) ----- */
  --orage:      #3E4E68;  /* liens, emphase, une seule phrase/page */

  /* ----- Poudrés (7 % — voir chrome.css pour le régime d'emploi) ----- */
  --bleu-poudre:  #A6BBD1;
  --celadon:      #B4CDBF;
  --amande:       #9CAD76;
  --paille:       #E0C57A;
  --corail:       #D48B6C;  /* corail éteint */
  --lilas:        #B3A3C4;
  --terre-rose:   #C2948A;

  /* ----- Poudrés dilués : fonds de panneau, ~85 % de craie dans le mélange.
     Introduits le 11/08 sur la page réelle, nommés ici le 19/08. Ils portent
     les plus grandes surfaces colorées d'une page. ----- */
  --bleu-dilue:    #E9EEF4;
  --celadon-dilue: #E8EFE7;

  /* ----- Encodage sémantique (règle 2 : les poudrés encodent) ----- */
  --statut-termine:  var(--amande);
  --statut-encours:  var(--paille);
  --statut-avenir:   var(--corail);

  /* ----- Alias de surface ----- */
  --surface-page:   var(--craie);
  --surface-card:   var(--craie-warm);
  --surface-sunken: var(--sable);
  --text-body:      var(--graphite);
  --text-secondary: var(--graphite-2);
  --text-tertiary:  var(--graphite-3);
  --text-inverse:   var(--craie);
  --accent:         var(--orage);
  --rule:           var(--graphite);
  --rule-mute:      rgba(43, 42, 39, .12);
}

/* =====================================================================
   AURIA — Typographie
   Deux familles seulement. Le serif porte l'autorité (règle 4) : titres
   Petrona 600 graphite, corps Inter.

   Petrona n'a pas d'axe optique : aucune déclaration font-variation-settings
   ici, le poids est le seul levier. Ne pas réintroduire d'« opsz », il serait
   inerte.
   ===================================================================== */

:root {
  --serif: 'Petrona', Georgia, serif;
  --sans:  'Inter', -apple-system, system-ui, sans-serif;

  --fs-display: 120px;
  --fs-h1:       56px;
  --fs-h2:       30px;
  --fs-body-l:   19px;
  --fs-body-m:   16px;
  --fs-caption:  13px;
  --fs-eyebrow:  11px;
}

.eyebrow {
  font-family: var(--sans); font-weight: 500; font-size: var(--fs-eyebrow);
  letter-spacing: .18em; text-transform: uppercase; color: var(--graphite-3);
}
/* .h1 est de fait le titre de premier niveau : .display n'est plus employé
   depuis le 19/08, le condensé de .h1 ayant été retenu à l'œil. */
.display {
  font-family: var(--serif); font-weight: 600;
  letter-spacing: -.025em; line-height: .98; color: var(--graphite);
}
.h1 {
  font-family: var(--serif); font-weight: 600;
  letter-spacing: -.015em; line-height: 1.08; color: var(--graphite);
}
.h2 {
  font-family: var(--serif); font-weight: 600;
  letter-spacing: -.01em; line-height: 1.15; color: var(--graphite);
}
/* L'unique emphase colorée autorisée par page. L'italique a été retirée le
   19/08 (jugée illisible sur Petrona en grand corps) : l'emphase est donc en
   couleur seule, ce qui la distingue moins qu'avant du texte courant. */
.emphase {
  font-family: var(--serif); font-style: normal; font-weight: 600;
  color: var(--orage);
}
.body-l   { font-family: var(--sans); font-size: 19px; line-height: 1.55; color: var(--graphite); }
.body-m   { font-family: var(--sans); font-size: 16px; line-height: 1.6;  color: var(--graphite); }
.caption  { font-family: var(--sans); font-size: 13px; line-height: 1.5;  color: var(--graphite-2); }
.micro    { font-family: var(--sans); font-size: 11px; font-weight: 500;
            letter-spacing: .14em; text-transform: uppercase; color: var(--graphite-3); }

/* =====================================================================
   AURIA — Rythme, filets, rayons
   Rythme de 8 px. Rayons 2–4 px maximum (règle 3). Aucune ombre portée,
   aucun dégradé : la structure passe par les filets.
   ===================================================================== */

:root {
  --gap-xs: 8px;  --gap-sm: 16px; --gap-md: 24px;
  --gap-lg: 32px; --gap-xl: 48px; --gap-2xl: 64px; --gap-3xl: 96px;

  --radius-sm: 2px;   /* pastilles, cellules */
  --radius-md: 4px;   /* cartes, panneaux — plafond du système */

  --rule-hair: 1px;   /* filets de séparation */
  --rule-bold: 1.5px; /* bordures encre, traits d'illustration */

  --page-w: 1920px; --page-h: 1080px;
  --margin-x: 112px; --content-top: 80px;
}

/* =====================================================================
   AURIA — Base, filets, panneaux
   Régime retenu : 2b « Panneaux tenus » — un poudré peut porter une
   surface entière, mais UN SEUL par page ; les autres panneaux restent
   sable. Aucune ombre, aucun dégradé.

   Écart constaté le 19/08 sur la landing page : la triade de la section
   Conviction porte TROIS aplats poudrés. Le référentiel du 11/08 en posait
   déjà deux. Soit on écrit l'exception (une triade côte à côte compte pour
   un seul élément composite), soit on redescend à un porteur. Non tranché.
   ===================================================================== */

html, body {
  margin: 0; padding: 0;
  font-family: var(--sans);
  color: var(--graphite);
  background: var(--craie);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ----- Filets ----- */
.hairline      { height: var(--rule-hair); background: var(--rule-mute); border: 0; }
.hairline-ink  { height: var(--rule-hair); background: var(--graphite); border: 0; }
.rule-top      { border-top: var(--rule-bold) solid var(--graphite); }

/* ----- Cartes & panneaux ----- */
.card {
  background: var(--craie-warm);
  border: var(--rule-hair) solid var(--rule-mute);
  border-radius: var(--radius-md);
  box-shadow: none;
}
.panel-neutre { background: var(--sable); border-radius: var(--radius-md); }

/* Le panneau tenu : un seul par page, teinte au choix parmi les poudrés */
.panel-tenu {
  background: var(--bleu-poudre);
  border-radius: var(--radius-md);
  color: var(--graphite);
}
.panel-tenu--celadon    { background: var(--celadon); }
.panel-tenu--amande     { background: var(--amande); }
.panel-tenu--paille     { background: var(--paille); }
.panel-tenu--corail     { background: var(--corail); }
.panel-tenu--lilas      { background: var(--lilas); }
.panel-tenu--terre-rose { background: var(--terre-rose); }

/* ----- Pastilles de statut (encodage fixe) ----- */
.dot { display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:8px; vertical-align:middle; }
.dot--termine { background: var(--statut-termine); }
.dot--encours { background: var(--statut-encours); }
.dot--avenir  { background: var(--statut-avenir); }

/* ----- Signature de page ----- */
.doc-title, .page-mark {
  position: absolute; bottom: 32px;
  font-family: var(--sans); font-size: 10px; font-weight: 500;
  letter-spacing: .18em; text-transform: uppercase; color: var(--graphite-3);
}
.doc-title { left: var(--margin-x); }
.page-mark { right: var(--margin-x); }

/* ----- Signature de marque (toujours en bas de casse, serif italique) -----
   Dessinée pour Fraunces, remise en Petrona italique le 19/08 sans être
   retravaillée : à revoir, c'est un point ouvert. */
.wordmark {
  font-family: var(--serif); font-style: italic; font-weight: 500;
  letter-spacing: -.01em; color: var(--graphite);
}

/* ----- Illustration monoline (règle 5) ----- */
.monoline { stroke: var(--graphite); stroke-width: 1.5; fill: none; }
.monoline-accent { stroke: var(--orage); }

/* ----- Illustration à main levée (dérogation du 19/08) -----
   L'illustration du hero de la landing page est tracée à main levée, et porte
   du texte : deux écarts à la règle 5. Réservé pour l'instant au hero.
   Épaisseurs 1,0 à 1,7, opacité de trait 0,42 pour les masses de fond. */
.main-levee { stroke: var(--graphite); fill: none; stroke-linecap: round; }

/* =====================================================================
   AURIA — Design system · point d'entrée unique
   Les consommateurs lient CE fichier. Les polices d'abord.
   ===================================================================== */

/* =====================================================================
   AURIA — Webfonts
   Petrona (serif : titres, chiffres clés, signature) + Inter (sans : corps).

   Fraunces, retenue le 11/08/2026 pour son ADN Breathe, a été abandonnée le
   19/08/2026 : son « f » a été jugé illisible. L'axe WONK qui gouverne ce
   glyphe n'était de toute façon pas chargé par cet import — mesure faite le
   19/08 : SOFT 0 et SOFT 100 donnaient des largeurs identiques au centième,
   donc le « SOFT 30 » que prescrivait typography.css était inerte depuis le
   premier jour. Petrona a été retenue après comparatif de cinq serifs
   (Newsreader, Instrument Serif, Petrona, Faustina, Young Serif) sur les
   vraies phrases de la landing page.
   ===================================================================== */

/* vietnamese */
@font-face {
  font-family: 'Petrona';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/c7aed056-c90c-4eca-b948-63802a891743.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Petrona';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/6eebeef8-c23a-4d04-9442-8c4720d7546c.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;
}
/* latin */
@font-face {
  font-family: 'Petrona';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/6d9eef73-fe4f-4979-a578-1f64390ada4c.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;
}
/* vietnamese */
@font-face {
  font-family: 'Petrona';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/090bebc6-3e6c-41e0-bad3-5665776b4b4e.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Petrona';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/6e7cadad-e888-46cc-93f9-caf232faff16.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;
}
/* latin */
@font-face {
  font-family: 'Petrona';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/2f262642-fe8b-4fd4-b83b-54b35acce1c4.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;
}

/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/fonts/a84fa077-7f87-4f65-8d12-f9ea36dbc48d.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/fonts/70450de4-e14d-4bed-b5d5-a2adc4610a00.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/fonts/0201a47e-4221-483f-9b71-21debf1628ca.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/fonts/03fd55e9-88bb-4e3e-8a24-c5360bfd5b88.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/fonts/56b18060-ba71-42b4-bc70-1f86189a7fd1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/fonts/d59c2dbb-b738-4eb0-9b09-3a5bd2016267.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/fonts/4072e202-dc29-4af4-ab01-f884dfa8bd1a.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/a84fa077-7f87-4f65-8d12-f9ea36dbc48d.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/70450de4-e14d-4bed-b5d5-a2adc4610a00.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/0201a47e-4221-483f-9b71-21debf1628ca.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/03fd55e9-88bb-4e3e-8a24-c5360bfd5b88.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/56b18060-ba71-42b4-bc70-1f86189a7fd1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/d59c2dbb-b738-4eb0-9b09-3a5bd2016267.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/4072e202-dc29-4af4-ab01-f884dfa8bd1a.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/a84fa077-7f87-4f65-8d12-f9ea36dbc48d.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/70450de4-e14d-4bed-b5d5-a2adc4610a00.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/0201a47e-4221-483f-9b71-21debf1628ca.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/03fd55e9-88bb-4e3e-8a24-c5360bfd5b88.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/56b18060-ba71-42b4-bc70-1f86189a7fd1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/d59c2dbb-b738-4eb0-9b09-3a5bd2016267.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/4072e202-dc29-4af4-ab01-f884dfa8bd1a.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/a84fa077-7f87-4f65-8d12-f9ea36dbc48d.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/70450de4-e14d-4bed-b5d5-a2adc4610a00.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/0201a47e-4221-483f-9b71-21debf1628ca.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/03fd55e9-88bb-4e3e-8a24-c5360bfd5b88.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/56b18060-ba71-42b4-bc70-1f86189a7fd1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/d59c2dbb-b738-4eb0-9b09-3a5bd2016267.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/4072e202-dc29-4af4-ab01-f884dfa8bd1a.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/a84fa077-7f87-4f65-8d12-f9ea36dbc48d.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/70450de4-e14d-4bed-b5d5-a2adc4610a00.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/0201a47e-4221-483f-9b71-21debf1628ca.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/03fd55e9-88bb-4e3e-8a24-c5360bfd5b88.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/56b18060-ba71-42b4-bc70-1f86189a7fd1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/d59c2dbb-b738-4eb0-9b09-3a5bd2016267.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/4072e202-dc29-4af4-ab01-f884dfa8bd1a.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;
}


/* =====================================================================
   AURIA — Palette « Craie grave »
   Des poudrés désaturés — jamais sucrés — ancrés par un graphite et un
   bleu d'orage. La légèreté vient de la valeur, le sérieux de la saturation.
   Aucune autre couleur n'est admise dans le système.

   Socle affiné le 11/08/2026 à l'œil sur une page réelle : ces valeurs
   priment sur la planche d'exploration.
   ===================================================================== */

:root {
  /* ----- Socle (90 % des surfaces) ----- */
  --craie:      #FCFBF7;  /* fond de page, surface primaire */
  --craie-warm: #FDFCF8;  /* cartes posées sur la craie */
  --sable:      #F2EFE6;  /* panneau neutre, zone en retrait */
  --graphite:   #2B2A27;  /* encre : titres, corps, filets forts */
  --graphite-2: #5D5B55;  /* texte secondaire */
  --graphite-3: #8E8B83;  /* texte tertiaire, en-têtes de tableau */

  /* ----- Ancre (3 % — accent unique de marque) ----- */
  --orage:      #3E4E68;  /* liens, emphase, une seule phrase/page */

  /* ----- Poudrés (7 % — voir chrome.css pour le régime d'emploi) ----- */
  --bleu-poudre:  #A6BBD1;
  --celadon:      #B4CDBF;
  --amande:       #9CAD76;
  --paille:       #E0C57A;
  --corail:       #D48B6C;  /* corail éteint */
  --lilas:        #B3A3C4;
  --terre-rose:   #C2948A;

  /* ----- Poudrés dilués : fonds de panneau, ~85 % de craie dans le mélange.
     Introduits le 11/08 sur la page réelle, nommés ici le 19/08. Ils portent
     les plus grandes surfaces colorées d'une page. ----- */
  --bleu-dilue:    #E9EEF4;
  --celadon-dilue: #E8EFE7;

  /* ----- Encodage sémantique (règle 2 : les poudrés encodent) ----- */
  --statut-termine:  var(--amande);
  --statut-encours:  var(--paille);
  --statut-avenir:   var(--corail);

  /* ----- Alias de surface ----- */
  --surface-page:   var(--craie);
  --surface-card:   var(--craie-warm);
  --surface-sunken: var(--sable);
  --text-body:      var(--graphite);
  --text-secondary: var(--graphite-2);
  --text-tertiary:  var(--graphite-3);
  --text-inverse:   var(--craie);
  --accent:         var(--orage);
  --rule:           var(--graphite);
  --rule-mute:      rgba(43, 42, 39, .12);
}

/* =====================================================================
   AURIA — Typographie
   Deux familles seulement. Le serif porte l'autorité (règle 4) : titres
   Petrona 600 graphite, corps Inter.

   Petrona n'a pas d'axe optique : aucune déclaration font-variation-settings
   ici, le poids est le seul levier. Ne pas réintroduire d'« opsz », il serait
   inerte.
   ===================================================================== */

:root {
  --serif: 'Petrona', Georgia, serif;
  --sans:  'Inter', -apple-system, system-ui, sans-serif;

  --fs-display: 120px;
  --fs-h1:       56px;
  --fs-h2:       30px;
  --fs-body-l:   19px;
  --fs-body-m:   16px;
  --fs-caption:  13px;
  --fs-eyebrow:  11px;
}

.eyebrow {
  font-family: var(--sans); font-weight: 500; font-size: var(--fs-eyebrow);
  letter-spacing: .18em; text-transform: uppercase; color: var(--graphite-3);
}
/* .h1 est de fait le titre de premier niveau : .display n'est plus employé
   depuis le 19/08, le condensé de .h1 ayant été retenu à l'œil. */
.display {
  font-family: var(--serif); font-weight: 600;
  letter-spacing: -.025em; line-height: .98; color: var(--graphite);
}
.h1 {
  font-family: var(--serif); font-weight: 600;
  letter-spacing: -.015em; line-height: 1.08; color: var(--graphite);
}
.h2 {
  font-family: var(--serif); font-weight: 600;
  letter-spacing: -.01em; line-height: 1.15; color: var(--graphite);
}
/* L'unique emphase colorée autorisée par page. L'italique a été retirée le
   19/08 (jugée illisible sur Petrona en grand corps) : l'emphase est donc en
   couleur seule, ce qui la distingue moins qu'avant du texte courant. */
.emphase {
  font-family: var(--serif); font-style: normal; font-weight: 600;
  color: var(--orage);
}
.body-l   { font-family: var(--sans); font-size: 19px; line-height: 1.55; color: var(--graphite); }
.body-m   { font-family: var(--sans); font-size: 16px; line-height: 1.6;  color: var(--graphite); }
.caption  { font-family: var(--sans); font-size: 13px; line-height: 1.5;  color: var(--graphite-2); }
.micro    { font-family: var(--sans); font-size: 11px; font-weight: 500;
            letter-spacing: .14em; text-transform: uppercase; color: var(--graphite-3); }

/* =====================================================================
   AURIA — Rythme, filets, rayons
   Rythme de 8 px. Rayons 2–4 px maximum (règle 3). Aucune ombre portée,
   aucun dégradé : la structure passe par les filets.
   ===================================================================== */

:root {
  --gap-xs: 8px;  --gap-sm: 16px; --gap-md: 24px;
  --gap-lg: 32px; --gap-xl: 48px; --gap-2xl: 64px; --gap-3xl: 96px;

  --radius-sm: 2px;   /* pastilles, cellules */
  --radius-md: 4px;   /* cartes, panneaux — plafond du système */

  --rule-hair: 1px;   /* filets de séparation */
  --rule-bold: 1.5px; /* bordures encre, traits d'illustration */

  --page-w: 1920px; --page-h: 1080px;
  --margin-x: 112px; --content-top: 80px;
}

/* =====================================================================
   AURIA — Base, filets, panneaux
   Régime retenu : 2b « Panneaux tenus » — un poudré peut porter une
   surface entière, mais UN SEUL par page ; les autres panneaux restent
   sable. Aucune ombre, aucun dégradé.

   Écart constaté le 19/08 sur la landing page : la triade de la section
   Conviction porte TROIS aplats poudrés. Le référentiel du 11/08 en posait
   déjà deux. Soit on écrit l'exception (une triade côte à côte compte pour
   un seul élément composite), soit on redescend à un porteur. Non tranché.
   ===================================================================== */

html, body {
  margin: 0; padding: 0;
  font-family: var(--sans);
  color: var(--graphite);
  background: var(--craie);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ----- Filets ----- */
.hairline      { height: var(--rule-hair); background: var(--rule-mute); border: 0; }
.hairline-ink  { height: var(--rule-hair); background: var(--graphite); border: 0; }
.rule-top      { border-top: var(--rule-bold) solid var(--graphite); }

/* ----- Cartes & panneaux ----- */
.card {
  background: var(--craie-warm);
  border: var(--rule-hair) solid var(--rule-mute);
  border-radius: var(--radius-md);
  box-shadow: none;
}
.panel-neutre { background: var(--sable); border-radius: var(--radius-md); }

/* Le panneau tenu : un seul par page, teinte au choix parmi les poudrés */
.panel-tenu {
  background: var(--bleu-poudre);
  border-radius: var(--radius-md);
  color: var(--graphite);
}
.panel-tenu--celadon    { background: var(--celadon); }
.panel-tenu--amande     { background: var(--amande); }
.panel-tenu--paille     { background: var(--paille); }
.panel-tenu--corail     { background: var(--corail); }
.panel-tenu--lilas      { background: var(--lilas); }
.panel-tenu--terre-rose { background: var(--terre-rose); }

/* ----- Pastilles de statut (encodage fixe) ----- */
.dot { display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:8px; vertical-align:middle; }
.dot--termine { background: var(--statut-termine); }
.dot--encours { background: var(--statut-encours); }
.dot--avenir  { background: var(--statut-avenir); }

/* ----- Signature de page ----- */
.doc-title, .page-mark {
  position: absolute; bottom: 32px;
  font-family: var(--sans); font-size: 10px; font-weight: 500;
  letter-spacing: .18em; text-transform: uppercase; color: var(--graphite-3);
}
.doc-title { left: var(--margin-x); }
.page-mark { right: var(--margin-x); }

/* ----- Signature de marque (toujours en bas de casse, serif italique) -----
   Dessinée pour Fraunces, remise en Petrona italique le 19/08 sans être
   retravaillée : à revoir, c'est un point ouvert. */
.wordmark {
  font-family: var(--serif); font-style: italic; font-weight: 500;
  letter-spacing: -.01em; color: var(--graphite);
}

/* ----- Illustration monoline (règle 5) ----- */
.monoline { stroke: var(--graphite); stroke-width: 1.5; fill: none; }
.monoline-accent { stroke: var(--orage); }

/* ----- Illustration à main levée (dérogation du 19/08) -----
   L'illustration du hero de la landing page est tracée à main levée, et porte
   du texte : deux écarts à la règle 5. Réservé pour l'instant au hero.
   Épaisseurs 1,0 à 1,7, opacité de trait 0,42 pour les masses de fond. */
.main-levee { stroke: var(--graphite); fill: none; stroke-linecap: round; }



    *,*::before,*::after{box-sizing:border-box;}
    html{scroll-behavior:smooth;}
    body{background:#FCFBF7;margin:0;}
    img{max-width:100%;}
    a{color:#3E4E68;}
    a:hover{color:#2B2A27;}
    ::placeholder{color:#8E8B83;opacity:1;}
    :focus-visible{outline:1.5px solid #3E4E68;outline-offset:2px;}
  
/* etats survol et focus */
.scp0:hover { color: rgb(43, 42, 39) !important; }
.scp1:hover { background: rgb(62, 78, 104) !important; }
.scp2:hover { border-color: rgb(43, 42, 39) !important; }
.scp3:focus { border-color: rgb(62, 78, 104) !important; }
html, body { height: 100%; margin: 0px; }
#dc-root, #dc-root > .sc-host { height: 100%; }
[hidden]{display:none !important;}
@media (max-width: 719px) { header.entete { position: static !important; } .nav-texte { display: none !important; } }
