/* ============================================
   MIDDLF — Base : reset, typographie, layout générique
   ============================================ */
*{box-sizing:border-box; margin:0; padding:0;}

body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  line-height:1.6;
}

a{
  color:inherit;
  transition:color .22s ease, opacity .22s ease, background-color .22s ease, border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}
ul{list-style:none;}

.wrap{max-width:1000px; margin:0 auto; padding:0 32px;}
.mono{font-family:'IBM Plex Mono', monospace;}
.display{font-family:'Space Grotesk', sans-serif; font-weight:700;}

/* Sections génériques */
.section{padding:64px 0;}
.section.tight{padding:48px 0;}
.section-eyebrow{
  font-family:'IBM Plex Mono', monospace; font-size:12px; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--cyan); margin-bottom:14px; display:block;
}
.section h2{font-size:28px; letter-spacing:-0.01em; margin-bottom:16px;}
.section p.lead{color:var(--muted); font-size:15px; max-width:640px; margin-bottom:20px;}

.border-top{border-top:1px solid var(--line);}
.border-bottom{border-bottom:1px solid var(--line);}

/* Grilles génériques */
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:48px;}
.three-col{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}

/* Barre de statistiques */
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:28px;}
.stat-num{font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:32px; color:var(--green);}
.stat-label{font-size:12px; color:var(--muted); margin-top:6px;}

@media (max-width:800px){
  .stats-grid, .two-col, .three-col{grid-template-columns:1fr 1fr;}
}
