:root{--blue:#1f3b73;--blue2:#16305f;--accent:#b23a2e;--ink:#1c2331;--muted:#5d6677;
--line:#e4e9f1;--soft:#f5f7fb;--card:#fff}
*{box-sizing:border-box}html{font-size:17px;scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
color:var(--ink);background:var(--card);line-height:1.65}
a{color:var(--blue)}a:hover{color:var(--accent)}
.wrap{max-width:900px;margin:0 auto;padding:0 1.2rem}
header.site{background:var(--blue);color:#fff}
header .bar{max-width:900px;margin:0 auto;padding:1rem 1.2rem;display:flex;align-items:baseline;gap:.5rem}
header .brand{font-weight:800;font-size:1.15rem;color:#fff;text-decoration:none;letter-spacing:.2px}
header .brand small{font-weight:400;opacity:.82;font-size:.85rem;margin-left:.4rem}
nav.site{background:var(--blue2);position:sticky;top:0;z-index:10}
nav.site ul{max-width:900px;margin:0 auto;padding:0 1.2rem;list-style:none;display:flex;flex-wrap:wrap}
nav.site a{display:block;padding:.75rem .9rem;color:#d8e2f4;text-decoration:none;font-size:.93rem;border-bottom:3px solid transparent}
nav.site a:hover{color:#fff}nav.site a.active{color:#fff;border-bottom-color:var(--accent)}
.hero{background:linear-gradient(135deg,#1f3b73,#16305f 60%,#102449);color:#fff;padding:3.2rem 0 3rem}
.hero h1{font-size:2.3rem;line-height:1.15;margin:.2rem 0 .4rem;color:#fff}
.hero .tag{font-size:1.15rem;opacity:.92;margin:0 0 1.4rem;max-width:46ch}
.hero .sub{font-size:.95rem;opacity:.8;text-transform:uppercase;letter-spacing:.12em;margin:0 0 .6rem}
.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;padding:.6rem 1.1rem;
border-radius:7px;font-weight:600;font-size:.95rem;margin:.2rem .4rem .2rem 0}
.btn:hover{filter:brightness(1.08);color:#fff}
.btn-ghost{background:transparent;border:1.5px solid rgba(255,255,255,.6)}
main{padding:2.4rem 0 1rem}
h1{color:var(--blue);font-size:1.95rem;margin:.2rem 0 1rem}
h2{color:var(--blue);font-size:1.5rem;margin:2.4rem 0 .7rem}
h3{color:var(--ink);font-size:1.18rem;margin:0 0 .5rem}
p.lead{font-size:1.1rem;color:var(--muted)}
.muted{color:var(--muted);font-size:.92rem}
aside.actu{background:#fbf3e9;border:1px solid #efd9c2;border-left:4px solid var(--accent);
padding:.9rem 1.1rem;border-radius:8px;margin:0 0 2rem}
.axes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem;margin:1rem 0 1.5rem}
.axe-card{display:flex;align-items:center;gap:.8rem;background:var(--soft);border:1px solid var(--line);
border-radius:10px;padding:.9rem 1rem;text-decoration:none;color:var(--ink);transition:.15s}
.axe-card:hover{border-color:var(--blue);box-shadow:0 4px 14px rgba(31,59,115,.1);transform:translateY(-1px);color:var(--ink)}
.axe-num{flex:none;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--blue);color:#fff;
display:grid;place-items:center;font-weight:700}
.axe-titre{font-weight:600;font-size:.97rem;line-height:1.3}
section.axe{border-left:3px solid var(--line);padding:.2rem 0 .2rem 1.2rem;margin:1.6rem 0}
section.axe h3 .axe-badge{display:inline-block;background:var(--accent);color:#fff;font-size:.72rem;
font-weight:700;padding:.12rem .5rem;border-radius:5px;vertical-align:middle;margin-right:.5rem;text-transform:uppercase;letter-spacing:.06em}
.partners{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0}
.chip{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:.35rem .8rem;font-size:.85rem;color:var(--muted)}
.docs{list-style:none;padding:0;margin:1rem 0}
.docs .doc{margin:.5rem 0}
.docs .doc a{display:flex;align-items:center;gap:.9rem;background:var(--card);border:1px solid var(--line);
border-radius:9px;padding:.7rem .9rem;text-decoration:none;color:var(--ink);transition:.15s}
.docs .doc a:hover{border-color:var(--blue);box-shadow:0 3px 12px rgba(31,59,115,.08)}
.doc-ic{flex:none;font-size:.7rem;font-weight:800;color:#fff;background:var(--accent);padding:.35rem .45rem;border-radius:5px;letter-spacing:.02em}
.doc-tx{display:flex;flex-direction:column}.doc-meta{font-size:.85rem;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin:1.2rem 0 1.4rem}
.stat{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:1rem .6rem;text-align:center}
.stat .n{display:block;font-size:1.3rem;font-weight:800;color:var(--blue)}
.stat .l{display:block;font-size:.82rem;color:var(--muted);margin-top:.2rem}
.card-contact{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:1.2rem 1.4rem;max-width:520px}
footer.site{border-top:1px solid var(--line);background:var(--soft);color:var(--muted);font-size:.88rem;margin-top:2.5rem}
footer.site .wrap{padding:1.6rem 1.2rem}
@media(max-width:640px){html{font-size:16px}.hero h1{font-size:1.8rem}.axes-grid{grid-template-columns:1fr}
.stats{grid-template-columns:repeat(2,1fr)}header .brand small{display:none}}
