@font-face{font-family:'Figtree';font-style:normal;font-weight:300 900;font-display:swap;src:url(/fonts/figtree-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Figtree';font-style:normal;font-weight:300 900;font-display:swap;src:url(/fonts/figtree-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--encre:#23406B;--denim:#4F7FB0;--denim-f:#3B6A9A;--brume:#A9C4E0;--casse:#F6F3EC;--champ:#E8F0F8;--texte-c:#2B3A55;
--texte:'Figtree','Avenir Next','Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--casse);color:var(--texte-c);font-family:var(--texte);font-size:18px;line-height:1.6}
a{color:var(--encre);text-underline-offset:4px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--encre);outline-offset:3px;border-radius:6px}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.skip{position:absolute;left:-999px;top:0;background:var(--casse);padding:10px 14px;z-index:20}.skip:focus{left:10px;top:10px}
header.top{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);backdrop-filter:blur(8px)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:10px 20px;padding-block:14px;flex-wrap:wrap}
.logo{font-weight:700;font-size:21px;letter-spacing:-.01em;color:var(--encre);text-decoration:none;display:flex;align-items:center;gap:10px}
.logo svg{width:28px;height:28px}
nav ul{display:flex;gap:6px 26px;list-style:none;margin:0;padding:0;flex-wrap:wrap;align-items:center}
nav a{color:var(--texte-c);text-decoration:none;font-weight:500;font-size:16px;padding:6px 0;display:inline-block}
nav a:hover{color:var(--encre);text-decoration:underline}
h1,h2,h3{font-weight:700;color:var(--encre);text-wrap:balance;margin:0;letter-spacing:-.015em}
h1{font-size:clamp(38px,5.2vw,60px);line-height:1.05}
h2{font-size:clamp(28px,3.4vw,38px);line-height:1.15}
h3{font-size:21px;line-height:1.25;letter-spacing:-.005em}
p{margin:0}
.eyebrow{font-weight:600;font-size:15px;color:var(--denim-f)}
.btn{display:inline-block;font:600 17px var(--texte);padding:14px 28px;border-radius:999px;text-decoration:none;border:0;cursor:pointer;background:var(--encre);color:#fff}
.btn:hover{background:#18305a}
nav .btn{padding:9px 20px;font-size:15px;color:#fff}nav .btn:hover{text-decoration:none;color:#fff}
.lien{font-weight:600;color:var(--encre)}
.hero{background:var(--champ)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:24px;align-items:center;padding-block:56px 64px}
.hero .txt{display:grid;gap:22px}
.hero p.lead{font-size:20px;line-height:1.5;max-width:26em}
.cta{display:flex;gap:14px 26px;flex-wrap:wrap;align-items:center}
.anim{position:relative;aspect-ratio:3/2;background-size:cover;background-position:center;border-radius:20px;overflow:hidden}
.anim canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .4s}
.anim canvas.pret{opacity:1}
.anim canvas[data-drag]{cursor:grab;touch-action:pan-y}.anim canvas.prise{cursor:grabbing}
.anim-lab{position:absolute;left:0;top:0;font-weight:600;font-size:13px;line-height:1;color:var(--encre);background:rgba(255,255,255,.88);padding:5px 10px;border-radius:999px;white-space:nowrap;pointer-events:none;opacity:0}
.anim-ok .anim-lab{opacity:1}
.game .anim-lab{display:none}
.caps{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px 18px;font-size:15px;line-height:1.35;color:var(--denim-f);counter-reset:c}
.caps li{counter-increment:c;border-top:3px solid var(--brume);padding-top:9px;transition:color .3s,border-color .3s}
.caps li.on{color:var(--encre);font-weight:600;border-color:var(--encre)}
.hint{font-size:14px;color:var(--denim-f);margin-top:10px}
section.blk{padding-block:96px}
.head{display:grid;gap:14px;max-width:38em;margin:0 auto 52px;text-align:center}
.games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.game{display:grid;gap:10px;align-content:start;text-align:center}
.game .anim{aspect-ratio:4/3;margin-bottom:8px;border-radius:0}
.game p{font-size:17px;max-width:21em;margin:0 auto}
.band{background:#fff}
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;text-align:center}
.three>div{display:grid;gap:10px;align-content:start}
.three p{font-size:17px}
.etat{max-width:44em;margin:0 auto;display:grid;gap:0}
.etat div{display:grid;grid-template-columns:8.5em 1fr;gap:18px;padding:18px 0;border-top:1px solid var(--brume)}
.etat div:last-of-type{border-bottom:1px solid var(--brume)}
.etat h3{font-size:18px}
.note{max-width:44em;margin:22px auto 0;font-size:15px;color:var(--denim-f);text-align:center}
.faq{max-width:44em;margin:0 auto}
details{border-bottom:1px solid var(--brume);padding:18px 0}
details summary{cursor:pointer;font-weight:600;font-size:18px;color:var(--encre)}
details div{padding-top:10px}
.contact{background:var(--champ)}
form{display:grid;gap:18px;background:#fff;border-radius:20px;padding:32px;max-width:34em;margin:0 auto}
label{font-weight:600;font-size:16px;color:var(--encre);display:grid;gap:6px}
.opt{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;font-weight:400;font-size:15px;color:var(--texte-c)}
.opt input{width:20px;height:20px;margin-top:3px;accent-color:var(--encre)}
input[type=text],input[type=email],select,textarea{font:400 17px var(--texte);padding:12px 14px;border:1.5px solid var(--brume);border-radius:12px;background:#fff;color:var(--texte-c);width:100%}
textarea{min-height:96px;resize:vertical}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#etat{font-weight:600;min-height:1.6em}
#etat.ok{color:#17603a}#etat.ko{color:#9a2c1f}
footer{background:var(--encre);color:#e9eef5;padding-block:32px;font-size:15px}
footer .wrap{display:flex;gap:10px 28px;flex-wrap:wrap;justify-content:space-between}
footer a{color:#fff}
.legal{max-width:46em;padding-block:64px;display:grid;gap:18px}
.legal h2{font-size:24px;margin-top:14px}
@media (max-width:920px){.hero .wrap{grid-template-columns:1fr;padding-block:36px 44px}.games,.three{grid-template-columns:1fr;gap:44px}section.blk{padding-block:64px}.head{margin-bottom:36px}nav li.l{display:none}}
@media (max-width:560px){body{font-size:17px}.caps{grid-template-columns:1fr}.etat div{grid-template-columns:1fr;gap:4px}form{padding:22px}.anim-lab{font-size:11px;padding:4px 7px}}

/* Page game2 : le problème d'abord */
.pb{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;counter-reset:pb}
.pb>div{background:var(--casse);border-radius:18px;padding:30px 28px;display:grid;gap:10px;align-content:start;counter-increment:pb}
.pb>div::before{content:counter(pb);width:38px;height:38px;border-radius:50%;background:var(--encre);color:#fff;font-weight:700;display:grid;place-items:center}
.pb p{font-size:17px;margin:0}.pb h3{margin:6px 0 0}
section.pivot{background:var(--encre);color:#fff;text-align:center}
section.pivot h2{color:#fff;font-size:clamp(34px,5vw,56px);line-height:1.08;margin:0 0 18px;letter-spacing:-.02em}
section.pivot p{max-width:32em;margin:0 auto;font-size:21px;color:#DCE8F5}
@media (max-width:920px){.pb{grid-template-columns:1fr}}
