:root{--nv:#0A2E6B;--nv2:#1A5CC0;--au:#F2B705;--tx:#10213f;--mu:#4a5a78;--bg:#f4f7fc;--bd:#d5dff0;--card:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;font:16px/1.6 "Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--tx);background:var(--bg)}
a{color:var(--nv2)}img{max-width:100%;height:auto}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:var(--nv);padding:10px 16px;z-index:100;font-weight:700}.skip:focus{left:0}
:focus-visible{outline:3px solid var(--au);outline-offset:2px}
header.top{background:var(--nv);color:#fff;position:sticky;top:0;z-index:9;box-shadow:0 2px 12px #0004}
header.top .in{max-width:1000px;margin:0 auto;padding:0 20px;height:58px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.logo{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-weight:800}
.logo i{width:28px;height:28px;border-radius:8px;background:var(--au);color:var(--nv);display:grid;place-items:center;font-style:normal}
.btn{display:inline-block;padding:11px 20px;border-radius:10px;font-weight:700;text-decoration:none;border:0;cursor:pointer;font:inherit;font-weight:700;background:var(--nv2);color:#fff}
.btn.au{background:var(--au);color:#0B1B3A}.btn.line{background:#fff;color:var(--nv2);border:2px solid var(--nv2)}
main{max-width:1000px;margin:0 auto;padding:28px 20px 56px}
h1{font-size:clamp(26px,5vw,38px);line-height:1.2;color:var(--nv);margin:6px 0 8px}h2{font-size:22px;color:var(--nv);margin:32px 0 8px}h3{font-size:17px;margin:20px 0 4px}
.lead{font-size:18px;color:var(--mu);margin:0 0 18px}.crumb{font-size:14px;color:var(--mu)}.crumb a{color:var(--mu)}
.card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:18px 20px;margin:14px 0}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:18px 0}.facts div{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:12px 14px}.facts b{display:block;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--mu)}
ol.mods{padding-left:0;list-style:none;counter-reset:m;display:grid;gap:8px;margin:8px 0}ol.mods li{counter-increment:m;background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:10px 14px 10px 52px;position:relative}
ol.mods li:before{content:counter(m);position:absolute;left:12px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--nv2);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700}
.cta{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.note{font-size:14px;color:var(--mu)}
.rel{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}.rel a{display:block;background:#fff;border:1px solid var(--bd);border-radius:20px;padding:6px 14px;text-decoration:none;font-size:14px}
footer.bot{background:var(--nv);color:#cfe0ff;padding:28px 0;font-size:14px}footer.bot .in{max-width:1000px;margin:0 auto;padding:0 20px}footer.bot a{color:#fff;margin-right:14px;display:inline-block;margin-bottom:6px}
table.t{border-collapse:collapse;width:100%;background:#fff;border:1px solid var(--bd)}table.t th,table.t td{border:1px solid var(--bd);padding:8px 12px;text-align:left}
.dl dt{font-weight:700;margin-top:12px}.dl dd{margin:2px 0 0}
@media(max-width:560px){header.top .in{height:54px}.logo span small{display:none}}
.logo{white-space:nowrap}header.top .btn{padding:8px 14px;font-size:14px;white-space:nowrap}
@media(max-width:400px){.logo{font-size:14px}header.top .btn{padding:7px 10px;font-size:13px}}

/* navigation : barre sur grand écran, panneau latéral sur mobile */
#mb{display:none;background:none;border:1px solid #fff6;color:#fff;border-radius:8px;font-size:22px;cursor:pointer;min-width:44px;min-height:44px;padding:0;align-items:center;justify-content:center}
header.top nav{display:flex;gap:16px;font-size:14px;margin-left:auto;margin-right:8px}header.top nav a{color:#fff;text-decoration:none;white-space:nowrap}
.nvm,#nvo{display:none}
@media(max-width:1080px){header.top .in{max-width:none}#mb{display:inline-flex;margin-left:auto}header.top nav{margin:0}
 header.top nav{position:fixed;top:0;bottom:0;left:0;width:min(86vw,340px);background:var(--nv);z-index:40;flex-direction:column;gap:0;padding:0 0 24px;font-size:16px;overflow-y:auto;overscroll-behavior:contain;box-shadow:6px 0 24px #0007;transform:translateX(-102%);visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s}
 header.top nav.open{transform:none;visibility:visible;transition:transform .25s ease,visibility 0s}
 header.top nav a{display:flex;align-items:center;min-height:48px;padding:10px 20px;border-bottom:1px solid #ffffff1f;white-space:normal;font-size:16px}
 header.top nav a:focus-visible,header.top nav button:focus-visible{background:#ffffff26;outline:2px solid var(--au);outline-offset:-2px}
 .nvm{display:block}.nvh{display:flex!important;align-items:center;justify-content:space-between;padding:0 8px 0 20px;min-height:58px;position:sticky;top:0;background:var(--nv);border-bottom:1px solid #ffffff33;font-size:17px;color:#fff}
 #nvx{width:44px;height:44px;border:1px solid #fff6;border-radius:8px;background:none;color:#fff;font-size:20px;cursor:pointer;padding:0}
 .nvg{margin-top:14px}.nvl{display:block;padding:6px 20px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#cfe0ff}
 #nvo{position:fixed;inset:0;background:#000a;z-index:35;display:block}#nvo[hidden]{display:none}body.nvlock{overflow:hidden}}
@media(min-width:1081px){#nvo{display:none!important}}
@media(prefers-reduced-motion:reduce){header.top nav,header.top nav.open{transition:none!important}}
table.t{display:block;overflow-x:auto;max-width:100%}
@media(max-width:380px){header.top .in>.btn{display:none}#mb{margin-left:auto}}
