/* Académie IA — feuille unique. Palette : encre nuit + papier chaud + aurore (violet/menthe/ambre). */
:root{--ink:#0B0F1A;--ink-2:#121826;--ink-3:#1B2233;--paper:#F7F4EE;--paper-2:#FFFFFF;--text:#14121A;--text-2:#4B4A55;--text-dark:#F4F1EA;--text-dark-2:#B9BCC9;--line:rgba(20,18,26,.1);--line-dark:rgba(244,241,234,.12);--violet:#7C5CFF;--accent-soft:#A99BFF;--mint:#2DD4BF;--amber:#FFB86B;--rose:#FF6B9D;--grad:linear-gradient(120deg,var(--violet),var(--mint) 55%,var(--amber));--r:18px;--r-s:12px;--shadow:0 20px 60px -20px rgba(11,15,26,.35);--font:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--serif:"Instrument Serif",Georgia,"Times New Roman",serif;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--text);background:var(--paper);line-height:1.55;font-size:17px;overflow-x:clip}
body.home,body.page-dark{background:var(--ink);color:var(--text-dark)}
img{max-width:100%;display:block}a{color:inherit}button{font:inherit;cursor:pointer}
h1,h2,h3{font-weight:600;letter-spacing:-.02em;line-height:1.08;margin:0 0 .5em;text-wrap:balance}h1{line-height:1.04}
h1{font-size:clamp(2.4rem,5.4vw,4.6rem);font-weight:500}h2{font-size:clamp(1.9rem,3.6vw,3.1rem);font-weight:500}h3{font-size:1.25rem}
h1 em,h2 em,.brand em{font-family:var(--serif);font-style:italic;font-weight:400;padding-right:.06em;color:var(--violet)}.dark h2 em,.page-dark h1 em,.page-dark h2 em,.home h1 em,.home h2 em{color:var(--accent-soft)}
/* un seul accent : le dégradé aurore reste réservé au titre du hero, au dernier appel et au bouton principal */
.home .hero h1 em,.final h2 em,.brand em{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}.narrow{max-width:760px}.center{text-align:center}.mt{margin-top:2rem}
.muted{color:var(--text-2)}.dark .muted,.page-dark .muted,.home .muted{color:var(--text-dark-2)}.small{font-size:.9rem}
.eyebrow{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--violet);margin:0 0 1rem}.dark .eyebrow,.page-dark .eyebrow,.home .eyebrow{color:var(--accent-soft)}
.lede{font-size:clamp(1.05rem,1.4vw,1.3rem);color:var(--text-2);max-width:62ch;margin:0 0 1.6rem;text-wrap:pretty}.dark .lede,.page-dark .lede,.home .hero .lede{color:var(--text-dark-2)}
.skip{position:absolute;left:-999px;top:0;background:var(--amber);color:var(--ink);padding:.5rem 1rem;z-index:100}.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--mint);outline-offset:3px;border-radius:6px}
/* boutons */
.btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:.9rem 1.5rem;border-radius:999px;border:1px solid transparent;font-weight:600;text-decoration:none;line-height:1.1;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s;white-space:nowrap;position:relative;z-index:2}
.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.98)}
.btn-primary{background:var(--grad);color:var(--ink);box-shadow:0 10px 30px -10px rgba(124,92,255,.6)}.btn-primary:hover{box-shadow:0 18px 40px -12px rgba(45,212,191,.55)}
.btn-ghost{background:rgba(255,255,255,.06);color:var(--text-dark);border-color:var(--line-dark);backdrop-filter:blur(8px)}.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-dark{background:var(--ink);color:var(--text-dark)}.btn-ghost-dark{background:transparent;color:var(--text);border-color:var(--line)}
.btn-big{padding:1.1rem 1.9rem;font-size:1.05rem}.btn-small{padding:.65rem 1.1rem;font-size:.92rem}.btn-block{width:100%}
.btn-sub{display:block;font-size:.72rem;font-weight:500;opacity:.75;margin-top:.15rem;letter-spacing:.01em}.btn-small .btn-sub{display:none}
.arrow{display:inline-block;margin-left:.4em;transition:transform .3s var(--ease)}.btn:hover .arrow{transform:translateX(4px)}
.linklike{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer}
.buy{display:inline-block}
/* nav */
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(11,15,26,.55);border-bottom:1px solid var(--line-dark);transition:background .3s}
.page-light .nav,.checkout .nav{background:rgba(247,244,238,.75);border-color:var(--line);color:var(--text)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:68px}
.brand{font-weight:600;font-size:1.2rem;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;letter-spacing:-.01em}.brand-mark{width:22px;height:22px;border-radius:7px;background:var(--grad);box-shadow:0 0 0 3px rgba(124,92,255,.25)}
.nav-links{display:flex;gap:1.6rem}.nav-links a{text-decoration:none;font-weight:500;opacity:.8}.nav-links a:hover{opacity:1}
.nav-cta{display:flex;gap:1rem;align-items:center}.nav-login{text-decoration:none;font-weight:500;opacity:.85}
@media (max-width:760px){.nav-links{display:none}.nav-login{display:none}}
/* aurore */
.aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.aurora i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;mix-blend-mode:screen;animation:drift 18s var(--ease) infinite alternate}
.aurora i:nth-child(1){width:60vw;height:60vw;left:-15vw;top:-20vw;background:var(--violet)}.aurora i:nth-child(2){width:50vw;height:50vw;right:-15vw;top:0;background:var(--mint);animation-duration:23s;animation-delay:-6s}.aurora i:nth-child(3){width:40vw;height:40vw;left:35vw;bottom:-25vw;background:var(--amber);opacity:.35;animation-duration:27s;animation-delay:-12s}
.aurora.small i{opacity:.32}
@keyframes drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(8vw,6vw,0) scale(1.15)}}
/* hero */
.hero{position:relative;padding:clamp(4rem,10vh,8rem) 0 clamp(6rem,14vh,10rem);overflow:hidden;isolation:isolate}
.hero-in{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}.hero h1{font-size:clamp(2.4rem,4.6vw,4.1rem)}
.hero-copy h1{margin-bottom:1.1rem}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin:2rem 0 1rem}.hero-cta.center{justify-content:center}
.hero-trust{color:var(--text-dark-2);font-size:.92rem;margin:0}
.hero-visual{position:relative;height:460px;perspective:1200px}
.stack{position:absolute;inset:0;transform-style:preserve-3d}
.lesson-card{position:absolute;width:min(360px,80%);padding:1.3rem 1.4rem;border-radius:var(--r);background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 40px 80px -30px rgba(0,0,0,.7);display:flex;flex-direction:column;gap:.5rem;color:var(--text-dark);will-change:transform}
.lesson-card strong{font-size:1.05rem;line-height:1.3;font-weight:600}.lc-tag{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-soft);font-weight:600}.lc-meta{font-size:.82rem;color:var(--text-dark-2)}
.lc-bar{display:block;height:6px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden}.lc-bar i{display:block;height:100%;background:var(--grad);border-radius:99px;transform-origin:left;animation:grow 1.6s var(--ease) both}
@keyframes grow{from{transform:scaleX(0)}}
.lc1{right:6%;top:6%;transform:rotate(-4deg) translateZ(60px);animation:float 9s ease-in-out infinite}.lc2{left:0;top:38%;transform:rotate(3deg) translateZ(20px);animation:float 11s ease-in-out infinite reverse}.lc3{right:0;bottom:2%;transform:rotate(-2deg);animation:float 13s ease-in-out infinite;opacity:.92}
@keyframes float{50%{translate:0 -14px}}
@media (max-width:900px){.hero-in{grid-template-columns:1fr}.hero-visual{height:380px;margin-top:1rem}.lesson-card{width:min(320px,86%)}}
/* transitions de sections : bandes diagonales visibles */
.divider{position:absolute;left:0;right:0;bottom:-1px;height:clamp(60px,9vw,130px);z-index:2;pointer-events:none}
.divider-dark-to-light{background:var(--paper);clip-path:polygon(0 100%,100% 100%,100% 0)}
.divider-light-to-dark{background:var(--ink);clip-path:polygon(0 100%,100% 100%,0 0)}
section.dark,section.light{position:relative}
section.dark{background:var(--ink);color:var(--text-dark);padding:clamp(4rem,9vw,7rem) 0 clamp(7rem,13vw,10rem)}
section.light{background:var(--paper);color:var(--text);padding:clamp(4rem,9vw,7rem) 0 clamp(7rem,13vw,10rem)}
.sec-head{max-width:760px;margin-bottom:3rem}
/* bandeau défilant */
.band{background:var(--paper);color:var(--text);padding:2.2rem 0 1.5rem;overflow:hidden;position:relative;z-index:3}
.band-label{text-align:center;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--text-2);margin:0 0 1rem}
.marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee-track{display:flex;gap:1rem;width:max-content;animation:marquee 60s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.chip{flex:0 0 auto;display:inline-flex;gap:.6rem;align-items:center;padding:.8rem 1.2rem;border-radius:999px;background:var(--paper-2);border:1px solid var(--line);text-decoration:none;font-size:.95rem;box-shadow:0 8px 24px -14px rgba(11,15,26,.3);transition:transform .3s var(--ease)}.chip:hover{transform:translateY(-3px)}
.chip b{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--violet);font-size:1.1rem}
/* chiffres */
.stats{padding:2rem 0 clamp(7rem,13vw,10rem)!important}
.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.2rem}
@media (max-width:1000px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:560px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
.stat{padding:1.5rem 1.2rem;border-radius:var(--r);background:var(--paper-2);border:1px solid var(--line);display:flex;flex-direction:column;gap:.2rem;box-shadow:0 10px 30px -20px rgba(11,15,26,.3)}
.stat-n{font-family:var(--serif);font-size:clamp(2.4rem,4vw,3.4rem);line-height:1;color:var(--ink)}
.stat-l{font-weight:600}.stat-s{font-size:.85rem;color:var(--text-2)}
/* cartes formation */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.4rem}
.card{position:relative;padding:1.6rem;border-radius:var(--r);background:linear-gradient(160deg,var(--ink-3),var(--ink-2));border:1px solid var(--line-dark);display:flex;flex-direction:column;gap:.8rem;transition:transform .45s var(--ease),border-color .3s,box-shadow .45s var(--ease);transform-style:preserve-3d;overflow:hidden}
.card::before{content:"";position:absolute;inset:-1px;background:var(--grad);opacity:0;transition:opacity .4s;z-index:0;mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);mask-composite:exclude;-webkit-mask-composite:xor;padding:1px;border-radius:inherit}
.card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(124,92,255,.5)}.card:hover::before{opacity:1}
.card-link{position:absolute;inset:0;z-index:1;border-radius:inherit}
.card>*:not(.card-link){position:relative;z-index:2;pointer-events:none}.card .card-foot,.card .card-foot *{pointer-events:auto}
.card-top{display:flex;justify-content:space-between;align-items:center}
.card-num{font-family:var(--serif);font-style:italic;font-size:1.4rem;color:var(--accent-soft)}.card-level{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dark-2);border:1px solid var(--line-dark);padding:.25rem .6rem;border-radius:99px}
.card-title{font-size:1.35rem;line-height:1.2;margin:0}.card-outcome{color:var(--text-dark-2);margin:0;font-size:.98rem;flex:1}
.card-facts{display:flex;gap:.9rem;flex-wrap:wrap;list-style:none;margin:0;padding:0;font-size:.85rem;color:var(--text-dark-2)}.card-facts li::before{content:"·";margin-right:.4rem;color:var(--violet)}.card-facts li:first-child::before{content:none}
.card-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:.8rem;border-top:1px solid var(--line-dark);margin-top:.2rem}
.price{font-weight:600;font-size:1.3rem;display:inline-flex;flex-direction:column;align-items:flex-start;gap:.1rem}.price.big{font-size:2.2rem;font-family:var(--serif)}
.price-from{font:500 .78rem/1 var(--font);letter-spacing:.02em;color:var(--text-2)}.dark .price-from,.home .price-from,.page-dark .price-from{color:var(--text-dark-2)}.price-ask{font-family:var(--serif);font-style:italic;font-weight:400}
.buy-label{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);margin:0 0 .2rem}
.bundle{margin-top:3rem;padding:2.2rem;border-radius:var(--r);background:linear-gradient(120deg,rgba(124,92,255,.22),rgba(45,212,191,.14) 60%,rgba(255,184,107,.14));border:1px solid var(--line-dark);display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:center}
.bundle h3{font-size:2rem;font-family:var(--serif);font-weight:400}.bundle-buy{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}
@media (max-width:820px){.bundle{grid-template-columns:1fr}}
/* méthode */
.method-in{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:start}
.method-sticky{position:sticky;top:100px}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.2rem}
.step{padding:1.8rem;border-radius:var(--r);background:var(--paper-2);border:1px solid var(--line);box-shadow:var(--shadow);position:relative}
.step-n{font-family:var(--serif);font-size:2.6rem;line-height:1;color:var(--violet);display:block;margin-bottom:.6rem}
.dark .step{background:var(--ink-2);border-color:var(--line-dark);box-shadow:none}.dark .step p{color:var(--text-dark-2)}.dark .step-n{color:var(--accent-soft)}
.step p{margin:0;color:var(--text-2)}
@media (max-width:900px){.method-in{grid-template-columns:1fr}.method-sticky{position:static}}
/* honnêteté */
.honest-in{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.honest-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}
.honest-list li{padding:1.2rem 1.4rem 1.2rem 3.2rem;border-radius:var(--r-s);background:var(--ink-2);border:1px solid var(--line-dark);position:relative;color:var(--text-dark-2)}
.honest-list li strong{color:var(--text-dark)}.honest-list li::before{content:"✓";position:absolute;left:1.2rem;top:1.15rem;color:var(--accent-soft);font-weight:700}
@media (max-width:900px){.honest-in{grid-template-columns:1fr}}
/* faq */
.faq{border-bottom:1px solid var(--line);padding:.2rem 0}.faq summary{cursor:pointer;font-weight:600;font-size:1.1rem;padding:1.1rem 2.4rem 1.1rem 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";position:absolute;right:.4rem;top:.9rem;font-size:1.6rem;font-weight:300;color:var(--violet);transition:transform .3s}.faq[open] summary::after{transform:rotate(45deg)}
.faq-a{padding:0 0 1.2rem;color:var(--text-2)}.faq-a p{margin:0 0 .6rem}
.final{overflow:hidden;isolation:isolate}.final-in{position:relative;z-index:1}
/* accueil en 6 temps */
.problem-in{max-width:1080px}.problem-cols{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:2.5rem;margin-top:1.8rem}.problem-cols p{margin:0;color:var(--text-2);font-size:1.02rem;text-wrap:pretty}.problem-cols p:first-child{font-size:1.28rem;line-height:1.4;color:var(--text)}
.build .marquee{margin:.5rem 0 3.5rem}.projects h3{font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);margin-bottom:1.2rem}
.project-list{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.project{display:flex;flex-direction:column;gap:.5rem;padding-top:1.2rem;border-top:2px solid var(--ink);text-decoration:none;color:var(--text);transition:transform .4s var(--ease)}.project:hover{transform:translateY(-4px)}.project .card-num{color:var(--violet)}.project strong{font-size:1.15rem;line-height:1.25}.project p{margin:0;color:var(--text-2);flex:1;text-wrap:pretty}.linkish{color:var(--violet);font-weight:600;font-size:.95rem}
.proof .stats-grid{margin-bottom:3.5rem}.dark .stat{background:var(--ink-2);border-color:var(--line-dark);box-shadow:none}.dark .stat-n{color:var(--text-dark)}.dark .stat-s{color:var(--text-dark-2)}
.proof .honest-in{grid-template-columns:1.15fr .85fr;align-items:stretch}.try{padding:2rem;border-radius:var(--r);background:linear-gradient(160deg,rgba(124,92,255,.22),rgba(124,92,255,.05));border:1px solid var(--line-dark);display:flex;flex-direction:column;gap:.6rem;align-items:flex-start}.try h3{font-family:var(--serif);font-weight:400;font-size:1.9rem;line-height:1.1;margin:0}.try p{color:var(--text-dark-2);margin:0 0 .6rem}
.card{color:var(--text-dark)}.light .bundle{background:linear-gradient(120deg,var(--ink-3),var(--ink-2));color:var(--text-dark);border-color:var(--line-dark)}.light .bundle .muted,.bundle .price-from{color:var(--text-dark-2)}
.offer-in{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}.guarantee{list-style:none;margin:0;padding:1.8rem;border-radius:var(--r);background:rgba(255,255,255,.05);border:1px solid var(--line-dark);display:flex;flex-direction:column;gap:.9rem;color:var(--text-dark-2)}.guarantee strong{color:var(--text-dark)}.faq-more{margin-top:2rem}
.crumbs ol{list-style:none;margin:0 0 1.2rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;font-size:.86rem;color:var(--text-dark-2)}.crumbs li+li::before{content:"/";margin-right:.5rem;opacity:.5}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}
@media (max-width:900px){.problem-cols,.project-list,.offer-in{grid-template-columns:1fr}.proof .honest-in{grid-template-columns:1fr}}
/* footer */
.footer{background:var(--ink);color:var(--text-dark-2);padding:3rem 0 2.5rem;border-top:1px solid var(--line-dark)}
.foot-in{display:grid;grid-template-columns:1.3fr 1.2fr .8fr;gap:2.5rem}.foot-in nav strong{color:var(--text-dark);margin-bottom:.3rem}.foot-formations a{font-size:.9rem}.foot-in nav{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.foot-in a{text-decoration:none}.foot-in .brand{color:var(--text-dark)}
.foot-in>.small{grid-column:1/-1;border-top:1px solid var(--line-dark);padding-top:1.2rem}
@media (max-width:860px){.foot-in{grid-template-columns:1fr}}
/* pages */
.page-hero{position:relative;padding:clamp(3rem,7vw,5.5rem) 0 clamp(5rem,10vw,8rem);overflow:hidden;isolation:isolate;background:var(--ink);color:var(--text-dark)}
.page-hero .wrap{position:relative;z-index:1}.page-hero.center{text-align:center;padding-bottom:clamp(4rem,8vw,6rem)}
.f-hero-in{display:grid;grid-template-columns:1.4fr .8fr;gap:3rem;align-items:center}
.facts{padding:1.6rem;border-radius:var(--r);background:rgba(255,255,255,.06);border:1px solid var(--line-dark);backdrop-filter:blur(10px)}
.facts dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.facts dt{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dark-2)}.facts dd{margin:0;font-weight:600;font-size:1.15rem}
@media (max-width:900px){.f-hero-in{grid-template-columns:1fr}}
.f-body{padding-top:clamp(2rem,5vw,4rem)!important}
.f-cols{display:grid;grid-template-columns:1fr 340px;gap:3rem;align-items:start}
@media (max-width:960px){.f-cols{grid-template-columns:1fr}.f-side{order:-1}}
.f-main>*+*{margin-top:3rem}
.sticky-buy{position:sticky;top:96px;padding:1.6rem;border-radius:var(--r);background:var(--paper-2);border:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.6rem}
.sticky-buy .buy,.sticky-buy .btn{width:100%}.sticky-buy .btn{width:100%}
.check{list-style:none;padding:0;margin:.6rem 0 0;display:flex;flex-direction:column;gap:.4rem;font-size:.92rem;color:var(--text-2)}.check li::before{content:"✓";color:var(--violet);font-weight:700;margin-right:.5rem}
.prose{max-width:72ch}.prose h2{font-size:1.9rem;margin-top:0}.prose h3{margin-top:1.6em}.prose p,.prose li{color:var(--text-2);text-wrap:pretty}.prose blockquote{margin:1.2rem 0;padding:.8rem 1.2rem;border-left:3px solid var(--violet);background:var(--paper-2);border-radius:0 var(--r-s) var(--r-s) 0}
.prose table{border-collapse:collapse;width:100%;font-size:.92rem;margin:1rem 0}.prose th,.prose td{border:1px solid var(--line);padding:.55rem .7rem;text-align:left;vertical-align:top}.prose th{background:var(--paper-2)}
.prose code{background:rgba(124,92,255,.1);padding:.1em .35em;border-radius:5px;font-size:.9em}.prose pre{background:var(--ink);color:var(--text-dark);padding:1rem 1.2rem;border-radius:var(--r-s);overflow:auto;font-size:.9rem}.prose pre code{background:none;padding:0;color:inherit}
.prose a{color:var(--violet)}.prose hr{border:0;border-top:1px solid var(--line);margin:2rem 0}
.modules{list-style:none;padding:0;margin:1.5rem 0 0;display:flex;flex-direction:column;gap:.6rem}
.module details{border-radius:var(--r-s);background:var(--paper-2);border:1px solid var(--line);overflow:hidden}
.module summary{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;cursor:pointer;list-style:none;font-weight:600}.module summary::-webkit-details-marker{display:none}
.mod-n{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--violet);white-space:nowrap;min-width:6.5rem}.mod-t{flex:1}.mod-c{font-size:.8rem;color:var(--text-2);white-space:nowrap}
.lessons{list-style:none;margin:0;padding:0 1.2rem 1rem 1.2rem;display:flex;flex-direction:column}
.lessons li{display:flex;align-items:center;gap:.8rem;padding:.6rem 0;border-top:1px solid var(--line);color:var(--text-2);font-size:.96rem}.lessons li a{color:var(--text);text-decoration:none;font-weight:500}.lessons li a:hover{color:var(--violet)}.lessons li>a,.lessons li>span{flex:1}
.lessons li.done>a::before{content:"✓ ";color:var(--mint);font-weight:700}
.badge{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .55rem;border-radius:99px;border:1px solid var(--line);color:var(--text-2);white-space:nowrap}.badge-on{background:rgba(45,212,191,.15);border-color:transparent;color:#0f766e}.badge-free{background:rgba(255,184,107,.25);border-color:transparent;color:#8a4b12}
/* paiement */
.checkout main{min-height:70vh}.pay-cols{display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;align-items:start}
@media (max-width:900px){.pay-cols{grid-template-columns:1fr}}
.back{display:inline-block;text-decoration:none;color:var(--text-2);margin-bottom:1.2rem;font-size:.92rem}.back:hover{color:var(--violet)}
.pay-summary h1{font-size:2rem}.totals{margin:1.5rem 0;border-top:1px solid var(--line)}.totals div{display:flex;justify-content:space-between;padding:.7rem 0;border-bottom:1px solid var(--line)}.totals dd{margin:0;font-weight:600}.totals .tot{font-size:1.25rem}
.pay-form{padding:2rem;border-radius:var(--r);background:var(--paper-2);border:1px solid var(--line);box-shadow:var(--shadow)}
.testmode{background:#FFF4E3;color:#8a4b12;border:1px solid #f4d9b5;border-radius:var(--r-s);padding:.8rem 1rem;font-size:.92rem;margin-bottom:1.2rem}.testmode code{background:#fff;padding:.1em .4em;border-radius:5px}
.alert{background:#fde8ee;color:#9f1239;border-radius:var(--r-s);padding:.8rem 1rem;font-size:.95rem}
.form{display:flex;flex-direction:column;gap:1rem}.form label{display:flex;flex-direction:column;gap:.35rem;font-weight:500;font-size:.95rem}.form input{font:inherit;padding:.85rem 1rem;border-radius:var(--r-s);border:1px solid var(--line);background:var(--paper);color:var(--text)}.form input:focus{border-color:var(--violet);outline:none;box-shadow:0 0 0 4px rgba(124,92,255,.15)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field-static{margin:0;padding:.85rem 1rem;border-radius:var(--r-s);background:var(--paper)}
.form-page{padding:1rem 0}.form-page h1{font-size:2.6rem}
/* compte + parcours */
.owned{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.4rem;margin:2rem 0 3rem}
.owned-card{display:flex;flex-direction:column;gap:.7rem;padding:1.6rem;border-radius:var(--r);background:var(--paper-2);border:1px solid var(--line);text-decoration:none;box-shadow:var(--shadow);transition:transform .4s var(--ease)}.owned-card:hover{transform:translateY(-5px)}.owned-card h3{margin:0;font-size:1.25rem}.owned-card .lc-bar{background:var(--line)}
.table{width:100%;border-collapse:collapse;font-size:.95rem;margin:1rem 0 2rem}.table th,.table td{text-align:left;padding:.7rem .5rem;border-bottom:1px solid var(--line)}
.progress-line{display:grid;grid-template-columns:1fr auto auto;gap:1.2rem;align-items:center;margin:1.5rem 0 2.5rem;padding:1.2rem 1.4rem;border-radius:var(--r);background:var(--paper-2);border:1px solid var(--line)}.progress-line .lc-bar{background:var(--line);height:8px}
@media (max-width:760px){.progress-line{grid-template-columns:1fr}}
/* lecture */
.read-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;background:transparent}.read-progress i{display:block;height:100%;width:0;background:var(--grad)}
.read-cols{display:grid;grid-template-columns:280px 1fr;gap:3.5rem;align-items:start}
@media (max-width:960px){.read-cols{grid-template-columns:1fr}.read-side{display:none}}
.read-side{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;font-size:.9rem}
.toc{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem}.toc>li>span{display:block;padding:.45rem .6rem;color:var(--text-2);border-radius:8px}.toc>li.cur>span{color:var(--violet);font-weight:600}
.toc ol{list-style:none;padding:0 0 .4rem .6rem;margin:0;border-left:2px solid var(--line);margin-left:.6rem}.toc ol li{padding:.3rem .6rem;color:var(--text-2)}.toc ol li a{text-decoration:none;color:var(--text)}.toc ol li.cur{color:var(--text);font-weight:600;background:rgba(124,92,255,.08);border-radius:6px}.toc ol li.done a::before{content:"✓ ";color:var(--mint)}
.read-main{max-width:78ch}.read-main h1{font-size:clamp(2rem,3.6vw,3rem)}.read-meta{margin-top:-.5rem}
.preview-banner{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:1rem 1.2rem;border-radius:var(--r-s);background:linear-gradient(120deg,rgba(124,92,255,.12),rgba(45,212,191,.12));border:1px solid var(--line);margin-bottom:2rem}
.objectives{padding:1.3rem 1.5rem;border-radius:var(--r);background:var(--paper-2);border:1px solid var(--line);margin:1.5rem 0 2rem}.objectives h2{font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--violet);margin-bottom:.6rem}.objectives ul{margin:0;padding-left:1.2rem;color:var(--text-2)}
.lesson-body h2{font-size:1.7rem;margin-top:2.4rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.block{margin-top:2.5rem;border-radius:var(--r);border:1px solid var(--line);background:var(--paper-2);padding:0 1.5rem}.block summary{padding:1.2rem 0;font-weight:600;font-size:1.15rem;cursor:pointer;list-style:none}.block summary::-webkit-details-marker{display:none}.block[open] summary{border-bottom:1px solid var(--line)}.block .prose{padding:1rem 0 1.4rem}.block h2{font-size:1.15rem;padding:1.2rem 0 .4rem;margin:0}
.resources details{border-top:1px solid var(--line)}.resources summary{font-size:1rem}
.read-foot{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.next{text-decoration:none;font-weight:500;color:var(--violet)}
.cta-inline{padding:2rem;border-radius:var(--r);background:var(--ink);color:var(--text-dark);width:100%}.cta-inline p{color:var(--text-dark-2)}
/* révélation au défilement */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i,0) * 40ms)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.aurora i,.lesson-card,.marquee-track,.lc-bar i{animation:none!important}html{scroll-behavior:auto}}
/* commande / légal */
.form-title{font-size:1rem;letter-spacing:.06em;text-transform:uppercase;color:var(--violet);margin:.4rem 0 0}
.checkbox{flex-direction:row!important;align-items:flex-start;gap:.7rem!important;font-weight:400!important;color:var(--text-2);line-height:1.45}.checkbox input{margin-top:.3rem;width:1.15rem;height:1.15rem;accent-color:var(--violet);flex:none}
.foot-legal{grid-column:1/-1;display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:.5rem 1.4rem!important;font-size:.88rem;padding-top:.4rem}
.legal h2{font-size:1.35rem;margin-top:2rem}.legal ol,.legal ul{color:var(--text-2)}
.receipt th{width:34%;color:var(--text-2);font-weight:500}
.price small{font-size:.9rem;font-family:var(--font);color:var(--text-2)}

.totals div{gap:1.2rem;align-items:baseline}.totals dd.small{text-align:right;max-width:68%;font-weight:500;color:var(--text-2)}
.page-light .btn-ghost,.checkout .btn-ghost{color:var(--text);background:rgba(20,18,26,.05);border-color:var(--line)}.page-light .btn-ghost:hover{background:rgba(20,18,26,.1)}
.checkbox span{flex:1}
