:root { --fond:#f7f5f0; --encre:#14213d; --doux:#374151; --pale:#4b5563; --trait:#e5e1d8; --leger:#efece5;
        --bleu:#0b4ea2; --bleu-fonce:#083a7a; --jaune:#f2c200; --rouge:#c8102e; }
* { box-sizing:border-box }
body { margin:0; background:var(--fond); color:var(--encre); font:15px/1.65 Inter,system-ui,-apple-system,"Segoe UI",sans-serif }
a { color:var(--bleu) } a:hover { color:var(--bleu-fonce) }
h1,h2 { font-family:"Space Grotesk",sans-serif; font-weight:700 }
.lisere { display:flex; height:4px } .lisere i { flex:6 } .lisere i:nth-child(1){background:var(--bleu)} .lisere i:nth-child(2){flex:1;background:var(--jaune)} .lisere i:nth-child(3){flex:1;background:var(--rouge)}
.large { max-width:1160px; margin:0 auto; padding-left:24px; padding-right:24px }
header { display:flex; flex-wrap:wrap; align-items:center; gap:8px 28px; min-height:68px }
.logo { font-family:"Space Grotesk",sans-serif; font-weight:700; font-size:21px; color:var(--encre); text-decoration:none; padding:12px 0 }
.logo span { color:var(--bleu) }
header nav { display:flex; flex-wrap:wrap; gap:0 22px; flex:1 1 auto }
header nav a { color:var(--pale); text-decoration:none; padding:12px 0 } header nav a:hover, header nav a[aria-current] { color:var(--encre) }
.lien-connexion { color:var(--encre); text-decoration:none; font-weight:500; padding:12px 4px }
main { max-width:760px; margin:0 auto; padding:32px 24px 0 }
h1 { font-size:clamp(28px,5vw,38px); line-height:1.15; margin:0 }
.version { color:var(--pale); margin:8px 0 28px }
.sommaire { background:#fff; border:1px solid var(--trait); border-radius:10px; padding:14px 20px; margin-bottom:8px }
.sommaire ol { margin:6px 0 0; padding-left:20px; columns:2 240px; column-gap:32px } .sommaire ol.court { columns:auto }
h2 { font-size:21px; line-height:1.3; margin:36px 0 10px; scroll-margin-top:16px }
p, li { color:var(--doux) } strong { color:var(--encre); font-weight:600 }
ul, ol { padding-left:22px } li { margin:4px 0 }
.tableau { overflow-x:auto; border:1px solid var(--trait); border-radius:10px; background:#fff; margin:14px 0 }
table { border-collapse:collapse; width:100%; font-size:14px }
th, td { text-align:left; vertical-align:top; padding:10px 14px; border-top:1px solid var(--leger) }
th { background:var(--fond); font-weight:600; color:var(--doux); border-top:0 }
footer { border-top:1px solid var(--trait); margin-top:56px }
footer .large { padding-top:18px; padding-bottom:18px; display:flex; flex-wrap:wrap; gap:8px 24px; font-size:14px; color:var(--pale) }
footer .espace { flex:1 1 auto }
@media (max-width:640px) { main { padding-left:16px; padding-right:16px } .large { padding-left:16px; padding-right:16px } }
