/* ==========================================================================
   PUTSCH — TOKENS
   Système partagé avec putsch.agency. Ne pas diverger sans mettre à jour
   les deux sites : ce fichier est le contrat visuel de la marque.
   ========================================================================== */

/* --------------------------------------------------------------------------
   FACES — toutes OFL, auto-hébergées, sous-classées par unicode-range.
   Latin + latin-ext : couvre le français, l'anglais et toutes les langues
   latines du registre. Les écritures non latines (cyrillique, grec, CJK,
   thaï, devanagari, hébreu, arabe) tombent sur les génériques de fin de
   pile — le navigateur choisit une police système adaptée à la langue de la
   page. Même compromis que putsch.agency ; côté cartes OG, le build replie
   sur le texte anglais (voir `covers()` dans typeset.mjs).
   Putsch Display        = Archivo variable (wght 100–900, wdth 62–125%)
   Putsch Trajan Display = Cinzel (400–900)
   Putsch Serif Display  = Playfair Display (400–900, roman + italique)
   Putsch Serif Body     = Libre Baskerville (400/700, roman + italique)
   -------------------------------------------------------------------------- */

@font-face{font-family:'Putsch Display';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url('../fonts/archivo-latin.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:'Putsch Display';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url('../fonts/archivo-latin-ext.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:'Putsch Trajan Display';font-style:normal;font-weight:400 900;font-display:swap;src:url('../fonts/trajan-cinzel-latin.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:'Putsch Trajan Display';font-style:normal;font-weight:400 900;font-display:swap;src:url('../fonts/trajan-cinzel-latin-ext.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:'Putsch Serif Display';font-style:normal;font-weight:400 900;font-display:swap;src:url('../fonts/serif-playfair-latin-400_900.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:'Putsch Serif Display';font-style:normal;font-weight:400 900;font-display:swap;src:url('../fonts/serif-playfair-latin-ext-400_900.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:'Putsch Serif Display';font-style:italic;font-weight:400 900;font-display:swap;src:url('../fonts/serif-playfair-latin-italic-400_900.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:'Putsch Serif Display';font-style:italic;font-weight:400 900;font-display:swap;src:url('../fonts/serif-playfair-latin-ext-italic-400_900.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:'Putsch Serif Body';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/serif-librebask-latin-400.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:'Putsch Serif Body';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/serif-librebask-latin-ext-400.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:'Putsch Serif Body';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/serif-librebask-latin-700.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:'Putsch Serif Body';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/serif-librebask-latin-ext-700.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:'Putsch Serif Body';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/serif-librebask-latin-italic-400.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:'Putsch Serif Body';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/serif-librebask-latin-ext-italic-400.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:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/jetbrains-latin.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:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/jetbrains-latin-ext.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}

/* --------------------------------------------------------------------------
   TOKENS
   -------------------------------------------------------------------------- */
:root{
  /* --- SOL ---------------------------------------------------------------- */
  --void:#000000;                      /* fond absolu */
  --carbon:#0B0B0C;                    /* surface surélevée */
  --slate:#141416;                     /* surface la plus haute */
  --edge:rgba(237,234,227,.12);        /* filet standard */
  --edge-hot:rgba(255,255,255,.5);     /* filet appuyé */

  /* --- ENCRE -------------------------------------------------------------- */
  --bone:#EDEAE3;                      /* texte principal */
  /* Le gris secondaire était à #7A7770, soit 4,0:1 sur le noir — sous le seuil
     AA de 4,5:1 pour du petit texte, et visiblement trop éteint sur écran.
     #9C988F monte à 6,0:1 en restant nettement en retrait de l'os. */
  --ash:#9C988F;                       /* texte secondaire */

  /* --- ACCENT (monochrome) ------------------------------------------------
     Noir et blanc strict : aucune couleur. L'accent n'est pas une teinte,
     c'est une INVERSION — du blanc pur plein avec du texte noir dessus.
     Le blanc pur (#FFF) tranche sur l'os (#EDEAE3) du texte courant, ce qui
     suffit à hiérarchiser sans jamais recourir à une couleur.
     Contraste #FFF sur #000 = 21:1 — le maximum possible.               */
  --hot:#FFFFFF;                       /* accent : aplats, filets, tampons */
  --hot-lite:#FFFFFF;                  /* focus, états actifs */
  --hot-dim:#52504B;                   /* accent éteint : passé, désactivé */
  --on-hot:#000000;                    /* texte sur aplat blanc */

  /* --- TYPE --------------------------------------------------------------- */
  /* Aligné sur le thème live de putsch.agency (_theme-trajan.css) : le display
     est en capitales impériales Trajan/Cinzel, pas en condensé. C'est le
     tracking POSITIF (+.02/.03em) et la graisse 900 qui font l'agressivité. */
  --display:'Putsch Trajan Display','Putsch Serif Display',Georgia,serif;
  --trajan:'Putsch Trajan Display',Georgia,'Times New Roman',serif;
  --serif-d:'Putsch Serif Display',Georgia,'Times New Roman',serif;
  --body:'Putsch Serif Body',Georgia,'Times New Roman',serif;
  --mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  /* Archivo condensé variable — registre « affiche » propre au .org :
     noms de plaques et tickers, là où la chasse étroite fait le poster. */
  --cond:'Putsch Display','Archivo Narrow','Arial Narrow',system-ui,sans-serif;

  /* Tracking display, repris de l'agency */
  --track-d:.03em;
  --track-giant:.02em;

  /* --- RYTHME ------------------------------------------------------------- */
  --gut:clamp(1.25rem,4vw,4.5rem);     /* gouttière latérale */
  --sec:clamp(5rem,11vw,10.5rem);      /* respiration de section */
  --maxw:1680px;

  /* --- SIGNATURE ---------------------------------------------------------- */
  --shear:4.5deg;                      /* inclinaison des tampons */
  --band:7vw;                          /* profondeur des découpes diagonales */
  --ease:cubic-bezier(.16,1,.3,1);

  /* --- PROFONDEUR --------------------------------------------------------- */
  --z-grain:9000;
  --z-cursor:9500;
  --z-nav:800;
  --z-drawer:8000;
  --z-scrim:7900;
}

@media (max-width:700px){ :root{ --band:11vw } }
@media (max-width:420px){ :root{ --gut:1.1rem } }
