@page { size: A4; margin: 12mm 15mm; }

:root, :root[data-theme="dark"], :root:not([data-theme="light"]) {
  --fond: #fff;
  --texte: #000;
  --discret: #444;
  --accent: #000;
  --trait: #bbb;
  --surface: #fff;
  color-scheme: light;
}

body { font-size: 9.5pt; line-height: 1.4; background: #fff; }
main { max-width: none; padding: 0; }

.bouton-theme, #lien-email, .autres-cas, .fil, .pied, noscript { display: none !important; }

h1 { font-size: 20pt; }
h2 { font-size: 11.5pt; margin: 1.1rem 0 .5rem; break-after: avoid; }
h3 { font-size: 9.5pt; margin: .6rem 0 .25rem; }

.photo { width: 64px; height: 64px; }
.these { font-size: 10.5pt; margin: .6rem 0; max-width: none; }
.contact a::after { content: " · " attr(href); color: var(--discret); }

.chiffres ul { grid-template-columns: repeat(5, 1fr); margin-top: .8rem; gap: .4rem; }
.chiffre { padding: .35rem .5rem; font-size: 7.5pt; }
.chiffre:last-child { grid-column: auto; }
.chiffre strong { font-size: 12pt; }

.piliers ul { grid-template-columns: 1fr 1fr; gap: .4rem; }
.pilier { padding: .45rem .6rem; break-inside: avoid; }
.pilier p, .pilier a { font-size: 8.5pt; margin-bottom: .2rem; }
.pilier a { text-decoration: none; font-weight: 600; }
.pilier a::after { content: " · cv.bibimax.fr" attr(href); font-weight: 400; color: var(--discret); }

.poste { padding-bottom: .5rem; break-inside: avoid; }
.poste .meta { font-size: 8.5pt; margin: 0 0 .15rem; }
.poste ul { font-size: 9pt; }
.poste::before { background: #fff; }

details summary { list-style: none; color: var(--discret); font-size: 8.5pt; }
details summary::-webkit-details-marker { display: none; }

.outils li, .client { font-size: 7.5pt; padding: .05rem .4rem; }
.socle dl { gap: .3rem; }
@media (min-width: 0) { .domaine { grid-template-columns: 8.5rem 1fr; } }
.certifs { font-size: 8pt; margin-top: .4rem; }

.cas .meta { margin-bottom: .6rem; }
.cas li { margin-bottom: .2rem; }
