/* ============================================================================
   Les Relevés — charte graphique
   Parti pris : une revue statistique, pas un blog. Serif éditorial pour le titre,
   sans-serif pour la lecture, chiffres tabulaires partout, filets fins, un seul
   accent. Aucun dégradé, aucune ombre portée, aucun angle arrondi décoratif.
   ============================================================================ */
:root{
  --papier:#fcfbf8; --papier-2:#ffffff; --papier-3:#f4f2ec;
  --encre:#15171c; --encre-2:#565b66; --encre-3:#8a8f9b;
  --filet:#e2ded4; --filet-fort:#c9c4b7;
  --accent:#1f4e5f; --accent-clair:#eaf0f1;
  --alerte:#8a4b1f;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --large:min(72rem,100%); --texte:42rem;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --papier:#101216; --papier-2:#171a20; --papier-3:#1d2027;
    --encre:#e9e7e1; --encre-2:#a2a7b2; --encre-3:#787e8a;
    --filet:#282c34; --filet-fort:#3a3f49;
    --accent:#7fb3c0; --accent-clair:#16262b; --alerte:#d99b62;
  }
}
:root[data-theme="dark"]{
  --papier:#101216; --papier-2:#171a20; --papier-3:#1d2027;
  --encre:#e9e7e1; --encre-2:#a2a7b2; --encre-3:#787e8a;
  --filet:#282c34; --filet-fort:#3a3f49;
  --accent:#7fb3c0; --accent-clair:#16262b; --alerte:#d99b62;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--papier);color:var(--encre);font-family:var(--sans);
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;
  font-variant-numeric:tabular-nums lining-nums}
img{max-width:100%;height:auto}

/* ------------------------------------------------------------------ trame */
.large{max-width:var(--large);margin:0 auto;padding:0 1.5rem}
.texte{max-width:var(--texte);margin:0 auto;padding:0 1.5rem}
.filet{border:0;border-top:1px solid var(--filet);margin:0}

/* ------------------------------------------------------------------ entête */
.bandeau{border-bottom:1px solid var(--filet-fort);background:var(--papier)}
.bandeau .large{display:flex;align-items:center;justify-content:space-between;
  gap:1.5rem;padding-top:1.15rem;padding-bottom:1.15rem}
.logo{font-family:var(--serif);font-size:1.32rem;font-weight:600;letter-spacing:-.015em;
  color:var(--encre);text-decoration:none;white-space:nowrap}
.logo em{font-style:normal;color:var(--accent)}
.logo small{display:block;font-family:var(--sans);font-size:.62rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--encre-3);margin-top:.15rem}
.rubriques-nav{display:flex;flex-wrap:wrap;gap:0 1.15rem;justify-content:flex-end}
.rubriques-nav a{font-size:.83rem;color:var(--encre-2);text-decoration:none;
  padding:.2rem 0;border-bottom:2px solid transparent}
.rubriques-nav a:hover,.rubriques-nav a[aria-current]{color:var(--encre);border-bottom-color:var(--accent)}

/* ------------------------------------------------------------------- liens */
a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:.055em}
a:hover{text-decoration-thickness:.1em}

/* ------------------------------------------------------------------- titres */
h1{font-family:var(--serif);font-size:clamp(1.85rem,1.2rem + 2vw,2.6rem);line-height:1.14;
  letter-spacing:-.021em;font-weight:600;margin:0 0 .85rem}
h2{font-family:var(--serif);font-size:1.4rem;line-height:1.25;letter-spacing:-.012em;
  font-weight:600;margin:2.7rem 0 .75rem}
h3{font-size:1.03rem;font-weight:650;margin:1.9rem 0 .45rem;letter-spacing:-.005em}
.surtitre{font-size:.68rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase;
  color:var(--accent);margin:0 0 .7rem}
.chapo{font-size:1.14rem;line-height:1.55;color:var(--encre-2);margin:0 0 2rem}

/* ------------------------------------------------------------------ une */
.une{padding:3.4rem 0 2.6rem;border-bottom:1px solid var(--filet)}
.une h1{max-width:22ch}
.une .chapo{max-width:56ch}
.compteur{display:flex;flex-wrap:wrap;gap:0 2.6rem;margin-top:2rem;
  padding-top:1.3rem;border-top:1px solid var(--filet)}
.compteur div{min-width:7rem}
.compteur b{display:block;font-family:var(--serif);font-size:1.7rem;font-weight:600;
  line-height:1.1;color:var(--encre)}
.compteur span{font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:var(--encre-3)}

/* ------------------------------------------------------- grille rubriques */
.grille{display:grid;gap:1px;background:var(--filet);border:1px solid var(--filet);
  grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));margin:2.4rem 0}
.carte{background:var(--papier);padding:1.5rem 1.4rem;display:flex;flex-direction:column;
  gap:.5rem;text-decoration:none;color:inherit;transition:background .12s}
.carte:hover{background:var(--papier-3)}
.carte h3{margin:0;font-family:var(--serif);font-size:1.13rem;font-weight:600;color:var(--encre)}
.carte p{margin:0;font-size:.89rem;color:var(--encre-2);line-height:1.5}
.carte .compte{margin-top:auto;padding-top:.7rem;font-size:.72rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--encre-3)}

/* ------------------------------------------------------------ liste articles */
.sommaire{list-style:none;padding:0;margin:0}
.sommaire li{padding:1.5rem 0;border-bottom:1px solid var(--filet)}
.sommaire li:first-child{padding-top:.4rem}
.sommaire .meta{display:flex;flex-wrap:wrap;gap:0 .7rem;font-size:.72rem;letter-spacing:.07em;
  text-transform:uppercase;color:var(--encre-3);margin-bottom:.4rem}
.sommaire .meta a{color:var(--accent);text-decoration:none}
.sommaire h2{font-size:1.24rem;margin:0 0 .35rem;line-height:1.3}
.sommaire h2 a{color:var(--encre);text-decoration:none}
.sommaire h2 a:hover{color:var(--accent)}
.sommaire p{margin:0;color:var(--encre-2);font-size:.94rem}

/* ---------------------------------------------------------------- article */
.signature{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;font-size:.8rem;color:var(--encre-2);
  padding-bottom:1.3rem;border-bottom:1px solid var(--filet);margin-bottom:2.1rem}
.signature .verifie{color:var(--accent);font-weight:600}
.abstract{background:var(--accent-clair);border-left:2px solid var(--accent);
  padding:1.15rem 1.35rem;margin:0 0 2.2rem;font-size:1.02rem;line-height:1.55}
.abstract b{display:block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent);margin-bottom:.5rem}
.corps>*:first-child{margin-top:0}
.corps p{margin:0 0 1.1rem}
.corps ul,.corps ol{margin:0 0 1.2rem;padding-left:1.25rem}
.corps li{margin-bottom:.35rem}
.corps strong{font-weight:650}
.corps em{font-style:normal;color:var(--encre-2);font-size:.9rem}
.corps blockquote{margin:1.5rem 0;padding-left:1.1rem;border-left:2px solid var(--filet-fort);
  color:var(--encre-2)}
.defilant{overflow-x:auto;margin:1.6rem 0}
.corps table{width:100%;border-collapse:collapse;font-size:.92rem}
.corps th,.corps td{padding:.55rem .8rem;border-bottom:1px solid var(--filet);text-align:left}
.corps thead th{font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--encre-3);font-weight:600;border-bottom:1px solid var(--filet-fort)}
.corps td:not(:first-child),.corps th:not(:first-child){text-align:right}
.corps tbody tr:last-child td{border-bottom:none}
.corps code{font-family:var(--mono);font-size:.87em;background:var(--papier-3);
  padding:.1em .35em;border-radius:2px}

/* --------------------------------------------------------------- appareil */
.appareil{margin:3rem 0 0;border:1px solid var(--filet);background:var(--papier-2)}
.appareil section{padding:1.25rem 1.4rem;border-bottom:1px solid var(--filet)}
.appareil section:last-child{border-bottom:none}
.appareil h2{font-family:var(--sans);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--encre-3);margin:0 0 .75rem;font-weight:600}
.appareil ul{margin:0;padding-left:1.1rem;font-size:.88rem}
.appareil li{margin-bottom:.45rem}
.appareil .licence{color:var(--encre-3)}
.tampon{font-size:.83rem;color:var(--encre-2);display:flex;gap:.55rem;align-items:baseline}
.tampon .pastille{width:.5rem;height:.5rem;border-radius:50%;background:var(--accent);flex:0 0 auto}
.liens-connexes{list-style:none;padding:0;margin:0;font-size:.9rem}
.liens-connexes li{margin-bottom:.5rem}

/* -------------------------------------------------------------- infolettre */
.infolettre{border:1px solid var(--filet-fort);background:var(--papier-2);padding:1.8rem 1.6rem;margin:3rem 0}
.infolettre h2{margin:0 0 .5rem;font-size:1.25rem}
.infolettre p{color:var(--encre-2);font-size:.94rem;margin:0 0 1.2rem;max-width:46ch}
.champs{display:flex;flex-wrap:wrap;gap:.6rem}
.champs input[type=email]{flex:1 1 16rem;font:inherit;font-size:.95rem;padding:.62rem .8rem;
  border:1px solid var(--filet-fort);background:var(--papier);color:var(--encre);border-radius:2px}
.champs input[type=email]:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.champs button{font:inherit;font-size:.92rem;font-weight:600;padding:.62rem 1.3rem;
  background:var(--accent);color:var(--papier);border:1px solid var(--accent);
  border-radius:2px;cursor:pointer}
.champs button:hover{opacity:.9}
.cases{display:flex;flex-wrap:wrap;gap:.5rem .9rem;margin:1.1rem 0 0;font-size:.85rem}
.cases label{display:flex;align-items:center;gap:.35rem;color:var(--encre-2);cursor:pointer}
.mention{font-size:.76rem;color:var(--encre-3);margin:.9rem 0 0}

/* ------------------------------------------------------------------- pied */
.pied{margin-top:4rem;border-top:1px solid var(--filet-fort);background:var(--papier-3)}
.pied .large{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));
  padding-top:2.4rem;padding-bottom:2.4rem}
.pied h3{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--encre-3);
  margin:0 0 .7rem;font-weight:600}
.pied ul{list-style:none;padding:0;margin:0;font-size:.87rem}
.pied li{margin-bottom:.38rem}
.pied a{color:var(--encre-2);text-decoration:none}
.pied a:hover{color:var(--accent)}
.pied .colophon{grid-column:1/-1;border-top:1px solid var(--filet);padding-top:1.3rem;
  font-size:.79rem;color:var(--encre-3);line-height:1.6}

@media(max-width:760px){
  .bandeau .large{flex-direction:column;align-items:flex-start;gap:.85rem}
  .rubriques-nav{justify-content:flex-start}
  .une{padding:2.4rem 0 2rem}
  .compteur{gap:0 1.6rem}
}
