:root{
  --nuit:#1E2A47;
  --nuit-2:#2B3A5E;
  --jaune:#F2C230;
  --papier:#FFFDF8;
  --encre:#1A1A1A;
  --gris:#5C5648;
  --bleu:#2563C9; --bleu-clair:#E3EDFB; --bleu-texte:#1B4A9A;
  --vert:#1E7A44; --vert-clair:#E2F3E8; --vert-texte:#17633A;
  --orange:#B9530F; --orange-clair:#FCEBDD; --orange-texte:#9A440C;
  --aubergine:#3D1F4E; --corail:#FF7A59;
  --display:'Archivo Black','Arial Black',sans-serif;
  --texte:'Archivo','Helvetica Neue',Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papier);color:var(--encre);font-family:var(--texte);font-size:18px;line-height:1.55}
img{max-width:100%}
a{color:var(--bleu-texte)}
a:hover{color:var(--nuit)}
:focus-visible{outline:3px solid var(--bleu);outline-offset:3px;border-radius:4px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

/* Logo sticker, repris des cartes */
.logo{display:inline-block;background:var(--jaune);color:var(--nuit);font-family:var(--display);font-size:22px;line-height:1;padding:9px 14px;transform:rotate(-2deg);box-shadow:4px 4px 0 var(--nuit);text-decoration:none;white-space:nowrap}
.logo:hover{color:var(--nuit)}

/* En-tête */
.site-head{background:var(--nuit);padding:18px 0}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.site-head nav{display:flex;gap:22px;flex-wrap:wrap}
.site-head nav a{color:#fff;text-decoration:none;font-weight:600;font-size:16px}
.site-head nav a:hover{color:var(--jaune)}
.site-head .logo{box-shadow:4px 4px 0 #000}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--display);font-size:17px;line-height:1;padding:15px 22px;border-radius:10px;border:0;cursor:pointer;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease}
.btn:active{transform:translate(2px,2px)}
.btn-jaune{background:var(--jaune);color:var(--nuit);box-shadow:3px 3px 0 var(--nuit)}
.btn-jaune:hover{color:var(--nuit)}
.btn-blanc{background:#fff;color:var(--nuit);box-shadow:3px 3px 0 rgba(0,0,0,.35)}
.btn-blanc:hover{color:var(--nuit)}

/* Héro : un duel jouable */
.hero{background:var(--nuit);color:#fff;padding:56px 0 72px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1{font-family:var(--display);font-size:clamp(40px,6vw,72px);line-height:.98;margin:0 0 22px;letter-spacing:-.5px}
.hero p{font-size:20px;max-width:30em;margin:0 0 28px;color:#E7EAF2}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}

.demo{background:var(--papier);color:var(--encre);border-radius:14px;padding:22px;transform:rotate(1.5deg);box-shadow:8px 8px 0 var(--jaune)}
.demo-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.demo-top .chip{background:var(--bleu);color:#fff;font-weight:700;font-size:14px;padding:4px 10px;border-radius:6px}
.demo-top .compteur{font-size:14px;color:var(--gris)}
.demo-q{background:var(--bleu-clair);border-radius:10px;padding:18px;text-align:center}
.demo-q .ev{font-weight:700;font-size:21px;line-height:1.2}
.demo-q .ou{display:inline-block;background:var(--bleu);color:#fff;font-weight:700;font-size:15px;padding:3px 12px;border-radius:12px;margin:9px 0}
.demo-choix{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.demo-choix button{font-family:var(--display);font-size:22px;padding:16px;border-radius:10px;border:3px solid var(--nuit);background:#fff;color:var(--nuit);cursor:pointer}
.demo-choix button:hover{background:var(--bleu-clair)}
.demo-rep{margin-top:16px;border-radius:10px;padding:16px;display:none}
.demo-rep.on{display:block}
.demo-rep.ok{background:var(--vert-clair)}
.demo-rep.ko{background:var(--orange-clair)}
.demo-rep strong{font-family:var(--display);font-size:24px;display:block;margin-bottom:6px}
.demo-rep .dates{font-size:17px}
.demo-rep button{margin-top:12px}

/* Sections */
section{padding:72px 0}
h2{font-family:var(--display);font-size:clamp(30px,4vw,44px);line-height:1.05;margin:0 0 14px;color:var(--nuit)}
.intro{font-size:20px;max-width:36em;margin:0 0 40px;color:#3A3730}

/* Les deux boîtes */
.boites{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.boite{border-radius:16px;padding:32px;color:#fff;display:flex;flex-direction:column;gap:18px}
.boite-cg{background:var(--nuit)}
.boite-cs{background:var(--aubergine)}
.boite h3{font-family:var(--display);font-size:34px;line-height:1;margin:0}
.boite .tag{align-self:flex-start;font-family:var(--display);font-size:15px;padding:6px 12px;transform:rotate(-2deg)}
.boite-cg .tag{background:var(--jaune);color:var(--nuit)}
.boite-cs .tag{background:var(--corail);color:var(--aubergine)}
.boite p{margin:0;color:#E9E6EF}
.exemples{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.exemples li{background:rgba(255,255,255,.1);border-radius:10px;padding:12px 14px;font-size:17px;line-height:1.35}
.exemples li em{font-style:normal;opacity:.75}
.boite .contenu{font-size:16px;color:#D9D4E3}
.boite .btn{align-self:flex-start;margin-top:auto}
.boite-cs .btn-jaune{background:var(--corail);color:var(--aubergine);box-shadow:3px 3px 0 #000}

/* Comment jouer : une vraie séquence */
.etapes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:e}
.etapes li{counter-increment:e;border-top:5px solid var(--c);padding-top:16px}
.etapes li::before{content:counter(e);font-family:var(--display);font-size:40px;line-height:1;color:var(--c);display:block;margin-bottom:8px}
.etapes h3{font-size:20px;margin:0 0 6px;color:var(--nuit)}
.etapes p{margin:0;font-size:17px;color:#3A3730}
.etapes li:nth-child(1){--c:var(--bleu)}
.etapes li:nth-child(2){--c:var(--vert)}
.etapes li:nth-child(3){--c:var(--orange)}
.etapes li:nth-child(4){--c:var(--nuit)}

.deja{background:var(--jaune);padding:48px 0}
.deja .wrap{display:flex;gap:28px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.deja h2{margin:0 0 6px}
.deja p{margin:0;font-size:19px;max-width:34em;color:var(--nuit)}
.deja .qr{width:88px;height:88px;flex:0 0 88px}

footer{background:var(--nuit);color:#C9CEDB;padding:36px 0;font-size:15px}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer a{color:#fff}

/* Page légale */
.legal{max-width:760px;padding:56px 24px;margin:0 auto}
.legal h1{font-family:var(--display);color:var(--nuit);font-size:40px;margin:0 0 24px}
.legal h2{font-size:24px;margin:32px 0 8px}

@media (max-width:860px){
  .hero .wrap,.boites{grid-template-columns:1fr}
  .hero{padding:40px 0 56px}
  .demo{transform:none}
  .etapes{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  body{font-size:17px}
  .etapes{grid-template-columns:1fr}
  .boite{padding:24px}
  section{padding:52px 0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
