/* MIB — réglages de base. Rien de décoratif ici: uniquement les défauts du document. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;background:var(--surface-page);color:var(--text-body);font:var(--type-body);letter-spacing:var(--ls-body);text-wrap:pretty}
h1,h2,h3,h4{margin:0;color:var(--text-strong)}
h1{font:var(--type-h1);letter-spacing:var(--ls-h1)}
h2{font:var(--type-h2);letter-spacing:var(--ls-h2)}
h3{font:var(--type-h3)}
p{margin:0}
a{color:var(--text-accent);text-decoration:none;border-bottom:1px solid currentColor;transition:color var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard)}
a:hover{color:var(--mib-ink);border-bottom-color:var(--mib-coral)}
code,pre,kbd{font:var(--type-mono)}
::selection{background:var(--mib-coral);color:var(--mib-ink)}
:focus-visible{outline:none;box-shadow:var(--focus-ring)}

/* Inversion : tout bloc sur fond ink */
.mib-on-dark{background:var(--surface-dark);color:var(--text-on-dark)}
.mib-on-dark h1,.mib-on-dark h2,.mib-on-dark h3{color:var(--mib-blush)}
.mib-on-dark a{color:var(--text-accent-on-dark)}
.mib-on-dark a:hover{color:var(--mib-blush);border-bottom-color:var(--mib-coral)}

/* Conteneur pleine largeur généreux */
.mib-container{width:100%;max-width:var(--container);margin:0 auto;padding-inline:var(--container-pad)}
.mib-section{padding-block:var(--section-y)}

/* Eyebrow / slogan en petites capitales espacées */
.mib-eyebrow{font-family:var(--font-display);font-size:var(--fs-eyebrow);font-weight:var(--fw-medium);letter-spacing:var(--ls-eyebrow);text-transform:uppercase}

/* Grille technique discrète, mauve faible opacité. Élément graphique autorisé. */
.mib-grid-mauve{background-image:linear-gradient(var(--mib-mauve-12) 1px,transparent 1px),linear-gradient(90deg,var(--mib-mauve-12) 1px,transparent 1px);background-size:48px 48px}
