:root{--bg:#0b1220;--bg2:#111a2e;--encre:#e8edf5;--muet:#8b97ad;--t1:#4fd1c5;--t2:#7c9cf5;--amb:#f6ad55;--rose:#f687b3;--surf:rgba(255,255,255,.055);--bord:rgba(255,255,255,.12);--grad:linear-gradient(135deg,#4fd1c5 0%,#7c9cf5 100%);--font:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif}
.reveal-viewport{background:radial-gradient(1200px 700px at 85% -10%,rgba(124,156,245,.18),transparent 60%),radial-gradient(900px 600px at -10% 110%,rgba(79,209,197,.14),transparent 60%),var(--bg)}
.reveal{font-family:var(--font);font-size:30px;color:var(--encre);letter-spacing:-.005em}
.reveal .slides section{text-align:left;padding:0 10px}
.reveal h1,.reveal h2,.reveal h3{font-family:var(--font);text-transform:none;color:var(--encre);font-weight:800;letter-spacing:-.03em;line-height:1.05}
.reveal h1{font-size:2.3em} .reveal h2{font-size:1.5em;margin-bottom:.6em} .reveal h3{font-size:1.05em;letter-spacing:-.01em}
.reveal h2::after{content:"";display:block;width:64px;height:5px;border-radius:3px;background:var(--grad);margin-top:.35em}
.reveal p,.reveal li{line-height:1.45;font-weight:400} .reveal ul,.reveal ol{margin-left:.9em} .reveal li{margin:.3em 0}
.reveal li::marker{color:var(--t1)}
.reveal strong{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}
.reveal em{color:var(--amb);font-style:normal;font-weight:600}
.reveal a{color:var(--t2);text-decoration:none;border-bottom:1px solid rgba(124,156,245,.4)}
.reveal .kicker{display:inline-block;font-weight:700;text-transform:uppercase;font-size:.55em;letter-spacing:.14em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:.5em}
.reveal .source{position:absolute;top:690px;left:10px;right:10px;font-size:.42em;color:var(--muet);line-height:1.35} .reveal .source a{color:var(--muet);border:0}
.reveal .slides section.titre,.reveal .slides section.partie{text-align:center;display:flex!important;flex-direction:column;justify-content:center;align-items:center;height:100%;top:0!important}
.reveal .titre h1{font-size:2.6em;background:linear-gradient(135deg,#fff 20%,#9fb5ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:.3em}
.reveal .titre .sous{color:var(--muet);font-size:.72em;font-weight:500;margin:.15em 0}
.reveal .partie .num{font-size:7em;font-weight:900;line-height:.9;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.9;margin-bottom:.1em}
.reveal .partie h1{font-size:2em} .reveal .partie p{color:var(--muet);font-size:.85em;max-width:24em}
.reveal .deux{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start} .reveal .trois{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.reveal .carte{background:var(--surf);border:1px solid var(--bord);border-radius:22px;padding:20px 24px;font-size:.74em;backdrop-filter:blur(8px);position:relative;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.25)}
.reveal .carte::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--grad)} .reveal .carte.accent2::before{background:linear-gradient(90deg,var(--amb),var(--rose))}
.reveal .carte h3{margin:.1em 0 .35em;font-size:1.08em} .reveal .carte p{margin:.3em 0;color:#d5dced}
.reveal .citation{border-left:5px solid transparent;border-image:var(--grad) 1;padding:.25em 0 .25em .9em;font-size:.92em;color:#d5dced;font-weight:500}
.reveal table{font-size:.62em;border-collapse:separate;border-spacing:0;width:100%;background:var(--surf);border:1px solid var(--bord);border-radius:16px;overflow:hidden}
.reveal th{text-align:left;color:var(--t1);background:rgba(255,255,255,.04);padding:.5em .7em;font-weight:700;border-bottom:1px solid var(--bord)}
.reveal td{border-bottom:1px solid var(--bord);padding:.45em .7em;vertical-align:top} .reveal tr:last-child td{border-bottom:0}
.reveal .grille td:first-child{font-weight:700;color:var(--t2);white-space:nowrap}
.reveal .interactif{display:grid;grid-template-columns:300px 1fr;gap:34px;align-items:start}
.reveal .interactif .qr{background:#fff;border-radius:20px;padding:12px;box-shadow:0 0 0 4px rgba(79,209,197,.25),0 20px 60px rgba(0,0,0,.4)} .reveal .interactif .qr svg{width:276px;height:276px;display:block}
.reveal .interactif .url{font-size:.5em;color:var(--muet);word-break:break-all;margin-top:.6em;line-height:1.3} .reveal .interactif .url b{color:var(--t1);font-size:1.25em;font-weight:600}
.reveal .interactif iframe{width:100%;height:560px;border:1px solid var(--bord);border-radius:22px;background:var(--bg2)}
.reveal .badge{display:inline-block;background:var(--grad);color:#0b1220;border-radius:999px;padding:.12em .75em;font-size:.5em;font-weight:800;vertical-align:middle;margin-left:.5em;letter-spacing:.02em}
.reveal .badge::before{content:"● ";animation:pulse 1.6s infinite} @keyframes pulse{50%{opacity:.3}}
.reveal .schema{width:100%;height:auto} .reveal .schema text{font-family:var(--font)} .reveal .schema text.cl{fill:#d5dced} .reveal .schema text.mu{fill:#8b97ad}
.reveal .exo{background:linear-gradient(135deg,rgba(246,173,85,.14),rgba(246,135,179,.1));border:1px solid rgba(246,173,85,.35);border-radius:22px;padding:18px 26px;font-size:.84em}
.reveal .exo h3{color:var(--amb);margin:.1em 0 .4em} .reveal .exo ol{margin-bottom:0}
.reveal .petit{font-size:.68em;color:var(--muet)}
.reveal .pied{position:fixed;bottom:14px;left:20px;font-size:13px;color:var(--muet);z-index:10;letter-spacing:.02em}
.reveal .progress{height:4px;background:rgba(255,255,255,.08)} .reveal .progress span{background:var(--grad)}
.reveal .controls{color:var(--t1)} .reveal .slide-number{background:transparent;color:var(--muet);font-family:var(--font);font-size:14px}
.reveal .fragment.fade-up{opacity:0;transform:translateY(14px)} .reveal .fragment.fade-up.visible{opacity:1;transform:none}
.reveal .chips{display:flex;flex-wrap:wrap;gap:12px;margin:.4em 0} .reveal .chip{background:var(--surf);border:1px solid var(--bord);border-radius:999px;padding:.25em .9em;font-size:.7em;font-weight:600}
.reveal .exo ~ .interactif{grid-template-columns:200px 1fr;gap:24px} .reveal .exo ~ .interactif .qr{padding:8px} .reveal .exo ~ .interactif .qr svg{width:184px;height:184px} .reveal .exo ~ .interactif iframe{height:330px} .reveal .exo ~ .interactif .url{font-size:.42em}
/* — v2 (01/10 soir) : variété de formats — */
.reveal .chiffre{display:flex;flex-direction:column;justify-content:center;height:100%;text-align:center}
.reveal .chiffre .grand{font-size:5.2em;font-weight:900;line-height:1;letter-spacing:-.04em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.reveal .chiffre p{font-size:1em;color:#d5dced;max-width:26em;margin:.5em auto}
.reveal .demo{width:100%;height:620px;border:1px solid var(--bord);border-radius:22px;background:var(--bg2)}
.reveal .video{width:100%;aspect-ratio:16/9;border:0;border-radius:22px;background:#000;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.reveal .plein{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:40px 48px;background:linear-gradient(180deg,rgba(11,18,32,0) 30%,rgba(11,18,32,.92) 100%)}
.reveal .plein h2{margin:0} .reveal .plein h2::after{display:none} .reveal .plein p{color:#d5dced;font-size:.85em;margin:.3em 0 0}
.reveal .frise{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:.6em}
.reveal .frise .etape{background:var(--surf);border:1px solid var(--bord);border-radius:18px;padding:14px;font-size:.58em;line-height:1.3;position:relative}
.reveal .frise .etape b{display:block;font-size:1.5em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:.2em}
.reveal .familles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.reveal .famille{background:var(--surf);border:1px solid var(--bord);border-radius:20px;padding:16px 18px;font-size:.6em;line-height:1.35;min-height:230px}
.reveal .famille h3{font-size:1.25em;margin:0 0 .3em} .reveal .famille .ex{color:var(--t1);font-weight:600} .reveal .famille .quand{color:var(--muet)}
.reveal .galerie{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.reveal .galerie figure{margin:0;background:var(--surf);border:1px solid var(--bord);border-radius:18px;overflow:hidden}
.reveal .galerie img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block} .reveal .galerie figcaption{font-size:.46em;padding:8px 12px;color:var(--muet);line-height:1.3}
.reveal .audio{display:flex;align-items:center;gap:24px;background:var(--surf);border:1px solid var(--bord);border-radius:22px;padding:20px 26px;margin:.5em 0}
.reveal .audio audio{flex:1;min-width:380px} .reveal .audio .qui{font-size:.62em;color:var(--muet);max-width:18em}
.reveal .quiz{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:.5em}
.reveal .quiz .rep{background:var(--surf);border:1px solid var(--bord);border-radius:16px;padding:14px 20px;font-size:.78em}
.reveal .quiz .rep.bonne.visible{border-color:var(--t1);box-shadow:0 0 0 3px rgba(79,209,197,.35)}
.reveal .pile{display:flex;flex-direction:column;gap:14px} .reveal .ligne{display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:baseline;background:var(--surf);border:1px solid var(--bord);border-radius:16px;padding:12px 20px;font-size:.72em}
.reveal .ligne b{color:var(--t1);font-size:1.05em}
.reveal .duo{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:22px;overflow:hidden;border:1px solid var(--bord)}
.reveal .duo > div{padding:22px 26px;font-size:.74em} .reveal .duo > div:first-child{background:rgba(246,173,85,.12)} .reveal .duo > div:last-child{background:rgba(79,209,197,.12)}
.reveal .duo h3{margin:0 0 .4em} .reveal .duo ul{margin:0 0 0 .8em}
.reveal section.sombre h2{color:#fff}
.reveal .demo-lien{position:absolute;right:10px;top:16px;font-size:.45em;color:var(--muet);border:1px solid var(--bord);border-radius:999px;padding:.3em .9em}
.reveal .legende{font-size:.5em;color:var(--muet);margin-top:.4em}
/* — v3 (01/10, 20h33) : animations pas à pas pilotées par la flèche droite — */
.reveal section.anime h2{font-size:1.25em;margin-bottom:.3em} .reveal section.anime h2::after{margin-top:.2em;height:4px}
.reveal section.anime canvas{display:block;width:100%;border-radius:18px;background:var(--surf);border:1px solid var(--bord)}
.reveal .recit{position:relative;margin-top:14px;min-height:110px}
.reveal .recit p{margin:0;font-size:.7em;line-height:1.38;color:#eef2ff;padding:12px 18px;border-radius:14px;background:rgba(124,156,245,.1);border-left:5px solid var(--t2)}
.reveal .recit p b{color:var(--t1)}
.reveal .recit p.fragment{display:none;opacity:1;transform:none} .reveal .recit p.fragment.current-fragment{display:block}
.reveal .recit:has(.current-fragment) p.avant{display:none}
.reveal .recit p.avant{border-left-color:var(--amb);background:rgba(246,173,85,.08)}
.reveal .etapes-compteur{position:absolute;right:10px;top:24px;font-size:.45em;color:var(--muet)}
.reveal .deroule{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.reveal .deroule .carte{font-size:.66em}

/* v4 — QCM à main levée */
.reveal section.qcm h2{font-size:1.25em}
.reveal .qcm .question{font-size:.82em;line-height:1.4;margin:.2em 0 .6em;padding:14px 20px;border-left:5px solid var(--amb);background:rgba(246,173,85,.08);border-radius:14px}
.reveal .qcm .reps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.reveal .qcm .reps li{display:flex;gap:14px;align-items:center;background:var(--surf);border:1px solid var(--bord);border-radius:16px;padding:14px 18px;font-size:.72em;line-height:1.35;transition:opacity .4s,border-color .4s,box-shadow .4s}
.reveal .qcm .lettre{flex:none;width:40px;height:40px;border-radius:50%;background:var(--t2);color:#0b1220;font-weight:800;display:grid;place-items:center;font-size:1.1em}
.reveal .qcm .reponse{font-size:.68em;line-height:1.38;margin-top:14px;padding:12px 18px;border-radius:14px;border-left:5px solid var(--ok);background:rgba(72,187,120,.1)}
.reveal .qcm .reponse b{color:var(--ok)}
.reveal .qcm:has(.reponse.visible) .reps li{opacity:.4}
.reveal .qcm:has(.reponse.visible) .reps li.bonne{opacity:1;border-color:var(--t1);box-shadow:0 0 0 3px rgba(79,209,197,.35)}
.reveal .qcm:has(.reponse.visible) .reps li.bonne .lettre{background:var(--t1)}
.reveal .qcm:not(:has(li.bonne)):has(.reponse.visible) .reps li{opacity:1}

/* Refonte Astra : images lisibles, une idée par écran, détails dans les notes. */
:root{--ok:#66d5ac}
.reveal .slides section{box-sizing:border-box;padding:20px 24px 0}
.reveal h2{font-size:1.45em;line-height:1.12;margin:0 0 28px}
.reveal h2::after{display:none}
.reveal p{margin:.5em 0}
.reveal strong{background:none;color:var(--t1)}
.reveal .rubrique{font-size:17px;letter-spacing:.09em;text-transform:uppercase;color:var(--t1);font-weight:700}
.reveal .phrase{font-size:34px;line-height:1.35;max-width:1040px}
.reveal .retenir{margin-top:30px;padding-top:20px;border-top:2px solid var(--t1);font-size:27px;line-height:1.4}
.reveal .petit{font-size:19px;line-height:1.45}
.reveal .respiration{font-size:27px;color:var(--muet);margin-top:40px}
.reveal .slides section.chapitre{display:grid!important;grid-template-columns:46% 54%;gap:0;align-items:center;height:720px;padding:0}
.reveal .chapitre-texte{padding:34px 44px 34px 18px}
.reveal .chapitre h1{font-size:66px;line-height:1.04;letter-spacing:-.04em;margin:22px 0}
.reveal .chapitre-texte>p:last-child{font-size:28px;color:#bec9dc;line-height:1.5}
.reveal .chapitre figure{margin:0;height:650px;position:relative;overflow:hidden;border-radius:6px}
.reveal .chapitre img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.reveal .chapitre figcaption{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;background:rgba(11,18,32,.82);font-size:14px;color:#d5dced}
.reveal .parcours{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:100px}
.reveal .parcours>div{border-top:2px solid var(--bord);padding-top:24px}
.reveal .parcours b{font-size:66px;color:var(--t1);font-weight:500}
.reveal .parcours h3{font-size:30px;line-height:1.15;margin-top:26px}
.reveal .parcours p{font-size:25px;color:#bdc9dc}
.reveal .trois-etapes{grid-template-columns:repeat(3,1fr);margin-top:80px}
.reveal .cas-illustre{display:grid;grid-template-columns:57% 43%;gap:0;align-items:center;margin-top:35px}
.reveal .cas-illustre>img{width:100%;height:460px;object-fit:cover;border-radius:5px}
.reveal .cas-illustre>div{padding-left:36px}
.reveal .cas-illustre p{font-size:27px;line-height:1.38}
.reveal .cas-illustre .phrase{font-size:34px;font-weight:600}
.reveal .familles-claires,.reveal .controle{display:grid;grid-template-columns:1fr 1fr;gap:50px 70px;margin-top:50px}
.reveal .familles-claires>div,.reveal .controle>div{border-left:4px solid var(--t1);padding-left:24px}
.reveal .familles-claires h3,.reveal .controle b{font-size:31px;color:var(--t1)}
.reveal .familles-claires p,.reveal .controle p{font-size:28px;color:#c6d1e2}
.reveal section.anime h2{font-size:37px;margin-bottom:15px}
.reveal section.anime canvas{max-width:1135px;margin:0 auto;border-radius:5px;background:rgba(255,255,255,.03)}
.reveal .recit{margin-top:15px;min-height:80px}
.reveal .recit p{font-size:27px;line-height:1.32;padding:14px 20px;border-radius:4px}
.reveal .modele-note{font-size:14px;color:var(--muet);margin:8px 0 0}
.reveal .pied{display:flex;align-items:center;gap:24px;bottom:12px;left:24px;font-size:13px}
.reveal .pied a{font-size:14px}
.reveal section.qcm h2{font-size:42px}
.reveal .qcm .question{font-size:30px;padding:20px 24px;border-radius:4px;margin:20px 0 28px}
.reveal .qcm .reps{gap:22px}
.reveal .qcm .reps li{min-height:88px;font-size:27px;border-radius:4px;padding:18px 20px;box-sizing:border-box}
.reveal .qcm .reponse{font-size:26px;line-height:1.4;margin-top:28px;border-radius:4px}
.reveal .qcm .lettre{width:42px;height:42px;font-size:25px}
.reveal .qcm:has(.reponse.visible) .reps li{opacity:.55}
.reveal .document-exemple{max-width:1080px;margin:40px auto}
.reveal blockquote{margin:25px 0;background:#e9eef5;color:#162335;border:0;border-radius:4px;padding:30px 36px;width:auto;box-shadow:none;font-size:38px;font-style:normal;line-height:1.4}
.reveal .prompt{font-size:28px;line-height:1.4;padding:20px 0;color:#bdc9dc}
.reveal .resultat{display:flex;align-items:center;gap:42px;background:rgba(79,209,197,.09);border-left:5px solid var(--t1);padding:22px 30px;margin-top:25px}
.reveal .resultat b{font-size:64px;color:var(--t1);white-space:nowrap}
.reveal .resultat span{font-size:28px;line-height:1.4}
.reveal .mesures{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin:80px 0 55px}
.reveal .mesures div{border-bottom:2px solid var(--bord);padding-bottom:25px}
.reveal .mesures b{display:block;font-size:88px;color:var(--t1);font-weight:500}
.reveal .mesures span{font-size:27px;color:#bdc9dc}
.reveal .duo-images{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:55px}
.reveal .duo-images figure{margin:0}
.reveal .duo-images img{width:100%;height:310px;object-fit:cover;display:block;border-radius:5px}
.reveal .duo-images figcaption{font-size:23px;color:#bdc9dc;margin-top:16px}
.reveal .pause{text-align:center!important;padding-top:130px!important}
.reveal .pause-heure{font-size:150px;color:var(--t1);font-weight:500;letter-spacing:-.04em}
.reveal .pause .phrase{margin:auto}
.reveal .grand-titre{font-size:58px;margin:65px 0 45px;max-width:950px}
.reveal .source{font-size:16px;top:710px;left:24px;right:24px}
.reveal .atelier{max-width:1100px;margin:30px auto}
.reveal .atelier p,.reveal .atelier li{font-size:26px;line-height:1.4}
.reveal .atelier li{margin:16px 0}
.reveal .chiffres-ouverts{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:85px 0 60px}
.reveal .chiffres-ouverts b{font-size:83px;color:var(--t1);font-weight:500;letter-spacing:-.04em}
.reveal .chiffres-ouverts p{font-size:27px}
.reveal .chiffres-ouverts .rubrique{font-size:17px}
.reveal .choix-usages{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:95px 0 70px}
.reveal .choix-usages h3{font-size:33px;color:var(--t1);line-height:1.25}
.reveal .choix-usages p{font-size:28px;line-height:1.45}
@media(prefers-reduced-motion:reduce){.reveal .badge::before{animation:none}}
.reveal .bio h2{font-size:60px;margin-bottom:8px}
.reveal .bio-fil{font-size:28px;color:var(--t1);margin:0 0 26px}
.reveal .bio-actuel{display:grid;grid-template-columns:230px 1fr;gap:38px;align-items:center;padding:26px 30px;background:rgba(79,209,197,.07);border-left:4px solid var(--t1)}
.reveal .bio-actuel>img{width:210px;padding:16px;background:#fff;border-radius:4px}
.reveal .bio-actuel h3{font-size:35px;line-height:1.12;margin:10px 0}
.reveal .bio-actuel p{font-size:23px;line-height:1.35;margin:8px 0}
.reveal .bio-actuel .rubrique{font-size:16px}
.reveal .bio-parcours{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:40px}
.reveal .bio-parcours>div{border-top:2px solid var(--bord);padding-top:13px;position:relative}
.reveal .bio-parcours h3{font-size:26px;line-height:1.18;min-height:58px;margin:14px 0 0}
.reveal .bio-parcours p{font-size:22px;line-height:1.35}
.reveal .bio-parcours .rubrique{font-size:16px}
.reveal .bio-parcours img{background:#fff;object-fit:contain;width:88px;height:58px;padding:6px;border-radius:3px;margin-top:6px}
.reveal .programme-exact{display:flex;flex-direction:column;gap:20px;margin-top:35px}
.reveal .programme-exact>div{display:grid;grid-template-columns:65px 1fr;gap:15px;align-items:start}
.reveal .programme-exact>div>b{font-size:42px;font-weight:500;color:var(--t1);line-height:1.2}
.reveal .programme-exact p{margin:0}
.reveal .programme-exact strong{display:block;font-size:31px;color:var(--encre);line-height:1.2}
.reveal .programme-exact span{display:block;font-size:24px;line-height:1.35;color:#bdc9dc;margin-top:5px}

.reveal .plein-ecran{font:inherit;color:var(--texte,#e5e9f0);background:#182438;border:1px solid #7e9af5;border-radius:6px;padding:7px 12px;cursor:pointer;white-space:nowrap}
.reveal .plein-ecran:hover{background:#263854}
.reveal .plein-ecran:focus-visible{outline:3px solid #48cfc0;outline-offset:3px}
.reveal .plein-ecran-statut{font-size:12px}
@media(max-width:700px){.reveal .pied{gap:12px;left:12px}.reveal .pied>span:first-child{display:none}.reveal .plein-ecran-statut{position:absolute;bottom:40px}}
@media print{.reveal .plein-ecran,.reveal .plein-ecran-statut{display:none}}
