:root{
 --ink:#0e1726;--body:#2c3a52;--mut:#5b6b82;--line:#e4e9f0;--bg:#f4f6fa;--card:#fff;
 --ac:#2563eb;--ac-soft:#eaf1fe;
 --bad:#e5484d;--mid:#e0962a;--ok:#3aa655;--good:#15a34a;
 --r:16px;--sh:0 1px 2px rgba(14,23,38,.05),0 8px 22px rgba(14,23,38,.07);
 --disp:'Space Grotesk',-apple-system,system-ui,sans-serif;
 --ui:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--ui);color:var(--body);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased;font-size:15.5px}
.w{max-width:900px;margin:0 auto;padding:0 18px 60px}
a{color:var(--ac);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3{font-family:var(--disp);color:var(--ink);letter-spacing:-.02em;line-height:1.15}
h1{font-size:32px;margin:18px 0 4px}h1 .insee{color:var(--mut);font-weight:500}
h2{font-size:19px;margin:30px 0 12px;padding-bottom:7px;border-bottom:2px solid var(--line)}
.sub{color:var(--mut)}
.crumb{font-size:13px;color:var(--mut);padding:14px 0}.crumb a{color:var(--mut)}
:focus-visible{outline:2px solid var(--ac);outline-offset:2px;border-radius:4px}

/* score color */
.sv-bad{--c:var(--bad)}.sv-mid{--c:var(--mid)}.sv-ok{--c:var(--ok)}.sv-good{--c:var(--good)}

/* HERO BAND */
.heroband{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;
 background:radial-gradient(120% 140% at 0% 0%,#1b2c52 0%,#0e1726 70%);color:#fff;border-radius:20px;padding:24px 28px;margin:14px 0 6px;box-shadow:var(--sh)}
.hb-score{text-align:center;min-width:120px}
.hb-score .num{font-family:var(--disp);font-size:66px;font-weight:700;line-height:.95}
.hb-score .num span{font-size:22px;color:#aebfdc}
.hb-score .lvl{font-weight:700;font-size:14px;margin-top:4px;color:var(--c,#fff)}
.hb-meta .hb-sub{font-size:16px;color:#dbe4f5}
.hb-meta .hb-rank{color:#aebfdc;font-size:13.5px;margin:3px 0 12px}
.hb-facts{display:flex;flex-wrap:wrap;gap:8px}
.hb-facts span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:6px 12px;font-size:13px}

/* EN BREF */
.enbref{background:var(--ac-soft);border:1px solid #cfe0fb;border-left:4px solid var(--ac);border-radius:12px;padding:16px 18px;margin:18px 0;color:#16306b;font-size:15.5px}
.enbref small{color:#34508f;display:block;margin-top:8px}

/* SCORES */
.scores{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}
.sc{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center;box-shadow:var(--sh)}
.g{--v:50;width:88px;height:88px;border-radius:50%;margin:0 auto 10px;position:relative;
 background:conic-gradient(var(--c,var(--ac)) calc(var(--v)*1%),#eaeef4 0)}
.g::after{content:"";position:absolute;inset:9px;background:var(--card);border-radius:50%}
.g span{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--disp);font-weight:700;font-size:22px;color:var(--ink);z-index:1}
.sc b{font-size:13.5px;color:var(--ink)}

/* CROSS */
.cross{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:14px 0}
.ci{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--ac);border-radius:12px;padding:14px 16px;box-shadow:var(--sh)}
.ci .v{font-family:var(--disp);font-size:24px;font-weight:700;color:var(--ink);margin:2px 0}
.ci .k{font-size:12.5px;color:var(--mut)}

/* TABLES */
table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--sh);font-size:14.5px}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line)}
tbody tr:nth-child(even){background:#fafbfd}
tr:last-child td{border-bottom:0}
th{background:#f7f9fc;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);font-weight:600}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
td.win{font-weight:700;color:#15803d}

/* PILLS : data (tag) vs action (link) */
.pill{display:inline-block;background:#f1f5fb;border:1px solid var(--line);border-radius:999px;padding:5px 11px;margin:3px 4px 0 0;color:var(--body);font-size:12.5px}
.plink{display:inline-block;background:var(--ac-soft);border:1px solid #cfe0fb;border-radius:999px;padding:6px 13px;margin:3px 5px 0 0;color:var(--ac);font-size:13px;font-weight:600}
.plink:hover{background:#dbe9fe;text-decoration:none}

/* FAQ */
details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:2px 16px;margin-bottom:8px;box-shadow:var(--sh)}
summary{cursor:pointer;font-weight:600;padding:13px 0;font-size:15px;color:var(--ink)}
details p{margin:0 0 14px;color:var(--body)}

/* MAP card */
.mapwrap{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;max-width:380px;box-shadow:var(--sh)}

.foot{border-top:1px solid var(--line);margin-top:36px;padding:22px 0 0;color:var(--mut);font-size:12.5px}

/* MOBILE */
@media(max-width:720px){
 h1{font-size:26px}
 .heroband{grid-template-columns:1fr;gap:14px;text-align:center;padding:22px}
 .hb-facts{justify-content:center}
 .scores{grid-template-columns:repeat(3,1fr);gap:8px}
 .sc{padding:11px}.g{width:68px;height:68px}.g span{font-size:18px}
 .cross{grid-template-columns:1fr}
}

.cardbox{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--sh)}

.legal h1{margin-top:6px}.legal h2{font-size:17px;margin-top:26px}.legal ul{padding-left:20px}.legal li{margin:4px 0}.lnav{margin-bottom:8px;font-size:13px}.lnav a{color:var(--ac);margin:0 2px}.foot p{margin:8px 0 0}

p a,li a{text-decoration:underline}
