:root{
  --bleu:#1F5C99; --bleu-d:#163E66; --rouge:#E2225B; --vert:#2B9E66;
  --or:#D5B25C; --encre:#1C2230; --gris:#5A6472; --gris-l:#EEF1F5; --bord:#D8E0EA;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--encre);
  background:linear-gradient(160deg,#f4f7fb 0%,#e9eef5 55%,#dfe7f1 100%);
  min-height:100vh;display:flex;flex-direction:column;line-height:1.5;
}
.wrap{flex:1;width:100%;max-width:980px;margin:0 auto;padding:40px 22px 24px}
header{text-align:center;margin-bottom:8px}
header img{width:230px;max-width:70%;height:auto}
.band{height:4px;width:120px;background:var(--bleu);border-radius:3px;margin:18px auto 0}
h1{font-size:2.4rem;color:var(--bleu-d);margin-top:22px;letter-spacing:.3px}
.sub{color:var(--gris);font-size:1.12rem;margin-top:6px}
.kind{color:var(--vert);font-style:italic;margin-top:4px;font-size:1rem}
.badge{display:inline-block;margin-top:18px;background:var(--bleu);color:#fff;
  font-weight:700;font-size:.95rem;padding:8px 20px;border-radius:8px;letter-spacing:.4px}
.choose{margin:42px 0 10px;text-align:center;color:var(--gris);
  text-transform:uppercase;letter-spacing:2px;font-size:.82rem;font-weight:700}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:18px}
@media(max-width:720px){.cards{grid-template-columns:1fr}}
.card{
  display:flex;flex-direction:column;align-items:center;text-decoration:none;
  background:#fff;border:1px solid var(--bord);border-radius:16px;padding:26px 18px 22px;
  color:var(--encre);box-shadow:0 4px 14px rgba(22,62,102,.06);
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(22,62,102,.16);border-color:var(--bleu)}
.flag{width:64px;height:64px;border-radius:50%;background:linear-gradient(150deg,var(--bleu) 0%,var(--bleu-d) 100%);
  color:#fff;font-weight:800;font-size:1.5rem;letter-spacing:1px;
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;
  box-shadow:0 4px 10px rgba(22,62,102,.25)}
.card:hover .flag{background:linear-gradient(150deg,var(--rouge) 0%,#b81b48 100%)}
.lang{font-size:1.3rem;font-weight:700;color:var(--bleu-d)}
.docname{font-size:.92rem;color:var(--gris);margin-top:4px}
.open{margin-top:16px;font-size:.85rem;font-weight:700;color:#fff;background:var(--bleu);
  padding:8px 18px;border-radius:8px}
.card:hover .open{background:var(--bleu-d)}
.note{text-align:center;color:var(--gris);font-size:.86rem;margin-top:28px}
.note a{color:var(--bleu);font-weight:600;text-decoration:none}
.note a:hover{text-decoration:underline}
footer{background:var(--bleu-d);color:#cfe0f2;margin-top:40px}
.foot{max-width:980px;margin:0 auto;padding:24px 22px;display:flex;flex-wrap:wrap;
  gap:18px;justify-content:space-between;align-items:flex-start;font-size:.9rem}
.foot b{color:#fff}
.foot a{color:#9fc6ee;text-decoration:none}
.foot a:hover{text-decoration:underline}
.foot .col{min-width:220px}
.foot .accent{height:3px;width:54px;background:var(--or);border-radius:3px;margin:0 0 12px}
.copy{text-align:center;color:#7fa4cb;font-size:.78rem;padding:0 0 18px}
