/* INTERCOURS — feuille de style.
   Partie 1 : reprise telle quelle de la maquette d'origine (index.html). */
:root{--cream:#f6f2e9;--ink:#182521;--green:#225c47;--lime:#d9ef80;--orange:#ed744b;--line:#d4d6c8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--lime);color:var(--ink)}.shell{max-width:1480px;margin:auto;padding:0 clamp(22px,5vw,84px)}.top{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-family:"Space Grotesk";font-weight:700;letter-spacing:-.065em;font-size:25px}.brandmark{width:38px;height:38px;background:var(--ink);color:var(--lime);display:grid;place-items:center;border-radius:50%;font-size:23px;letter-spacing:-.09em;padding-right:3px}.nav{display:flex;gap:36px;font-size:13px;font-weight:700}.nav a:hover{color:var(--green)}.nav-cta{background:var(--ink);color:white;padding:14px 22px;border-radius:100px;font-size:13px;font-weight:700}.nav-cta:hover{background:var(--green)}.eyebrow{font-size:12px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:12px}.eyebrow:before{content:"";height:9px;width:9px;background:var(--orange);border-radius:50%}.round-link{width:120px;height:120px;background:var(--orange);border-radius:50%;display:grid;place-items:center;text-align:center;transform:rotate(-12deg);font-size:14px;font-weight:700;line-height:1.25;transition:transform .3s}.round-link:hover{transform:rotate(0deg) scale(1.06)}.ticker{background:var(--ink);color:var(--cream);overflow:hidden;white-space:nowrap;padding:18px 0;font-size:13px;font-weight:700;letter-spacing:.14em}.ticker div{display:inline-block;animation:marquee 35s linear infinite}.ticker span{padding:0 40px}.ticker b{display:inline-block;width:7px;height:7px;margin:0 14px;border-radius:50%;background:var(--lime);vertical-align:2px}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding-top:130px;padding-bottom:135px}.section-label{font-size:12px;text-transform:uppercase;letter-spacing:.15em;font-weight:700;margin-bottom:32px}.section-title{font-family:"Space Grotesk";font-size:clamp(48px,7vw,100px);letter-spacing:-.075em;line-height:.98;font-weight:600;max-width:1050px;margin:0 0 70px}.section-title em{font-style:normal;color:var(--green)}.courses{border-top:1px solid var(--ink)}.course{display:grid;grid-template-columns:1.1fr 2.2fr auto;align-items:center;gap:20px;padding:34px 8px;border-bottom:1px solid #b9bfb3;transition:background .2s,padding .2s}.course:hover{background:#e7e8d9;padding-left:20px;padding-right:20px}.course .tag{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.course h3{font-family:"Space Grotesk";font-size:clamp(25px,3.3vw,46px);letter-spacing:-.055em;margin:0;font-weight:600}.course .arrow{font-size:38px}.footnote{font-size:12px;color:#5f6b62;margin-top:24px}.statement{background:var(--green);color:var(--cream);overflow:hidden}.statement .shell{position:relative;padding-top:130px;padding-bottom:130px}.statement .eyebrow:before{background:var(--lime)}.statement h2{font-family:"Space Grotesk";font-size:clamp(52px,8.6vw,130px);line-height:.94;letter-spacing:-.08em;font-weight:500;max-width:1100px;margin:70px 0}.statement h2 span{color:var(--lime)}.statement p{max-width:430px;font-size:17px;line-height:1.7;margin-left:auto}.asterisk{position:absolute;right:4%;top:8%;color:var(--lime);font-size:220px;line-height:1;transform:rotate(20deg);opacity:.35}.experience{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.lesson{background:#e5e9d5;min-height:480px;padding:25px;position:relative;transform:rotate(-3deg);box-shadow:18px 18px 0 #d5d9c5}.lesson-head{display:flex;justify-content:space-between;border-bottom:1px solid #abb8a4;padding-bottom:18px;font-size:12px;font-weight:700}.lesson-board{padding:80px 20px 40px;text-align:center}.lesson-board .equation{font-family:"Space Grotesk";font-size:clamp(45px,6vw,85px);letter-spacing:-.08em}.lesson-board .underline{height:12px;background:var(--orange);width:65%;margin:12px auto;transform:rotate(-3deg);border-radius:50%}.lesson-board p{font-size:13px;color:#50665b}.experience h2{font-family:"Space Grotesk";font-size:clamp(43px,5vw,75px);line-height:1.04;letter-spacing:-.07em;margin:0 0 30px}.experience .copy{line-height:1.8;color:#4c5a52;max-width:460px}.pill{display:inline-flex;background:var(--ink);color:white;padding:17px 24px;border-radius:100px;margin-top:24px;font-weight:700;font-size:13px}.pill:hover{background:var(--green)}.info{background:#e9e8dc}.info-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px}.info h2{font-family:"Space Grotesk";font-size:clamp(48px,6vw,90px);letter-spacing:-.08em;line-height:1;margin:0}.info-list{border-top:1px solid #a7b1a5}.info-item{padding:27px 0;border-bottom:1px solid #a7b1a5;display:flex;justify-content:space-between;gap:30px}.info-item strong{font-family:"Space Grotesk";font-size:22px;letter-spacing:-.04em}.info-item span{max-width:240px;color:#59645c;font-size:14px;line-height:1.5}.closing{background:var(--lime);padding:100px 0}.closing h2{font-family:"Space Grotesk";font-size:clamp(70px,11vw,165px);line-height:.86;letter-spacing:-.095em;margin:0 0 60px;font-weight:600}.closing-row{display:flex;justify-content:space-between;align-items:center;gap:30px}.closing p{font-size:16px;max-width:440px;line-height:1.7}.closing .round-link{background:var(--ink);color:white;flex-shrink:0}footer{background:var(--ink);color:white;padding:40px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:13px}footer a{text-decoration:underline;text-underline-offset:4px}.mobile-toggle{display:none}@media(max-width:800px){.top{height:72px}.nav{display:none}.nav-cta{padding:11px 15px}.round-link{width:96px;height:96px;font-size:12px;flex-shrink:0}.section{padding-top:85px;padding-bottom:95px}.course{grid-template-columns:1fr auto;gap:10px}.course .tag{grid-column:1/-1}.course h3{font-size:28px}.statement .shell{padding-top:95px;padding-bottom:100px}.statement h2{margin:65px 0}.asterisk{font-size:130px}.experience{grid-template-columns:1fr;gap:70px}.lesson{min-height:370px}.lesson-board{padding-top:60px}.info-inner{grid-template-columns:1fr;gap:50px}.closing{padding:85px 0}.closing-row{align-items:start}.footer-inner{flex-direction:column;align-items:start}}@media(max-width:440px){.info-item{flex-direction:column;gap:8px}.closing h2{font-size:66px}.closing-row{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker div{animation:none}*{transition:none!important}}

/* Programme et espace étudiant */
.levels{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 28px}.level{border:1px solid #b7c0b1;background:transparent;border-radius:40px;padding:12px 19px;cursor:pointer;color:var(--ink);font-size:13px;font-weight:700}.level:hover,.level.active{background:var(--ink);color:white;border-color:var(--ink)}.course-btn{width:100%;border-left:0;border-right:0;border-top:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer;font:inherit}.course-btn[hidden]{display:none}.student-section{background:#dbe8ce;padding:130px 0;overflow:hidden}.student-layout{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:8vw}.student-heading{font-family:'Space Grotesk';font-size:clamp(56px,7vw,104px);letter-spacing:-.085em;line-height:.95;margin:0 0 34px}.student-heading span{color:var(--green)}.student-desc{max-width:420px;line-height:1.75;font-size:16px}.demo-btn{border:0;cursor:pointer}.student-ui{background:#f8f7ef;border:1px solid #bacbb6;box-shadow:20px 24px 0 #afc8a7;padding:28px;transform:rotate(2deg);min-height:425px}.ui-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d4ddcd;padding-bottom:19px}.ui-brand{font-family:'Space Grotesk';font-size:13px;font-weight:700;letter-spacing:-.03em}.ui-brand span{color:var(--orange)}.ui-avatar{background:var(--lime);width:37px;height:37px;border-radius:50%;display:grid;place-items:center;font-weight:700}.ui-greet{font-size:13px;color:#647569;margin-top:26px}.ui-greet span{color:var(--orange)}.ui-title{font-family:'Space Grotesk';font-size:32px;font-weight:700;letter-spacing:-.06em;margin-bottom:20px}.ui-module{display:flex;justify-content:space-between;gap:15px;background:var(--green);color:white;padding:25px}.ui-module small{font-size:10px;letter-spacing:.08em}.ui-module h3{font-family:'Space Grotesk';font-size:25px;letter-spacing:-.04em;margin:15px 0 7px}.ui-module p{font-size:12px;opacity:.7}.ui-lock{font-size:22px}.ui-actions{display:flex;gap:9px;margin-top:18px}.ui-actions div{flex:1;background:#e7ecdf;padding:15px 7px;text-align:center;font-size:11px;font-weight:700}.ui-icon{display:block;font-size:23px;margin-bottom:8px}.ui-caption{font-size:11px;color:#6c766c;margin:20px 0 0}.modal{width:min(590px,calc(100vw - 30px));max-height:90vh;overflow:auto;border:0;padding:40px;background:var(--cream);color:var(--ink);box-shadow:0 30px 120px #0d221e88}.modal::backdrop{background:#081a16b8;backdrop-filter:blur(5px)}.modal-close{position:absolute;right:18px;top:15px;border:0;background:transparent;font-size:24px;cursor:pointer}.modal-kicker{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--green)}.modal h2{font-family:'Space Grotesk';font-size:clamp(34px,5vw,55px);line-height:1.02;letter-spacing:-.065em;margin:20px 0}.modal p{line-height:1.7;color:#4c5a52}.module-list{margin:30px 0;border-top:1px solid var(--line)}.module-row{display:flex;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.module-row .symbol{width:34px;height:34px;display:grid;place-items:center;background:#e2e9d6;border-radius:50%;flex-shrink:0}.module-row small{display:block;color:#667367;margin-top:4px}.modal-primary{display:block;width:100%;background:var(--ink);color:white;padding:17px;border:0;border-radius:2px;font-weight:700;cursor:pointer;text-align:center}.modal-primary:hover{background:var(--green)}.modal-back{display:block;background:none;border:0;color:var(--green);cursor:pointer;margin:17px auto;font-weight:700}.demo-field{display:block;margin:16px 0;font-size:13px;font-weight:700}.demo-field input{display:block;width:100%;margin-top:8px;padding:15px;border:1px solid #bdc7b9;background:white;font:inherit}.payment-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.pay-option{border:1px solid #b6c4b4;padding:18px;cursor:pointer;background:white;text-align:left;font-weight:700}.pay-option:focus,.pay-option.selected{outline:2px solid var(--green);background:#e3f0d8}.demo-warning{background:#f1e8d7;padding:15px;font-size:12px;line-height:1.6;margin-top:22px}.demo-alert{padding:14px;background:#d9ef80;font-size:13px;margin-top:16px}.fake-video{aspect-ratio:16/9;background:#183c31;display:grid;place-items:center;color:var(--lime);font-size:65px;margin:20px 0}.modal a{color:var(--green)}@media(max-width:800px){.student-section{padding:85px 0}.student-layout{grid-template-columns:1fr;gap:50px}.student-ui{transform:none;box-shadow:12px 12px 0 #afc8a7}.modal{padding:32px 24px}}@media(max-width:440px){.ui-actions div{font-size:10px}.student-ui{padding:18px}.ui-module{padding:17px}.ui-module h3{font-size:20px}}

/* ==========================================================================
   Partie 2 : composants de la plateforme (mêmes jetons, même ton)
   ========================================================================== */
[hidden]{display:none!important}
:root{--mask-asterisk:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 3v18M3 12h18M5.6 5.6l12.8 12.8M18.4 5.6 5.6 18.4'/%3E%3C/svg%3E");--mask-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E");--muted:#59645c;--paper:#fbfaf4;--sage:#e5e9d5;--mint:#dbe8ce;--error:#b23a1d}
body{min-height:100vh;display:flex;flex-direction:column}body>*{width:100%}main{flex:1}
:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* En-tête : état connecté et menu mobile */
.top{position:relative;gap:20px}.top-actions{display:flex;align-items:center;gap:14px}
.nav form{display:inline}.nav-link-btn{background:none;border:0;padding:0;cursor:pointer;font-size:13px;font-weight:700;color:inherit}.nav-link-btn:hover,.nav a[aria-current=page]{color:var(--green)}
.nav-cta:has(.avatar){display:inline-flex;align-items:center;gap:8px;line-height:1}.nav-cta .avatar{display:grid;place-items:center;flex:none;width:22px;height:22px;margin:-4px 0;border-radius:50%;background:var(--lime);color:var(--ink);font-size:11px;line-height:1}
.menu-toggle{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--ink);background:transparent;cursor:pointer;font-size:18px;color:var(--ink)}
/* Menu replié jusqu'aux tablettes en portrait (iPad : 768 à 1024 px) : la barre complète n'y tient pas sur une ligne. */
@media(max-width:1024px){.menu-toggle{display:grid;place-items:center}.nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:20;background:var(--cream);border-bottom:1px solid var(--ink);flex-direction:column;gap:0;padding:8px clamp(22px,5vw,84px) 18px}.nav.open{display:flex}.nav>a,.nav>form{padding:16px 0;border-bottom:1px solid var(--line);font-size:16px}.nav-link-btn{font-size:16px}}

/* Messages */
.flash-list{list-style:none;margin:0;padding:0}.flash{display:flex;align-items:center;gap:12px;padding:16px 0;font-size:14px;font-weight:700;border-bottom:1px solid var(--ink)}.flash:before{content:"";flex:none;width:16px;height:16px;background:var(--orange);-webkit-mask:var(--mask-asterisk) center/contain no-repeat;mask:var(--mask-asterisk) center/contain no-repeat}.flash--success{background:var(--lime)}.flash--error{background:#f6d4c5}.flash--error:before{color:var(--error)}.flash--info,.flash--warning{background:var(--sage)}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:#fff;border:0;border-radius:100px;padding:17px 26px;font-weight:700;font-size:14px;cursor:pointer;text-align:center;transition:background .2s}.btn:hover{background:var(--green)}.btn--block{display:flex;width:100%}.btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}.btn--ghost:hover{background:var(--ink);color:#fff}.btn--lime{background:var(--lime);color:var(--ink)}.btn--lime:hover{background:#fff}.btn[disabled]{background:#c9cdbf;color:#5f6b62;cursor:not-allowed}
.link{color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:4px}

/* Formulaires */
.field{display:block;margin:0 0 20px}.field>label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}
.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{display:block;width:100%;padding:15px 16px;border:1px solid #bdc7b9;border-radius:2px;background:#fff;color:var(--ink);font:inherit;font-size:16px}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--green);outline-offset:0;border-color:var(--green)}
.field--check{display:flex;align-items:center;gap:10px}.field--check>label{margin:0;font-weight:500;order:2}.field--check input{width:18px;height:18px;accent-color:var(--green)}
.field-help{display:block;font-size:12px;color:var(--muted);margin-top:7px;line-height:1.5}
.field-errors,.form-errors{list-style:none;margin:8px 0 0;padding:0;color:var(--error);font-size:13px;font-weight:700}.form-errors{background:#f6d4c5;color:var(--ink);padding:14px 16px;margin:0 0 22px;font-weight:500}
.field--invalid input,.field--invalid select{border-color:var(--error)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.field-row>.field{min-width:0}
@media(max-width:440px){.field-row{grid-template-columns:1fr}}

/* Pages de compte (connexion, inscription…) */
.auth{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 88px)}
.auth-aside{background:var(--green);color:var(--cream);padding:70px clamp(22px,5vw,84px);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
.auth-aside .eyebrow:before{background:var(--lime)}
.auth-aside h2{font-family:"Space Grotesk";font-size:clamp(56px,7.4vw,118px);line-height:.88;letter-spacing:-.09em;font-weight:600;margin:60px 0 0;position:relative;z-index:2}.auth-aside h2 span{color:var(--lime);display:block}
.auth-aside p{max-width:380px;line-height:1.7;font-size:15px;opacity:.85;position:relative;z-index:2}
.auth-aside .asterisk{top:auto;bottom:-6%;right:-4%;font-size:300px}
.auth-main{padding:70px clamp(22px,6vw,110px);display:flex;flex-direction:column;justify-content:center}
.auth-card{width:100%;max-width:470px}
.auth-card h1{font-family:"Space Grotesk";font-size:clamp(40px,4.4vw,62px);line-height:1;letter-spacing:-.07em;font-weight:600;margin:0 0 18px}
.auth-card h2{font-family:"Space Grotesk";font-size:22px;letter-spacing:-.04em;margin:34px 0 14px}
.auth-card p{line-height:1.7;color:#4c5a52;margin:0 0 22px}.auth-card p a{color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.auth-card form{margin-top:28px}.auth-card form .btn{margin-top:6px}
.auth-card hr{border:0;border-top:1px solid var(--line);margin:34px 0 0}
.auth-sep{display:flex;align-items:center;gap:14px;margin:30px 0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted)}.auth-sep:before,.auth-sep:after{content:"";flex:1;border-top:1px solid var(--line)}
.provider-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.btn-provider{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:15px;border:1px solid var(--ink);background:#fff;border-radius:100px;font-weight:700;font-size:14px;cursor:pointer;color:var(--ink)}.btn-provider:hover{background:var(--sage)}.btn-provider svg{width:18px;height:18px}
.auth-foot{margin-top:28px;font-size:14px;color:var(--muted)}.auth-foot a{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.auth-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:-4px 0 18px;font-size:13px}.auth-meta .field{margin:0}.auth-meta a{color:var(--green);font-weight:700}
@media(max-width:800px){.auth{grid-template-columns:1fr;min-height:0}.auth-aside{padding:44px 22px 40px}.auth-aside h2{font-size:clamp(48px,14vw,76px);margin-top:34px}.auth-aside p{display:none}.auth-aside .asterisk{font-size:170px;bottom:-30%}.auth-main{padding:44px 22px 70px}}

/* Catalogue */
.catalog-head{padding-top:90px;padding-bottom:40px}
.catalog-head .section-title{margin-bottom:40px}
.filters{display:grid;gap:16px;margin-bottom:12px}.filters .levels{margin:0}
.filter-label{font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:var(--muted);margin-right:6px;align-self:center}
.level--sm{padding:9px 15px;font-size:12px}
a.course{color:var(--ink)}
.course-end{display:flex;align-items:center;gap:22px;justify-self:end;white-space:nowrap}.course-price{font-family:"Space Grotesk";font-weight:600;font-size:18px;letter-spacing:-.03em}.course-meta{display:block;font-size:13px;color:var(--muted);margin-top:8px;font-family:"DM Sans";letter-spacing:0;font-weight:500}
.catalog-count{font-size:13px;color:var(--muted);margin:30px 0 16px}
.empty{padding:70px 0;border-top:1px solid var(--ink);border-bottom:1px solid #b9bfb3}.empty h3{font-family:"Space Grotesk";font-size:clamp(28px,3.4vw,44px);letter-spacing:-.055em;margin:0 0 12px;font-weight:600}.empty p{color:var(--muted);margin:0 0 22px}
@media(max-width:800px){.catalog-head{padding-top:60px}.course-end{gap:12px}.course-price{font-size:15px}}

/* Fiche formation */
.preview-banner{background:var(--orange);color:var(--ink);font-size:13px;font-weight:700;padding:13px 0}
.cd-hero{display:grid;grid-template-columns:1.5fr 1fr;gap:6vw;align-items:start;padding-top:80px;padding-bottom:110px}
.cd-crumbs{font-size:13px;font-weight:700;margin-bottom:46px}.cd-crumbs a{color:var(--muted)}.cd-crumbs a:hover{color:var(--green)}
.cd-title{font-family:"Space Grotesk";font-size:clamp(52px,7.2vw,112px);line-height:.92;letter-spacing:-.085em;font-weight:600;margin:34px 0 30px}
.cd-subtitle{font-size:clamp(18px,1.6vw,22px);line-height:1.5;max-width:620px;margin:0 0 36px}
.cd-stats{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--ink);max-width:640px}.cd-stat{flex:1;min-width:130px;padding:18px 18px 0 0}.cd-stat strong{display:block;font-family:"Space Grotesk";font-size:34px;letter-spacing:-.06em}.cd-stat span{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.ticket{background:var(--paper);border:1px solid #bacbb6;box-shadow:18px 20px 0 #d4ddac;padding:30px;transform:rotate(1.5deg);position:sticky;top:30px}
.ticket-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--green)}
.ticket-price{font-family:"Space Grotesk";font-size:clamp(44px,4.6vw,64px);letter-spacing:-.075em;font-weight:600;line-height:1;margin:14px 0 6px}
.ticket-sub{font-size:13px;color:var(--muted);margin:0 0 24px}
.ticket-list{list-style:none;margin:0 0 26px;padding:0;border-top:1px solid var(--line)}.ticket-list li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.ticket-list li:before{content:"";flex:none;width:14px;height:14px;margin-top:3px;background:var(--orange);-webkit-mask:var(--mask-check) center/contain no-repeat;mask:var(--mask-check) center/contain no-repeat}
.ticket .btn+.btn,.ticket form+.btn,.ticket .btn+form{margin-top:10px}
.ticket-methods{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.ticket-method{border:1px solid #b6c4b4;background:#fff;padding:14px;font-weight:700;font-size:14px;text-align:center;color:#5f6b62}
.ticket-note{font-size:12px;line-height:1.6;color:var(--muted);margin:14px 0 0}
.ticket-owned{background:var(--lime);padding:16px;font-weight:700;font-size:14px;margin-bottom:12px}
.cd-body{display:grid;grid-template-columns:1fr 2fr;gap:6vw;padding-top:110px;padding-bottom:110px;border-top:1px solid var(--line)}
.cd-body h2{font-family:"Space Grotesk";font-size:clamp(40px,4.6vw,66px);line-height:1;letter-spacing:-.075em;margin:0;font-weight:600}.cd-body h2 em{font-style:normal;color:var(--green)}
.cd-desc{font-size:17px;line-height:1.8;max-width:680px}.cd-desc p{margin:0 0 1.1em}
.program{border-top:1px solid var(--ink)}
.program-module{border-bottom:1px solid #b9bfb3}
.program-module summary{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:16px;padding:28px 0;cursor:pointer;list-style:none}.program-module summary::-webkit-details-marker{display:none}
.program-num{font-family:"Space Grotesk";font-size:44px;letter-spacing:-.08em;color:var(--green);font-weight:600;line-height:1}
.program-module h3{font-family:"Space Grotesk";font-size:clamp(22px,2.4vw,32px);letter-spacing:-.05em;margin:0;font-weight:600}.program-module h3 small{display:block;font-family:"DM Sans";font-size:13px;letter-spacing:0;color:var(--muted);font-weight:500;margin-top:6px}
.program-toggle{width:38px;height:38px;border-radius:50%;border:1px solid var(--ink);display:grid;place-items:center;font-size:18px;transition:transform .2s}.program-module[open] .program-toggle{transform:rotate(45deg);background:var(--ink);color:#fff}
.program-desc{margin:-10px 0 18px 86px;color:var(--muted);line-height:1.7;font-size:15px;max-width:620px}
.program-lessons{list-style:none;margin:0 0 26px 86px;padding:0}
.program-lesson{display:flex;align-items:center;gap:14px;padding:13px 0;border-top:1px solid var(--line);font-size:15px}
.lesson-icon{width:32px;height:32px;border-radius:50%;background:var(--sage);display:grid;place-items:center;font-size:13px;flex-shrink:0}
.lesson-title{flex:1}.lesson-title small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:100px;background:var(--lime)}.badge--muted{background:var(--sage);color:var(--muted)}
.lock{color:#8b958c;font-size:14px}
.facts{border-top:1px solid #a7b1a5}.fact{display:flex;justify-content:space-between;gap:30px;padding:24px 0;border-bottom:1px solid #a7b1a5}.fact strong{font-family:"Space Grotesk";font-size:22px;letter-spacing:-.04em}.fact span{max-width:320px;color:var(--muted);font-size:14px;line-height:1.55;text-align:right}
@media(max-width:800px){.cd-hero{grid-template-columns:1fr;padding-top:50px;padding-bottom:80px;gap:60px}.cd-crumbs{margin-bottom:30px}.ticket{position:static;transform:none;box-shadow:12px 12px 0 #d4ddac}.cd-body{grid-template-columns:1fr;gap:36px;padding-top:80px;padding-bottom:80px}.program-module summary{grid-template-columns:44px 1fr auto;gap:12px}.program-num{font-size:30px}.program-desc,.program-lessons{margin-left:0}.fact{flex-direction:column;gap:6px}.fact span{text-align:left}}

/* Profil */
.account{display:grid;grid-template-columns:1fr 1.3fr;gap:7vw;padding-top:90px;padding-bottom:120px}
.account h1{font-family:"Space Grotesk";font-size:clamp(56px,7vw,104px);letter-spacing:-.085em;line-height:.95;margin:0 0 30px;font-weight:600}.account h1 span{color:var(--green)}
.account-id{font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 40px}.account-id strong{color:var(--ink)}
.account-links{border-top:1px solid #a7b1a5;list-style:none;margin:0;padding:0}.account-links li{border-bottom:1px solid #a7b1a5}.account-links a,.account-links button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:20px 0;font-family:"Space Grotesk";font-size:20px;letter-spacing:-.04em;font-weight:600;background:none;border:0;cursor:pointer;color:var(--ink);text-align:left}.account-links a:hover,.account-links button:hover{color:var(--green)}
.account-form{background:var(--paper);border:1px solid #bacbb6;padding:36px;box-shadow:16px 16px 0 #d5d9c5}
.account-form h2{font-family:"Space Grotesk";font-size:24px;letter-spacing:-.045em;margin:0 0 22px}.account-form h2+*{margin-top:0}.account-form fieldset{border:0;padding:0;margin:0 0 18px}.account-form legend{font-family:"Space Grotesk";font-size:24px;letter-spacing:-.045em;font-weight:700;margin-bottom:20px;padding:0}
@media(max-width:800px){.account{grid-template-columns:1fr;padding-top:56px;padding-bottom:80px;gap:50px}.account-form{padding:24px;box-shadow:10px 10px 0 #d5d9c5}}

/* Pages d'erreur */
.error-page{padding-top:110px;padding-bottom:140px}.error-page h1{font-family:"Space Grotesk";font-size:clamp(90px,15vw,220px);line-height:.8;letter-spacing:-.1em;margin:40px 0;font-weight:600}.error-page h1 span{color:var(--green)}.error-page p{max-width:440px;line-height:1.7;font-size:17px;margin:0 0 30px}
.course[hidden]{display:none}.field-opt{font-weight:500;color:var(--muted)}
.cd-body--flush{border-top:0}
.auth-card table{width:100%;border-collapse:collapse;font-size:14px;margin:10px 0 20px}.auth-card th,.auth-card td{text-align:left;padding:12px 6px;border-bottom:1px solid var(--line)}
.auth-card section{margin:26px 0}.auth-card section ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px}.auth-card form+form{margin-top:12px}
.brand{white-space:nowrap}.nav-mobile-only{display:none}
@media(max-width:440px){.brand{font-size:21px}.brandmark{width:34px;height:34px;font-size:20px}.top-actions .nav-cta{display:none}.nav .nav-mobile-only{display:block}}

/* ==========================================================================
   Contenu des leçons (éditeur ET lecteur : même rendu)
   ========================================================================== */
.prose{font-size:18px;line-height:1.75;color:var(--ink);max-width:720px}
.prose>*:first-child{margin-top:0}
.prose p{margin:0 0 1.05em}
.prose h2{font-family:"Space Grotesk";font-size:clamp(30px,3.4vw,42px);letter-spacing:-.06em;line-height:1.05;margin:1.7em 0 .55em;font-weight:600}
.prose h3{font-family:"Space Grotesk";font-size:clamp(23px,2.4vw,28px);letter-spacing:-.045em;line-height:1.15;margin:1.5em 0 .5em;font-weight:600;color:var(--green)}
.prose h4{font-size:15px;letter-spacing:.12em;text-transform:uppercase;margin:1.6em 0 .5em;font-weight:700}
.prose a{color:var(--green);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.1em}.prose li{margin:.25em 0}.prose li>p{margin:0}
.prose ul li::marker{color:var(--orange)}.prose ol li::marker{font-family:"Space Grotesk";font-weight:700;color:var(--green)}
.prose blockquote{position:relative;margin:1.2em 0;padding:0;font-size:1.06em;color:#2d3d37}.prose blockquote p{margin:0 0 .5em}.prose blockquote>:last-child{margin-bottom:0}
.prose blockquote.quote--line{padding-left:.85em;border-left:4px solid var(--lime)}
.prose blockquote.quote--quotes{font-style:italic}.prose blockquote.quote--quotes>:first-child:before,.prose blockquote.quote--quotes>:last-child:after{font-family:"Space Grotesk";font-style:normal;font-weight:700;color:var(--green)}.prose blockquote.quote--quotes>:first-child:before{content:"«\00a0"}.prose blockquote.quote--quotes>:last-child:after{content:"\00a0»"}
.prose :is(li,blockquote,.callout,th,td)>:first-child{margin-top:0}
.prose blockquote.quote--pull{margin:1.4em 0;padding:.55em 0;border-block:1px solid var(--line);text-align:center;font:500 1.3em/1.3 "Space Grotesk";letter-spacing:-.03em;color:var(--green)}
.prose hr{border:0;height:1px;background:var(--line);margin:2.4em 0;position:relative;overflow:visible}.prose hr:after{content:"";position:absolute;left:50%;top:-9px;width:18px;height:18px;transform:translateX(-50%);background:var(--orange);-webkit-mask:var(--mask-asterisk) center/contain no-repeat;mask:var(--mask-asterisk) center/contain no-repeat;box-shadow:0 0 0 12px var(--cream)}
.editor-paper .prose hr:after{background:#fff}
.prose code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.88em;background:var(--sage);padding:2px 6px;border-radius:3px}
.prose pre{background:var(--ink);color:var(--cream);padding:18px 20px;overflow-x:auto;border-radius:2px;font-size:14px;line-height:1.6}.prose pre code{background:none;padding:0;color:inherit}
.prose figure{margin:1.8em 0}.prose img{max-width:100%;height:auto;display:block;border-radius:2px}
.prose .table-wrap,.prose .tableWrapper{overflow-x:auto;margin:1.6em 0}
.prose table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.5}
.prose th,.prose td{border:1px solid #c7cdbf;padding:10px 12px;text-align:left;vertical-align:top;min-width:70px}.prose th{background:var(--sage);font-weight:700}
.prose th p,.prose td p{margin:0}
/* Encadrés pédagogiques */
.callout{--accent:var(--green);position:relative;margin:1.8em 0;padding:22px 24px 6px;background:#e7efdc;border-left:5px solid var(--accent)}
.callout-label,.callout[data-label]:before{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin:0 0 10px;color:var(--accent)}
.callout[data-label]:before{content:attr(data-label)}
.callout--exemple{--accent:#7d6a2a;background:#f3efe2}
.callout--attention{--accent:#b2482a;background:#f9e3d9}
.callout--astuce{--accent:#5d7412;background:#eef6c9}
.callout--retenir{--accent:var(--lime);background:var(--ink);color:var(--cream)}.callout--retenir a{color:var(--lime)}
/* Formules */
.prose .math--block,.prose [data-type=block-math]{display:block;margin:.9em 0;padding:8px 10px;text-align:center;overflow-x:auto;overflow-y:hidden;font-size:1.08em}
.prose .katex{font-size:1.08em}

/* ==========================================================================
   Studio enseignant
   ========================================================================== */
.studio-bar{background:var(--ink);color:var(--cream)}
.studio-bar-inner{display:flex;align-items:center;gap:24px;min-height:52px;font-size:13px}
.studio-mark{font-family:"Space Grotesk";font-weight:700;letter-spacing:.12em;color:var(--lime)}.studio-crumbs{color:#aab5ad;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-crumbs a{color:var(--cream)}.studio-crumbs a:hover{color:var(--lime)}
.studio-title{font-family:"Space Grotesk";font-size:clamp(52px,6.6vw,96px);letter-spacing:-.085em;line-height:.95;font-weight:600;margin:0 0 40px}.studio-title em{font-style:normal;color:var(--green)}
.studio-home{padding-top:70px;padding-bottom:110px}
.studio-home-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}
.studio-home-head .round-link{background:var(--lime);flex-shrink:0}
.studio-row .tag{line-height:2}
.studio-count{font-size:14px;color:var(--muted)}.studio-count strong{font-family:"Space Grotesk";font-size:22px;color:var(--ink);letter-spacing:-.04em;margin-right:4px}
.status{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:100px;background:var(--sage);color:var(--muted);white-space:nowrap;line-height:1.4}
.status--published{background:var(--lime);color:var(--ink)}.status--archived{background:#ddd;color:#666}.status--changes{background:#f6d4c5;color:#8a3519}

.course-head{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:end;padding-top:50px}
.course-head h1{font-family:"Space Grotesk";font-size:clamp(36px,4.6vw,64px);letter-spacing:-.07em;line-height:1;margin:18px 0 14px;font-weight:600}
.course-head-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tabs{grid-column:1/-1;display:flex;gap:30px;border-bottom:1px solid var(--ink);margin-top:20px}
.tabs a{padding:14px 0;font-weight:700;font-size:14px;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-2px}.tabs a:hover{color:var(--ink)}.tabs a[aria-current=page]{color:var(--ink);border-color:var(--orange)}
.btn--sm{padding:11px 18px;font-size:13px}
.link--danger{color:var(--error)}
button.link{background:none;border:0;padding:0;cursor:pointer;font:inherit;font-weight:700}
.danger-zone{margin-top:30px;padding-top:20px;border-top:1px dashed #c4c9bb;display:flex;gap:16px;align-items:center}

.studio-form-wrap{padding-top:50px;padding-bottom:110px;max-width:860px;margin-left:0}
.studio-form textarea{min-height:120px;resize:vertical}

.structure-wrap{padding-top:40px;padding-bottom:110px}
.structure-help{font-size:13px;color:var(--muted);margin:0 0 20px}
.structure{border-top:1px solid var(--ink)}
.s-module{border-bottom:1px solid #b9bfb3;padding:22px 0 26px;background:var(--cream)}
.s-module.sortable-ghost{opacity:.4}
.s-module-head{display:grid;grid-template-columns:auto auto 1fr;gap:14px;align-items:start}
.handle{cursor:grab;border:0;background:transparent;color:#8b958c;font-size:20px;padding:4px 6px;line-height:1;border-radius:4px;touch-action:none}.handle:hover{background:var(--sage);color:var(--ink)}
.s-module-head .program-num{font-size:38px;padding-top:2px}
.s-module-edit summary{display:flex;align-items:baseline;gap:14px;cursor:pointer;list-style:none}.s-module-edit summary::-webkit-details-marker{display:none}
.s-module-edit h2{font-family:"Space Grotesk";font-size:clamp(22px,2.5vw,32px);letter-spacing:-.05em;margin:0;font-weight:600}
.s-edit-hint{font-size:12px;font-weight:700;color:var(--green);opacity:0;transition:opacity .15s}.s-module-edit summary:hover .s-edit-hint,.s-module-edit[open] .s-edit-hint{opacity:1}
.inline-form{margin:18px 0 10px;max-width:560px}
.s-lessons{list-style:none;margin:16px 0 0 70px;padding:0;min-height:12px}
.s-lesson{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);background:var(--cream)}
.s-lesson.sortable-ghost{opacity:.4;background:var(--lime)}
.s-lesson-title{flex:1;font-weight:600;font-size:16px}.s-lesson-title:hover{color:var(--green)}.s-lesson-title small{display:block;color:var(--muted);font-size:12px;font-weight:500;margin-top:2px}
.s-empty{margin:12px 0 0 70px;font-size:14px;color:var(--muted)}
.add-lesson{display:flex;gap:10px;margin:16px 0 0 70px;max-width:680px}
.add-lesson input,.add-lesson select,.add-module input{padding:12px 14px;border:1px solid #bdc7b9;background:#fff;font:inherit;font-size:15px;border-radius:2px;min-width:0}
.add-lesson input{flex:1}.add-lesson input:focus,.add-module input:focus{outline:2px solid var(--green);outline-offset:0}
.add-module{margin-top:40px;padding:30px;background:var(--paper);border:1px dashed #a8b4a2;max-width:820px}
.add-module h2{font-family:"Space Grotesk";font-size:24px;letter-spacing:-.045em;margin:0 0 16px}
.add-module-row{display:flex;gap:12px;align-items:end}.add-module-row .field{flex:1;margin:0}.add-module input{width:100%}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--cream);padding:13px 22px;border-radius:100px;font-size:14px;font-weight:700;z-index:50;box-shadow:0 10px 40px #0003}.toast[data-state=error]{background:var(--error)}
.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th{text-align:left;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:12px 10px;border-bottom:1px solid var(--ink)}.data-table td{padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top}.data-table small{color:var(--muted)}
.table-wrap{overflow-x:auto}

/* Éditeur de leçon */
.lesson-top{border-bottom:1px solid var(--line);background:var(--cream);position:sticky;top:0;z-index:15}
.lesson-top-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:76px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.lesson-top-title{display:flex;align-items:center;gap:10px;min-width:0}.lesson-top-title h1{font-family:"Space Grotesk";font-size:24px;letter-spacing:-.05em;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lesson-top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.save-status{font-size:13px;color:var(--muted);margin-right:8px;display:inline-flex;align-items:center;gap:7px}.save-status:before{content:"";width:8px;height:8px;border-radius:50%;background:#9fbf2a}
.save-status[data-state=dirty]:before{background:#c9b04a}.save-status[data-state=busy]:before{background:var(--orange);animation:pulse 1s infinite}.save-status[data-state=error]{color:var(--error)}.save-status[data-state=error]:before{background:var(--error)}
@keyframes pulse{50%{opacity:.3}}
.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;padding-top:30px;padding-bottom:90px;align-items:start}
.editor-paper{background:#fff;border:1px solid #d3d8cb;border-top:0;padding:48px clamp(20px,5vw,70px) 70px;min-height:60vh}
.editor-foot{font-size:12px;color:var(--muted);margin:12px 0 0}
.lesson-nav{display:flex;justify-content:space-between;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-weight:700;font-size:14px}.lesson-nav a:hover{color:var(--green)}
.lesson-side{display:grid;gap:18px;position:sticky;top:100px}
.side-card{background:var(--paper);border:1px solid #cfd8ca;padding:22px}
.side-card h2{font-family:"Space Grotesk";font-size:19px;letter-spacing:-.04em;margin:0 0 16px}
.side-card .field{margin-bottom:14px}.side-card .field>label{font-size:12px}
.side-card .field input:not([type=checkbox]),.side-card .field select{padding:11px 12px;font-size:15px}
.side-card input[type=file]{font-size:13px;max-width:100%}
.side-help{font-size:12px;color:var(--muted);line-height:1.55;margin:0 0 12px}
.side-meta{font-size:12px;color:var(--muted);margin:8px 0}
.side-video{width:100%;aspect-ratio:16/9;background:#000;display:block}
.side-card progress{width:100%;height:8px;accent-color:var(--green);margin-bottom:6px}
.side-list{list-style:none;margin:0 0 16px;padding:0}.side-list li{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}.side-list li a{font-weight:600;flex:1}.side-list small{color:var(--muted)}
.lesson-side .danger-zone{margin-top:0;border-top:0;padding-top:0}
.modal--wide{width:min(720px,calc(100vw - 30px))}
.modal h2{font-size:clamp(28px,4vw,40px)}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.chip{border:1px solid #b7c0b1;background:#fff;border-radius:100px;padding:5px 11px;font-size:12px;cursor:pointer;margin:4px 2px 0;font-weight:600}.chip:hover{background:var(--lime)}
.modal textarea{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:15px}

/* Aperçu et versions */
.preview-banner-inner{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.preview-banner .link{color:var(--ink)}
.reader-preview{max-width:820px;margin:0 auto;padding:60px 22px 120px}
.reader-title{font-family:"Space Grotesk";font-size:clamp(40px,5.6vw,72px);letter-spacing:-.075em;line-height:1;margin:22px 0 40px;font-weight:600}
.lesson-video{position:relative;margin:0 0 44px;background:#000;overflow:hidden}.lesson-video video{display:block;width:100%;aspect-ratio:16/9;background:#000}
.watermark{position:absolute;left:70%;top:10%;font-size:12px;color:#fff;opacity:.35;pointer-events:none;font-weight:700;text-shadow:0 1px 2px #000;transition:left 1.5s,top 1.5s;white-space:nowrap;max-width:60%;overflow:hidden}
.lesson-resources{margin-top:56px;border-top:1px solid var(--ink);padding-top:26px;max-width:720px}.lesson-resources h2{font-family:"Space Grotesk";font-size:26px;letter-spacing:-.05em;margin:0 0 12px}
.lesson-resources ul{list-style:none;margin:0;padding:0}.lesson-resources a{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);font-weight:600}.lesson-resources a:hover{color:var(--green)}.lesson-resources small{margin-left:auto;color:var(--muted);font-weight:500}
.empty-note{color:var(--muted)}
.revisions{display:grid;grid-template-columns:320px 1fr;gap:50px;padding-top:50px;padding-bottom:110px;align-items:start}
.revisions .studio-title{font-size:clamp(40px,4.4vw,60px)}
.rev-list{list-style:none;margin:20px 0 0;padding:0;border-top:1px solid var(--ink)}.rev-list a{display:block;padding:13px 10px;border-bottom:1px solid var(--line)}.rev-list a:hover,.rev-list [aria-current] a{background:var(--lime)}.rev-list small{display:block;color:var(--muted);font-size:12px}
.rev-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}

@media(max-width:1000px){.lesson-layout{grid-template-columns:1fr}.lesson-side{position:static}.revisions{grid-template-columns:1fr}}
@media(max-width:800px){
  .studio-home{padding-top:44px}.studio-home-head{align-items:center}
  .course-head{grid-template-columns:1fr;padding-top:34px}.tabs{gap:20px;overflow-x:auto}
  .s-lessons,.add-lesson,.s-empty{margin-left:0}.add-lesson{flex-wrap:wrap}.add-lesson input{flex-basis:100%}
  .add-module{padding:20px}.add-module-row{flex-direction:column;align-items:stretch}
  .lesson-top{position:static}.lesson-editor{--plume-sticky-top:0px}
  .lesson-top-title{flex-wrap:wrap}.editor-paper{padding:28px 16px 50px}.prose{font-size:17px}
  .lesson-top-title h1{font-size:20px;white-space:normal}
}

/* ==========================================================================
   Lecteur de cours
   ========================================================================== */
.reader-bar{position:sticky;top:0;z-index:30;height:62px;display:flex;align-items:center;gap:18px;padding:0 clamp(16px,2.4vw,32px);background:var(--cream);border-bottom:1px solid var(--line)}
.reader-bar .brandmark{width:36px;height:36px;font-size:20px;flex-shrink:0;font-family:"Space Grotesk";font-weight:700}
.reader-course{font-family:"Space Grotesk";font-weight:600;letter-spacing:-.03em;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.reader-course:hover{color:var(--green)}
.reader-progress{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;flex-shrink:0}
.reader-progress-track,.bar{display:block;width:140px;height:6px;background:var(--sage);border-radius:6px;overflow:hidden}
.reader-progress-track span,.bar span{display:block;height:100%;background:var(--green);border-radius:6px;transition:width .4s}
.reader-outline-btn{display:none;border:1px solid var(--ink);background:transparent;border-radius:100px;padding:9px 15px;font-weight:700;font-size:13px;cursor:pointer;color:var(--ink)}
.reader-exit{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:15px;flex-shrink:0}.reader-exit:hover{background:var(--sage)}
.reader{display:grid;grid-template-columns:330px minmax(0,1fr);min-height:calc(100vh - 62px)}
.outline{position:sticky;top:62px;height:calc(100vh - 62px);overflow-y:auto;border-right:1px solid var(--line);padding:26px 0 60px;background:var(--cream)}
.outline-head{display:none}
.outline-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}
.outline-module{padding:0 22px;margin-bottom:22px}
.outline-module h2{display:flex;gap:10px;align-items:baseline;font-family:"Space Grotesk";font-size:16px;letter-spacing:-.03em;margin:0 0 8px;font-weight:600}.outline-module h2 span{color:var(--green);font-size:13px}
.outline-module ol{list-style:none;margin:0;padding:0}
.outline-lesson{display:flex;align-items:flex-start;gap:11px;padding:9px 10px;margin:0 -10px;border-radius:3px;font-size:14px;line-height:1.35}
a.outline-lesson:hover{background:var(--sage)}
.outline-lesson[aria-current]{background:var(--lime);font-weight:700}
.ol-check{width:24px;height:24px;border-radius:50%;border:1px solid #b9c2b3;display:grid;place-items:center;font-size:11px;flex-shrink:0;color:var(--muted);background:var(--cream)}
.outline-lesson.is-done .ol-check{background:var(--green);border-color:var(--green);color:#fff}
.outline-lesson.is-locked{color:#9aa39a}.outline-lesson.is-locked .ol-check{border-style:dashed}
.ol-title small{display:block;font-size:12px;color:var(--muted);font-weight:500;margin-top:2px}
.reader-main{padding:56px clamp(20px,5vw,80px) 120px}
.reader-col{max-width:760px;margin:0 auto}
.reader-col .reader-title{margin-bottom:34px}
.resume-note{background:var(--sage);padding:10px 14px;font-size:13px;font-weight:700;margin:-14px 0 18px;display:inline-block}
.complete-box{margin-top:60px;padding-top:30px;border-top:1px solid var(--ink)}
.complete-btn{padding:21px 26px;font-size:15px}.complete-btn span{opacity:.75;font-weight:500}
.complete-box.is-done{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--lime);padding:22px 24px;border:0}
.complete-done{font-family:"Space Grotesk";font-size:22px;font-weight:700;letter-spacing:-.04em;margin:0}
.preview-cta{margin-top:60px;background:var(--green);color:var(--cream);padding:34px}
.preview-cta .ticket-label{color:var(--lime)}.preview-cta h2{font-family:"Space Grotesk";font-size:clamp(32px,3.6vw,46px);letter-spacing:-.065em;margin:10px 0 12px;line-height:1}.preview-cta p{opacity:.85;margin:0 0 22px;line-height:1.6}
.reader-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}
.reader-nav-link{display:block;padding:20px 0;border-top:1px solid var(--line);font-family:"Space Grotesk";font-size:19px;letter-spacing:-.035em;font-weight:600;line-height:1.25}.reader-nav-link:hover{color:var(--green)}
.reader-nav-link small{display:block;font-family:"DM Sans";font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-weight:700}
.reader-nav-link--next{text-align:right;grid-column:2}
.reader-dock{display:none}
@media(max-width:1000px){
  .reader{grid-template-columns:1fr}
  .reader-outline-btn{display:inline-block}.reader-progress-track{width:70px}
  .outline{position:fixed;inset:0 auto 0 0;top:0;height:100vh;width:min(88vw,380px);z-index:60;transform:translateX(-102%);transition:transform .25s ease,box-shadow .25s;padding-top:0;visibility:hidden}
  .outline.open{transform:none;box-shadow:20px 0 60px #0003;visibility:visible}
  .outline-head{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--cream);padding:16px 22px;border-bottom:1px solid var(--line);margin-bottom:18px;z-index:1}
  .outline-close{border:0;background:var(--sage);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:14px}
  body.outline-open:after{content:"";position:fixed;inset:0;background:#081a16a0;z-index:50}
  body.outline-open{overflow:hidden}
  .reader-main{padding:34px 20px 120px}
  .reader-dock{display:grid;grid-template-columns:56px 1fr 56px;position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--ink);color:var(--cream);height:58px;padding-bottom:env(safe-area-inset-bottom)}
  .reader-dock a,.reader-dock button{display:grid;place-items:center;color:var(--cream);background:none;border:0;font:inherit;font-weight:700;font-size:15px;cursor:pointer;white-space:nowrap}
  .reader-dock a{font-size:22px}.reader-dock a:active{background:#2e3d38}
  .reader-nav{grid-template-columns:1fr}.reader-nav-link--next{grid-column:1}
}
@media(max-width:560px){.reader-progress{display:none}.reader-course{font-size:15px}.complete-box.is-done{flex-direction:column;align-items:flex-start}}
@media(max-width:600px){body.reading .lesson-video{margin-left:-20px;margin-right:-20px}}

/* ==========================================================================
   Espace étudiant
   ========================================================================== */
.space-head{padding-top:70px;padding-bottom:40px}
.space-title{font-family:"Space Grotesk";font-size:clamp(56px,8vw,120px);letter-spacing:-.09em;line-height:.9;margin:0;font-weight:600}.space-title span{color:var(--green)}
.resume{background:var(--green);color:var(--cream);overflow:hidden}
.resume-inner{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-top:56px;padding-bottom:60px}
.resume .eyebrow:before{background:var(--lime)}
.resume-title{font-family:"Space Grotesk";font-size:clamp(38px,5vw,72px);letter-spacing:-.075em;line-height:.98;margin:22px 0 12px;font-weight:600;max-width:820px}
.resume-meta{font-size:15px;opacity:.82;margin:0 0 14px}
.bar--light{background:#ffffff2b;width:260px;margin:22px 0 10px}.bar--light span{background:var(--lime)}
.resume-link{background:var(--lime);color:var(--ink);flex-shrink:0}
.space-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:70px;padding-top:70px;padding-bottom:120px}
.space-h2{font-family:"Space Grotesk";font-size:clamp(28px,3vw,38px);letter-spacing:-.06em;margin:0 0 20px;font-weight:600}
.space-main .space-h2+*{margin-bottom:60px}
.my-courses{border-top:1px solid var(--ink)}
.my-course{display:grid;grid-template-columns:150px 1fr 190px 30px;gap:20px;align-items:center;padding:26px 6px;border-bottom:1px solid #b9bfb3;transition:background .2s,padding .2s}
.my-course:hover{background:#e7e8d9;padding-left:14px;padding-right:14px}
.my-course .tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;line-height:1.5}
.my-course-title{font-family:"Space Grotesk";font-size:clamp(21px,2.2vw,28px);letter-spacing:-.05em;font-weight:600;line-height:1.1}
.my-course-progress{display:flex;align-items:center;gap:12px}.my-course-progress .bar{flex:1;width:auto}
.my-course-pct{font-size:13px;font-weight:700;white-space:nowrap;min-width:44px;text-align:right}
.my-course .arrow{font-size:26px}
.recent{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.recent a{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.recent a:hover .recent-title{color:var(--green)}
.recent-title{flex:1;font-weight:600}.recent-title small{display:block;color:var(--muted);font-weight:500;font-size:13px;margin-top:2px}
.recent-when{font-size:12px;color:var(--muted);white-space:nowrap}
.space-side{display:grid;gap:44px;align-content:start}
.side-block .space-h2{font-size:26px}
.sessions{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.session{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}
.session-date{width:62px;flex-shrink:0;text-align:center;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.session-date strong{display:block;font-family:"Space Grotesk";font-size:38px;line-height:1;letter-spacing:-.06em;color:var(--ink)}
.session-info{display:grid;gap:5px;font-size:14px}.session-info strong{font-size:16px}.session-info small{color:var(--muted);font-size:13px}
.session-info .btn,.session-info .link{justify-self:start;margin-top:6px}
.session.is-live{background:var(--lime);padding-left:14px;padding-right:14px;margin:0 -14px}
.session.is-live .session-info strong:before{content:"● EN DIRECT ";color:var(--error);font-size:11px;letter-spacing:.1em}
.payments{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.payments li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}
.payments small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.pay-amount{text-align:right;font-weight:700;white-space:nowrap}.pay-amount .status{margin-top:5px}
@media(max-width:1000px){.space-grid{grid-template-columns:1fr;gap:50px}}
@media(max-width:800px){
  .space-head{padding-top:44px;padding-bottom:26px}
  .resume-inner{flex-direction:column;align-items:flex-start;gap:26px;padding-top:40px;padding-bottom:44px}.bar--light{width:100%}
  .space-grid{padding-top:50px}
  .my-course{grid-template-columns:1fr auto;gap:8px 14px}.my-course .tag{grid-column:1/-1}.my-course-progress{grid-column:1/-1;grid-row:3}.my-course .arrow{grid-row:2;grid-column:2}
}
.lesson-link{color:var(--ink);text-decoration:underline;text-decoration-color:#b9c2b3;text-underline-offset:4px}.lesson-link:hover{color:var(--green);text-decoration-color:var(--green)}
.dock-count{opacity:.7;margin-left:6px}
.reader-dock button{display:flex;align-items:center;justify-content:center;gap:4px}

/* Validation des formations */
.status--submitted{background:#dfe7f6;color:#2b4a85}.status--changes{background:#f6d4c5;color:#8a3519}
.review-note{grid-column:1/-1;padding:16px 20px;font-size:14px;line-height:1.6;margin-top:6px}.review-note p{margin:8px 0 0}
.review-note--wait{background:#dfe7f6}.review-note--changes{background:#f6d4c5}
.lesson-main .review-note{margin:0 0 14px}
.is-locked .handle{opacity:.4;pointer-events:none}
.team-list{list-style:none;margin:0 0 30px;padding:0;border-top:1px solid var(--ink);max-width:820px}
.team-list li{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.team-name{flex:1}.team-name small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.cd-teachers{font-size:15px;margin:-14px 0 30px;color:var(--muted)}.cd-teachers strong,.cd-teachers .link{color:var(--ink)}
.role-chips{display:flex;flex-wrap:wrap;gap:6px;margin:-24px 0 34px}

.steps-mini{list-style:none;counter-reset:s;margin:30px 0 0;padding:0;border-top:1px solid #a7b1a5}
.steps-mini li{counter-increment:s;padding:16px 0 16px 46px;border-bottom:1px solid #a7b1a5;position:relative;line-height:1.5;color:var(--muted)}
.steps-mini li:before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:14px;font-family:"Space Grotesk";font-weight:700;font-size:22px;color:var(--green)}
.steps-mini strong{color:var(--ink)}
.teacher-page{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding-top:80px;padding-bottom:40px;align-items:end}
.teacher-courses{padding-top:40px}
@media(max-width:800px){.teacher-page{grid-template-columns:1fr;padding-top:50px}}

/* Espace gestionnaire */
.bo-bar{gap:30px}.bo-nav{display:flex;gap:22px;overflow-x:auto;white-space:nowrap}
.bo-nav a{color:#c7d0c9;font-weight:700;padding:6px 0;border-bottom:2px solid transparent}.bo-nav a:hover{color:var(--cream)}.bo-nav a[aria-current]{color:var(--lime);border-color:var(--lime)}
.bo-nav b{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:10px;background:var(--orange);color:var(--ink);font-size:11px;margin-left:4px;padding:0 5px}
.bo-page{padding-top:56px;padding-bottom:110px}
.bo-counters{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-bottom:60px}
.bo-counters a{padding:26px 20px 26px 0;font-size:14px;color:var(--muted);font-weight:600}.bo-counters a+a{border-left:1px solid var(--line);padding-left:24px}
.bo-counters strong{display:block;font-family:"Space Grotesk";font-size:clamp(46px,5vw,72px);letter-spacing:-.07em;color:var(--ink);line-height:1}.bo-counters a:hover strong{color:var(--green)}
.bo-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:60px}
.bo-list{list-style:none;margin:0 0 50px;padding:0;border-top:1px solid var(--line)}
.bo-list li>a,.bo-list li>.bo-hist{display:block;padding:14px 0;border-bottom:1px solid var(--line)}.bo-list li>a:hover strong{color:var(--green)}
.bo-list small,.bo-hist small{display:block;color:var(--muted);font-size:13px;margin-top:3px}.bo-hist em{display:block;font-size:13px;margin-top:6px;color:var(--ink)}
.bo-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:40px}
.bo-stats div{background:var(--paper);padding:18px;font-size:13px;color:var(--muted)}.bo-stats strong{display:block;font-family:"Space Grotesk";font-size:32px;color:var(--ink);letter-spacing:-.05em}
.bo-events{list-style:none;margin:0 0 16px;padding:0}.bo-events li{padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.bo-events strong{font-weight:600}.bo-events span{display:block;margin-top:2px}.bo-events small{display:block;color:var(--muted);margin-top:3px}
.bo-back{margin:0 0 26px;font-size:14px}
.bo-detail{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:50px;align-items:start}
.bo-detail aside{display:grid;gap:18px;position:sticky;top:20px}
.course-head-title{font-family:"Space Grotesk";font-size:clamp(36px,4.4vw,60px);letter-spacing:-.07em;line-height:1;margin:16px 0 12px;font-weight:600}
.bo-dl{display:grid;grid-template-columns:160px 1fr;gap:0;border-top:1px solid var(--line);margin:24px 0 30px;font-size:14px}
.bo-dl dt,.bo-dl dd{padding:11px 0;border-bottom:1px solid var(--line);margin:0}.bo-dl dt{font-weight:700;color:var(--muted)}
.bo-detail .space-h2{font-size:24px;margin-top:40px}
.bo-radios{display:grid;gap:8px;margin-bottom:16px}.bo-radios label{display:flex;gap:10px;align-items:center;font-weight:600;font-size:14px;cursor:pointer}.bo-radios input{accent-color:var(--green);width:17px;height:17px}
.bo-search{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.bo-search input,.bo-search select{padding:11px 14px;border:1px solid #bdc7b9;font:inherit;font-size:15px;background:#fff;min-width:0}.bo-search input{flex:1;max-width:420px}
.bo-tabs{margin:0 0 24px}
@media(max-width:1000px){.bo-grid,.bo-detail{grid-template-columns:1fr}.bo-detail aside{position:static}}
@media(max-width:700px){.bo-counters{grid-template-columns:1fr}.bo-counters a+a{border-left:0;border-top:1px solid var(--line);padding-left:0}.bo-dl{grid-template-columns:1fr}.bo-dl dt{border-bottom:0;padding-bottom:0}}
/* Choix multiples en pastilles */
.field div:has(> div > label > input.chip-input){display:flex;flex-wrap:wrap;gap:8px}
.field label:has(> input.chip-input){display:inline-flex;align-items:center;gap:8px;border:1px solid #b7c0b1;border-radius:100px;padding:9px 15px;font-size:13px;font-weight:700;cursor:pointer;background:#fff;margin:0}
.field label:has(> input.chip-input:checked){background:var(--ink);color:#fff;border-color:var(--ink)}
.field label:has(> input.chip-input:focus-visible){outline:2px solid var(--green);outline-offset:2px}
.field input.chip-input{position:absolute;opacity:0;width:1px;height:1px}
.bo-counters--2{grid-template-columns:repeat(2,1fr)}.bo-count{padding:26px 20px 26px 0;font-size:14px;color:var(--muted);font-weight:600}.bo-count+.bo-count{border-left:1px solid var(--line);padding-left:24px}.bo-count strong{display:block;font-family:"Space Grotesk";font-size:clamp(46px,5vw,72px);letter-spacing:-.07em;color:var(--ink);line-height:1}
@media(max-width:1000px){.bo-counters{grid-template-columns:repeat(2,1fr)}}

/* ==========================================================================
   Accueil Intercours (repris de index_new.html, sans les règles d'en-tête du prototype)
   ========================================================================== */
.path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.path-card{background:#e9e9dc;border:1px solid #d4d6c8;padding:30px;min-height:310px;display:flex;flex-direction:column;align-items:flex-start;transition:transform .25s,background .25s}.path-card:hover{transform:translateY(-7px);background:#dfe7cb}.path-num{font-size:12px;letter-spacing:.12em;font-weight:700}.path-icon{font-size:50px;margin:22px 0}.path-card h3,.pillar h3,.news-card h3{font-family:'Space Grotesk',sans-serif;font-size:clamp(24px,2.8vw,39px);line-height:1.08;letter-spacing:-.06em;margin:0 0 14px}.path-card p,.pillar p,.news-card p{line-height:1.65;color:#526057;margin:0 0 24px}.news-card p{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.path-card a,.pillar a,.news-card a{margin-top:auto;font-weight:700;font-size:13px;border-bottom:1px solid currentColor;padding-bottom:5px}.pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.pillar{padding:40px;min-height:290px;background:#e7e9da;display:flex;flex-direction:column}.pillar:nth-child(2){background:#d9ef80}.pillar:nth-child(3){background:#f1ddd1}.pillar:nth-child(4){background:#d5e5dd}.pillar .number{font-size:12px;letter-spacing:.15em;font-weight:700;margin-bottom:36px}.split-intro{max-width:750px;font-size:18px;line-height:1.8;color:#46584c;margin:-32px 0 52px}.home-section{background:#182521;color:#f6f2e9}.home-section .section-title em{color:#d9ef80}.home-section .split-intro{color:#d4ddcf}.home-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.home-step{border-top:1px solid #829388;padding:26px 0 12px}.home-step b{color:#d9ef80;font-size:12px}.home-step h3{font-family:'Space Grotesk';font-size:30px;letter-spacing:-.06em}.home-step p{line-height:1.7;color:#d0d8d0}.action-light{display:inline-block;margin-top:35px;border-radius:100px;padding:16px 25px;background:#d9ef80;color:#182521;font-weight:700;border:0;cursor:pointer}.resource-bar{display:flex;flex-wrap:wrap;gap:12px}.resource-bar button{border:1px solid #a7b1a4;border-radius:30px;padding:13px 18px;background:transparent;cursor:pointer;font-weight:700}.resource-bar button.active{background:#182521;color:#fff}.resource-display{background:#e9e8dc;margin-top:25px;padding:35px;min-height:125px;line-height:1.7}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.news-card{border-top:1px solid #aab5a6;padding:26px 10px 20px 0;display:flex;flex-direction:column;min-height:250px}.news-card small{font-weight:700;color:#225c47;letter-spacing:.08em;margin-bottom:25px}.audience{background:#d9ef80;padding:100px 0}.audience .section-title{margin-bottom:45px}.audience-row{display:flex;flex-wrap:wrap;gap:10px}.audience-row button{padding:17px 24px;background:transparent;border:1px solid #182521;border-radius:50px;cursor:pointer;font-weight:700}.audience-row button.active{background:#182521;color:#fff}.audience-panel{max-width:850px;margin-top:35px;font-size:22px;line-height:1.5;font-family:'Space Grotesk'}@media(max-width:950px){.path-grid,.news-grid{grid-template-columns:1fr 1fr}.home-steps{grid-template-columns:1fr}}@media(max-width:650px){.path-grid,.pillars,.news-grid{grid-template-columns:1fr}.path-card{min-height:260px}.pillar{min-height:230px}.audience-panel{font-size:19px}}
.waitlist{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;max-width:640px}
.waitlist input[type=email]{flex:1;min-width:220px;padding:15px 16px;border:1px solid #bdc7b9;background:#fff;font:inherit;font-size:16px;border-radius:2px}
.waitlist input:focus{outline:2px solid var(--green)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.news-soon{margin-top:auto;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.audience-panel p{margin:0}
a.action-light{display:inline-block}
.tutoring-note{margin-top:24px}

/* Logo */
.brand-logo{display:block;height:44px;width:auto}
.reader-emblem{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0}.reader-emblem img{height:34px;width:auto}
@media(max-width:800px){.brand-logo{height:34px}}
@media(max-width:440px){.brand-logo{height:30px}}

/* Paiement */
.ticket-methods{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px;border:0;padding:0}
.ticket-method{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #b6c4b4;background:#fff;padding:14px 10px;font-weight:700;font-size:14px;cursor:pointer;color:var(--ink);border-radius:2px}
.ticket-method input{accent-color:var(--green)}
.ticket-method:has(input:checked){outline:2px solid var(--green);background:#e3f0d8}
.ticket-method--wave:has(input:checked){outline-color:#1dc8ff;background:#e6f8ff}
.ticket-method--orange_money:has(input:checked){outline-color:#ff7900;background:#fff1e5}
.paytest{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 16px;background:#e9e8dc}
.paytest-banner{position:fixed;top:0;left:0;right:0;background:var(--orange);color:var(--ink);text-align:center;font-size:13px;font-weight:700;padding:10px}
.paytest-card{width:min(420px,100%);background:#fff;border-radius:18px;padding:32px 28px;box-shadow:0 20px 60px #0002;text-align:center;border-top:8px solid #1dc8ff}
.paytest-card--orange_money{border-top-color:#ff7900}
.paytest-provider{font-family:"Space Grotesk";font-weight:700;font-size:15px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 20px;color:#1d9bd6}
.paytest-card--orange_money .paytest-provider{color:#e86a00}
.paytest-merchant{margin:0;color:var(--muted)}
.paytest-amount{font-family:"Space Grotesk";font-size:46px;letter-spacing:-.06em;font-weight:700;margin:8px 0}
.paytest-label{font-size:14px;margin:0 0 26px;line-height:1.5}.paytest-label small{color:var(--muted)}
.paytest-card form{display:grid;gap:10px}.paytest-card .link{margin-top:6px;color:var(--muted)}
.paytest-pay{background:#1dc8ff;color:#06263a}.paytest-card--orange_money .paytest-pay{background:#ff7900;color:#fff}
.paytest-help{max-width:420px;text-align:center;font-size:12px;color:var(--muted);line-height:1.6;margin-top:22px}
.paytest-done{color:var(--muted)}
.payreturn-spinner{font-weight:700;color:var(--green)}.payreturn-spinner{animation:pulse 1.4s infinite}
.bo-h3{font-size:14px;letter-spacing:.1em;text-transform:uppercase;margin:24px 0 8px}

/* Quiz */
.quiz-studio{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;padding-top:40px;padding-bottom:100px;align-items:start}
.quiz-studio .studio-title{margin-top:20px}
.qlist{list-style:none;margin:0 0 30px;padding:0;border-top:1px solid var(--ink)}
.qitem{padding:22px 0;border-bottom:1px solid #b9bfb3}
.qitem-head{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:start}
.qitem-head .program-num{font-size:32px}
.qitem-prompt{font-size:17px;font-weight:600;line-height:1.5}.qitem-prompt small{display:block;color:var(--muted);font-weight:500;font-size:12px;margin-top:4px}
.qitem-actions{display:flex;gap:12px;align-items:center;font-size:13px}.qitem-actions form{display:flex;gap:4px}
.icon-btn{border:1px solid var(--line);background:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer}.icon-btn:disabled{opacity:.3;cursor:default}
.qchoices{list-style:none;margin:12px 0 0 70px;padding:0;font-size:15px}.qchoices li{padding:5px 0;color:var(--muted)}.qchoices li.is-correct{color:var(--green);font-weight:700}
.qexplain{margin:10px 0 0 70px;font-size:14px;color:var(--muted);border-left:3px solid var(--lime);padding-left:12px}
.qnew summary{list-style:none;cursor:pointer}.qnew summary::-webkit-details-marker{display:none}.qnew summary h2{margin:0}.qnew[open] summary{margin-bottom:18px}
.choice-rows{margin:4px 0 20px}.choice-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;margin-bottom:8px}
.choice-row input[type=text]{padding:11px 12px;border:1px solid #bdc7b9;font:inherit;font-size:15px;background:#fff;width:100%}
.choice-num{font-family:"Space Grotesk";font-weight:700;color:var(--muted)}
.choice-correct{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;white-space:nowrap}.choice-correct input{accent-color:var(--green);width:17px;height:17px}
.choice-row .field-errors{grid-column:2/-1}
.quiz{margin-top:56px;border-top:1px solid var(--ink);padding-top:28px}
.quiz-head h2{font-family:"Space Grotesk";font-size:clamp(28px,3vw,38px);letter-spacing:-.06em;margin:8px 0 10px}
.quiz-meta{font-size:13px;color:var(--muted)}
.quiz-result{display:flex;align-items:center;gap:18px;background:#f6d4c5;padding:18px 22px;margin:20px 0}.quiz-result.is-passed{background:var(--lime)}
.quiz-result strong{font-family:"Space Grotesk";font-size:44px;letter-spacing:-.06em;line-height:1}
.quiz-review,.quiz-form ol{list-style:decimal;padding-left:22px;margin:0 0 20px}
.quiz-review>li,.quiz-form li{padding:14px 0;border-bottom:1px solid var(--line)}
.quiz-q{font-weight:700;font-size:17px;line-height:1.5;margin:0 0 10px}.quiz-q small{display:block;font-weight:500;font-size:12px;color:var(--muted)}
.quiz-mark{font-size:12px;font-weight:700;margin-left:8px;white-space:nowrap}.is-right .quiz-mark{color:var(--green)}.is-wrong .quiz-mark{color:var(--error)}
.quiz-review ul{list-style:none;margin:0;padding:0}.quiz-review ul li{padding:6px 10px;margin:4px 0;border-radius:3px;color:var(--muted)}
.quiz-review ul li.is-picked{background:var(--sage);color:var(--ink);font-weight:600}.quiz-review ul li.is-picked:before{content:"Ta réponse · ";font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.quiz-review ul li.is-correct{background:#e3f0d8;color:var(--green);font-weight:700}.quiz-review ul li.is-correct:after{content:"";display:inline-block;width:.9em;height:.9em;margin-left:.35em;vertical-align:-.1em;background:currentColor;-webkit-mask:var(--mask-check) center/contain no-repeat;mask:var(--mask-check) center/contain no-repeat}
.quiz-form fieldset{border:0;padding:0;margin:0}
.quiz-choice{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);background:#fff;margin:6px 0;cursor:pointer;font-size:16px;line-height:1.5}
.quiz-choice:has(input:checked){border-color:var(--green);background:#e3f0d8}.quiz-choice input{margin-top:5px;accent-color:var(--green);width:17px;height:17px;flex-shrink:0}
.quiz-form-wrap>summary{list-style:none;display:inline-flex;margin:10px 0 18px}.quiz-form-wrap>summary::-webkit-details-marker{display:none}
.quiz-form-wrap[open]>summary{display:none}
@media(max-width:1000px){.quiz-studio{grid-template-columns:1fr}}
@media(max-width:600px){.qitem-head{grid-template-columns:40px 1fr}.qitem-actions{grid-column:1/-1}.qchoices,.qexplain{margin-left:0}}
.field-row--3{grid-template-columns:1.4fr 1fr 1fr}
@media(max-width:440px){.field-row--3{grid-template-columns:1fr}}
.sessions--studio{max-width:900px;margin-bottom:30px}.sessions--studio .session{align-items:flex-start}
.session-actions{display:flex;gap:14px;align-items:center;margin-left:auto;font-size:13px}
.session.is-cancelled{opacity:.55}
.qnew-summary{list-style:none;cursor:pointer}.qnew-summary::-webkit-details-marker{display:none}.qnew-summary h2{margin:0}details[open]>.qnew-summary{margin-bottom:18px}
.past-title{margin-top:50px}
.link--small{font-size:12px}
.editor-ad-settings{margin:20px -2px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 2px}.editor-ad-settings summary{display:flex;justify-content:space-between;gap:12px;align-items:baseline;cursor:pointer;list-style:none;font-weight:700;font-size:14px}.editor-ad-settings summary::-webkit-details-marker{display:none}.editor-ad-settings summary:after{content:"+";font-size:20px;font-weight:400}.editor-ad-settings[open] summary:after{content:"−"}.editor-ad-settings summary small{color:var(--muted);font-size:11px;font-weight:400;margin-left:auto}.editor-ad-settings .side-help{margin:12px 0;font-size:12px}.editor-ad-settings input[type="file"]{max-width:100%}

/* Journal et ressources */
.status--review{background:#dfe7f6;color:#2b4a85}
.desk-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.journal-grid{margin-top:20px}.journal-card h3 a:hover,.resource-card h3 a:hover{color:var(--green)}
.journal-cover{display:block;margin:-6px 0 18px;aspect-ratio:16/9;overflow:hidden;background:var(--sage)}.journal-cover img{width:100%;height:100%;object-fit:cover;display:block}
.resource-grid{margin-top:20px}.resource-card .resource-meta{color:var(--muted);font-size:12px;margin:-10px 0 18px}
.resource-card h3{font-size:clamp(22px,2vw,28px);line-height:1.15;letter-spacing:-.04em;margin:18px 0 12px;text-wrap:balance}
.resource-card h3 a{margin-top:0;padding-bottom:0;border-bottom:0;font-size:inherit;font-weight:inherit;line-height:inherit}
.resource-card>p{margin:0 0 18px;line-height:1.6}
.pagination{display:flex;align-items:center;gap:14px;margin-top:30px}
.article-page .cd-crumbs{margin-bottom:26px}
.article-lead{font-size:clamp(19px,1.8vw,23px);line-height:1.5;margin:-12px 0 32px;color:#2d3d37}
.article-share{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 30px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.article-share__label{font-size:12px;color:var(--muted);letter-spacing:.04em;margin-right:4px}.article-share__actions{display:flex;gap:8px;align-items:center}.share-button{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:inline-grid;place-items:center;background:transparent;color:var(--ink);font-size:15px;font-weight:700;line-height:1;transition:transform .2s,background .2s,color .2s,border-color .2s}.share-button:hover{transform:translateY(-2px);background:var(--ink);color:#fff;border-color:var(--ink)}.share-button:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.share-button--linkedin{font-size:11px}.share-button--copy{cursor:pointer}.article-share__status{font-size:12px;color:var(--green);min-height:1em}
.article-ad{margin:0 0 36px;padding:12px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.article-ad__label{display:block;margin-bottom:10px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.article-ad a,.article-ad picture,.article-ad img{display:block}.article-ad img{width:100%;height:auto;max-height:220px;object-fit:cover}.article-ad a:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.article-cover{margin:0 0 36px}.article-cover img{width:100%;display:block}
.article-sources{margin-top:40px;border-top:1px solid var(--line);padding-top:18px;font-size:14px;color:var(--muted)}.article-sources h2{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.article-tags{margin:24px 0 0}
.article-author{display:flex;align-items:center;gap:12px;margin:34px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.article-related{margin-top:30px}
.link--light{color:var(--lime);margin-left:12px}
@media(max-width:600px){.article-share{gap:10px;margin-bottom:24px}.article-share__label{width:100%}.share-button{width:40px;height:40px}.article-ad{margin-bottom:28px}.article-ad img{max-height:none}}
.nav>a,.nav .dd-btn,.nav-cta{white-space:nowrap}
@media(min-width:1025px) and (max-width:1180px){.nav{gap:18px;font-size:12px}.top{gap:14px}.brand-logo{height:36px}.nav-cta{padding:12px 16px}}
/* Partage : vraies icônes ; WhatsApp mis en avant (usage n°1 au Sénégal) */
.share-button svg{display:block}
.share-button--whatsapp{background:#25D366;border-color:#25D366;color:#fff}
.share-button--whatsapp:hover{background:#1da851;border-color:#1da851;color:#fff}
.share-button--facebook:hover{background:#0866FF;border-color:#0866FF}
.share-button--linkedin:hover{background:#0A66C2;border-color:#0A66C2}
.ad-summary{border:1px solid var(--line);background:#fff;padding:12px;margin:0 0 16px;font-size:13px}
.ad-summary img{width:100%;height:auto;max-height:110px;object-fit:cover;display:block;margin-bottom:10px}
.ad-summary p{margin:0}.ad-summary strong{color:var(--muted)}.ad-summary.is-live strong{color:var(--green)}
.encart__note{margin:0 0 10px;padding:8px 12px;background:#f6d4c5;font-size:13px}
.editor-ad-settings summary{cursor:pointer}

/* ==========================================================================
   Mobile : seuls les tableaux et les formules défilent horizontalement
   ========================================================================== */
/* Une colonne de grille « 1fr » s'étire jusqu'au contenu le plus large : on la borne. */
.reader{grid-template-columns:330px minmax(0,1fr)}
.reader-main,.reader-col,.lesson-main,.prose,.reader-preview,.article-page,.cd-desc{min-width:0}
.prose{overflow-wrap:break-word}
.prose .table-wrap,.prose .tableWrapper{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;
  /* ombres qui indiquent qu'il reste du contenu à droite / à gauche */
  background:linear-gradient(90deg,var(--cream) 30%,rgba(246,242,233,0)) left/40px 100% no-repeat local,
             linear-gradient(270deg,var(--cream) 30%,rgba(246,242,233,0)) right/40px 100% no-repeat local,
             radial-gradient(farthest-side at 0 50%,rgba(24,37,33,.18),transparent) left/12px 100% no-repeat scroll,
             radial-gradient(farthest-side at 100% 50%,rgba(24,37,33,.18),transparent) right/12px 100% no-repeat scroll}
.editor-paper .prose .tableWrapper{background:none}
.prose table{width:auto;min-width:100%}
.prose td,.prose th{white-space:nowrap}
.prose td p,.prose th p{white-space:normal}
.prose .math--block,.prose [data-type=block-math]{max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
.prose .math--block .katex-display{margin:0}
/* Formule dans le texte plus large que l'écran (repérée par content.js) : elle défile seule. */
.prose span.math.math--wide{display:inline-block;max-width:100%;overflow-x:auto;overflow-y:hidden;vertical-align:middle;-webkit-overflow-scrolling:touch;padding-bottom:2px}
/* Dans un tableau, une formule ne se coupe jamais : c'est le tableau qui défile. */
.prose td .math,.prose th .math{white-space:nowrap}
@media(max-width:1000px){.reader{grid-template-columns:minmax(0,1fr)}}

/* Encart partenaire : logo, nom, description, lien (pas de classe « sponsor » ni « ad » : bloqueurs) */
.encart{margin:34px 0;max-width:720px}
.art-header>.encart{margin:0 0 28px}
.encart__inner{display:block;padding:16px 18px;background:var(--paper);border:1px solid var(--line);border-radius:6px;color:var(--ink);text-decoration:none;transition:border-color .2s,box-shadow .2s}
a.encart__inner:hover{border-color:#b9c2b3;box-shadow:0 6px 24px rgba(24,37,33,.07)}
a.encart__inner:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.encart__label{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.encart__head{display:flex;align-items:center;gap:14px}
.encart__logo{width:56px;height:56px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid var(--line);padding:4px;flex-shrink:0}
.encart__id{display:flex;flex-direction:column;min-width:0;flex:1}
.encart__name{font-family:"Space Grotesk";font-size:18px;letter-spacing:-.03em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.encart__site{font-size:12px;color:var(--muted)}
.encart__cta{font-size:13px;font-weight:700;color:var(--green);white-space:nowrap}
.encart__desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:10px;font-size:14px;line-height:1.5;color:#3d4b44}
@media(max-width:440px){.encart__cta{display:none}}
/* Colonnes latérales (rédaction, studio, gestion) : défilement propre si elles dépassent l'écran */
@media(min-width:1001px){
  .lesson-side,.bo-detail aside{max-height:calc(100vh - 110px);overflow-y:auto;overscroll-behavior:contain;padding-right:6px;scrollbar-width:thin}
}

/* --- Couverture (hero de l'accueil) ---------------------------------------
   Le hero est une phrase à compléter : « Je veux apprendre ___ » puis l'une
   des trois façons d'apprendre sur Intercours. Nos mots en grotesque, ceux de
   l'apprenant en italique : la page lui répond. Le surligneur marque le choix. */
.cover.shell{padding-top:clamp(44px,6.5vw,104px);padding-bottom:clamp(44px,5vw,76px)}
.cover-form{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(14px,2vw,28px);align-items:end}
.cover-sentence{grid-column:1/-1;margin:0;font-family:"Space Grotesk";font-weight:600;font-size:clamp(44px,7.3vw,122px);line-height:.98;letter-spacing:-.066em}
.cover-sentence label{display:block}
.cover-sentence input{display:block;width:calc(100% - 100%/6);margin:.04em 0 0 calc(100%/6);padding:0 0 .06em;border:0;border-bottom:2px solid var(--ink);border-radius:0;background:transparent;font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;font-size:1.1em;line-height:1.08;letter-spacing:-.025em;color:var(--green);-webkit-appearance:none;appearance:none}
.cover-sentence input::placeholder{color:#b9bfae;opacity:1}
.cover-sentence input::-webkit-search-cancel-button{display:none}
.cover-sentence input:focus{outline:none;border-bottom-color:var(--green)}
.cover-modes{grid-column:1/10;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(16px,2.2vw,36px);margin:clamp(44px,5.5vw,84px) 0 0;padding:0;border:0;min-width:0}
.cover-mode{position:relative;display:grid;align-content:start;gap:10px;padding-top:18px;border-top:1px solid #b9c1b1;cursor:pointer}
.cover-mode:before{content:"";position:absolute;left:0;right:0;top:-1px;height:3px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.cover-mode input{position:absolute;opacity:0;pointer-events:none}
.cover-mode-name{font-family:"Space Grotesk";font-size:clamp(21px,2vw,31px);font-weight:600;line-height:1.12;letter-spacing:-.045em}
.cover-mode-name span{padding:0 .08em;margin:0 -.08em;background-image:linear-gradient(var(--lime),var(--lime));background-repeat:no-repeat;background-position:0 82%;background-size:0 .48em;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .4s cubic-bezier(.2,.7,.2,1)}
.cover-mode-desc{max-width:32ch;font-size:14px;line-height:1.5;color:var(--muted);transition:color .2s}
.cover-mode:hover .cover-mode-name span{background-size:100% .12em}
.cover-mode input:checked~.cover-mode-name span{background-size:100% .48em}
.cover-mode input:checked~.cover-mode-desc{color:var(--ink)}
.cover-mode:has(input:checked):before{transform:scaleX(1)}
/* Défilement automatique : la ligne du mode actif se remplit comme une barre de progression. */
.cover-form.is-cycling .cover-mode:has(input:checked):before{animation:cover-progress var(--cycle,2.6s) linear both}
.cover-form.is-cycling.is-paused .cover-mode:has(input:checked):before{animation-play-state:paused}
@keyframes cover-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.cover-mode input:focus-visible~.cover-mode-name{outline:2px solid var(--green);outline-offset:4px}
.cover-submit{grid-column:10/-1;justify-self:end;display:inline-flex;align-items:center;gap:14px;padding:22px 30px;border:0;border-radius:100px;background:var(--ink);color:var(--cream);font-family:"Space Grotesk";font-size:17px;font-weight:600;letter-spacing:-.02em;white-space:nowrap;cursor:pointer;transition:background .2s}
.cover-submit span[aria-hidden]{display:inline-block;transition:transform .25s}
.cover-submit:hover{background:var(--green)}
.cover-submit:hover span[aria-hidden]{transform:rotate(45deg)}
.cover-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:18px 40px;margin-top:clamp(64px,7vw,112px)}
.cover-title{margin:0;font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(22px,2.1vw,32px);letter-spacing:-.01em}
.cover-teachers{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px;margin:0;font-size:14px}
.cover-teachers>span{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.cover-teachers a{font-weight:700}
.cover-teachers small{font-size:13px;font-weight:400;color:var(--muted)}
.cover-teachers a:hover{color:var(--green)}
.cover-teachers .cover-teach{color:var(--green)}
@media(max-width:1100px){.cover-modes{grid-column:1/-1}.cover-submit{grid-column:1/-1;justify-self:start;margin-top:36px}}
@media(max-width:720px){.cover-sentence{font-size:clamp(40px,11.6vw,62px)}.cover-sentence input{width:100%;margin-left:0}.cover-modes{grid-template-columns:1fr;margin-top:40px}.cover-mode{gap:4px;padding:16px 0 18px}.cover-mode-name{font-size:22px}.cover-mode-desc{font-size:13px}.cover-submit{justify-self:stretch;justify-content:center;margin-top:28px}.cover-foot{flex-direction:column;gap:14px;margin-top:52px}}
@media(prefers-reduced-motion:reduce){.cover-mode:before,.cover-mode-name span{transition:none;animation:none}}

/* --- Avis --------------------------------------------------------------- */
.stars{display:inline-flex;gap:2px;font-size:14px;color:var(--orange)}
.stars .off{color:#cdd1c2}
.voices-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:0 clamp(32px,6vw,96px)}
.voices-grid--single{grid-template-columns:minmax(0,1fr);max-width:980px}
.voice{margin:0;padding:26px 0 34px;border-top:1px solid var(--ink)}
.voice+.voice{border-top-color:var(--line)}
.voice--lead{grid-row:span 3}
.voice blockquote{margin:18px 0 24px;font-size:17px;line-height:1.65}
.voice--lead blockquote{font-family:"Space Grotesk";font-size:clamp(26px,2.7vw,42px);font-weight:500;line-height:1.16;letter-spacing:-.045em}
.voice--lead blockquote:before{content:"«";display:block;height:.72em;margin-top:-.1em;font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-size:2.2em;line-height:.9;color:var(--orange)}
.voice figcaption{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;font-size:13px}
.voice figcaption a{color:var(--muted)}
.voice figcaption a:hover{color:var(--green)}
@media(max-width:800px){.voices-grid{grid-template-columns:minmax(0,1fr)}.voice--lead{grid-row:auto}}

/* --- Témoignages de partenaires (accueil) : à part des avis d'inscrits ------------------
   Les cartes montent l'une après l'autre et les guillemets se tracent quand la section entre à l'écran. */
.partners{background:var(--ink);color:var(--cream);padding:130px 0 135px}
.partners .section-title em{color:var(--lime)}
.partners .section-title{margin-bottom:28px}
.partners-intro{max-width:520px;margin:0 0 64px;font-size:16px;line-height:1.7;color:#c9cfc3}
.partners-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:22px}
.partner{display:flex;flex-direction:column;margin:0;padding:30px 28px 26px;border:1px solid #ffffff26;border-radius:6px;background:#ffffff08;transition:border-color .3s,background .3s}
.partner:hover{border-color:var(--lime);background:#ffffff0f}
.partner-mark{width:44px;height:33px;fill:none;stroke:var(--lime);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.partner blockquote{flex:1;margin:20px 0 28px;font-size:17px;line-height:1.65}
.partner figcaption{display:flex;align-items:center;gap:14px;padding-top:20px;border-top:1px solid #ffffff26}
.partner-photo{flex:none;width:52px;height:52px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--lime);color:var(--ink);font:600 22px/1 "Space Grotesk",sans-serif}
.partner figcaption strong{display:block;font-family:"Space Grotesk";font-size:18px;letter-spacing:-.03em}
.partner figcaption small{display:block;margin-top:3px;font-size:13px;color:#c9cfc3}
.partner figcaption .partner-relation{color:var(--lime);opacity:.85}
.partners.is-armed .partner{opacity:0;transform:translateY(28px)}
.partners.is-armed .partner-mark path{stroke-dasharray:1;stroke-dashoffset:1}
.partners.is-in .partner{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.2,.7,.2,1) calc(var(--i)*.12s),transform .7s cubic-bezier(.2,.7,.2,1) calc(var(--i)*.12s),border-color .3s,background .3s}
.partners.is-in .partner-mark path{stroke-dashoffset:0;transition:stroke-dashoffset 1.1s ease calc(.25s + var(--i)*.12s)}
@media(max-width:800px){.partners{padding:85px 0 95px}.partners-intro{margin-bottom:44px}}
@media(prefers-reduced-motion:reduce){.partners.is-armed .partner{opacity:1;transform:none}.partners.is-armed .partner-mark path{stroke-dashoffset:0}}

.review-score{margin:22px 0 0;font-size:15px;color:var(--muted)}
.review-score strong{font-family:"Space Grotesk";font-size:44px;letter-spacing:-.06em;color:var(--ink)}
.review-form{margin:0 0 44px;padding:26px;background:var(--paper);border:1px solid var(--line)}
.review-form-title{margin:0 0 18px;font-weight:700}
.rating-input{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 20px;padding:0;border:0}
.rating-input legend{margin-bottom:10px;padding:0;font-size:13px;font-weight:700}
.rating-input label{cursor:pointer}
.rating-input input{position:absolute;opacity:0;pointer-events:none}
.rating-input label span{display:grid;place-items:center;width:44px;height:44px;border:1px solid #b7c0b1;border-radius:50%;font-weight:700;transition:background .15s}
.rating-input label:hover span{border-color:var(--ink)}
.rating-input input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.rating-input input:focus-visible+span{outline:2px solid var(--green);outline-offset:2px}
.rating-input small{margin-left:8px;font-size:12px;color:var(--muted)}
.review-form textarea{width:100%;padding:14px;border:1px solid #bdc7b9;background:#fff;font:inherit;line-height:1.6}
.review-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.review{padding:24px 0;border-bottom:1px solid var(--line)}
.review blockquote{margin:10px 0 12px;font-size:16px;line-height:1.65}
.review-meta{margin:0;font-size:13px;color:var(--muted)}
.cd-stats a.cd-stat:hover strong{color:var(--green)}

/* --- Rail de formations (accueil) -------------------------------------------
   Cartes à la Udemy pour la lisibilité (couverture, enseignant, avis, prix),
   avec une couverture typographique propre à Intercours quand il n'y a pas
   d'image : le symbole de la matière, façon tableau périodique. */
.rail-head{display:flex;justify-content:space-between;align-items:end;gap:20px 40px;flex-wrap:wrap}
.rail-title{margin:0;font-family:"Space Grotesk";font-size:clamp(36px,4.4vw,64px);font-weight:600;line-height:1;letter-spacing:-.06em}
.rail-intro{max-width:58ch;margin:14px 0 0;font-size:16px;line-height:1.6;color:var(--muted)}
.rail-all{font-size:14px;font-weight:700;white-space:nowrap}
.rail-all:hover{color:var(--green)}
.rail-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:36px 0 26px;border-bottom:1px solid var(--line)}
.rail-tabs{display:flex;gap:28px;overflow-x:auto;scrollbar-width:none}
.rail-tabs::-webkit-scrollbar{display:none}
.rail-tabs button{flex:none;margin-bottom:-1px;padding:12px 0 13px;border:0;border-bottom:2px solid transparent;background:none;font:inherit;font-size:14px;font-weight:700;color:var(--muted);cursor:pointer;white-space:nowrap}
.rail-tabs button:hover{color:var(--ink)}
.rail-tabs button.active{color:var(--ink);border-bottom-color:var(--ink)}
.rail-arrows{display:flex;flex:none;gap:8px;padding-bottom:8px}
.rail-arrow{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--ink);border-radius:50%;background:transparent;color:var(--ink);font-size:16px;cursor:pointer;transition:background .2s,color .2s,opacity .2s}
.rail-arrow:hover:not(:disabled){background:var(--ink);color:var(--cream)}
.rail-arrow:disabled{opacity:.25;cursor:default}
.rail-static .rail-arrows{display:none}
.rail{--gap:20px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3 * var(--gap)) / 4);gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 10px 14px 0;margin-right:-10px;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.rail:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.rail>[hidden]{display:none}
.ccard{scroll-snap-align:start;min-width:0}
.ccard-link{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--paper);transition:transform .25s,box-shadow .25s,border-color .25s}
.ccard-link:hover{transform:translateY(-4px);border-color:var(--ink);box-shadow:6px 8px 0 var(--sage)}
.ccard-link:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.ccard-cover{position:relative;display:block;aspect-ratio:16/10;overflow:hidden}
.ccard-cover--image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ccard-link:hover .ccard-cover--image img{transform:scale(1.04)}
.ccard-cover[class*=tone]{display:flex;flex-direction:column;justify-content:flex-end;padding:16px 18px}
.ccard-cover--tone1{background:var(--ink);color:var(--cream)}.ccard-cover--tone1 .ccard-symbol{color:var(--lime)}
.ccard-cover--tone2{background:var(--green);color:var(--cream)}
.ccard-cover--tone3{background:var(--lime);color:var(--ink)}
.ccard-cover--tone4{background:var(--mint);color:var(--green)}
.ccard-cover--tone5{background:var(--orange);color:var(--ink)}
.ccard-level{position:absolute;top:14px;left:16px;padding:4px 9px;border:1px solid currentColor;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.08em}
.ccard-symbol{font-family:"Space Grotesk";font-size:clamp(64px,6.4vw,96px);font-weight:600;line-height:.8;letter-spacing:-.07em;transition:transform .35s cubic-bezier(.2,.7,.2,1);transform-origin:left bottom}
.ccard-link:hover .ccard-symbol{transform:scale(1.06)}
.ccard-subject{margin-top:10px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.85}
.ccard-body{display:flex;flex-direction:column;gap:7px;flex:1;padding:16px 18px 18px}
.ccard-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;font-family:"Space Grotesk";font-size:18px;font-weight:600;line-height:1.22;letter-spacing:-.03em}
.ccard-teacher{font-size:13px;color:var(--muted)}
.ccard-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:4px}
.ccard-badges:empty{display:none}
.ccard-rating{font-size:13px;color:var(--muted)}
.ccard-rating b{color:var(--orange)}
.ccard-badge{padding:3px 8px;border-radius:4px;background:var(--sage);font-size:11px;font-weight:700;color:var(--green)}
.ccard-badge--live{background:var(--lime);color:var(--ink)}
.ccard-badge--live:before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--orange);vertical-align:1px;animation:pulse 1.6s infinite}
.ccard-meta{font-size:13px;color:var(--muted)}
.ccard-foot{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:auto;padding-top:12px}
.ccard-price{font-family:"Space Grotesk";font-size:20px;font-weight:700;letter-spacing:-.03em}
.ccard-go{font-size:13px;font-weight:700;color:var(--green);white-space:nowrap}
@media(max-width:1100px){.rail{grid-auto-columns:calc((100% - 2 * var(--gap)) / 3)}}
@media(max-width:820px){.rail{grid-auto-columns:calc((100% - var(--gap)) / 2.15)}}
@media(max-width:560px){.rail{--gap:14px;grid-auto-columns:80%;margin-right:-22px;padding-right:22px;scroll-padding-left:0}.rail-arrows{display:none}.rail-bar{margin:26px 0 20px}.rail-tabs{gap:22px}}
@media(prefers-reduced-motion:reduce){.rail{scroll-behavior:auto}.ccard-link,.ccard-symbol,.ccard-cover--image img{transition:none}.ccard-badge--live:before{animation:none}}

/* --- Catalogue : mêmes cartes que l'accueil, en grille ------------------------ */
.catalog.shell{padding-top:clamp(48px,6vw,88px);padding-bottom:clamp(80px,9vw,130px)}
.catalog-search{display:flex;align-items:center;flex:0 1 380px;gap:8px;padding:6px 6px 6px 18px;border:1px solid var(--ink);border-radius:100px;background:var(--paper)}
.catalog-search:focus-within{border-color:var(--green);box-shadow:0 0 0 3px var(--mint)}
.catalog-search input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:15px;color:var(--ink)}
.catalog-search input:focus{outline:none}
.catalog-search button{flex:none;width:40px;height:40px;border:0;border-radius:50%;background:var(--ink);color:var(--cream);font-size:16px;cursor:pointer}
.catalog-search button:hover{background:var(--green)}
.rail-tabs a{flex:none;margin-bottom:-1px;padding:12px 0 13px;border-bottom:2px solid transparent;font-size:14px;font-weight:700;color:var(--muted);white-space:nowrap}
.rail-tabs a:hover{color:var(--ink)}
.rail-tabs a.active{color:var(--ink);border-bottom-color:var(--ink)}
.catalog-live{flex:none;margin-bottom:8px;padding:8px 14px;border:1px solid var(--ink);border-radius:100px;font-size:13px;font-weight:700;white-space:nowrap}
.catalog-live:before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--orange);vertical-align:1px}
.catalog-live:hover,.catalog-live.active{background:var(--lime)}
.catalog .catalog-count{margin:26px 0 20px}
.cgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}
.cgrid .ccard{scroll-snap-align:none}
@media(max-width:1100px){.cgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.cgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-search{flex-basis:100%}}
.rail-tabs{min-width:0}
.catalog-live-short{display:none}
@media(max-width:560px){.cgrid{grid-template-columns:minmax(0,1fr);gap:14px}.catalog-live{padding:7px 12px}.catalog-live-long{display:none}.catalog-live-short{display:inline}
/* Sur téléphone, la carte devient une ligne : couverture à gauche, infos à droite. */
.cgrid .ccard-link{flex-direction:row}.cgrid .ccard-cover{flex:0 0 34%;aspect-ratio:auto;min-height:100%}.cgrid .ccard-cover[class*=tone]{padding:12px}.cgrid .ccard-level{top:10px;left:10px;font-size:10px;padding:3px 7px}.cgrid .ccard-symbol{font-size:46px}.cgrid .ccard-subject{display:none}.cgrid .ccard-body{padding:12px 14px;gap:5px}.cgrid .ccard-title{font-size:16px}.cgrid .ccard-meta,.cgrid .ccard-teacher{font-size:12px}.cgrid .ccard-foot{padding-top:6px}.cgrid .ccard-price{font-size:17px}.cgrid .ccard-go{display:none}}

/* --- Icônes SVG ({% icon %}) ------------------------------------------------ */
.i{display:inline-block;flex:none;width:1em;height:1em;vertical-align:-.14em;overflow:visible}
.i-arrow-up-right,.i-arrow-right,.i-arrow-left{width:.9em;height:.9em;vertical-align:-.08em}

/* Liens du titre et de l'image d'une carte d'article : pas le style du lien « Lire ». */
.news-card h3 a,.news-card .journal-cover{margin-top:0;padding-bottom:0;border-bottom:0;font-size:inherit;font-weight:inherit}
.news-card h3 a:hover{color:var(--green)}
.journal-card h3{font-size:clamp(22px,2vw,28px);line-height:1.12;letter-spacing:-.045em}

/* --- Fiche formation -----------------------------------------------------------
   Structure éprouvée (bandeau, chiffres clés, carte d'achat collante, programme
   en accordéon) avec l'identité Intercours : bandeau encre, couverture
   typographique, citron pour les signaux. */
.cdx-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:0 clamp(32px,4vw,64px)}
.cdx-hero{background:var(--ink);color:var(--cream)}
.cdx-hero .cdx-grid{padding-top:clamp(36px,5vw,64px);padding-bottom:clamp(64px,7vw,96px)}
.cdx-hero-main{grid-column:1}
.cdx-crumbs{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:13px;font-weight:700;color:var(--lime)}
.cdx-crumbs a:hover{text-decoration:underline}
.cdx-crumbs span{color:#8fa197}
.cdx-title{margin:18px 0 0;font-family:"Space Grotesk";font-size:clamp(34px,4.4vw,60px);font-weight:600;line-height:1.02;letter-spacing:-.055em}
.cdx-subtitle{max-width:62ch;margin:16px 0 0;font-size:clamp(16px,1.4vw,19px);line-height:1.55;color:#d6ddd3}
.cdx-badges{display:flex;gap:8px;margin:20px 0 0}
.cdx-by{margin:18px 0 0;font-size:14px;color:#c9d2c6}
.cdx-by a,.cdx-by strong{color:var(--lime);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.cdx-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin:16px 0 0;padding:0;list-style:none;font-size:13px;color:#c9d2c6}
.cdx-meta li{display:inline-flex;align-items:center;gap:7px}
.cdx-body{padding-bottom:clamp(80px,9vw,130px)}
.cdx-main{grid-column:1;min-width:0}
.cdx-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:-44px;position:relative;z-index:1;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px -24px #18252155}
.cdx-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:20px 12px;text-align:center}
.cdx-stat+.cdx-stat{border-left:1px solid var(--line)}
.cdx-stat strong{font-family:"Space Grotesk";font-size:28px;font-weight:700;line-height:1;letter-spacing:-.04em}
.cdx-stat span{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
a.cdx-stat:hover span:last-child{color:var(--green);text-decoration:underline}
.cdx-stat .stars{font-size:13px}
.cdx-h2{margin:0 0 20px;font-family:"Space Grotesk";font-size:clamp(24px,2.3vw,30px);font-weight:600;letter-spacing:-.04em}
.cdx-section{margin-top:clamp(44px,5vw,64px)}
.cdx-box{margin-top:clamp(36px,4vw,48px);padding:26px 28px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.cdx-checks{display:grid;grid-template-columns:1fr 1fr;gap:12px 32px;margin:0;padding:0;list-style:none}
.cdx-checks li,.cdx-includes li{display:flex;gap:12px;font-size:15px;line-height:1.5}
.cdx-checks .i{margin-top:.2em;color:var(--green)}
.cdx-includes{display:grid;grid-template-columns:1fr 1fr;gap:12px 32px;margin:0;padding:0;list-style:none}
.cdx-includes .i{margin-top:.2em;color:var(--muted)}
.cdx-program-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px;font-size:14px;color:var(--muted)}
.cdx-expand{border:0;background:none;padding:0;font:inherit;font-weight:700;color:var(--green);cursor:pointer}
.cdx-program{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.cdx-module+.cdx-module{border-top:1px solid var(--line)}
.cdx-module summary{display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--sage);cursor:pointer;list-style:none}
.cdx-module summary::-webkit-details-marker{display:none}
.cdx-module summary:hover{background:#dde3c9}
.cdx-module summary .i{transition:transform .2s}
.cdx-module[open] summary .i{transform:rotate(180deg)}
.cdx-module-title{flex:1;font-weight:700;font-size:15px}
.cdx-module-meta{font-size:13px;color:var(--muted);white-space:nowrap}
.cdx-module ul{margin:0;padding:8px 20px 12px;list-style:none;background:var(--paper)}
.cdx-lesson{display:flex;align-items:center;gap:14px;padding:10px 0;font-size:14px}
.cdx-lesson-icon{display:grid;place-items:center;flex:none;width:18px;color:var(--muted)}
.cdx-lesson-title{flex:1;min-width:0}
a.cdx-lesson-title{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.cdx-preview{font-size:12px;font-weight:700;color:var(--green);background:var(--lime);padding:2px 8px;border-radius:4px}
.cdx-lock{color:#a0a99c}
.cdx-lesson-time{flex:none;min-width:52px;text-align:right;font-size:13px;color:var(--muted)}
.cdx-bullets{margin:0;padding-left:20px;line-height:1.7}
.cdx-desc{max-height:220px;overflow:hidden;line-height:1.75}
.cdx-desc.is-clamped{-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}
.cdx-desc.is-open{max-height:none;-webkit-mask-image:none;mask-image:none}
.cdx-desc p{margin:0 0 1em}
.cdx-more{display:inline-flex;align-items:center;gap:6px;margin-top:8px;border:0;background:none;padding:0;font:inherit;font-weight:700;color:var(--green);cursor:pointer}
.cdx-more[aria-expanded=true] .i{transform:rotate(180deg)}
.cdx-muted{margin:0;color:var(--muted);font-size:14px}
.cdx-teacher+.cdx-teacher{margin-top:32px}
.cdx-teacher-head{display:flex;align-items:center;gap:18px}
.cdx-teacher h3{margin:0 0 4px;font-family:"Space Grotesk";font-size:22px;letter-spacing:-.03em}
.cdx-teacher h3 a{color:var(--green);text-decoration:underline;text-underline-offset:4px}
.cdx-avatar{display:grid;place-items:center;flex:none;width:88px;height:88px;border-radius:50%;object-fit:cover;background:var(--lime);font-family:"Space Grotesk";font-size:34px;font-weight:700}
.cdx-avatar--sm{width:40px;height:40px;font-size:16px;background:var(--sage)}
.cdx-teacher-stats{display:flex;flex-wrap:wrap;gap:8px 24px;margin:16px 0 0;padding:0;list-style:none;font-size:14px}
.cdx-teacher-stats li{display:inline-flex;align-items:center;gap:8px}
.cdx-teacher-stats .i-star{color:var(--orange)}
.cdx-teacher-bio{margin-top:14px;line-height:1.7;color:#3d4b44}
.cdx-score{display:inline-flex;align-items:center;gap:6px;color:var(--ink)}
.cdx-score .i{color:var(--orange)}
.cdx-reviews{display:grid;grid-template-columns:1fr 1fr;gap:20px 32px;margin:0;padding:0;list-style:none}
.cdx-review{padding-top:18px;border-top:1px solid var(--line)}
.cdx-review-head{display:flex;gap:12px;align-items:center}
.cdx-review-head strong{display:block;margin-bottom:2px;font-size:14px}
.cdx-review-head .stars{font-size:12px;margin-right:6px}
.cdx-review-head .cdx-muted{font-size:12px}
.cdx-review p{margin:12px 0 0;line-height:1.65;font-size:15px}
.cdx-aside{grid-column:2;grid-row:1/span 2}
.cdx-ticket{position:sticky;top:24px;margin-top:-330px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 24px 50px -28px #18252166}
.cdx-ticket .ccard-cover[class*=tone]{aspect-ratio:16/9}
.cdx-ticket-body{padding:22px 24px 24px}
.cdx-ticket .ticket-price{margin:0;font-size:clamp(34px,3vw,44px)}
.cdx-ticket .btn{margin-top:10px}
.cdx-mobilebar{display:none}
@media(max-width:980px){.cdx-grid{grid-template-columns:minmax(0,1fr)}.cdx-aside{grid-column:1;grid-row:2;margin-top:36px}.cdx-ticket{position:static;margin-top:0}.cdx-ticket .ccard-cover{display:none}
.cdx-mobilebar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 22px calc(12px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -10px 30px -20px #18252188}
.cdx-mobilebar strong{display:block;font-family:"Space Grotesk";font-size:20px}.cdx-mobilebar span{font-size:12px;color:var(--muted)}.cdx-mobilebar .btn{padding:13px 22px}
.cdx-body{padding-bottom:120px}}
@media(max-width:640px){.cdx-stats{margin-top:-32px}.cdx-stat{padding:16px 6px}.cdx-stat strong{font-size:22px}.cdx-stat span{font-size:12px;flex-wrap:wrap;justify-content:center}.cdx-stat span .i{display:none}.cdx-checks,.cdx-includes,.cdx-reviews{grid-template-columns:1fr}.cdx-box{padding:20px}.cdx-module summary{flex-wrap:wrap;padding:16px}.cdx-module-meta{width:100%;padding-left:30px}.cdx-module ul{padding:6px 16px 10px}}

/* Filtres du catalogue : cycles en onglets, classes du cycle en pastilles, matière en liste. */
.catalog-filters{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px}
.grade-chips{display:flex;flex-wrap:wrap;gap:8px}
.grade-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid #c5ccbd;border-radius:100px;font-size:13px;font-weight:700;color:var(--ink);transition:border-color .2s,background .2s}
.grade-chip small{font-size:11px;font-weight:700;color:var(--muted)}
a.grade-chip:hover{border-color:var(--ink)}
.grade-chip.active{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.grade-chip.active small{color:var(--lime)}
.grade-chip.is-empty{color:#a3ab9e;border-style:dashed;cursor:default}
.subject-filter{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:13px;font-weight:700;color:var(--muted)}
.subject-select{position:relative;display:inline-flex;align-items:center}
.subject-select select{min-width:190px;padding:9px 38px 9px 14px;border:1px solid var(--ink);border-radius:100px;background:var(--paper);font:inherit;font-size:14px;font-weight:600;color:var(--ink);-webkit-appearance:none;appearance:none;cursor:pointer}
.subject-select select:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.subject-select .i{position:absolute;right:14px;pointer-events:none}
@media(max-width:560px){.grade-chips{flex-wrap:nowrap;overflow-x:auto;margin-right:-22px;padding-right:22px;scrollbar-width:none}.grade-chips::-webkit-scrollbar{display:none}.grade-chip{flex:none}.subject-filter{margin-left:0;width:100%}.subject-select{flex:1}.subject-select select{width:100%}}

/* --- Page publique d'un enseignant : même grammaire que la fiche formation --- */
.tp-hero{display:flex;align-items:center;gap:clamp(20px,3vw,40px);padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(72px,8vw,104px)}
.tp-avatar{display:grid;place-items:center;flex:none;width:clamp(96px,11vw,160px);height:clamp(96px,11vw,160px);border-radius:50%;object-fit:cover;background:var(--lime);color:var(--ink);font-family:"Space Grotesk";font-size:clamp(40px,5vw,64px);font-weight:700;box-shadow:0 0 0 6px #ffffff14}
.tp-hero .cdx-title{margin-top:12px}
.tp-hero .cdx-crumbs span:last-child{color:#c9d2c6}
.tp-body{padding-bottom:clamp(80px,9vw,130px)}
.tp-stats{max-width:820px}
.tp-about{max-width:820px}
.tp-count{display:inline-grid;place-items:center;min-width:30px;height:30px;margin-left:6px;padding:0 8px;border-radius:100px;background:var(--sage);font-size:15px;vertical-align:4px}
@media(max-width:560px){.tp-hero{flex-direction:column;align-items:flex-start;gap:18px}}

/* --- Profil enseignant dans « Mon compte » ------------------------------------ */
.account-form .teacher-fieldset{margin-top:12px;padding-top:28px;border-top:1px solid var(--line)}
.teacher-fieldset-intro{margin:-8px 0 24px;font-size:14px;line-height:1.6;color:var(--muted)}
.photo-field{display:flex;align-items:center;gap:20px;margin-bottom:24px}
.photo-field>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.photo-field .field-help{flex-basis:100%;margin:0}
.photo-preview{display:grid;place-items:center;flex:none;width:88px;height:88px;border-radius:50%;object-fit:cover;background:var(--lime);font-family:"Space Grotesk";font-size:34px;font-weight:700}
.photo-clear{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);cursor:pointer}
.field-label{display:block;font-size:13px;font-weight:700;margin-bottom:10px}
.field-row--3{grid-template-columns:1fr 1.4fr 1.4fr;align-items:end}
.teacher-fieldset .field-opt{display:none}
.check-chips{display:flex;flex-wrap:wrap;gap:8px}
.check-chip{position:relative;cursor:pointer}
.check-chip input{position:absolute;opacity:0;pointer-events:none}
.check-chip span{display:inline-block;padding:7px 13px;border:1px solid #c5ccbd;border-radius:100px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s}
.check-chip:hover span{border-color:var(--ink)}
.check-chip input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.check-chip input:focus-visible+span{outline:2px solid var(--green);outline-offset:2px}
@media(max-width:720px){.field-row--3{grid-template-columns:1fr}.photo-field{align-items:flex-start}}

.tp-meta{margin-top:14px}
.tp-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.tp-links a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid #ffffff40;border-radius:100px;font-size:13px;font-weight:700;color:var(--cream)}
.tp-links a:hover{border-color:var(--lime);color:var(--lime)}
.tp-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,56px);max-width:1100px}
.tp-info .cdx-section{margin-top:0}
.tp-chips{display:flex;flex-wrap:wrap;gap:8px}
.tp-chips span{padding:6px 12px;border-radius:100px;background:var(--sage);font-size:13px;font-weight:700;color:var(--green)}
.tp-chips+.cdx-h3,.cdx-checks+.cdx-h3{margin-top:24px}
.cdx-checks--single{grid-template-columns:1fr}
.tp-chips{margin:0}
.cdx-h3{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
@media(max-width:820px){.tp-info{grid-template-columns:1fr}}

@media(max-width:640px){.studio-home-head{flex-direction:column;align-items:flex-start;gap:24px}.studio-home-head .desk-actions{width:100%}}

/* ==========================================================================
   Plume (éditeur des leçons et articles) aux couleurs d'Intercours.
   Réglages par variables : voir la documentation de Plume, « Personnalisation ».
   html:root et .lesson-editor : plus précis que les valeurs par défaut de plume.css, chargé après.
   ========================================================================== */
html:root{
  --plume-ink:var(--ink);--plume-muted:var(--muted);--plume-accent:var(--green);--plume-accent-soft:var(--sage);
  --plume-line:#c7cdbf;--plume-code-bg:var(--sage);
  --plume-font-heading:"Space Grotesk",sans-serif;--plume-font-body:"DM Sans",sans-serif;--plume-size:18px;
  --plume-callout-bg:#e7efdc;--plume-callout-strong-bg:var(--ink);--plume-callout-strong-ink:var(--cream);
  --plume-quote-open:"«\00a0";--plume-quote-close:"\00a0»";
  --plume-ui-bg:var(--ink);--plume-ui-ink:var(--cream);--plume-ui-hover:#2e3d38;--plume-ui-active:var(--lime);--plume-ui-active-ink:var(--ink);
  --plume-paper:#fff;--plume-paper-line:#d3d8cb;
}
.lesson-editor{--plume-sticky-top:77px}
.lesson-editor .plume-state{display:none} /* l'état d'enregistrement est affiché dans l'en-tête de la page */
.lesson-editor .plume-status{justify-content:flex-end}
/* Dans l'éditeur, les titres, encadrés et citations ressemblent à la leçon publiée */
.lesson-editor .plume-surface h2{font-size:clamp(30px,3.4vw,42px);letter-spacing:-.06em;line-height:1.05;font-weight:600}
.lesson-editor .plume-surface h3{font-size:clamp(23px,2.4vw,28px);letter-spacing:-.045em;font-weight:600;color:var(--green)}
.lesson-editor .plume-surface h4{font-family:"DM Sans",sans-serif;font-size:15px}
.lesson-editor .plume-surface ul li::marker{color:var(--orange)}
.lesson-editor .plume-content .callout--exemple{background:#f3efe2;border-left-color:#7d6a2a}.lesson-editor .plume-content .callout--exemple::before{color:#7d6a2a}
.lesson-editor .plume-content .callout--attention{background:#f9e3d9;border-left-color:#b2482a}
.lesson-editor .plume-content .callout--astuce{background:#eef6c9;border-left-color:#5d7412}.lesson-editor .plume-content .callout--astuce::before{color:#5d7412}
.lesson-editor .plume-content .callout--retenir{border-left-color:var(--lime)}.lesson-editor .plume-content .callout--retenir::before{color:var(--lime)}
.lesson-editor .plume-content blockquote.quote--line{border-left:4px solid var(--lime)}

/* Fiche formation : note dans l'en-tête, sujets associés, suites de listes, aperçu, partage, formations voisines */
.cdx-hero-rating{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:14px 0 0;font-size:14px;color:#e7ecdc}
.cdx-hero-rating b{font-family:"Space Grotesk";font-size:17px;color:var(--lime)}
.cdx-hero-rating a{color:#c9d2c6;text-decoration:underline;text-underline-offset:3px}
.cdx-hero-rating span{display:inline-flex;align-items:center;gap:6px}
.cdx-topics{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.cdx-topics a{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid var(--ink);border-radius:100px;font-size:14px;font-weight:700;transition:background .2s,color .2s}
.cdx-topics a:hover{background:var(--ink);color:var(--cream)}
.cdx-show-more{display:block;width:100%;margin-top:14px;min-height:46px;border:1px solid var(--ink);border-radius:8px;background:transparent;font:inherit;font-weight:700;cursor:pointer;transition:background .2s,color .2s}
.cdx-show-more:hover{background:var(--ink);color:var(--cream)}
.cdx-cover{position:relative}
.cdx-cover-link{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:linear-gradient(180deg,#18252100 30%,#182521cc);color:#fff;font-weight:700;font-size:15px}
.cdx-cover-play{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fff;color:var(--ink);transition:transform .25s}
.cdx-cover-play .i{width:26px;height:26px;margin-left:3px}
.cdx-cover-link:hover .cdx-cover-play{transform:scale(1.08)}
.cdx-cover-label{position:absolute;bottom:14px}
.cdx-share{display:flex;align-items:center;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;font-weight:700}
.cdx-share>span:first-child{margin-right:4px}
.cdx-share-btn{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.cdx-share-btn:hover{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.cdx-share-btn .i{width:18px;height:18px}
.cdx-share-done{font-weight:500;color:var(--green)}
.cdx-related{padding-top:20px;padding-bottom:90px;border-top:1px solid var(--line)}
.cdx-related .cdx-h2{margin-top:50px}
@media(max-width:980px){.cdx-cover-link{position:static;aspect-ratio:auto;flex-direction:row;justify-content:flex-start;padding:12px 16px;background:var(--ink)}.cdx-cover-play{width:38px;height:38px}.cdx-cover-play .i{width:16px;height:16px}.cdx-cover-label{position:static}}

/* ==========================================================================
   Contenus protégés (leçons, articles, ressources) : pas de sélection ni de copie ;
   à l'impression (ou en PDF), la page est blanche, avec seulement l'avis .print-notice.
   ========================================================================== */
.print-notice{display:none}
body[data-protected] main{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
body[data-protected] main :is(input,textarea,select,[contenteditable]){-webkit-user-select:text;user-select:text}
body[data-protected] main img{-webkit-user-drag:none}
.protect-toast{position:fixed;left:50%;bottom:24px;z-index:300;transform:translateX(-50%);max-width:calc(100vw - 32px);background:var(--ink);color:var(--cream);padding:12px 20px;border-radius:100px;font-size:14px;font-weight:700;box-shadow:0 16px 40px -16px #18252199;opacity:0;transition:opacity .25s;pointer-events:none}
.protect-toast.is-on{opacity:1}
@media print{
  @page{margin:18mm}
  body[data-protected]{background:#fff!important}
  body[data-protected]>*:not(.print-notice){display:none!important}
  body[data-protected] .print-notice{display:block!important;max-width:520px;margin:90px auto 0;color:#000;text-align:center;font-family:"DM Sans",sans-serif}
  .print-notice img{display:block;width:auto;height:44px;margin:0 auto 46px}
  .print-notice-kicker{margin:0 0 14px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
  .print-notice h1{margin:0 0 22px;font:600 26px/1.2 "Space Grotesk",sans-serif}
  .print-notice p{margin:0 0 14px;font-size:14px;line-height:1.6}
  .print-notice-url strong{word-break:break-all}
  .print-notice-meta{margin-top:30px!important;padding-top:14px;border-top:1px solid #999;font-size:12px!important;color:#444}
}

/* ==========================================================================
   Ressources gratuites : imprimer, PDF, copier (personnes connectées seulement).
   À l'impression, seule la ressource sort, avec sa source en tête et un crédit en pied.
   ========================================================================== */
.res-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:22px 0 4px}
.res-tool{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--ink);border-radius:100px;background:transparent;color:var(--ink);font-size:13px;font-weight:700;cursor:pointer;text-decoration:none;transition:background .2s,color .2s,transform .2s}
.res-tool .i{width:16px;height:16px}
.res-tool:hover{background:var(--ink);color:var(--cream);transform:translateY(-2px)}
.res-tool:active{transform:none}
.res-tools-status{flex-basis:100%;min-height:1.4em;font-size:13px;font-weight:700;color:var(--green);opacity:0;transform:translateY(-4px);transition:opacity .3s,transform .3s}
.res-tools-status.is-on{opacity:1;transform:none}
.res-tools-lock{display:inline-flex;align-items:center;gap:12px;padding:12px 18px;border-radius:6px;background:var(--sage);font-size:14px;line-height:1.45}
.res-tools-lock .i{flex:none;width:18px;height:18px;color:var(--green)}
.res-tools-lock strong{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.res-tools-lock:hover{background:var(--mint)}
.res-download-note{display:block;margin-top:8px;font-size:13px;color:var(--muted)}
.print-source,.print-credit{display:none}
@media print{
  body[data-printable]{display:flex;flex-direction:column;background:#fff!important;color:#000}
  body[data-printable] :is(.top,.flash-list,footer,.wa-fab,.cd-crumbs,.res-tools,.art-share-top,.art-rail,.art-toc,.article-share,.encart,.preview-cta,.res-download,.article-tags,.article-author,.plume-code-copy,.preview-banner,.art-header .eyebrow,.art-byline){display:none!important}
  body[data-printable] .print-source{order:-1;display:flex!important;align-items:center;justify-content:space-between;gap:20px;padding-bottom:10px;margin-bottom:18px;border-bottom:1px solid #999;font-size:10pt;color:#333}
  body[data-printable] .print-source img{width:auto;height:26px}
  body[data-printable] .print-source p{margin:0;text-align:right;word-break:break-all}
  body[data-printable] .print-credit{display:block!important;margin-top:24px;padding-top:10px;border-top:1px solid #999;font-size:9pt;color:#444}
  body[data-printable] main,body[data-printable] .shell{max-width:none;padding:0;margin:0}
  body[data-printable] .article-page{padding:0}
  body[data-printable] .art-layout{display:block}
  body[data-printable] .reader-title{font-size:24pt;line-height:1.15}
  body[data-printable] .prose{font-size:11pt;line-height:1.55}
  body[data-printable] .prose :is(h2,h3,figure,table,pre,.plume-code-block){break-inside:avoid}
  body[data-printable] .prose :is(h2,h3){break-after:avoid}
  body[data-printable] a{color:inherit}
}

/* ==========================================================================
   V2 : suivi pédagogique (familles, parcours, accompagnements, bilans)
   ========================================================================== */
.family-code{margin:14px 0 6px;padding:16px;border:2px dashed var(--green);border-radius:10px;text-align:center;font:700 30px/1 "Space Grotesk";letter-spacing:.12em;color:var(--green);-webkit-user-select:all;user-select:all}
.nav-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:4px;border-radius:100px;background:var(--orange);color:var(--ink);font-size:11px;font-weight:700}

/* Parcours */
.pw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px;margin-top:28px}
.pw-card{display:flex;flex-direction:column;gap:10px;padding:26px;background:var(--paper);border:1px solid var(--line);transition:transform .25s,box-shadow .25s,border-color .25s}
.pw-card:hover{transform:translateY(-4px);border-color:var(--ink);box-shadow:8px 8px 0 var(--lime)}
.pw-card .status{align-self:start}
.path-kind{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.path-title{font-family:"Space Grotesk";font-size:26px;font-weight:600;letter-spacing:-.05em;line-height:1.08}
.path-summary{color:var(--muted);font-size:14px;line-height:1.55}
.path-meta{margin-top:auto;font-size:13px;font-weight:700}
.path-demo{display:inline-flex;gap:8px;align-items:center;background:#f1e8d7;padding:10px 14px;font-size:13px;margin:12px 0 0}
.path-progress{margin:0 0 32px}.path-progress p{margin:8px 0 0;font-size:14px}
.path-progress-bar{height:10px;background:var(--sage);border-radius:10px;overflow:hidden}.path-progress-bar span{display:block;height:100%;background:var(--green);border-radius:10px;transition:width .6s}
.path-objectives{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:10px}.path-objectives li{display:flex;gap:10px;line-height:1.5}.path-objectives .i{color:var(--green);flex:none;margin-top:3px}
.path-steps{list-style:none;margin:0;padding:0;position:relative}
.path-steps:before{content:"";position:absolute;left:19px;top:20px;bottom:20px;width:2px;background:var(--line)}
.path-step{display:flex;gap:18px;padding:14px 0;position:relative}
.path-step-dot{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--paper);border:2px solid var(--line);font-weight:700;font-size:14px;z-index:1}
.path-step--done .path-step-dot{background:var(--green);border-color:var(--green);color:var(--lime)}
.path-step--in_progress .path-step-dot{border-color:var(--green);color:var(--green)}
.path-step--milestone .path-step-dot{background:var(--lime);border-color:var(--ink)}
.path-step--locked{opacity:.55}
.path-step-body{display:flex;flex-direction:column;gap:4px;min-width:0;padding-top:2px}
.path-step-kind{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.path-step-title{font-family:"Space Grotesk";font-size:20px;font-weight:600;letter-spacing:-.03em;overflow-wrap:anywhere}
.path-step-desc,.path-step-detail{font-size:14px;color:var(--muted);line-height:1.5}
.bo-inline{display:inline-flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.bo-inline .btn{padding:6px 12px;font-size:12px}.bo-inline input{padding:6px 10px;font:inherit;font-size:13px;border:1px solid var(--line);max-width:100%}
@media(prefers-reduced-motion:reduce){.pw-card:hover{transform:none}}

/* Accompagnements, documents scolaires, comptes rendus */
.method-list{padding-left:1.2em;line-height:1.7;margin:0}
.doc-list{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px}
.doc-item{display:flex;gap:12px;align-items:center;min-width:0}
.doc-thumb{flex:none;width:52px;height:52px;border-radius:8px;overflow:hidden;background:var(--sage);display:grid;place-items:center;color:var(--green)}
.doc-thumb img{width:100%;height:100%;object-fit:cover}
.doc-body{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.doc-body small{color:var(--muted);font-size:12px;margin-top:2px}
.doc-upload .field{position:relative}.doc-upload input[type=file]{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;overflow:hidden}
.doc-drop{display:flex!important;flex-direction:column;align-items:center;gap:6px;padding:30px 16px;border:2px dashed var(--green);border-radius:12px;background:var(--paper);cursor:pointer;text-align:center;color:var(--green)}
.doc-drop .i{width:30px;height:30px}.doc-drop small{color:var(--muted);font-weight:400}
.doc-drop:hover{background:var(--mint)}.doc-upload .field:has(input[type=file]:focus-visible) .doc-drop{outline:2px solid var(--green);outline-offset:3px}
.doc-picked{list-style:none;padding:0;margin:8px 0 0;font-size:13px;color:var(--muted)}
.doc-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:18px;margin-bottom:30px}
.doc-file{margin:0}.doc-file img{width:100%;height:auto;border:1px solid var(--line);border-radius:8px;display:block}
.doc-file figcaption{font-size:12px;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}
.doc-file-link{display:flex;gap:10px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--paper);overflow-wrap:anywhere}
.form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.report-view{max-width:820px;margin-bottom:60px}
.report-assessment{display:inline-block;background:var(--lime);padding:8px 14px;border-radius:100px;font-weight:700;font-size:14px}
.report-dl{margin:0}.report-dl dt{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green);margin-top:22px}
.report-dl dd{margin:6px 0 0;line-height:1.65;overflow-wrap:anywhere}
.package-box{padding:12px 0;border-bottom:1px solid var(--line)}
.status--planned,.status--confirmed{background:var(--mint);color:var(--green)}
.status--done{background:var(--green);color:var(--lime)}
.status--cancelled,.status--postponed,.status--absent_student,.status--absent_tutor{background:#f1e8d7;color:#8a4b14}
.status--draft{background:var(--sage)}

/* En-tête : menus déroulants (Ressources, compte) */
.nav{align-items:center}
.dd{position:relative}
.dd-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;cursor:pointer;font:inherit;font-weight:700;color:inherit}
.dd-btn .i{width:14px;height:14px;transition:transform .25s}
.dd.open>.dd-btn .i{transform:rotate(180deg)}
.dd-btn:hover,.dd-btn[data-current]{color:var(--green)}
.dd-panel{position:absolute;top:calc(100% + 14px);left:-18px;z-index:40;min-width:250px;display:flex;flex-direction:column;padding:10px;background:var(--paper);border:1px solid var(--ink);border-radius:14px;box-shadow:8px 8px 0 var(--lime);visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility 0s .2s}
.dd.open>.dd-panel{visibility:visible;opacity:1;transform:none;transition:opacity .2s,transform .2s}
.dd-panel--right{left:auto;right:0}
.dd-panel a,.dd-logout{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:9px;font-size:14px;font-weight:600;color:var(--ink);text-align:left}
.dd-panel a:hover,.dd-panel a:focus-visible,.dd-logout:hover{background:var(--sage);color:var(--green)}
.dd-panel a[aria-current=page]{color:var(--green)}
.dd-panel a small{font-size:12px;font-weight:400;color:var(--muted)}
.dd-panel a .nav-count{margin:0}
.dd-panel a:has(.nav-count){flex-direction:row;align-items:center;justify-content:space-between}
.dd-head{margin:0 0 6px;padding:8px 12px 12px;border-bottom:1px solid var(--line);font-weight:700;font-size:14px;overflow-wrap:anywhere}
.dd-head small{display:block;font-weight:400;font-size:12px;color:var(--muted);margin-top:2px}
.dd-sep{margin:8px 0 2px;padding:10px 12px 4px;border-top:1px solid var(--line);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.dd-panel form{margin:4px 0 0;border-top:1px solid var(--line);padding-top:4px}
.dd-logout{width:100%;background:none;border:0;cursor:pointer;font:inherit;font-size:14px;font-weight:600}
.dd--account .nav-cta{gap:8px;border:0;cursor:pointer;color:white;background:var(--ink);padding:14px 22px;font-size:13px}.dd--account .nav-cta:hover,.dd--account.open .nav-cta{background:var(--green);color:white}
.dd--account .nav-cta .nav-count{margin:0}
.dd--account .dd-panel{min-width:270px;max-width:calc(100vw - 32px)}
@media(max-width:1024px){
  .nav{align-items:stretch}
  .nav .dd{width:100%}
  .nav .dd-btn{display:none}
  .nav .dd-panel{position:static;visibility:visible;opacity:1;transform:none;border:0;box-shadow:none;background:none;padding:0;min-width:0}
  .nav .dd-panel a{padding:16px 0;border-bottom:1px solid var(--line);border-radius:0;font-size:16px}
  .nav .dd-panel a:hover{background:none}
}
@media(max-width:440px){
  .top-actions .dd--account .nav-cta{display:inline-flex;padding:9px}
  .dd--account .dd-panel{right:-58px}
  .dd--account .dd-label,.dd--account .nav-cta>.i{display:none}
  .dd--account .nav-cta .avatar{width:26px;height:26px;margin:0;font-size:12px}
  .dd--account .nav-cta .nav-count{position:absolute;top:-6px;right:-6px}
  .dd--account .nav-cta{position:relative}
}
@media(prefers-reduced-motion:reduce){.dd-panel,.dd.open>.dd-panel{transition:none}}
/* Barre de gestion : groupes déroulants */
.bo-nav{overflow:visible;flex-wrap:wrap;row-gap:6px;align-items:center}
.bo-nav .dd-btn{color:#c7d0c9;padding:6px 0;border-bottom:2px solid transparent}
.bo-nav .dd-btn:hover{color:var(--cream)}.bo-nav .dd-btn[data-current]{color:var(--lime);border-color:var(--lime)}
.bo-nav .dd-panel{white-space:normal;top:calc(100% + 10px)}
.bo-nav .dd-panel a{border-bottom:0;padding:10px 12px;color:var(--ink);font-size:14px}
.bo-nav .dd-panel a[aria-current]{color:var(--green);border:0}
@media(max-width:800px){
  .bo-bar{flex-direction:column;align-items:flex-start;gap:6px;padding-top:10px;padding-bottom:10px}
  .bo-nav{position:relative;gap:6px 18px;width:100%}
  .bo-nav .dd{position:static}
  .bo-nav .dd-panel{left:0;right:0;min-width:0}
}

/* Espace parents */
.child-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:18px}
.child-card{display:flex;flex-direction:column;gap:12px;padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:16px;transition:box-shadow .25s,border-color .25s}
.child-card:hover{border-color:var(--ink);box-shadow:8px 8px 0 var(--lime)}
.child-card .btn{margin-top:auto}
.child-head{display:flex;gap:14px;align-items:center}.child-head small{color:var(--muted);font-size:13px}
.child-avatar{width:48px;height:48px;border-radius:50%;background:var(--lime);display:grid;place-items:center;font:700 22px "Space Grotesk";flex:none}
.child-name{margin:0;font-family:"Space Grotesk";font-size:24px;letter-spacing:-.04em;line-height:1.1}
.child-line{display:flex;gap:10px;margin:0;font-size:14px;line-height:1.5}.child-line .i{flex:none;margin-top:3px;color:var(--green)}
.child-line small{display:block;color:var(--muted)}
.timeline{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:12px}
.timeline li{display:flex;gap:14px;align-items:flex-start;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:12px}
.tl-date{flex:none;width:52px;text-align:center;font-size:12px;text-transform:uppercase;color:var(--muted);line-height:1.1}.tl-date strong{display:block;font:600 26px "Space Grotesk";color:var(--ink)}
.tl-body{display:flex;flex-direction:column;gap:4px;min-width:0}.tl-body small{color:var(--muted)}.tl-body .status{align-self:start}
.hours{margin-top:14px}.hours p{margin:0 0 6px}

/* Compétences, diagnostics, bilans */
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:12px;margin-bottom:24px}
.stat-row>div{padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:4px}
.stat-row strong{font:600 30px "Space Grotesk";letter-spacing:-.04em}.stat-row span{font-size:13px;color:var(--muted)}
.skill-list{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px}
.skill{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.skill-state{flex:none;width:118px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 8px;border-radius:8px;text-align:center;background:var(--sage);color:var(--muted)}
.skill--mastered .skill-state{background:var(--green);color:var(--lime)}
.skill--in_progress .skill-state{background:var(--mint);color:var(--green)}
.skill--to_strengthen .skill-state{background:#f1e8d7;color:#8a4b14}
.skill-body{display:flex;flex-direction:column;gap:3px;min-width:0;overflow-wrap:anywhere}.skill-body small{color:var(--muted)}.skill-body em{font-size:13px}
@media(max-width:440px){.skill{flex-direction:column}.skill-state{width:auto}}
.compare{width:100%;border-collapse:collapse;font-size:13px}.compare th,.compare td{padding:8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.delta-up{color:var(--green);font-weight:700}.delta-down{color:#8a4b14;font-weight:700}
.diag{max-width:820px;margin-bottom:60px}
.skill-subject{font:600 18px "Space Grotesk";margin:18px 0 10px}
.todo-card{display:grid;gap:10px;margin-bottom:24px}
.todo-card a{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:16px 18px;background:var(--lime);border-radius:14px;border:1px solid var(--ink)}
.todo-card a small{grid-column:1;color:var(--ink);opacity:.75}.todo-card a .i{grid-row:1/3;grid-column:2}
.space-main>.side-card,.space-main>form.side-card{margin:22px 0 36px}
.space-main>.bo-inline{margin:8px 0 28px}

/* Accueil « À chacun son chemin » : carte du milieu décalée vers le bas (desktop) */
@media(min-width:951px){
  #univers .path-grid{padding-bottom:48px}
  #univers .path-card{position:relative}
  #univers .path-card:nth-child(2){top:48px}
}

/* Article du journal : lettrine, partage en rail sticky, sommaire sticky */
.article-page{max-width:1240px;margin:0 auto;padding:60px clamp(22px,4vw,48px) 120px}
.art-header{max-width:820px;margin:0 auto}
.art-byline{display:flex;align-items:center;gap:10px;margin:0 0 26px;font-size:14px;color:var(--muted)}
.art-byline strong{color:var(--ink)}
.art-layout{display:grid;grid-template-columns:64px minmax(0,720px) minmax(0,260px);justify-content:center;gap:clamp(24px,3.5vw,56px);align-items:start;margin-top:10px}
.art-main{min-width:0}
.art-share-top{display:none}
.art-rail{position:sticky;top:110px}
.article-share--rail{flex-direction:column;align-items:center;gap:10px;margin:0;padding:0;border:0}
.article-share--rail .article-share__label{writing-mode:vertical-rl;rotate:180deg;margin:0 0 6px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.article-share--rail .article-share__actions{flex-direction:column;gap:10px}
.article-share--rail .share-button{width:44px;height:44px;border-color:var(--ink)}
.article-share--rail .share-button:hover{transform:scale(1.08)}
.article-share--rail .article-share__status{writing-mode:vertical-rl;rotate:180deg;font-size:11px}
.art-dropcap p.dropcap::first-letter{float:left;font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:5.2em;line-height:.8;margin:.07em .12em 0 0;color:var(--green)}
.art-toc{position:sticky;top:110px;border-top:2px solid var(--ink);padding-top:18px}
.art-toc small{display:block;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}
.art-toc ol{list-style:none;margin:0;padding:0;counter-reset:t}
.art-toc li{counter-increment:t}
.art-toc ol a{display:grid;grid-template-columns:28px 1fr;gap:6px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.35;color:var(--muted);transition:color .2s,padding .3s}
.art-toc ol a:before{content:counter(t,decimal-leading-zero);font:700 12px "Space Grotesk";color:#9aa79c;transition:color .2s}
.art-toc ol a:hover,.art-toc ol a.is-active{color:var(--ink)}
.art-toc ol a.is-active{padding-left:8px;font-weight:700}
.art-toc ol a.is-active:before{color:var(--orange)}
.art-toc-cta{margin-top:24px;background:var(--lime);padding:20px;border-radius:14px}
.art-toc-cta p{margin:0 0 14px;font:600 19px/1.2 "Space Grotesk";letter-spacing:-.03em}
.lesson-prose h2[id]{scroll-margin-top:100px}
@media(max-width:1180px){.art-layout{grid-template-columns:64px minmax(0,720px)}.art-toc{display:none}}
@media(max-width:800px){.art-layout{grid-template-columns:minmax(0,1fr)}.art-rail{display:none}.art-share-top{display:block}.article-page{padding-top:36px}}
@media(prefers-reduced-motion:reduce){.art-toc ol a{transition:none}}
:root{}
.legal-head{padding-top:76px;padding-bottom:38px}.legal-updated{margin-top:22px;color:#59645c;font-size:14px}.legal-wrap{max-width:1000px;padding-bottom:100px}.legal-copy{max-width:860px}.legal-copy h2{margin-top:52px}.legal-copy p,.legal-copy li{font-size:16px;line-height:1.8}.legal-notice{margin-top:38px;padding:20px 22px;background:#e9e8dc;border-left:4px solid var(--orange);font-size:15px!important}.footer-links{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}.footer-links a{font-size:12px}@media(max-width:800px){.footer-links{justify-content:flex-start;gap:12px 18px}}

/* Bouton WhatsApp flottant : entrée en rebond, onde lente, étiquette au survol. */
.wa-fab{--wa:#25d366;position:fixed;width:auto;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;gap:12px;text-decoration:none;animation:wa-in .6s cubic-bezier(.34,1.56,.64,1) .8s both}
.wa-fab-btn{position:relative;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--wa);color:#fff;box-shadow:0 12px 30px -10px #128c4ecc,0 2px 6px #0002;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s}
.wa-fab-btn:before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--wa);z-index:-1;animation:wa-pulse 3.2s ease-out 2s infinite}
.wa-fab-label{background:var(--ink);color:var(--cream);padding:11px 16px;border-radius:100px;font-size:13px;font-weight:500;white-space:nowrap;box-shadow:0 12px 30px -14px #182521aa;opacity:0;transform:translateX(14px) scale(.96);transform-origin:right center;transition:opacity .25s,transform .35s cubic-bezier(.34,1.56,.64,1);pointer-events:none}
.wa-fab-label b{color:var(--lime);font-weight:700}
.wa-fab:hover .wa-fab-btn,.wa-fab:focus-visible .wa-fab-btn{transform:scale(1.08) rotate(-6deg);box-shadow:0 18px 36px -12px #128c4ee6,0 2px 6px #0002}
.wa-fab:hover .wa-fab-label,.wa-fab:focus-visible .wa-fab-label{opacity:1;transform:none}
.wa-fab:hover .wa-fab-phone{animation:wa-ring .5s ease-in-out;transform-box:fill-box;transform-origin:center}
.wa-fab:focus-visible{outline:none}.wa-fab:focus-visible .wa-fab-btn{outline:3px solid var(--ink);outline-offset:3px}
@keyframes wa-in{from{opacity:0;transform:translateY(24px) scale(.4)}}
@keyframes wa-pulse{0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(1.7);opacity:0}}
@keyframes wa-ring{25%{rotate:-12deg}50%{rotate:10deg}75%{rotate:-6deg}}
@media(max-width:980px){body:has(.cdx-mobilebar) .wa-fab{bottom:calc(88px + env(safe-area-inset-bottom))}}
@media(max-width:640px){.wa-fab-btn{width:54px;height:54px}.wa-fab-label{display:none}}
@media(prefers-reduced-motion:reduce){.wa-fab,.wa-fab-btn:before,.wa-fab:hover .wa-fab-phone{animation:none}}
@media print{.wa-fab{display:none}}

/* Séances : agenda Google de l'enseignant (réunions Meet protégées) et présences. */
.meet-link{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 28px;padding:18px 20px;background:var(--mint);border-radius:14px}
.meet-link>div{flex:1 1 280px}.meet-link strong{display:block;font-family:"Space Grotesk";font-size:17px;letter-spacing:-.02em}
.meet-link small{display:block;margin-top:4px;color:var(--muted);font-size:13px;line-height:1.5}
.meet-link-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:var(--green);color:var(--lime)}
.meet-link-actions{display:flex;align-items:center;gap:14px}.meet-link-actions form{display:inline}
.meet-link--error{background:#f6d4c5}.meet-link--error .meet-link-icon{background:var(--error);color:#fff}
.data-table tr.is-muted td{color:var(--muted)}

/* En-tête fixe : reste visible pendant le défilement, fond étendu sur toute la largeur. */
:root{--header-h:88px}
@media(max-width:800px){:root{--header-h:72px}}
html{scroll-padding-top:calc(var(--header-h) + 16px)}
body>.top{position:sticky;top:0;z-index:45;background:var(--cream);transition:border-color .25s}
body>.top:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--cream);box-shadow:-100vmax 0 0 var(--cream),100vmax 0 0 var(--cream);transition:box-shadow .25s}
body>.top.is-scrolled{border-bottom-color:var(--ink)}
body>.top.is-scrolled:before{box-shadow:-100vmax 0 0 var(--cream),100vmax 0 0 var(--cream),0 16px 22px -20px #18252166}
@media(max-width:1024px){body>.top .nav{max-height:calc(100vh - var(--header-h));overflow-y:auto}}
.ticket{top:calc(var(--header-h) + 30px)}
.cdx-ticket{top:calc(var(--header-h) + 24px)}
.lesson-side{top:calc(var(--header-h) + 24px)}
.art-rail,.art-toc{top:calc(var(--header-h) + 28px)}
.bo-detail aside{top:calc(var(--header-h) + 20px)}
.lesson-top{top:var(--header-h)}
@media print{body>.top{position:static}body>.top:before{display:none}}

/* Blocs de code Plume aux couleurs d'Intercours */
:root{--plume-code-surface:#182521;--plume-code-head:#22312c;--plume-code-accent:#b9e27a}

/* Blocs de l'atelier Belsékens (courbes, figures, tableaux) : image centrée, signature discrète.
   « .prose » : l'emporte sur « .prose figure{margin:1.8em 0} » (contenu publié). Pas de fond imposé :
   une image « fond transparent » prend la couleur de la page. */
.plume-belsekens,.prose .plume-belsekens{width:fit-content;max-width:100%;margin:1.8em auto}
.plume-belsekens img,.prose .plume-belsekens img{display:block;max-width:100%;height:auto;margin:0 auto}
.plume-belsekens__credit{margin-top:.4em;text-align:right;font-size:11.5px;letter-spacing:.02em;color:var(--muted)}
.plume-belsekens__credit a{color:inherit;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:2px}
.plume-belsekens__credit a:hover{color:var(--green)}
/* Relecture des exercices générés par l'IA (/relecture/) */
.status--a_relire{background:#dfe7f6;color:#2b4a85}.status--publiee{background:var(--lime);color:var(--ink)}.status--rejetee{background:#ddd;color:#666}.status--brouillon{background:var(--sage)}
.status--facile{background:var(--mint);color:var(--green)}.status--moyen{background:#f1e8d7;color:#8a4b14}.status--examen{background:var(--ink);color:var(--lime)}
.status--blocking{background:#f6d4c5;color:var(--error);animation:rv-pulse 2.4s ease-in-out infinite}
.status--progress{position:relative;overflow:hidden;background:#dfe7f6;color:#2b4a85}.status--progress:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);transform:translateX(-100%);animation:rv-shimmer 1.8s ease-in-out infinite}
@keyframes rv-pulse{0%,100%{box-shadow:0 0 0 0 rgba(178,58,29,.35)}50%{box-shadow:0 0 0 5px rgba(178,58,29,0)}}
@keyframes rv-shimmer{to{transform:translateX(100%)}}
@keyframes rv-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.rv-row,.rv-q,.rv-chapter{animation:rv-rise .55s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(min(var(--i,0),12) * 55ms)}
.rv-budget{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:6px 0 34px;padding:16px 20px;background:var(--paper);border:1px solid #cfd8ca;font-size:14px;color:var(--muted)}
.rv-budget strong{font-family:"Space Grotesk";font-size:28px;letter-spacing:-.04em;color:var(--ink)}.rv-budget--off{background:#f6d4c5;color:#8a3519;border-color:#efb9a3}
.rv-count{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 8px;margin-left:8px;border-radius:100px;background:var(--ink);color:var(--lime);font-size:14px;vertical-align:6px}
.rv-tasks .status{margin-left:6px}
.rv-label{margin:22px 0 10px}
.rv-competency-line{font-size:15px;line-height:1.55;max-width:760px}.rv-competency-line small{display:block;color:var(--muted);font-size:13px;margin-top:4px}
.rv-status{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 6px}
.rv-note{border-left:3px solid var(--error);padding-left:12px;font-size:14px}
.rv-alerts{list-style:none;margin:14px 0 0 70px;padding:0;display:grid;gap:6px}
.rv-alert{display:grid;gap:3px;padding:10px 14px;font-size:14px;line-height:1.5;border-left:3px solid #c9a35c;background:#f8f1e1;transition:opacity .3s}
.rv-alert--bloquante{border-left-color:var(--error);background:#fbe6dd}.rv-alert.is-resolved{opacity:.55;border-left-color:var(--green);background:var(--sage)}
.rv-alert-tag{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rv-choices li{display:flex;gap:8px}.rv-choices small{display:block;font-weight:400;color:var(--muted);font-size:13px;margin-top:2px}
.rv-resolve{margin:12px 0 0 70px}.rv-resolve .btn{display:inline-flex;align-items:center;gap:6px}
.rv-decide form{margin-bottom:12px}.rv-decide .btn[disabled]{opacity:.45;cursor:not-allowed}
.rv-reject{margin-top:18px;padding-top:16px;border-top:1px solid #cfd8ca}.rv-reject textarea,.rv-referentials select{width:100%;padding:10px 12px;border:1px solid #bdc7b9;font:inherit;font-size:14px;background:#fff}
.rv-referentials{margin:24px 0}.rv-referentials .field{display:grid;gap:6px;font-size:13px;font-weight:700}
.rv-chapters{display:grid;gap:14px;margin-bottom:24px}
.rv-chapter{border:1px solid #cfd8ca;background:var(--paper);padding:14px 18px;margin:0}.rv-chapter legend{font-family:"Space Grotesk";font-weight:700;letter-spacing:-.03em;padding:0 6px}
.rv-competency{display:flex;gap:10px;align-items:flex-start;padding:7px 0;font-size:14px;line-height:1.45;cursor:pointer}.rv-competency input{margin-top:3px;accent-color:var(--green);width:16px;height:16px;flex:none}
.rv-competency b{font-size:12px;margin-right:4px}.rv-competency small{display:block;color:var(--green);font-weight:700;font-size:12px}
.rv-choice-row{grid-template-columns:28px 1fr auto}.rv-feedback{grid-column:2/-1}.rv-feedback textarea{width:100%;padding:8px 10px;border:1px solid #d4d6c8;font:inherit;font-size:13px;background:#fbfaf4}
@media(max-width:800px){.rv-alerts,.rv-resolve{margin-left:0}}
@media(prefers-reduced-motion:reduce){.rv-row,.rv-q,.rv-chapter{animation:none}.status--blocking,.status--progress:after{animation:none}}

/* Exercices en accès libre (/exercices/) : catalogue, une question à la fois, résultat. */
.ex-head{display:grid;grid-template-columns:1fr 280px;gap:40px;align-items:end}.ex-head .section-title{margin-bottom:26px}
.ex-lead{max-width:560px;font-size:17px;line-height:1.7;color:#4c5a52;margin:0}
.ex-hero{width:100%;max-width:280px;transform:rotate(3deg);filter:drop-shadow(14px 16px 0 #d4ddac)}
.ex-hero-card{fill:var(--paper);stroke:#bacbb6}.ex-hero-line{fill:var(--ink);opacity:.85}.ex-hero-line--short{opacity:.35}
.ex-hero-choice rect{fill:#eef0e4;stroke:#cfd8ca}.ex-hero-choice circle{fill:#fff;stroke:#a9b5a4;stroke-width:1.5}
.ex-hero-choice{animation:ex-fade .5s calc(.25s + var(--i)*.12s) both}
.ex-hero-choice.is-good rect{animation:ex-hero-good 5s 1.2s infinite}.ex-hero-choice.is-good circle{animation:ex-hero-dot 5s 1.2s infinite}
.ex-hero-check{fill:none;stroke:var(--green);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;stroke-dashoffset:30;animation:ex-hero-check 5s 1.2s infinite}
@keyframes ex-hero-good{0%,12%{fill:#eef0e4;stroke:#cfd8ca}20%,85%{fill:var(--lime);stroke:var(--green)}100%{fill:#eef0e4;stroke:#cfd8ca}}
@keyframes ex-hero-dot{0%,12%{fill:#fff}20%,85%{fill:var(--green)}100%{fill:#fff}}
@keyframes ex-hero-check{0%,18%{stroke-dashoffset:30}30%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:30}}
@keyframes ex-fade{from{opacity:0}}
@keyframes ex-rise{from{opacity:0;transform:translateY(14px)}}
.ex-catalog{padding-bottom:110px}
.ex-progress-strip{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--mint);padding:16px 20px;margin:0 0 40px;font-size:14px}.ex-progress-strip p{margin:0}
.ex-progress-track{flex:1;min-width:140px;height:8px;border-radius:8px;background:#fff;overflow:hidden}.ex-progress-track span{display:block;height:100%;width:var(--p);background:var(--green);border-radius:8px;animation:ex-grow 1s .2s cubic-bezier(.2,.8,.2,1) both}
@keyframes ex-grow{from{width:0}}
.ex-chapter{margin-bottom:56px}
.ex-chapter-title{display:flex;align-items:baseline;gap:14px;font-family:"Space Grotesk";font-size:clamp(26px,3vw,38px);letter-spacing:-.05em;font-weight:600;margin:0 0 22px;padding-bottom:14px;border-bottom:1px solid var(--ink)}.ex-chapter-title span{font-size:15px;color:var(--green);letter-spacing:0}
.ex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}
.ex-card{position:relative;display:flex;flex-direction:column;gap:10px;background:var(--paper);border:1px solid #cfd8ca;padding:22px;min-height:210px;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s;animation:ex-rise .5s calc(var(--i)*.06s) both}
.ex-card:hover{transform:translate(-4px,-4px);box-shadow:8px 8px 0 #d4ddac;border-color:var(--ink)}
.ex-card.is-done{background:#f1f5e6}
.ex-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:36px}
.ex-card-title{font-family:"Space Grotesk";font-size:21px;line-height:1.15;letter-spacing:-.04em;font-weight:600}
.ex-card-skill{font-size:13px;line-height:1.5;color:var(--muted)}
.ex-card-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:var(--muted);padding-top:12px;border-top:1px solid #e1e5d8}
.ex-card-go{display:inline-flex;align-items:center;gap:6px;color:var(--ink)}.ex-card-go svg{width:15px;height:15px;transition:transform .25s}.ex-card:hover .ex-card-go svg{transform:translateX(4px)}
.ex-card .badge svg{width:11px;height:11px;vertical-align:-1px}
.ex-diff{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ex-diff i{width:7px;height:7px;border-radius:50%;border:1.5px solid var(--green)}.ex-diff i.on{background:var(--green)}.ex-diff i:last-of-type{margin-right:6px}
.ex-mini-ring{position:relative;width:36px;height:36px;display:grid;place-items:center}.ex-mini-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}
.ex-mini-ring circle{fill:none;stroke:#dde3d2;stroke-width:3.4}.ex-mini-ring .ex-mini-ring-val{stroke:var(--green);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--p));animation:ex-ring 1s .3s cubic-bezier(.2,.8,.2,1) both}
.ex-mini-ring b{font-size:10px}
@keyframes ex-ring{from{stroke-dashoffset:100}}

.ex-page{padding-top:50px;padding-bottom:110px;max-width:980px}
.ex-page-head{margin-bottom:34px}
.ex-kicker{font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:var(--green);margin:0 0 14px}
.ex-page-head h1{font-family:"Space Grotesk";font-size:clamp(34px,4.4vw,58px);line-height:1;letter-spacing:-.07em;font-weight:600;margin:0 0 18px}
.ex-skill{font-size:15px;line-height:1.6;color:#4c5a52;margin:0 0 16px;max-width:680px}.ex-skill b{color:var(--ink);font-size:12px;letter-spacing:.06em;margin-right:6px}
.ex-meta{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;font-size:13px;font-weight:700;margin:0}.ex-best b{color:var(--green)}

.ex-player{scroll-margin-top:110px}
.ex-track{display:none;gap:5px;margin-bottom:26px}.is-stepped .ex-track{display:flex}
.ex-seg{flex:1;height:7px;border-radius:7px;background:#dfe3d4;position:relative;overflow:hidden;transition:background .3s}
.ex-seg:after{content:"";position:absolute;inset:0;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.ex-seg.is-current{background:#c9d0bb}.ex-seg.is-right:after{background:var(--green);transform:none}.ex-seg.is-wrong:after{background:var(--orange);transform:none}
.ex-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ex-q{border:0;margin:0 0 44px;padding:0;min-width:0}.is-stepped .ex-q{margin-bottom:0}
.ex-q.is-entering{animation:ex-slide .45s cubic-bezier(.2,.8,.2,1) both}
@keyframes ex-slide{from{opacity:0;transform:translateX(28px)}}
.ex-q-head{display:grid;grid-template-columns:auto 1fr;gap:6px 20px;padding:0;margin-bottom:24px;width:100%}
.ex-q-num{font-family:"Space Grotesk";font-size:44px;line-height:1;letter-spacing:-.08em;color:var(--green);font-weight:600;grid-row:span 2}.ex-q-num small{font-size:15px;letter-spacing:0;color:var(--muted)}
.ex-q-prompt{font-size:clamp(18px,2vw,21px);line-height:1.55;font-weight:500}.ex-q-hint{font-size:12px;color:var(--muted);font-weight:700}
.ex-choices{display:grid;gap:10px}
.ex-choice{position:relative;display:grid;grid-template-columns:38px 1fr 26px;align-items:center;gap:14px;padding:14px 16px;background:var(--paper);border:1.5px solid #cfd8ca;cursor:pointer;transition:border-color .2s,background .2s,transform .2s;animation:ex-rise .4s calc(.1s + var(--i)*.05s) both}
.ex-choice:hover{border-color:var(--ink);transform:translateX(3px)}
.ex-choice input{position:absolute;opacity:0;pointer-events:none}
.ex-choice-letter{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--ink);font-weight:700;font-size:14px;transition:background .2s,color .2s,transform .25s}
.ex-choice-text{font-size:16px;line-height:1.5}
.ex-choice:has(input:checked){border-color:var(--ink);background:#fff}.ex-choice:has(input:checked) .ex-choice-letter{background:var(--ink);color:#fff;transform:scale(1.08)}
.ex-choice:has(input:focus-visible){outline:2px solid var(--green);outline-offset:3px}
.ex-choice-mark{width:22px;height:22px;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.ex-choice-mark path{display:none;stroke-dasharray:30;stroke-dashoffset:30}
:is(.ex-q,.ex-daily) .ex-choice.is-correct{border-color:var(--green);background:#e9f3c9}:is(.ex-q,.ex-daily) .ex-choice.is-correct .ex-choice-letter{background:var(--green);border-color:var(--green);color:#fff}
.ex-choice.is-correct .ok{display:block;stroke:var(--green);animation:ex-draw .45s .1s forwards}
:is(.ex-q,.ex-daily) .ex-choice.is-wrong{border-color:var(--orange);background:#fbe3d8;animation:ex-shake .4s}:is(.ex-q,.ex-daily) .ex-choice.is-wrong .ex-choice-letter{background:var(--orange);border-color:var(--orange);color:#fff}
.ex-choice.is-wrong .ko{display:block;stroke:var(--orange);animation:ex-draw .35s .05s forwards}
.ex-q.is-right .ex-choice.is-correct{animation:ex-pop .5s}
[inert] .ex-choice{cursor:default}[inert] .ex-choice:hover{transform:none}
@keyframes ex-draw{to{stroke-dashoffset:0}}
@keyframes ex-shake{20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
@keyframes ex-pop{40%{transform:scale(1.025)}}
.ex-feedback:not(:empty){margin-top:20px}
.ex-step-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:24px}
.ex-step-actions .btn svg{width:16px;height:16px}
.btn.is-busy{position:relative;color:transparent}.btn.is-busy:after{content:"";position:absolute;width:18px;height:18px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:ex-spin .7s linear infinite}
@keyframes ex-spin{to{transform:rotate(360deg)}}
.ex-keys{font-size:12px;color:var(--muted)}.ex-keys kbd{font:inherit;font-weight:700;border:1px solid #bfc6b6;border-bottom-width:2px;border-radius:4px;padding:1px 6px;background:#fff}
@media(hover:none){.ex-keys{display:none}}
.ex-submit-all{margin-top:10px}
.ex-error{color:var(--error);font-weight:700;margin:0}

.ex-corr{border-left:4px solid var(--green);background:var(--paper);padding:20px 22px;animation:ex-unfold .45s cubic-bezier(.2,.8,.2,1) both}.ex-corr.is-wrong{border-left-color:var(--orange)}
@keyframes ex-unfold{from{opacity:0;transform:translateY(-8px)}}
.ex-verdict{display:flex;align-items:center;gap:10px;font-family:"Space Grotesk";font-size:22px;letter-spacing:-.04em;font-weight:700;margin:0 0 14px;outline:0}
.ex-verdict-mark{width:30px;height:30px;padding:5px;border-radius:50%;background:var(--green);fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.is-wrong .ex-verdict-mark{background:var(--orange)}
.ex-verdict-mark path{stroke-dasharray:30;stroke-dashoffset:30;animation:ex-draw .45s .2s forwards}
.ex-corr-list{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:10px}
.ex-corr-list li{display:grid;gap:4px;padding:12px 14px;background:#fff;border:1px solid #e1e5d8}
.ex-corr-list li.is-correct{border-color:#b9d48a}.ex-corr-list li.is-picked{border-color:#f0b9a2}
.ex-corr-tag{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green)}.is-picked .ex-corr-tag{color:#b4502c}
.ex-corr-text{font-size:16px}.ex-corr-why{font-size:14px;line-height:1.6;color:#4c5a52}
.ex-explain{margin-top:14px;padding:14px 16px;background:var(--mint)}.ex-explain p{margin:0;line-height:1.7;font-size:15px}
.ex-explain-label{display:flex;align-items:center;gap:6px;font-size:11px!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin-bottom:6px!important}.ex-explain-label svg{width:15px;height:15px}

.ex-result{display:grid;grid-template-columns:200px 1fr;gap:44px;align-items:center;background:var(--paper);border:1px solid #bacbb6;box-shadow:16px 16px 0 #d4ddac;padding:34px;margin-bottom:34px;animation:ex-rise .5s both}
.ex-score{position:relative;width:200px;height:200px;display:grid;place-items:center}
.ex-score svg{position:absolute;inset:0;transform:rotate(-90deg)}
.ex-score circle{fill:none;stroke:#e1e5d8;stroke-width:10}
.ex-score .ex-score-val{stroke:var(--green);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--p));animation:ex-ring 1.1s .15s cubic-bezier(.2,.8,.2,1) both}
.ex-score p{margin:0;font-family:"Space Grotesk";font-weight:600;letter-spacing:-.08em;line-height:1}.ex-score b{font-size:56px}.ex-score small{font-size:22px;margin-left:2px}
.ex-result-copy h2{font-family:"Space Grotesk";font-size:clamp(30px,3.6vw,46px);line-height:1.02;letter-spacing:-.06em;margin:0 0 12px;font-weight:600}
.ex-result-copy p{line-height:1.65;color:#4c5a52;margin:0 0 16px}
.ex-saved{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--green)!important}.ex-saved svg{width:18px;height:18px}
.ex-actions{display:flex;flex-wrap:wrap;gap:12px}
.ex-signup{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:var(--green);color:var(--cream);padding:24px 28px;margin-bottom:44px;animation:ex-rise .5s .25s both}.ex-signup p{margin:0;max-width:540px;line-height:1.6}
.ex-section-title{font-family:"Space Grotesk";font-size:clamp(28px,3vw,40px);letter-spacing:-.06em;font-weight:600;margin:50px 0 22px;padding-bottom:12px;border-bottom:1px solid var(--ink)}
.ex-review{list-style:none;margin:0;padding:0;display:grid;gap:30px}
.ex-review-item{animation:ex-rise .5s calc(.3s + var(--i)*.06s) both}
.ex-review-q{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:baseline;font-size:17px;line-height:1.55;margin:0 0 12px}.ex-review-q .ex-q-num{font-size:30px}
.ex-review .ex-corr{animation:none}
.ex-gate{position:relative;background:var(--paper);border:1px solid #bacbb6;box-shadow:16px 16px 0 #d4ddac;padding:40px;max-width:680px;outline:0}
.ex-gate.is-entering{animation:ex-slide .45s cubic-bezier(.2,.8,.2,1) both}
.ex-gate-art{width:96px;height:77px;display:block;margin-bottom:10px}
.ex-gate-soft{fill:var(--lime)}
.ex-gate-line,.ex-gate-key{fill:none;stroke:var(--ink);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.ex-gate-dot{fill:var(--ink);transform-origin:60px 56px;transform:scale(0)}
.ex-gate.is-open .ex-gate-line{animation:ex-draw .8s .15s cubic-bezier(.4,0,.2,1) forwards}
.ex-gate.is-open .ex-gate-line+.ex-gate-line{animation-delay:.35s}
.ex-gate.is-open .ex-gate-key{animation:ex-draw .35s .95s ease-out forwards}
.ex-gate.is-open .ex-gate-dot{animation:ex-pop .35s .85s cubic-bezier(.3,1.6,.5,1) forwards}
.ex-gate.is-open .ex-gate-art{animation:ex-unlock 1.6s 1.3s ease-in-out}
@keyframes ex-pop{to{transform:scale(1)}}
@keyframes ex-unlock{0%,100%{transform:none}30%{transform:rotate(-6deg)}60%{transform:rotate(4deg)}}
.ex-gate .ex-gate-count{display:inline-block;margin:0 0 14px;padding:5px 12px;border-radius:30px;background:var(--ink);color:var(--lime);font-size:12px;font-weight:700;letter-spacing:.02em}
.ex-gate .ex-gate-count:empty{display:none}
.ex-gate h2{font-family:"Space Grotesk";font-size:30px;letter-spacing:-.05em;line-height:1.1;margin:0 0 12px}.ex-gate p{line-height:1.7;color:#4c5a52;margin:0 0 22px}
.ex-gate .ex-actions{margin:0}
.ex-seg.is-locked{background:repeating-linear-gradient(-45deg,#e7e9de 0 4px,#d3d8c8 4px 8px)}
.ex-filters{display:grid;gap:12px;margin:0 0 18px;padding:0 0 22px;border-bottom:1px solid var(--line)}
.ex-filters .grade-chips{align-items:center}
.ex-filters .grade-chip{animation:ex-rise .4s calc(var(--i,0)*.04s) both}
.ex-filter-label{width:92px;flex:none;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ex-current{margin:0 0 30px;font-family:"Space Grotesk";font-size:20px;letter-spacing:-.04em;font-weight:600}.ex-current span{font-family:"DM Sans";font-size:13px;letter-spacing:0;font-weight:400;color:var(--muted)}
.ex-card-try{font-size:11px;font-weight:700;color:var(--green);background:#e6f1c4;border-radius:30px;padding:4px 9px}
@media(max-width:560px){.ex-filter-label{width:auto;margin-right:4px}}
.nav-tag{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:20px;background:var(--lime);font-size:10px;letter-spacing:.04em;vertical-align:1px}
@media(max-width:800px){.ex-head{grid-template-columns:1fr}.ex-hero{display:none}.ex-result{grid-template-columns:1fr;justify-items:center;text-align:center;padding:26px 20px;box-shadow:10px 10px 0 #d4ddac}.ex-result .ex-actions,.ex-saved{justify-content:center}
.ex-score{width:170px;height:170px}.ex-score b{font-size:54px}.ex-q-num{font-size:34px}.ex-choice{grid-template-columns:32px 1fr 22px;gap:10px;padding:12px}.ex-choice-letter{width:32px;height:32px}.ex-gate{padding:26px 20px;box-shadow:10px 10px 0 #d4ddac}}
@media(prefers-reduced-motion:reduce){.ex-hero-choice,.ex-hero-choice rect,.ex-hero-choice circle,.ex-card,.ex-choice,.ex-choice.is-wrong,.ex-q.is-right .ex-choice.is-correct,.ex-corr,.ex-result,.ex-signup,.ex-review-item,.ex-progress-track span,.ex-mini-ring .ex-mini-ring-val,.ex-score .ex-score-val{animation:none}
.ex-hero-check,.ex-choice-mark path,.ex-verdict-mark path{animation:none;stroke-dashoffset:0}.ex-hero-choice.is-good rect{fill:var(--lime);stroke:var(--green)}.ex-hero-choice.is-good circle{fill:var(--green)}.ex-q.is-entering,.ex-gate.is-entering,.ex-gate.is-open .ex-gate-art{animation:none}.ex-gate .ex-gate-line,.ex-gate .ex-gate-key{animation:none;stroke-dashoffset:0}.ex-gate .ex-gate-dot{animation:none;transform:none}}

/* Accueil : bloc « Exercices gratuits » avec la question du jour, jouable sur place. */
.ex-home{background:var(--ink);color:var(--cream);padding:120px 0;overflow:hidden}
.ex-home-inner{display:grid;grid-template-columns:1fr 1.05fr;gap:7vw;align-items:center}
.ex-home .eyebrow:before{background:var(--lime)}
.ex-home h2{font-family:"Space Grotesk";font-size:clamp(50px,6.4vw,96px);line-height:.94;letter-spacing:-.08em;font-weight:600;margin:40px 0 30px}.ex-home h2 span{color:var(--lime)}
.ex-home-copy>p{max-width:440px;line-height:1.75;color:#c9d2c8;margin:0 0 18px}
.ex-home-stats{font-size:14px;color:#fff!important}.ex-home-stats b{color:var(--lime);font-family:"Space Grotesk";font-size:20px}
.pill--lime{background:var(--lime);color:var(--ink)}.pill--lime:hover{background:#fff;color:var(--ink)}
.ex-daily{background:var(--paper);color:var(--ink);padding:30px;box-shadow:18px 20px 0 var(--green);transform:rotate(-1.5deg);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.ex-daily:hover,.ex-daily.is-answered{transform:none}
.ex-daily-label{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--green);margin:0 0 16px}
.ex-daily-dot{width:8px;height:8px;border-radius:50%;background:var(--orange);animation:ex-beat 1.8s infinite}
@keyframes ex-beat{0%,100%{box-shadow:0 0 0 0 #ed744b88}60%{box-shadow:0 0 0 8px #ed744b00}}
.ex-daily-prompt{font-size:19px;line-height:1.55;font-weight:500;margin:0 0 20px}
.ex-daily-choices{display:grid;gap:9px}
.ex-daily .ex-choice{width:100%;font:inherit;color:inherit;text-align:left;padding:11px 14px;grid-template-columns:32px 1fr 22px}.ex-daily .ex-choice-letter{width:32px;height:32px;font-size:13px}
.ex-daily .ex-choice[disabled]{cursor:default}.ex-daily .ex-choice[disabled]:hover{transform:none}
.ex-daily .ex-choice.is-picked:not(.is-correct):not(.is-wrong) .ex-choice-letter{background:var(--ink);color:#fff}
.ex-daily .ex-corr{margin-top:16px;padding:16px 18px}.ex-daily .ex-explain{display:none}.ex-daily .ex-verdict{font-size:19px}
.ex-daily-more{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-weight:700;font-size:14px;color:var(--green);text-decoration:underline;text-underline-offset:4px}.ex-daily-more svg{width:15px;height:15px;transition:transform .25s}.ex-daily-more:hover svg{transform:translateX(4px)}
.ex-daily.is-answered .ex-daily-more{background:var(--lime);color:var(--ink);text-decoration:none;padding:13px 20px;border-radius:100px;animation:ex-rise .45s .3s both}
.btn--whatsapp{background:#25D366;color:#fff}.btn--whatsapp:hover{background:#1da851}.btn--whatsapp svg{width:18px;height:18px}
@media(max-width:800px){.ex-home{padding:85px 0}.ex-home-inner{grid-template-columns:1fr;gap:56px}.ex-daily{padding:22px 18px;box-shadow:10px 12px 0 var(--green);transform:none}}
@media(prefers-reduced-motion:reduce){.ex-daily-dot,.ex-daily.is-answered .ex-daily-more{animation:none}.ex-daily{transform:none;transition:none}}

/* Cours à domicile (/cours-a-domicile/ et accueil) : présentation, matières, méthode, humain, suivi. */
.reveal-ready [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.8,.2,1) calc(var(--i,0)*.08s),transform .7s cubic-bezier(.2,.8,.2,1) calc(var(--i,0)*.08s)}
.reveal-ready [data-reveal].is-visible{opacity:1;transform:none}
.sd-h1{font-family:"Space Grotesk";font-size:clamp(52px,7vw,108px);line-height:.92;letter-spacing:-.085em;font-weight:600;margin:0 0 28px}.sd-h1 em,.sd-h2 em{font-style:normal;color:var(--green)}
.sd-h1--subject{font-size:clamp(44px,5.6vw,84px)}
.sd-h2{font-family:"Space Grotesk";font-size:clamp(40px,5vw,72px);line-height:.98;letter-spacing:-.075em;font-weight:600;margin:0 0 26px}
.sd-lead{font-size:18px;line-height:1.7;color:#4c5a52;max-width:560px;margin:0 0 30px}
.sd-actions{display:flex;flex-wrap:wrap;gap:12px}.sd-actions .btn svg{width:16px;height:16px}
.sd-hero-note{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--green);margin:22px 0 0}.sd-hero-note svg{width:16px;height:16px}
.sd-small-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--green);margin:0 0 16px}

.sd-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:6vw;align-items:center;padding-top:80px;padding-bottom:100px}
.sd-hero-copy{animation:ex-rise .7s both}
.sd-hero-media{position:relative;animation:ex-rise .8s .15s both}
.sd-frame{position:relative;aspect-ratio:4/3.4;overflow:hidden;background:var(--green);box-shadow:20px 22px 0 #d4ddac;transform:rotate(1.5deg);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.sd-frame:hover{transform:rotate(0)}
.sd-frame-img{width:100%;height:100%;object-fit:cover;display:block;animation:sd-zoom 1.6s cubic-bezier(.2,.8,.2,1) both}
@keyframes sd-zoom{from{transform:scale(1.12)}}
.sd-mosaic{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:3px;background:var(--ink)}
.sd-mosaic span{display:grid;place-items:center;font-family:"Space Grotesk";font-weight:600;letter-spacing:-.06em;font-size:clamp(40px,5vw,76px);color:var(--lime);background:var(--green);animation:sd-tile .8s calc(.2s + var(--i)*.12s) both}
.sd-mosaic span:nth-child(2),.sd-mosaic span:nth-child(3){background:#1e4d3d;color:var(--cream)}
.sd-mosaic--one{grid-template-columns:1fr}.sd-mosaic--one span{font-size:clamp(90px,12vw,170px)}
@keyframes sd-tile{from{opacity:0;transform:scale(.85)}}
.sd-chip{position:absolute;display:flex;align-items:center;gap:8px;margin:0;background:var(--paper);border:1px solid var(--ink);padding:11px 16px;border-radius:100px;font-size:13px;font-weight:700;box-shadow:5px 5px 0 var(--ink);animation:sd-float 5s ease-in-out infinite}
.sd-chip svg{width:16px;height:16px;color:var(--green)}
.sd-chip--a{left:-26px;top:12%;animation-delay:-1s}.sd-chip--b{right:-18px;bottom:10%;background:var(--lime);animation-delay:-3.2s}
@keyframes sd-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-9px) rotate(1deg)}}

.sd-promises{background:var(--ink);color:var(--cream);padding:46px 0}
.sd-promises-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}
.sd-promise svg{width:26px;height:26px;color:var(--lime)}.sd-promise h2{font-family:"Space Grotesk";font-size:20px;letter-spacing:-.04em;margin:12px 0 8px}.sd-promise p{margin:0;font-size:14px;line-height:1.6;color:#c9d2c8}

.sd-subjects{padding-top:120px;padding-bottom:40px}
.sd-section-head{margin-bottom:40px}
.sd-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.sd-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid #cfd8ca;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.sd-card:hover{transform:translate(-5px,-5px);box-shadow:10px 10px 0 #d4ddac;border-color:var(--ink)}
.sd-card-media{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:var(--green)}
.sd-card-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.sd-card:hover .sd-card-img{transform:scale(1.07)}
.sd-card-symbol{position:absolute;inset:0;display:grid;place-items:center;font-family:"Space Grotesk";font-weight:600;font-size:clamp(64px,7vw,96px);letter-spacing:-.06em;color:var(--lime);background:radial-gradient(circle at 30% 20%,#2d7559,var(--green) 60%);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.sd-card:nth-child(even) .sd-card-symbol{background:radial-gradient(circle at 70% 25%,#2a3a34,var(--ink) 65%);color:var(--cream)}
.sd-card:hover .sd-card-symbol{transform:scale(1.08) rotate(-3deg)}
.sd-card-body{display:flex;flex-direction:column;gap:8px;padding:20px 20px 22px;flex:1}
.sd-card-name{font-family:"Space Grotesk";font-size:24px;letter-spacing:-.05em;font-weight:600}
.sd-card-tagline{font-size:14px;line-height:1.55;color:var(--muted)}
.sd-card-go{margin-top:auto;padding-top:12px;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700}.sd-card-go svg{width:15px;height:15px;transition:transform .3s}.sd-card:hover .sd-card-go svg{transform:translateX(5px)}

.sd-steps-wrap{padding-top:120px;padding-bottom:40px}
.sd-steps{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;position:relative}
.sd-steps:before{content:"";position:absolute;left:4%;right:4%;top:48px;border-top:2px dashed #b9c4ae;z-index:0}
.sd-step{position:relative;z-index:1}
.sd-step svg{width:120px;height:96px;display:block;background:var(--cream);padding-right:8px;margin-bottom:16px}
.sd-ill{fill:none;stroke:var(--ink);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.sd-ill--thin{stroke-width:2;stroke:#8a9a8e}.sd-ill--accent{stroke:var(--green)}.sd-ill--white{stroke:#fff;stroke-width:3}
.sd-ill-soft{fill:var(--lime);opacity:.55}.sd-ill-badge{fill:var(--green)}
.reveal-ready .sd-step .sd-ill{stroke-dashoffset:1}
.reveal-ready .sd-step.is-visible .sd-ill{animation:sd-draw 1.1s calc(.2s + var(--i)*.15s) cubic-bezier(.4,0,.2,1) forwards}
@keyframes sd-draw{to{stroke-dashoffset:0}}
.sd-step-num{font-family:"Space Grotesk";font-size:15px;font-weight:700;color:var(--green)}
.sd-step h3{font-family:"Space Grotesk";font-size:23px;letter-spacing:-.05em;line-height:1.1;margin:8px 0 10px}.sd-step p{margin:0;font-size:15px;line-height:1.65;color:#4c5a52}

.sd-human{padding-top:120px;padding-bottom:40px}
.sd-human-head{max-width:760px;margin-bottom:40px}
.sd-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}
.sd-person{display:flex;gap:22px;align-items:flex-start;background:var(--paper);border:1px solid #bacbb6;box-shadow:14px 14px 0 #d4ddac;padding:28px}
.sd-person-photo{flex:none;width:96px;height:96px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--lime);font-family:"Space Grotesk";font-size:38px;font-weight:600}
.sd-person-photo img{width:100%;height:100%;object-fit:cover}.sd-person-photo svg{width:40px;height:40px}
.sd-person-photo--sm{width:52px;height:52px;font-size:22px}.sd-person-photo--sm svg{width:24px;height:24px}
.sd-person h3{font-family:"Space Grotesk";font-size:24px;letter-spacing:-.05em;margin:4px 0 2px}.sd-person-role{margin:0 0 12px;font-size:13px;font-weight:700;color:var(--green)}
.sd-person-quote{margin:0 0 12px;line-height:1.7;color:#4c5a52}.sd-person .link{display:inline-flex;align-items:center;gap:6px}.sd-person .link svg{width:16px;height:16px}
.sd-teachers{margin-top:34px}.sd-teachers-label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted);margin:0 0 14px}
.sd-teachers-row{display:flex;flex-wrap:wrap;gap:12px}
.sd-teacher{display:flex;align-items:center;gap:12px;padding:8px 16px 8px 8px;border:1px solid #cfd8ca;border-radius:100px;background:var(--paper);transition:border-color .2s,transform .2s}.sd-teacher:hover{border-color:var(--ink);transform:translateY(-2px)}
.sd-teacher-photo{width:44px;height:44px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--mint);font-weight:700}.sd-teacher-photo img{width:100%;height:100%;object-fit:cover}
.sd-teacher b{display:block;font-size:14px}.sd-teacher small{display:block;font-size:12px;color:var(--muted)}

.sd-report{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;padding-top:120px;padding-bottom:40px}
.sd-checks{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.sd-checks li{display:flex;gap:12px;line-height:1.55;font-size:16px}.sd-checks li:before{content:"";flex:none;width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center/14px no-repeat}
.sd-checks--big li{font-size:19px;font-weight:500}
.sd-report-card{margin:0;background:var(--paper);border:1px solid #bacbb6;box-shadow:18px 20px 0 #afc8a7;padding:28px;transform:rotate(-1.5deg)}
.sd-report-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--green);margin:0 0 10px;padding-bottom:12px;border-bottom:1px solid #dfe4d6}
.sd-report-badge{background:var(--sage);color:var(--muted);padding:3px 8px;border-radius:20px;letter-spacing:.06em}
.sd-report-title{font-family:"Space Grotesk";font-size:26px;letter-spacing:-.05em;font-weight:600;margin:0 0 16px}
.sd-report-card dl{margin:0;display:grid;gap:4px}.sd-report-card dt{font-size:12px;font-weight:700;color:var(--muted);margin-top:10px}.sd-report-card dd{margin:0;line-height:1.55}
.sd-report-bar{display:block;height:9px;border-radius:9px;background:#e1e5d8;overflow:hidden;margin:6px 0}.sd-report-bar span{display:block;height:100%;width:var(--p);background:var(--green);border-radius:9px}
.reveal-ready .sd-report-card .sd-report-bar span{width:0;transition:width 1.2s .4s cubic-bezier(.2,.8,.2,1)}.reveal-ready .sd-report-card.is-visible .sd-report-bar span{width:var(--p)}
.sd-report-card small{font-size:13px;color:var(--muted)}
.sd-report-card figcaption{margin-top:16px;font-size:11px;color:#6c766c}

.sd-formats{padding-top:120px;padding-bottom:40px}
.sd-formats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sd-format{border-top:2px solid var(--ink);padding:24px 0 0}.sd-format svg{width:28px;height:28px;color:var(--green)}
.sd-format h3{font-family:"Space Grotesk";font-size:28px;letter-spacing:-.05em;margin:14px 0 8px}.sd-format p{margin:0;line-height:1.65;color:#4c5a52}
.sd-levels{display:flex;flex-wrap:wrap;gap:10px;margin:36px 0 0}.sd-levels span{border:1px solid var(--ink);border-radius:100px;padding:10px 18px;font-weight:700;font-size:14px}

.sd-faq{padding-top:120px;padding-bottom:110px;max-width:1000px}
.sd-faq-list{border-top:1px solid var(--ink)}
.sd-faq-item{border-bottom:1px solid #b9bfb3}
.sd-faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;cursor:pointer;list-style:none;font-family:"Space Grotesk";font-size:clamp(19px,2vw,24px);letter-spacing:-.04em;font-weight:600}
.sd-faq-item summary::-webkit-details-marker{display:none}.sd-faq-item summary:hover{color:var(--green)}
.sd-faq-plus{position:relative;flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--ink);transition:background .25s,transform .35s}
.sd-faq-plus:before,.sd-faq-plus:after{content:"";position:absolute;left:50%;top:50%;width:13px;height:2px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .35s}
.sd-faq-plus:after{transform:translate(-50%,-50%) rotate(90deg)}
.sd-faq-item[open] .sd-faq-plus{background:var(--lime);transform:rotate(180deg)}.sd-faq-item[open] .sd-faq-plus:after{transform:translate(-50%,-50%) rotate(0)}
.sd-faq-item p{margin:0 0 26px;max-width:760px;line-height:1.75;color:#4c5a52;animation:ex-unfold .4s both}

.sd-final{background:var(--lime);padding:100px 0}
.sd-final h2{font-family:"Space Grotesk";font-size:clamp(56px,9vw,140px);line-height:.88;letter-spacing:-.09em;margin:0 0 50px;font-weight:600}
.sd-final-row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}.sd-final-row p{max-width:470px;font-size:17px;line-height:1.7;margin:0}
.sd-final .btn--ghost{border-color:var(--ink)}.sd-final .btn svg{width:17px;height:17px}
.sd-sticky{display:none}

.sd-problem{display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;padding-top:110px;padding-bottom:40px;align-items:start}
.sd-problem-copy p{font-size:17px;line-height:1.8;color:#4c5a52;margin:0 0 16px;max-width:600px}
.sd-problem-list ol{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sd-problem-list li{display:flex;gap:16px;align-items:baseline;background:var(--paper);border:1px solid #cfd8ca;border-left:4px solid var(--orange);padding:16px 18px;line-height:1.5;font-weight:500}
.sd-problem-list li span{font-family:"Space Grotesk";font-weight:700;color:var(--orange)}
.sd-method{background:var(--green);color:var(--cream);padding:110px 0;margin-top:90px}
.sd-method .section-label{color:var(--lime)}.sd-method .sd-h2 em{color:var(--lime)}
.sd-method-list{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;counter-reset:m}
.sd-method-list li{border-top:1px solid #ffffff55;padding-top:22px}
.sd-method-num{font-family:"Space Grotesk";font-size:52px;line-height:1;letter-spacing:-.08em;color:var(--lime);font-weight:600}
.sd-method-list h3{font-family:"Space Grotesk";font-size:24px;letter-spacing:-.05em;margin:14px 0 8px}.sd-method-list p{margin:0;line-height:1.7;color:#d3ddd4}
.sd-levels-block{padding-top:120px;padding-bottom:40px}
.sd-level-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.sd-level{background:var(--paper);border:1px solid #bacbb6;padding:28px;box-shadow:12px 12px 0 #d4ddac}
.sd-level h3{font-family:"Space Grotesk";font-size:30px;letter-spacing:-.06em;margin:0 0 16px}
.sd-level ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}.sd-level li{display:flex;gap:10px;line-height:1.5}.sd-level li:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--green);margin-top:8px}
.sd-outcomes{background:var(--mint);padding:100px 0;margin-top:110px}
.sd-outcomes-inner{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}
.sd-quote{margin:0;border-left:4px solid var(--green);padding:6px 0 6px 28px}.sd-quote p{font-family:"Space Grotesk";font-size:clamp(24px,2.6vw,34px);line-height:1.25;letter-spacing:-.04em;margin:0 0 14px}.sd-quote footer{font-weight:700;color:var(--green)}
.sd-exercises{display:flex;align-items:center;gap:26px;flex-wrap:wrap;background:var(--ink);color:var(--cream);padding:30px 34px;margin-top:110px}
.sd-exercises-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--lime);color:var(--ink)}.sd-exercises-icon svg{width:28px;height:28px}
.sd-exercises div{flex:1;min-width:240px}.sd-exercises h2{font-family:"Space Grotesk";font-size:28px;letter-spacing:-.05em;margin:0 0 6px}.sd-exercises p{margin:0;line-height:1.6;color:#c9d2c8}

.sd-home{padding:120px 0 110px;border-bottom:1px solid var(--line)}
.sd-home-top{display:grid;grid-template-columns:1fr .9fr;gap:6vw;align-items:center;margin-bottom:60px}
.sd-h2--home{font-size:clamp(46px,6vw,92px)}
.sd-home-media{position:relative}.sd-home-media .sd-frame{aspect-ratio:3/2.2}
.sd-home-person{position:absolute;left:-30px;bottom:-26px;display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--ink);box-shadow:6px 6px 0 var(--ink);padding:10px 18px 10px 10px;border-radius:100px;max-width:340px;animation:sd-float 6s ease-in-out infinite}
.sd-home-person p{margin:0;font-size:13px;line-height:1.3}.sd-home-person b{display:block;font-size:14px}.sd-home-person small{color:var(--muted)}
.sd-cards--home{grid-template-columns:repeat(4,1fr)}

@media(max-width:1000px){.sd-promises-grid{grid-template-columns:1fr 1fr}.sd-steps{grid-template-columns:1fr 1fr;row-gap:44px}.sd-steps:before{display:none}.sd-cards--home{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.sd-hero,.sd-report,.sd-problem,.sd-outcomes-inner,.sd-home-top{grid-template-columns:1fr}.sd-hero{padding-top:44px;padding-bottom:70px;gap:56px}
.sd-chip--a{left:-6px}.sd-chip--b{right:-6px}.sd-frame{box-shadow:12px 12px 0 #d4ddac}.sd-home-person{left:10px;right:10px;bottom:-30px}.sd-home-top{gap:50px}
.sd-subjects,.sd-steps-wrap,.sd-human,.sd-report,.sd-formats,.sd-faq,.sd-levels-block,.sd-problem{padding-top:80px}.sd-formats-grid{grid-template-columns:1fr}
.sd-method,.sd-outcomes{margin-top:70px;padding:80px 0}.sd-exercises{margin-top:70px}.sd-home{padding:80px 0}
.sd-person{flex-direction:column;box-shadow:10px 10px 0 #d4ddac}
.has-sticky-cta .sd-sticky{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:30;gap:10px;transform:translateY(130%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.has-sticky-cta .sd-sticky.is-shown{transform:none}.sd-sticky .btn{flex:1;box-shadow:0 10px 30px #0d221e44}
.sd-sticky-wa{display:grid;place-items:center;width:56px;border-radius:50%;background:#25D366;color:#fff;box-shadow:0 10px 30px #0d221e44}.sd-sticky-wa svg{width:24px;height:24px}
.has-sticky-cta footer{padding-bottom:96px}}
@media(max-width:560px){.sd-promises-grid,.sd-steps{grid-template-columns:1fr}.sd-cards,.sd-cards--home{grid-template-columns:1fr 1fr;gap:12px}
.sd-card-media{aspect-ratio:1}.sd-card-body{padding:14px 14px 16px}.sd-card-name{font-size:19px}.sd-card-tagline{font-size:13px}.sd-card-symbol{font-size:54px}
.sd-chip{font-size:12px;padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.sd-hero-copy,.sd-hero-media,.sd-frame-img,.sd-mosaic span,.sd-chip,.sd-home-person,.sd-faq-item p{animation:none}.sd-frame{transform:none}}
/* Offres d'exercices : bandeau du catalogue, page d'achat, gestion des prix */
.ex-offer-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 34px;padding:16px 20px;background:#e9f0d2;border-left:4px solid var(--green);animation:ex-rise .5s both}
.ex-offer-strip p{margin:0;line-height:1.6;font-size:14px}
.ex-chapter-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.ex-chip{display:inline-flex;align-items:center;gap:5px;font-family:"DM Sans";font-style:normal;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:30px;vertical-align:middle}
.ex-chip svg{width:12px;height:12px}
.ex-chip--free{background:var(--lime);color:var(--ink)}
.ex-chip--open{background:#d9eadf;color:var(--green)}
.ex-chip--paid{background:var(--ink);color:var(--cream);transition:background .2s}.ex-chip--paid:hover{background:var(--green)}
.of-buy{padding-top:40px;padding-bottom:110px}
.of-head{max-width:820px;margin:26px 0 34px}.of-title{margin-bottom:26px}
.of-owned,.of-pending{display:flex;gap:14px;align-items:flex-start;max-width:820px;padding:18px 20px;margin:0 0 26px;background:var(--paper);border:1px solid #c9d4c3}
.of-owned>svg{flex:none;width:22px;height:22px;color:var(--green);margin-top:2px}
.of-owned ul{margin:6px 0;padding-left:18px;line-height:1.7}.of-owned small{color:var(--muted)}
.of-pending{border-color:var(--green);background:#eef5e3}.of-pending p{margin:6px 0 0;line-height:1.6;color:#4c5a52}
.of-pending-dot{flex:none;width:12px;height:12px;margin-top:5px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 #225c4766;animation:of-pulse 1.8s infinite}
@keyframes of-pulse{70%{box-shadow:0 0 0 10px #225c4700}100%{box-shadow:0 0 0 0 #225c4700}}
.of-form{max-width:1060px}
.of-group{border:0;margin:0 0 30px;padding:0}
.of-group legend{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:0;margin-bottom:14px;font-family:"Space Grotesk";font-size:24px;letter-spacing:-.04em;font-weight:600}
.of-group legend span{font-family:"DM Sans";font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--green);width:100%}
.of-group legend small{font-family:"DM Sans";font-size:13px;letter-spacing:0;font-weight:400;color:var(--muted)}
.of-options{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.of-option{position:relative;display:grid;gap:4px;align-content:start;padding:22px 20px 20px;background:var(--paper);border:1.5px solid #c9d4c3;cursor:pointer;transition:border-color .2s,transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s;animation:ex-rise .45s calc(var(--i)*.07s) both}
.of-option:hover{transform:translateY(-3px);box-shadow:8px 8px 0 #d4ddac}
.of-option input{position:absolute;opacity:0;pointer-events:none}
.of-option:has(input:checked){border-color:var(--ink);box-shadow:8px 8px 0 var(--lime)}
.of-option:has(input:focus-visible){outline:2px solid var(--green);outline-offset:3px}
.of-option:has(input:checked):after{content:"";position:absolute;top:16px;right:16px;width:20px;height:20px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat;animation:ex-pop .3s cubic-bezier(.3,1.6,.5,1) both}
.of-option.is-best{border-color:var(--green)}
.of-option.is-best:before{content:"Le plus avantageux";position:absolute;top:-11px;left:16px;padding:3px 9px;border-radius:30px;background:var(--green);color:var(--cream);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.of-duration{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.of-badge{justify-self:start;font-size:11px;font-weight:700;padding:2px 8px;border-radius:30px;background:var(--orange);color:white}
.of-price{font-family:"Space Grotesk";font-size:34px;letter-spacing:-.06em;font-weight:600;line-height:1.1;margin-top:6px}
.of-compare{font-size:14px;color:var(--muted)}
.of-month{font-size:13px;color:#4c5a52}
.of-saving{justify-self:start;margin-top:6px;font-size:12px;font-weight:700;color:var(--green);background:#e6f1c4;padding:3px 9px;border-radius:30px}
.of-group--full .of-option{background:#f3f6ea}
.of-credit{display:flex;gap:8px;align-items:center;padding:12px 16px;background:#e6f1c4;margin:0 0 26px;font-size:14px}.of-credit svg{width:16px;height:16px;color:var(--green)}
.of-pay{display:grid;gap:14px;max-width:520px;padding-top:8px}
.of-pay .btn{justify-self:start}
.of-help{font-size:13px;line-height:1.6;color:var(--muted);margin:0}
.of-chapter-list{max-width:820px;margin-top:70px}
.of-chapter-list ul{list-style:none;margin:0;padding:0}
.of-chapter-list li{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}
.of-chapter-list small{color:var(--muted)}
.of-edit{padding-top:44px;padding-bottom:110px}.of-edit .of-help{max-width:760px}.of-edit .studio-form{max-width:none}
.of-layout{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:50px;align-items:start;margin-top:26px}
.of-preview{position:sticky;top:20px;padding:24px;background:var(--paper);border:1px solid #c9d4c3}
.of-preview h2{font-family:"Space Grotesk";font-size:20px;letter-spacing:-.04em;margin:0 0 18px}
.of-preview .of-options{grid-template-columns:1fr 1fr 1fr;gap:8px}
.of-preview .of-option{padding:16px 12px 14px;cursor:default}.of-preview .of-option:hover{transform:none;box-shadow:none}
.of-preview .of-price{font-size:22px}.of-preview .of-group legend{font-size:18px}
.of-chapters{display:grid;gap:6px}
.of-chapter{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);background:var(--paper);cursor:pointer}
.of-chapter:has(input:checked){border-color:var(--green);background:#eef5e3}
.of-chapter small{color:var(--muted)}
.of-switch{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;cursor:pointer}.of-switch small{grid-column:2;color:var(--muted)}
.of-message{max-width:760px;margin:20px 0;padding:16px 18px;border-left:4px solid var(--orange);background:#fbe7dd}.of-message p{margin:6px 0 0;line-height:1.6}
.of-message--soft{border-color:#2b4a85;background:#e6ecf7}
.of-team{display:grid;gap:12px;max-width:760px;margin-top:60px}
.of-ask{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}.of-ask textarea{font:inherit;padding:10px;border:1px solid #bdc7b9;background:white}
.of-history{list-style:none;margin:0;padding:0;max-width:760px}.of-history li{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.of-history small{display:block;color:var(--muted);margin-top:4px;line-height:1.5}
@media(max-width:900px){.of-layout{grid-template-columns:1fr}.of-preview{position:static}}
@media(max-width:700px){.of-options{grid-template-columns:1fr}.of-option{grid-template-columns:1fr auto;padding:18px 16px}.of-option .of-price{grid-row:1/3;grid-column:2;align-self:center;font-size:28px}.of-saving{grid-column:1/-1}.ex-offer-strip{flex-direction:column;align-items:flex-start}.of-ask{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ex-offer-strip,.of-option,.of-option:has(input:checked):after{animation:none}.of-option:hover{transform:none}.of-pending-dot{animation:none}}
.of-warning{margin:0 0 16px;padding:10px 12px;font-size:13px;line-height:1.5;background:#fbe7dd;border-left:3px solid var(--orange)}
/* Enseigner sur Intercours (/enseigner/), bandeau de recrutement et section d'accueil */
.te-mission{position:relative;background:var(--paper);border:1px solid var(--ink);box-shadow:18px 18px 0 #d4ddac;padding:28px;max-width:440px;margin:30px auto;animation:te-float 6s ease-in-out infinite}
.te-mission-chip{position:absolute;left:-26px;top:-38px;display:flex;align-items:center;gap:8px;margin:0;background:var(--paper);border:1px solid var(--ink);padding:10px 15px;border-radius:100px;font-size:13px;font-weight:700;box-shadow:5px 5px 0 var(--ink)}.te-mission-chip svg{width:15px;height:15px;color:var(--green)}
@keyframes te-float{50%{transform:translateY(-8px)}}
.te-mission-top{display:flex;justify-content:space-between;align-items:center;margin:0 0 18px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.te-mission-top span:first-child:before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--orange);animation:of-pulse 1.8s infinite}
.te-mission-tag{font-size:10px;padding:3px 8px;border-radius:30px;background:#ecebe0;color:var(--muted)}
.te-mission-title{font-family:"Space Grotesk";font-size:28px;letter-spacing:-.05em;font-weight:600;margin:0 0 16px}
.te-mission-facts{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px}
.te-mission-facts li{display:flex;gap:10px;align-items:center;font-size:15px;color:#4c5a52;animation:ex-rise .5s calc(.4s + var(--i)*.15s) both}
.te-mission-facts svg{width:18px;height:18px;color:var(--green);flex:none}
.te-mission-actions{display:flex;gap:10px}
.te-mission-actions span{display:inline-flex;align-items:center;gap:6px;padding:11px 18px;border-radius:100px;font-size:13px;font-weight:700}
.te-accept{background:var(--ink);color:var(--cream);animation:te-press 4s 1.6s ease-in-out infinite}.te-accept svg{width:15px;height:15px}
.te-decline{border:1px solid #b7c0b1}
@keyframes te-press{0%,70%,100%{transform:none;background:var(--ink)}76%{transform:scale(.95);background:var(--green)}84%{transform:none;background:var(--green)}}
.te-ways{padding-top:110px}
.te-ways-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.te-way{display:flex;flex-direction:column;gap:12px;padding:26px 22px;background:var(--paper);border:1px solid #c9d4c3;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.te-way:hover{transform:translateY(-5px);box-shadow:10px 10px 0 #d4ddac}
.te-way-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--lime);transition:transform .4s cubic-bezier(.3,1.6,.5,1)}
.te-way:hover .te-way-icon{transform:rotate(-12deg) scale(1.08)}
.te-way-icon svg{width:22px;height:22px}
.te-way h3{font-family:"Space Grotesk";font-size:24px;letter-spacing:-.05em;margin:4px 0 0}
.te-way p{margin:0;line-height:1.65;color:#4c5a52;font-size:15px}
.te-way .sd-checks{margin-top:auto;padding-top:8px;gap:8px}.te-way .sd-checks li{font-size:14px}
.te-steps-cta{margin:50px 0 0}
.te-trust{background:var(--green);color:var(--cream);padding:110px 0;margin-top:90px}
.te-trust-inner{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}
.te-trust .section-label,.te-trust .sd-h2 em{color:var(--lime)}
.te-trust .sd-h2{color:var(--cream)}.te-trust .sd-lead{color:#d7e3d6}.te-trust .link{color:var(--lime)}
.te-checkcard{background:var(--paper);color:var(--ink);padding:28px;box-shadow:16px 16px 0 #173f31}
.te-checkcard-head{display:flex;gap:14px;align-items:center;margin:0 0 20px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.te-checkcard-head small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.te-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--lime)}.te-avatar svg{width:22px;height:22px}
.te-checklist{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.te-checklist li{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;align-items:center}
.te-checklist small{grid-column:2;color:var(--muted);font-size:13px}
.te-tick{grid-row:1/3;width:26px;height:26px;border-radius:50%;border:2px solid #c9d4c3;position:relative;transition:background .3s calc(.3s + var(--i)*.35s),border-color .3s calc(.3s + var(--i)*.35s)}
.te-tick:after{content:"";position:absolute;left:7px;top:3px;width:7px;height:12px;border:solid white;border-width:0 3px 3px 0;transform:rotate(45deg) scale(0);transition:transform .3s cubic-bezier(.3,1.6,.5,1) calc(.45s + var(--i)*.35s)}
.reveal-ready .te-checkcard.is-visible .te-tick,.te-checkcard:not([data-reveal]) .te-tick{background:var(--green);border-color:var(--green)}
.reveal-ready .te-checkcard.is-visible .te-tick:after{transform:rotate(45deg) scale(1)}
html:not(.reveal-ready) .te-tick{background:var(--green);border-color:var(--green)}html:not(.reveal-ready) .te-tick:after{transform:rotate(45deg) scale(1)}
.te-wanted{padding-top:110px;padding-bottom:30px}
.te-pills{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 0}
.te-pill{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:100px;background:var(--ink);color:var(--cream);font-weight:700;font-size:15px;transition:background .2s,transform .2s}
.te-pill:hover{background:var(--green);transform:translateY(-2px)}
.te-pill span{color:var(--lime);font-family:"Space Grotesk"}
.te-pill--soft{background:transparent;color:var(--ink);border:1px dashed #9aa597;font-weight:500}.te-pill--soft:hover{background:transparent;transform:none}
.te-final h2{max-width:900px}
/* Bandeau des pages cours à domicile */
.te-band{margin-top:90px}
.te-band-inner{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding:30px 34px;background:var(--ink);color:var(--cream);position:relative;overflow:hidden}
.te-band-inner:after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:var(--green);opacity:.55;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.te-band-inner:hover:after{transform:scale(1.25)}
.te-band-icon{position:relative;z-index:1;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--lime);color:var(--ink)}.te-band-icon svg{width:26px;height:26px}
.te-band h2{position:relative;z-index:1;font-family:"Space Grotesk";font-size:clamp(24px,2.6vw,32px);letter-spacing:-.05em;margin:0 0 6px;font-weight:600}
.te-band p{position:relative;z-index:1;margin:0;color:#c9d3c7;line-height:1.6}
.te-band .btn{position:relative;z-index:1;background:var(--lime);color:var(--ink)}
/* Accueil : « Vous enseignez ? » */
.hm-teach{background:var(--ink);color:var(--cream);overflow:hidden}
.hm-teach-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;align-items:center;padding-top:120px;padding-bottom:120px}
.hm-teach .section-label{color:var(--lime)}
.hm-teach h2{font-family:"Space Grotesk";font-size:clamp(48px,6.4vw,96px);line-height:.95;letter-spacing:-.075em;margin:0 0 30px;font-weight:600}
.hm-teach h2 em{font-style:normal;color:var(--lime)}
.hm-teach p{max-width:520px;line-height:1.75;color:#c9d3c7;font-size:17px;margin:0 0 30px}
.hm-teach-list{list-style:none;margin:0;padding:0;border-top:1px solid #3a4b45}
.hm-teach-list li{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;padding:22px 0;border-bottom:1px solid #3a4b45}
.hm-teach-list b{font-family:"Space Grotesk";font-size:22px;letter-spacing:-.04em;font-weight:600}
.hm-teach-list span{grid-row:1/3;font-family:"Space Grotesk";font-size:15px;color:var(--lime);padding-top:5px}
.hm-teach-list small{grid-column:2;color:#aebaad;font-size:14px;line-height:1.55}
.hm-teach .btn{background:var(--lime);color:var(--ink)}
.hm-teach .btn--ghost{background:transparent;color:var(--cream);border-color:#6f7f78}
@media(max-width:1100px){.te-ways-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.te-trust-inner,.hm-teach-inner{grid-template-columns:1fr;gap:50px}.te-band-inner{grid-template-columns:1fr;justify-items:start}.te-band .btn{justify-self:start}}
@media(max-width:600px){.te-ways-grid{grid-template-columns:1fr}.te-mission{padding:22px;box-shadow:10px 10px 0 #d4ddac}.te-mission-title{font-size:23px}.te-mission-chip{left:-8px;font-size:12px;padding:8px 12px}.hm-teach-inner{padding-top:85px;padding-bottom:85px}.te-trust{padding:80px 0}}
@media(prefers-reduced-motion:reduce){.te-mission,.te-mission-facts li,.te-accept,.te-mission-top span:first-child:before{animation:none}.te-way:hover,.te-pill:hover{transform:none}.te-tick,.te-tick:after{transition:none}.te-band-inner:after{transition:none}}

/* Gestion : programmes officiels (PDF lu par l'IA, relu avant import) */
.pg-h2{margin:70px 0 18px}
.pg-steps{margin:0 0 18px;padding-left:1.2em;display:grid;gap:10px;line-height:1.6;color:#4c5a52;font-size:14px}
.pg-steps b{color:var(--ink)}
.pg-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:-10px 0 30px;color:var(--muted);font-size:14px}
.pg-meta .i{width:13px;height:13px}
.pg-wait{display:flex;align-items:center;gap:28px;padding:30px;border:1px solid var(--line);background:var(--paper);max-width:760px}
.pg-wait svg{width:110px;flex:none}
.pg-wait h2{margin:0 0 6px;font-size:22px}.pg-wait p{margin:0;color:#4c5a52}
.pg-wait-page{fill:#fff;stroke:var(--ink);stroke-width:2}
.pg-wait-line{stroke:#c9d2c4;stroke-width:4;stroke-linecap:round;fill:none}
.pg-wait-scan{stroke:var(--green);stroke-width:3;stroke-linecap:round;animation:pg-scan 2.4s ease-in-out infinite}
@keyframes pg-scan{0%,100%{transform:translateY(0)}50%{transform:translateY(58px)}}
.pg-reading:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange);margin-right:6px;animation:of-pulse 1.8s infinite}
.pg-alert{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;margin:0 0 24px;border:1px solid #e3b7a0;background:#fbefe7}
.pg-alert p{margin:0}
.pg-summary{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}
.pg-summary p{margin:0;padding:10px 16px;border:1px solid var(--line);background:var(--paper);font-size:14px;animation:ex-rise .45s both}
.pg-summary p:nth-child(2){animation-delay:.08s}.pg-summary p:nth-child(3){animation-delay:.16s}.pg-summary p:nth-child(4){animation-delay:.24s}
.pg-summary b{font-family:"Space Grotesk";font-size:20px;margin-right:4px}
.pg-summary .is-doubt{background:#fbefe7;border-color:#e3b7a0}
.pg-notes{padding:18px 22px;margin:0 0 24px;border-left:3px solid var(--green);background:var(--paper)}
.pg-notes h2{font-size:15px;margin:0 0 6px}.pg-notes p{margin:0;color:#4c5a52;font-size:14px;line-height:1.6}
.pg-table td{vertical-align:top}
.pg-table input,.pg-table textarea{width:100%;min-width:90px;font:inherit;font-size:13px;padding:7px 8px;border:1px solid var(--line);background:#fff;border-radius:4px;resize:vertical}
.pg-table textarea{min-width:220px}
.pg-table input:focus,.pg-table textarea:focus{outline:2px solid var(--green);outline-offset:0;border-color:transparent}
.pg-table .pg-code{min-width:110px}.pg-table .pg-ref{min-width:150px}.pg-table .pg-chapter{min-width:150px}.pg-table input[type=checkbox]{width:auto;min-width:0}.pg-table .pg-page{width:56px;min-width:56px}
.pg-table tr.is-doubt td{background:#fdf5ef}
.pg-doubt{display:flex;gap:6px;margin:6px 0 0;font-size:12px;color:#a2502a}.pg-doubt .i{width:13px;height:13px;flex:none;margin-top:2px}
.pg-goto{display:inline-block;margin-top:4px;font-size:12px}
.pg-del{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);white-space:nowrap}
.pg-new td{background:#f7f6ef}
.pg-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 10px}
@media(prefers-reduced-motion:reduce){.pg-wait-scan,.pg-reading:before,.pg-summary p{animation:none}}

/* En-tête en deux barres : barre fine des accès rapides (grands écrans), barre principale fixe */
.topbar{background:var(--ink);color:#cfd8cf;font-size:12.5px;font-weight:600}
.topbar-inner{height:40px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.topbar-links,.topbar-side{display:flex;align-items:center;gap:26px}
.topbar a{display:inline-flex;align-items:center;gap:7px;transition:color .2s}
.topbar a:hover,.topbar a[aria-current=page]{color:var(--lime)}
.topbar .i{width:14px;height:14px;color:var(--lime)}
.topbar-links a:first-child{color:var(--lime)}
.nav-cta--lime{display:inline-flex;align-items:center;gap:8px;background:var(--lime);color:var(--ink)}
.nav-cta--lime .i{width:13px;height:13px;transition:transform .25s}
.nav-cta--lime:hover{background:var(--green);color:#fff}.nav-cta--lime:hover .i{transform:translate(2px,-2px)}
.nav-compact{display:none}

/* Menu Exercices : cycles et classes à gauche, matières de la classe survolée à droite */
.dd--mega{position:static}
.dd-panel.mega{left:clamp(22px,5vw,84px);right:clamp(22px,5vw,84px);top:calc(100% - 6px);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:0;padding:0;overflow:hidden;max-width:1100px;margin:0 auto}
.mega-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:26px 22px 22px}
.mega-col{display:flex;flex-direction:column;gap:2px}
.mega-label{margin:0 0 8px;padding:0 12px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.dd-panel .mega-class{flex-direction:row;align-items:center;justify-content:space-between;padding:9px 12px;font-size:15px;font-weight:600;border-radius:9px}
.mega-class small{font-size:11px;font-weight:700;color:var(--green);background:#e6efd2;padding:2px 8px;border-radius:20px}
.mega-class.is-soon{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;font-size:15px;font-weight:600;color:#9aa49c;cursor:default}
.mega-class.is-soon small{background:none;color:#a9b1aa;font-weight:600;font-style:italic;padding:0}
.dd-panel .mega-class.is-active{background:var(--sage);color:var(--green)}
.dd-panel .mega-all{flex-direction:row;align-items:center;gap:6px;margin-top:auto;font-size:13px;color:var(--green)}
.mega-all .i{width:14px;height:14px;transition:transform .2s}.mega-all:hover .i{transform:translateX(3px)}
.mega-preview{position:relative;background:var(--cream);border-left:1px solid var(--line);padding:26px 24px}
.mega-pane{display:none}
.mega-pane.is-active{display:block;animation:mega-in .25s ease both}
@keyframes mega-in{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
.mega-pane-title{margin:0 0 12px;font-family:"Space Grotesk";font-size:26px;font-weight:600;letter-spacing:-.05em}
.mega-pane-text{margin:0;font-size:14px;line-height:1.6;color:#4c5a52}
.dd-panel .mega-subject{flex-direction:row;align-items:center;gap:10px;padding:12px 4px;border-bottom:1px solid var(--line);border-radius:0;font-size:15px}
.mega-subject small{margin-left:auto;font-size:12px;color:var(--muted);font-weight:500}
.mega-subject .i{width:15px;height:15px;color:var(--green);transition:transform .2s}
.dd-panel .mega-subject:hover{background:none}.mega-subject:hover .i{transform:translateX(4px)}
.mega-soon{margin:14px 0 0;font-size:12.5px;line-height:1.55;color:var(--muted)}

/* Page Exercices : choix de la classe */
.ex-classes{display:flex;flex-wrap:wrap;gap:18px 56px;margin:0 0 44px;padding:24px 26px;border:1px solid var(--line);background:var(--paper)}
.ex-cycle-label{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ex-classes ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ex-classes li{animation:ex-rise .4s calc(var(--i)*.05s) both}
.ex-class{display:flex;flex-direction:column;gap:2px;min-width:104px;padding:10px 16px;border:1px solid var(--ink);border-radius:12px;background:#fff;transition:transform .2s,box-shadow .2s,background .2s}
.ex-class b{font-family:"Space Grotesk";font-size:18px;letter-spacing:-.03em}
.ex-class small{font-size:12px;color:var(--green);font-weight:600}
a.ex-class:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}
.ex-class.is-current{background:var(--lime);box-shadow:4px 4px 0 var(--ink)}
.ex-class.is-soon{border-color:var(--line);background:transparent;color:#9aa49c}.ex-class.is-soon small{color:#a9b1aa;font-style:italic}
.ex-mine{margin:0 0 14px;font-size:14px;color:#4c5a52}.ex-mine b{color:var(--ink)}
.ex-crumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}

@media(min-width:1025px) and (max-width:1180px){.topbar-links{gap:18px}.mega-cols{padding:22px 16px}}
@media(max-width:1024px){
  .topbar{display:none}
  .nav .dd-btn{display:flex;width:100%;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px}
  .nav .dd:not(.open)>.dd-panel{display:none}
  .nav .dd-panel.mega{display:block;margin:0}
  .nav .dd:not(.open)>.dd-panel.mega{display:none}
  .mega-preview{display:none}
  .mega-cols{grid-template-columns:1fr;gap:16px;padding:16px 0 18px}
  .mega-col{flex-direction:row;flex-wrap:wrap;gap:8px}
  .mega-label{width:100%;padding:0;margin:0}
  .nav .dd-panel .mega-class,.nav .mega-class.is-soon{padding:8px 14px;border:1px solid var(--ink);border-radius:30px;font-size:14px;gap:8px}
  .nav .mega-class.is-soon{border-color:var(--line)}
  .nav .dd-panel .mega-all{width:100%;border:0;padding:6px 0 0}
  .nav-compact{display:block}
  .nav-compact>a{display:flex;align-items:center;gap:8px;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px}
  .nav-compact .i{width:14px;height:14px}
  .nav-ctas{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 0 4px;background:var(--cream)}
  .nav-ctas .btn{justify-content:center;text-align:center;padding:14px 12px}
  .top-actions .nav-cta--lime{padding:11px 15px;font-size:12px}
  .ex-classes{padding:18px;gap:16px}
}
@media(max-width:440px){
  .top-actions .nav-cta--lime{display:inline-flex;padding:9px 12px}
  .top-actions .nav-cta--lime .i{display:none}
  .ex-class{min-width:0;padding:8px 13px}.ex-class b{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.mega-pane.is-active,.ex-classes li{animation:none}}

/* Pages matière (cours à domicile) : un onglet par niveau */
.sd-tabs{display:inline-flex;flex-wrap:wrap;gap:6px;padding:6px;margin:0 0 26px;border:1px solid var(--ink);border-radius:100px;background:var(--paper)}
.sd-tabs[hidden]{display:none}
.sd-tabs [role=tab]{border:0;background:none;cursor:pointer;padding:11px 22px;border-radius:100px;font-weight:700;font-size:14px;color:var(--ink);transition:background .25s,color .25s}
.sd-tabs [role=tab]:hover{background:var(--sage)}
.sd-tabs [role=tab][aria-selected=true]{background:var(--ink);color:var(--cream)}
.sd-tabs [role=tab]:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.sd-level-panels{display:grid;gap:26px}
.sd-level-panel{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:26px;align-items:start}
.sd-level-panel.is-entering .sd-level li{animation:ex-rise .4s calc(var(--i)*.06s) both}
.sd-level-panel.is-entering .sd-level-side{animation:ex-rise .45s .1s both}
.sd-level-side{padding:28px;background:var(--ink);color:var(--cream);display:grid;gap:18px}
.sd-level-side-title{margin:0;font-family:"Space Grotesk";font-size:24px;letter-spacing:-.04em;font-weight:600}
.sd-level-side .sd-checks li{font-size:15px}
.sd-level-side .sd-checks li:before{background-color:var(--lime);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23182521' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E")}
.sd-level-side .btn{background:var(--lime);color:var(--ink);justify-content:center}.sd-level-side .btn:hover{background:var(--cream)}
.sd-level-ex{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:#cfd8cf}
.sd-level-ex .i{width:15px;height:15px;color:var(--lime)}.sd-level-ex .link{color:var(--lime)}
@media(max-width:860px){.sd-level-panel{grid-template-columns:1fr}.sd-tabs{display:flex;border-radius:16px}.sd-tabs [role=tab]{flex:1}}
@media(prefers-reduced-motion:reduce){.sd-level-panel.is-entering .sd-level li,.sd-level-panel.is-entering .sd-level-side{animation:none}.sd-tabs [role=tab]{transition:none}}
