:root{--demo-bg:#f5f7fb;--demo-card:#fff;--demo-text:#172033;--demo-muted:#6b7280;--demo-line:#e5e7eb;--demo-green:#17805c;--demo-blue:#1d4ed8;--demo-amber:#b7791f}
*{box-sizing:border-box}.demo-body{background:var(--demo-bg);color:var(--demo-text)}
.demo-ribbon{background:#fff3cd;color:#7a5200;border-bottom:1px solid #efd89b;text-align:center;padding:8px 12px;font-weight:700;font-size:.88rem;letter-spacing:.02em}
.demo-shell{width:min(1180px,calc(100% - 32px));margin:28px auto 48px}.demo-hero-card,.lesson-top{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#ffffff,#eef4ff);border:1px solid #dfe7f5;border-radius:24px;padding:28px;box-shadow:0 12px 30px rgba(24,39,75,.06)}
.demo-hero-card h1,.lesson-top h1{margin:.2rem 0 .35rem;font-size:clamp(1.8rem,4vw,2.6rem)}.demo-hero-card p,.lesson-top p{margin:0;color:var(--demo-muted)}
.demo-avatar{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#1f3a67;color:white;font-weight:800;font-size:1.25rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800;color:#4f6b98}
.demo-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.demo-kpis article{background:var(--demo-card);border:1px solid var(--demo-line);border-radius:18px;padding:18px}.demo-kpis strong{display:block;font-size:1.5rem}.demo-kpis span{color:var(--demo-muted);font-size:.9rem}
.demo-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px}.demo-panel{background:var(--demo-card);border:1px solid var(--demo-line);border-radius:20px;padding:22px;box-shadow:0 8px 24px rgba(24,39,75,.04)}
.demo-section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.demo-section-head h2{margin:.25rem 0}.demo-badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#edf5ff;color:#224f92;font-size:.76rem;font-weight:800;white-space:nowrap}.demo-muted{color:var(--demo-muted);font-size:.85rem}
.progress-track{height:10px;background:#e9edf4;border-radius:999px;overflow:hidden;margin:14px 0 18px}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#2f66d0,#5b8def);border-radius:inherit}
.lesson-list{display:grid;gap:9px;margin-bottom:18px}.lesson-row{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--demo-line);border-radius:14px;text-decoration:none;color:inherit;background:#fff}.lesson-row:hover{border-color:#b9c9e5;transform:translateY(-1px)}.lesson-row small{display:block;color:var(--demo-muted);margin-top:3px}.lesson-index{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#f0f3f8;font-weight:800}.lesson-row.done .lesson-index{background:#e8f7f0;color:var(--demo-green)}.lesson-row.current{border-color:#9db8eb;background:#f6f9ff}.lesson-row.current .lesson-index{background:#e9f0ff;color:var(--demo-blue)}.lesson-row.locked{opacity:.58;pointer-events:none}
.demo-primary,.demo-secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;border-radius:12px;padding:12px 16px}.demo-primary{background:#1f3a67;color:white}.demo-secondary{border:1px solid #c8d4e6;color:#1f3a67;background:#fff}.recommend-card{display:grid;gap:4px;padding:13px 0;border-top:1px solid var(--demo-line)}.recommend-card span{color:var(--demo-muted)}
.demo-bottom{margin-top:18px}.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.activity-grid div{padding:14px;border-radius:14px;background:#f7f9fc}.activity-grid b,.activity-grid span{display:block}.activity-grid span{margin-top:4px;color:var(--demo-muted);font-size:.88rem}
.lesson-progress{width:92px;height:92px;border:9px solid #dce8fb;border-top-color:#2f66d0;border-radius:50%;display:grid;place-items:center;text-align:center}.lesson-progress strong{font-size:1.3rem;line-height:1}.lesson-progress span{font-size:.7rem;color:var(--demo-muted)}.lesson-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,.8fr);gap:18px;margin-top:18px}.lesson-content h2{margin-top:1.5rem}.formula-card,.calculation,.insight{margin:16px 0;padding:16px;border-radius:14px}.formula-card{font-size:1.22rem;text-align:center;background:#eef4ff;border:1px solid #cdddf8}.calculation{background:#f7f9fc}.insight{background:#eef9f4;border-left:4px solid var(--demo-green)}.toc{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--demo-line);text-decoration:none;color:inherit}.toc.active{color:var(--demo-green);font-weight:700}.quiz-panel{margin-top:18px}.quiz-question{font-size:1.08rem;font-weight:700}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quiz-options button{padding:14px;text-align:left;border:1px solid #ccd5e1;background:#fff;border-radius:12px;cursor:pointer;font:inherit}.quiz-options button:hover{border-color:#7795c5;background:#f8fbff}.quiz-options button.selected-correct{background:#e8f7f0;border-color:#64b394}.quiz-options button.selected-wrong{background:#fff0f0;border-color:#db8a8a}.quiz-feedback{margin-top:14px;padding:14px;border-radius:12px;background:#f7f9fc}.quiz-feedback.good{background:#e8f7f0;color:#145a43}.quiz-feedback.bad{background:#fff2f2;color:#8b2f2f}
@media(max-width:860px){.demo-kpis{grid-template-columns:1fr 1fr}.demo-grid,.lesson-layout{grid-template-columns:1fr}.activity-grid{grid-template-columns:1fr}.public-nav{align-items:flex-start}.public-nav>div{gap:8px;flex-wrap:wrap}.lesson-top,.demo-hero-card{align-items:flex-start}.quiz-options{grid-template-columns:1fr}}
@media(max-width:520px){.demo-shell{width:min(100% - 20px,1180px);margin-top:16px}.demo-kpis{grid-template-columns:1fr 1fr}.demo-hero-card,.lesson-top,.demo-panel{padding:16px;border-radius:16px}.demo-avatar{width:54px;height:54px}.demo-section-head{display:block}.demo-badge{margin-top:8px}.lesson-row{grid-template-columns:34px 1fr auto;padding:11px}.lesson-progress{width:72px;height:72px;border-width:7px}}

.demo-nav{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}.compact{padding-bottom:1.5rem}.diagnostic label{display:block;padding:.55rem .7rem;margin:.35rem 0;border:1px solid rgba(15,23,42,.12);border-radius:10px;cursor:pointer}.diag-q{padding:1rem 0;border-bottom:1px solid rgba(15,23,42,.08)}.result-card{margin-top:1rem;border:2px solid rgba(37,99,235,.25)}.auth-demo{max-width:720px;margin:auto}.auth-demo input,.auth-demo select,.public-card input,.public-card textarea{width:100%;box-sizing:border-box;padding:.8rem;margin:.35rem 0 1rem;border:1px solid rgba(15,23,42,.18);border-radius:10px;background:#fff}.auth-demo .cta-primary{display:inline-block;margin-top:.5rem}@media(max-width:850px){.public-nav{align-items:flex-start}.demo-nav{margin-top:.75rem}.demo-nav a{font-size:.92rem}}

/* V5.3C.3 — homepage dynamique */
.home-nav{gap:18px;align-items:center;flex-wrap:wrap}.brand-logo{display:flex;align-items:center}.brand-logo img{width:112px;height:64px;object-fit:contain}.home-nav-links{display:flex;gap:14px;align-items:center;flex:1;justify-content:center;flex-wrap:wrap}.home-nav-links a{font-size:.92rem;white-space:nowrap}.home-auth-links{display:flex;gap:10px;align-items:center}.nav-signup{padding:10px 16px}.home-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);gap:28px;align-items:center;padding:56px max(5vw,28px);background:linear-gradient(120deg,#f7fbff 0%,#edf6ff 55%,#dcecff 100%)}
.home-hero-copy h1{font-size:clamp(2.2rem,4vw,4.2rem);line-height:1.02;margin:.3em 0}.home-hero-copy p{font-size:1.12rem;max-width:780px}.home-hero-logo{background:#fff;border:1px solid #dbe8f5;border-radius:28px;padding:30px;text-align:center;box-shadow:0 20px 45px rgba(1,44,94,.12)}.home-hero-logo img{width:min(100%,280px);height:230px;object-fit:contain}.home-hero-logo p{font-weight:700;color:#0a3a73}.home-main{display:grid;gap:24px}.home-section{background:#fff;border:1px solid #e1eaf3;border-radius:24px;padding:24px;box-shadow:0 12px 30px rgba(16,54,91,.06)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.section-heading h2{margin:.15em 0}.home-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home-video-card{overflow:hidden;border:1px solid #dfe8f2;border-radius:18px;background:#f8fbff}.home-video-card iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#081b35}.home-video-card>div{padding:14px}.home-video-card h3{margin:9px 0 0;font-size:1rem}
.home-dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr .8fr;gap:20px}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.news-card{border:1px solid #e3eaf1;border-radius:16px;padding:16px;background:#fbfdff}.news-card h3{font-size:1rem;margin:10px 0 8px}.news-card p{font-size:.92rem;margin:0}.news-meta{display:flex;justify-content:space-between;gap:8px;align-items:center}.news-meta time{font-size:.78rem;color:#60748a}.resource-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid #e7edf4}.resource-row:last-child{border-bottom:0}.resource-row h3{font-size:.98rem;margin:4px 0 0}.compact-btn{padding:8px 12px;white-space:nowrap}.level-panel{background:linear-gradient(145deg,#f2f8ff,#e5f1ff)}.mini-checks{display:grid;gap:9px;margin:20px 0;color:#174a82}.full-btn{display:block;text-align:center}.social-panel{display:grid;grid-template-columns:.75fr 1.6fr;gap:28px;align-items:center}.social-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.social-item{display:flex;gap:10px;align-items:center;padding:14px;border:1px solid #e1eaf3;border-radius:14px;background:#fbfdff;text-decoration:none;color:inherit}.social-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#eaf4ff;color:#0662bf;font-weight:800;font-size:1.2rem}.social-item strong,.social-item small{display:block}.social-item small{font-size:.75rem;color:#6b7c8f;margin-top:3px}.home-footer{display:grid;gap:16px}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:80px;height:46px;object-fit:contain}.footer-nav{display:flex;gap:14px;flex-wrap:wrap}
@media (max-width:1100px){.home-dashboard-grid{grid-template-columns:1fr 1fr}.level-panel{grid-column:1/-1}.social-panel{grid-template-columns:1fr}.social-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-video-card:last-child{grid-column:1/-1}.home-nav-links{order:3;flex-basis:100%;justify-content:flex-start}}
@media (max-width:720px){.home-nav{padding:10px 16px}.brand-logo img{width:86px;height:50px}.home-auth-links{margin-left:auto}.home-nav-links{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.home-nav-links a{font-size:.84rem}.home-hero{grid-template-columns:1fr;padding:34px 20px}.home-hero-logo{display:none}.home-video-grid,.home-dashboard-grid,.news-grid,.social-grid{grid-template-columns:1fr}.home-video-card:last-child,.level-panel{grid-column:auto}.section-heading{align-items:flex-start;flex-direction:column}.social-panel{grid-template-columns:1fr}.public-main.home-main{padding-left:16px;padding-right:16px}}

/* V5.3C.4 — UI consistency: MESRS typography, readable hero, canonical navigation */
body{font-family:"Inter","Odoo Unicode Support Noto",Arial,sans-serif!important;font-weight:400}
h1,h2,h3,h4,h5,h6,.public-nav a,.cta-primary,.cta-secondary,.eyebrow{font-family:"Inter Tight","Inter","Odoo Unicode Support Noto",Arial,sans-serif}
.global-nav{position:sticky;top:0;z-index:1000;max-width:none!important;width:auto;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 3px 16px rgba(15,23,42,.06);padding:10px max(18px,3vw)!important;display:flex!important;align-items:center!important;flex-direction:row!important;flex-wrap:wrap!important}
.global-nav .brand-logo{flex:0 0 auto}.global-nav .brand-logo img{width:96px;height:54px;object-fit:contain}.global-nav .home-nav-links{display:flex!important;flex:1 1 720px;justify-content:center;align-items:center;gap:7px 13px;flex-wrap:wrap!important;min-width:0}.global-nav .home-nav-links a{display:inline-block;color:#25364d!important;font-size:.86rem;font-weight:650;padding:7px 2px;text-decoration:none;white-space:nowrap}.global-nav .home-nav-links a:hover{color:#0b63b6!important}.global-nav .home-auth-links{display:flex!important;align-items:center;gap:8px;margin-left:auto}.global-nav .nav-login{background:#fff!important;color:#0b4b86!important;border:1px solid #b8cee3;padding:9px 13px;border-radius:10px}.global-nav .nav-signup{padding:10px 14px}
.home-hero{color:#102a43!important;background:linear-gradient(120deg,#f8fbff 0%,#edf6ff 58%,#dcecff 100%)!important}.home-hero-copy{color:#102a43!important}.home-hero-copy h1{color:#092f57!important;text-shadow:none!important;font-weight:800;letter-spacing:-.025em}.home-hero-copy p{color:#334e68!important;font-weight:500}.home-hero-copy .eyebrow{color:#1261a6!important}.home-hero .hero-actions{position:relative;z-index:2}.home-hero-logo p{color:#0b4b86!important}
.public-hero:not(.home-hero) h1,.public-page-head h1{font-family:"Inter Tight","Inter",sans-serif;font-weight:800}
@media(max-width:900px){.global-nav{align-items:center!important}.global-nav .home-nav-links{order:3;flex:1 0 100%;justify-content:flex-start;gap:4px 12px;border-top:1px solid #eef2f6;padding-top:8px}.global-nav .home-auth-links{margin-left:auto}}
@media(max-width:560px){.global-nav .brand-logo img{width:76px;height:44px}.global-nav .home-nav-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px}.global-nav .home-nav-links a{font-size:.8rem;padding:5px 2px;white-space:normal}.global-nav .home-auth-links a{font-size:.8rem;padding:8px 9px}.home-hero-copy h1{font-size:clamp(2rem,11vw,3rem)!important}.home-hero-copy p{font-size:1rem!important}}

/* V5.3C.5 — Mobile Android hero typography fix */
.home-hero-copy h1{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
@media(max-width:560px){
  .home-hero-copy h1{font-size:clamp(2.15rem,9.4vw,2.65rem)!important;line-height:1.04!important;letter-spacing:-.03em!important;max-width:100%}
}
@media(max-width:380px){
  .home-hero-copy h1{font-size:2rem!important;line-height:1.05!important}
}

/* V5.3C.5b — Android narrow-width containment */
@media(max-width:480px){
  .home-hero{width:100%;max-width:100%;overflow:hidden;padding:30px 20px!important}
  .home-hero-copy{min-width:0;width:100%;max-width:100%;overflow:visible}
  .home-hero-copy h1{font-size:30px!important;line-height:1.06!important;max-width:100%;width:100%;white-space:normal!important;overflow:visible!important}
  .home-hero-copy p{max-width:100%;width:100%;overflow-wrap:normal!important;word-break:normal!important}
}
@media(max-width:380px){
  .home-hero-copy h1{font-size:28px!important;line-height:1.07!important}
}

/* V5.3C.6 — video playback behavior */
.video-frame-shell{position:relative;background:#081b35;aspect-ratio:16/9;overflow:hidden}
.video-frame-shell iframe,.yt-player-host{width:100%;height:100%;display:block;border:0}
.video-sound-cta{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:4;border:0;border-radius:999px;padding:11px 18px;background:rgba(7,38,75,.94);color:#fff;font:700 .9rem "Inter",sans-serif;box-shadow:0 7px 22px rgba(0,0,0,.28);cursor:pointer;white-space:nowrap}
.video-sound-cta:hover{background:#0b5cad}.video-sound-cta[hidden]{display:none!important}
.video-visibility-status{position:absolute;right:8px;top:8px;z-index:3;padding:5px 8px;border-radius:999px;background:rgba(4,25,48,.72);color:#fff;font-size:.68rem;pointer-events:none;opacity:.9}
.video-audio-note{display:block;margin-top:6px;color:#61748b;font-size:.78rem}
@media(max-width:560px){.video-sound-cta{bottom:10px;padding:9px 14px;font-size:.82rem}.video-visibility-status{font-size:.63rem}}

/* V5.3C.7 — direct MP4 demo playback */
.home-video-card .local-demo-video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#081b35}
.home-video-card .video-frame-shell{position:relative;background:#081b35}
.video-visibility-status{display:block;padding:6px 10px;font-size:.75rem;color:#5a6b7c;background:#f5f8fb}

/* V5.3C.12 — official social network logos */
.social-link{color:inherit;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.social-link:hover{transform:translateY(-2px);border-color:#b7cee6;box-shadow:0 8px 20px rgba(16,54,91,.09)}.social-link:focus-visible{outline:3px solid rgba(29,78,216,.28);outline-offset:3px}.social-icon{flex:0 0 42px;width:42px;height:42px;padding:8px;background:#fff;border:1px solid #e1eaf3}.social-icon img{display:block;width:100%;height:100%;object-fit:contain}.social-item strong{line-height:1.2}.social-item small{overflow-wrap:anywhere}.contact-social-card{display:flex;align-items:center;gap:16px;color:inherit;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.contact-social-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(16,54,91,.09)}.contact-social-logo{width:46px;height:46px;object-fit:contain;flex:0 0 46px}.contact-social-card h2{margin:0 0 5px}.contact-social-card p{margin:0}@media(max-width:720px){.social-grid{grid-template-columns:1fr}.social-item{min-height:68px}.social-icon{width:44px;height:44px;flex-basis:44px}}

/* V5.3C.12-R2 — desktop social layout fix; Android <=720px unchanged */
@media (min-width:721px){
  .social-panel{grid-template-columns:1fr!important;gap:18px!important}
  .social-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:16px!important}
  .social-item{min-width:0;min-height:86px;padding:16px 18px!important}
  .social-item strong,.social-item small{white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important}
  .social-item small{font-size:.82rem!important}
  .contact-channels{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important}
  .contact-social-card{min-width:0}
  .contact-social-card h2,.contact-social-card p{overflow-wrap:normal!important;word-break:normal!important}
}
@media (min-width:1200px){.social-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}

/* V5.3C.13 — official news */
.news-panel .news-grid{grid-template-columns:1fr}.news-read-more{display:inline-block;margin-top:12px;font-weight:800;text-decoration:none;color:#145fc0}.news-official-badge{background:#e8f7ef;color:#0f6f4e}.official-news-list{display:grid;gap:18px}.official-news-article{scroll-margin-top:24px}.official-news-article h2{margin:12px 0 8px}.official-news-article p{max-width:900px}.official-news-article .news-meta{justify-content:flex-start;gap:14px}

/* V5.3C.13 mobile news containment */
.official-news-list{width:100%;max-width:1100px;margin-left:auto;margin-right:auto}.official-news-article{min-width:0;max-width:100%;width:100%}.official-news-article h2,.official-news-article p{max-width:100%;overflow-wrap:normal!important;word-break:normal!important;hyphens:auto}.public-hero:not(.home-hero)>div{min-width:0;max-width:1100px;width:100%}.public-hero:not(.home-hero) h1{overflow-wrap:normal!important;word-break:normal!important;hyphens:auto}
@media(max-width:560px){.official-news-list{padding:18px!important}.official-news-article{padding:18px!important}.official-news-article h2{font-size:1.45rem;line-height:1.08}.official-news-article p{font-size:.98rem;line-height:1.45}.public-hero:not(.home-hero){padding:38px 20px!important}.public-hero:not(.home-hero) h1{font-size:clamp(1.85rem,9vw,2.45rem)!important;line-height:1.05!important}.public-hero:not(.home-hero) p{font-size:1rem!important;line-height:1.45!important}}

/* V5.3C.41-R1 — Resources hero responsive title fix */
.resources-index-hero>div{max-width:1100px;width:100%;min-width:0}
.resources-index-hero h1{max-width:100%;font-size:clamp(2.65rem,5vw,4rem)!important;line-height:1.04!important;letter-spacing:-.025em;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;text-wrap:balance}
.resources-index-hero p{max-width:820px}
@media(max-width:760px){.resources-index-hero{padding:42px 20px!important;overflow-x:hidden!important}.resources-index-hero>div{width:calc(100vw - 40px)!important;max-width:calc(100vw - 40px)!important;margin-left:auto!important;margin-right:auto!important}.resources-index-hero h1{max-width:100%!important;font-size:clamp(1.9rem,7.8vw,2.35rem)!important;line-height:1.06!important;letter-spacing:-.02em!important;text-wrap:wrap!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}.resources-index-hero p{max-width:100%!important;font-size:1rem!important;line-height:1.5!important}}
@media(max-width:560px){.resources-index-hero h1{width:auto!important;max-width:16ch!important;white-space:normal!important;overflow:visible!important;text-wrap:wrap!important;hyphens:none!important;word-break:normal!important}.resources-index-hero p{width:100%!important;max-width:34ch!important}}
@media(max-width:380px){.resources-index-hero h1{font-size:1.9rem!important;line-height:1.08!important;max-width:15ch!important}}

/* V5.3C.14 — official free resources */
.free-resource-main{display:grid;gap:18px}.resource-sheet{max-width:900px;margin:0 auto;width:100%}.resource-sheet h2{margin-top:12px}.resource-sheet h3{margin-top:24px}.resource-sheet ul,.resource-sheet ol{line-height:1.7}.worked-example,.formula-card{margin:18px 0;padding:18px;border-radius:14px;background:#f4f8fd;border:1px solid #dce8f4}.formula-card p{font-size:1.05rem}.resource-provenance{max-width:900px;margin:0 auto 24px;padding:14px 16px;border-radius:12px;background:#eef6ff;color:#38566f;font-size:.88rem}.method-steps{display:grid;gap:10px}.exercise-block{padding:18px 0;border-top:1px solid #e1e8ef}.exercise-block:first-of-type{border-top:0}.exercise-block details{margin-top:10px;padding:12px 14px;border-radius:12px;background:#f6faf7;border:1px solid #dcece1}.exercise-block summary{cursor:pointer;font-weight:800;color:#0f6f4e}.official-resource-grid .public-card{display:flex;flex-direction:column;align-items:flex-start}.official-resource-grid .cta-secondary{margin-top:auto}@media(max-width:720px){.free-resource-main{padding-left:18px!important;padding-right:18px!important}.resource-sheet,.resource-provenance{max-width:100%}.worked-example,.formula-card{padding:15px}}

/* V5.3C.14-R1 — quiz answer visibility fix */
.quiz-options button{color:#172033!important;background:#fff!important;opacity:1!important;font-weight:700!important}
.quiz-options button:hover{color:#102a43!important;background:#f8fbff!important}
.quiz-options button.selected-correct{color:#145a43!important;background:#e8f7f0!important;border-color:#64b394!important;opacity:1!important}
.quiz-options button.selected-wrong{color:#8b2f2f!important;background:#fff0f0!important;border-color:#db8a8a!important;opacity:1!important}

/* V5.3C.15 — real contact channels */
.real-contact-panel{max-width:900px;margin:0 auto 28px}
.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-submit-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.contact-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:12px;padding:13px 18px;font:800 .95rem "Inter",sans-serif;cursor:pointer}
.contact-action img{width:24px;height:24px}
.contact-whatsapp{background:#e9f9ef!important;color:#0e6b3a!important;border:1px solid #8bd3a9!important}
.contact-email{background:#eaf3ff!important;color:#145a9c!important;border:1px solid #9ec4e8!important}
.contact-privacy-note{margin:16px 0 0;color:#536579;font-size:.9rem;line-height:1.5}
.contact-status{margin-top:14px;padding:12px 14px;border-radius:10px;font-weight:700}
.contact-ready{background:#eef7ff;color:#174f7d;border:1px solid #b9d7ef}
.contact-error{background:#fff2f2;color:#8b2f2f;border:1px solid #efb1b1}
@media(max-width:720px){.contact-form-grid{grid-template-columns:1fr}.contact-action{width:100%}}

/* V5.3C.19 — Tarifs & Tutorat page */
.pricing-main{display:grid;gap:34px}
.pricing-head p{max-width:820px}
.pricing-note{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;background:linear-gradient(135deg,#f5fbff,#eef8f4)}
.pricing-note h2{margin:0 0 6px}.pricing-note p{margin:0}
.pricing-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#daf4e7;color:#0e6c4d;font-size:1.35rem;font-weight:900}
.pricing-section-title{margin-bottom:16px}.pricing-section-title h2{margin:4px 0 6px;font-size:clamp(1.7rem,3vw,2.3rem)}.pricing-section-title p{margin:0;color:#536579;max-width:850px}
.pricing-level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pricing-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid #dbe6f1;border-radius:22px;background:#fff;box-shadow:0 10px 26px rgba(16,54,91,.06)}
.pricing-card.featured{border:2px solid #4c8ed8;box-shadow:0 16px 34px rgba(31,98,169,.12)}
.pricing-pill{position:absolute;right:18px;top:18px;padding:6px 10px;border-radius:999px;background:#e7f2ff;color:#145a9c;font-size:.72rem;font-weight:800}
.pricing-card-head{padding-bottom:16px;border-bottom:1px solid #e5edf4}.pricing-level{display:block;font-weight:800;color:#145a9c}.pricing-card-head strong{display:block;margin-top:10px;font-size:1.7rem;color:#0b2e52}.pricing-card-head small{display:block;color:#6b7c8f;margin-top:3px}
.pricing-card ul{list-style:none;padding:0;margin:18px 0;display:grid;gap:10px}.pricing-card li{padding:9px 0;border-bottom:1px solid #eef2f6}.pricing-card li:last-child{border-bottom:0}.pricing-cta{margin-top:auto;text-align:center}
.access-logic{background:linear-gradient(145deg,#f8fbff,#f3f7fb)}
.access-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.access-steps article{padding:18px;border-radius:16px;background:#fff;border:1px solid #dfe8f2}.access-steps span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#eaf3ff;color:#145a9c;font-weight:900}.access-steps h3{margin:12px 0 6px}.access-steps p{margin:0;color:#536579;line-height:1.5}
.group-pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.group-card{padding:22px;border-radius:20px;background:#fff;border:1px solid #dfe8f2;box-shadow:0 8px 22px rgba(16,54,91,.05)}
.group-card.group-best{background:linear-gradient(145deg,#effaf5,#e5f6ee);border-color:#94d1b5}
.group-count{display:inline-flex;padding:6px 9px;border-radius:999px;background:#edf4fb;color:#3a5f82;font-size:.75rem;font-weight:800}.group-card h3{min-height:58px;margin:12px 0 14px;font-size:1.05rem}.group-card strong{display:block;font-size:1.55rem;color:#0d4d78}.group-card small{display:block;margin-top:4px;color:#6b7c8f}
.tutoring-rules{margin-top:18px}.tutoring-rules h3{margin-top:0}.tutoring-rules p{margin:.5rem 0;line-height:1.55}
.pricing-final-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px;border-radius:22px;background:linear-gradient(120deg,#0f3f6f,#1769aa);color:#fff}.pricing-final-cta h2{margin:4px 0 6px;color:#fff}.pricing-final-cta p{margin:0;max-width:720px;color:#e6eef7}.pricing-final-cta .eyebrow{color:#c9e1fa}.pricing-actions{display:flex;gap:10px;flex-wrap:wrap}.pricing-final-cta .cta-primary{background:#fff!important;color:#0d4d78!important}.pricing-final-cta .cta-secondary{border-color:#b8d8f5!important;color:#fff!important;background:transparent!important}.whatsapp-link:hover{background:rgba(255,255,255,.1)!important}
@media(max-width:980px){.pricing-level-grid{grid-template-columns:1fr 1fr}.pricing-card:last-child{grid-column:1/-1}.group-pricing-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.pricing-main{gap:24px}.pricing-level-grid,.access-steps,.group-pricing-grid{grid-template-columns:1fr}.pricing-card:last-child{grid-column:auto}.pricing-card,.group-card{padding:18px}.group-card h3{min-height:0}.pricing-final-cta{align-items:flex-start;flex-direction:column}.pricing-actions{width:100%}.pricing-actions a{flex:1;text-align:center}.pricing-note{grid-template-columns:1fr}.pricing-icon{width:40px;height:40px}.pricing-card-head strong{font-size:1.5rem}}
@media(max-width:420px){.pricing-actions{display:grid;grid-template-columns:1fr}.pricing-actions a{width:100%}.pricing-card ul{margin-bottom:14px}}

/* V5.3C.20 — formula selection and subscription request */
.offer-choice-list{display:grid;gap:10px;margin-top:18px}.offer-choice-list a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #d9e5f0;border-radius:12px;background:#fff;color:#173a5e;text-decoration:none}.offer-choice-list a:hover{border-color:#8cb5dc;background:#f6fbff}.offer-choice-list span,.offer-choice-list b,.offer-choice-list small{display:block}.offer-choice-list small{margin-top:3px;color:#65798d}.offer-choice-list em{font-style:normal;font-weight:800;color:#0b63b6}.pricing-availability-note{margin-top:16px;color:#61748b;font-size:.9rem}.group-select-btn{display:inline-flex;margin-top:16px;padding:10px 13px;border-radius:10px;background:#fff;border:1px solid #9fc0df;color:#0b568f;text-decoration:none;font-weight:800}.group-select-btn:hover{background:#eef7ff}.whatsapp-cta-visible{display:inline-flex!important;align-items:center;justify-content:center;gap:9px!important;padding:12px 18px!important;border-radius:12px!important;border:2px solid #24a75a!important;background:#fff!important;color:#0a6b36!important;text-decoration:none!important;font-weight:800!important;cursor:pointer}.whatsapp-cta-visible img{width:24px;height:24px}.whatsapp-cta-visible:hover{background:#eaf9f0!important}.subscription-main{display:grid;gap:20px}.subscription-form{max-width:980px;margin:0 auto;width:100%}.subscription-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.subscription-form label{display:block;font-weight:700;color:#24384d}.subscription-form input,.subscription-form select,.subscription-form textarea{width:100%;margin-top:7px;padding:12px 13px;border:1px solid #cbd9e6;border-radius:10px;background:#fff;color:#172033;font:inherit}.subscription-form textarea{resize:vertical}.subscription-dynamic{margin:18px 0}.wide-field{grid-column:1/-1}.ecue-name-grid{margin-top:14px}.subscription-callout{padding:16px;border-radius:12px;background:#f3f8fd;border:1px solid #d8e6f2}.subscription-callout p{margin:6px 0 0}.subscription-summary{margin:22px 0 0;padding:20px;border-radius:16px;background:#f4f9ff;border:1px solid #cfe0f0}.subscription-summary p{margin:7px 0}.subscription-total{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px!important;padding-top:14px;border-top:1px solid #d5e3ef}.subscription-total strong{font-size:1.35rem;color:#0c4f87}.subscription-warning{padding:11px 13px;border-radius:10px;background:#fff7df;color:#805a00}.subscription-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.subscription-actions button,.subscription-actions a{min-height:48px}.account-value-note{max-width:980px;margin:0 auto}.subscription-intro{max-width:980px;margin:0 auto;width:100%}
@media(max-width:720px){.subscription-grid{grid-template-columns:1fr}.wide-field{grid-column:auto}.subscription-form,.subscription-intro,.account-value-note{max-width:100%}.subscription-actions{display:grid;grid-template-columns:1fr}.subscription-actions button,.subscription-actions a{width:100%}.subscription-total{align-items:flex-start;flex-direction:column}.offer-choice-list a{align-items:flex-start}.pricing-actions .whatsapp-cta-visible{width:auto!important}}

/* V5.3C.20-R1 — tutorat rules */
.subscription-form input:disabled,.subscription-form select:disabled{background:#eef2f6!important;color:#66788a!important;border-color:#cbd5df!important;cursor:not-allowed;opacity:1}
.subscription-total[hidden]{display:none!important}

/* V5.3C.23 — commercial journey / subscription V2 */
.subscription-faq{max-width:980px;margin:0 auto;width:100%}.subscription-faq h2{margin:6px 0 14px}.subscription-faq details{border-top:1px solid #e2eaf2;padding:13px 0}.subscription-faq details:first-of-type{border-top:0}.subscription-faq summary{cursor:pointer;font-weight:800;color:#173a5e}.subscription-faq details p{margin:8px 0 0;color:#536579;line-height:1.55}
.confirmation-card,.activation-rules,.confirmation-empty{max-width:980px;margin:0 auto;width:100%}.confirmation-reference{padding:18px;border-radius:14px;background:#eef6ff;border:1px solid #cddff0}.confirmation-reference strong{display:block;margin:5px 0;font-size:1.15rem;color:#0b4b86}.confirmation-reference small{display:block;color:#5e7185}.confirmation-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:22px;margin-top:20px}.confirmation-grid h2{margin:0 0 10px}.confirmation-grid p{margin:6px 0;line-height:1.5}.confirmation-notes{margin-top:18px;padding:14px;border-radius:12px;background:#f8fafc;border:1px solid #e1e8ef}.confirmation-notes p{margin:6px 0 0}.confirmation-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.confirmation-actions button,.confirmation-actions a{min-height:48px}.activation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:15px}.activation-grid article{padding:16px;border:1px solid #e0e8f0;border-radius:14px;background:#fbfdff}.activation-grid strong{color:#0c4f87}.activation-grid p{margin:7px 0 0;color:#536579;line-height:1.5;font-size:.92rem}
@media(max-width:760px){.confirmation-grid,.activation-grid{grid-template-columns:1fr}.confirmation-actions{display:grid;grid-template-columns:1fr}.confirmation-actions button,.confirmation-actions a{width:100%}}
@media print{.global-nav,.public-footer,.confirmation-actions,.activation-rules,.subscription-faq{display:none!important}.public-page-head{padding:18px 0!important;background:#fff!important;color:#111!important}.public-main{padding:0!important}.confirmation-card{border:0!important;box-shadow:none!important}.confirmation-reference{background:#fff!important}.confirmation-card[hidden]{display:none!important}body{background:#fff!important}}

/* V5.3C.24 — Free account / gating UX prototype */
.account-gating-main,.account-demo-main{display:grid;gap:20px}.gating-columns,.account-dashboard-grid,.access-state-grid,.progress-preview-grid,.gated-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gating-columns article,.gated-preview-grid article{padding:18px;border:1px solid #dfe8f2;border-radius:16px;background:#fff}.gating-state{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.76rem;font-weight:800}.gating-state.public{background:#edf2f7;color:#41556b}.gating-state.free{background:#e8f4ff;color:#145a9c}.gating-state.paid{background:#e9f8ef;color:#0e6c4d}.gating-state.pending{background:#fff5d8;color:#7f5a00}.gating-state.locked{background:#eef2f6;color:#52677d}.account-demo-actions,.status-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.account-demo-nav{display:flex;gap:10px;flex-wrap:wrap;padding:12px;border:1px solid #dce6f0;border-radius:14px;background:#fff}.account-demo-nav a{padding:9px 12px;border-radius:9px;text-decoration:none;font-weight:700;color:#174f7d;background:#f4f8fc}.account-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.account-kpis article{padding:16px;border-radius:14px;background:#f8fbff;border:1px solid #dfe8f2}.account-kpis span,.account-kpis strong{display:block}.account-kpis strong{margin-top:5px;font-size:1.1rem}.request-demo-row{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.request-state-list{display:grid;gap:8px}.request-state-list span,.status-chip-row span{padding:9px 11px;border-radius:9px;background:#f4f7fa;border:1px solid #dfe6ee}.access-demo-empty,.progress-demo-empty{text-align:center}.access-demo-empty .cta-primary{display:inline-block;margin-top:10px}.progress-preview-grid strong{display:block;font-size:1.8rem;margin:8px 0}.gated-preview{margin-top:22px}.gated-preview .cta-secondary{display:inline-block;margin-top:14px}
@media(max-width:800px){.gating-columns,.account-dashboard-grid,.access-state-grid,.progress-preview-grid,.gated-preview-grid,.account-kpis,.request-demo-row{grid-template-columns:1fr}.account-demo-nav{display:grid;grid-template-columns:1fr 1fr}.account-demo-actions{display:grid;grid-template-columns:1fr}.account-demo-actions a{text-align:center}}
@media(max-width:440px){.account-demo-nav{grid-template-columns:1fr}.status-chip-row{display:grid;grid-template-columns:1fr 1fr}}

/* V5.3C.25 — public content V4 */
.error-list{display:grid;gap:14px;padding-left:22px}.error-list li{padding:14px;border-radius:12px;background:#f8fbff;border:1px solid #e0eaf3}.error-list p{margin:6px 0 0}.memo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.memo-grid section{padding:16px;border:1px solid #e0e8f0;border-radius:14px;background:#fbfdff}.memo-grid h3{margin-top:0}@media(max-width:720px){.memo-grid{grid-template-columns:1fr}}

/* V5.3C.26 — FAQ commerciale & aide */
.faq-main{display:grid;gap:18px}.faq-jump{display:flex;gap:10px;flex-wrap:wrap;position:sticky;top:82px;z-index:20}.faq-jump a{padding:9px 12px;border:1px solid #cbdced;border-radius:999px;background:#fff;text-decoration:none;color:#164f82;font-weight:800}.faq-section{scroll-margin-top:150px}.faq-section>h2{margin:.25rem 0 14px}.faq-section details,.subscription-faq details{border-top:1px solid #e2e9f0;padding:13px 0}.faq-section details:first-of-type{border-top:0}.faq-section summary,.subscription-faq summary{cursor:pointer;font-weight:800;color:#173a5e}.faq-section details p,.subscription-faq details p{margin:9px 0 2px;line-height:1.55;color:#465b70}.faq-help-cta{text-align:center}.faq-help-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:16px}.help-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.help-choice-grid article{display:flex;flex-direction:column}.help-choice-grid article a{margin-top:auto;align-self:flex-start}.help-step{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#eaf3ff;color:#0b5ca2;font-weight:900}.help-note{margin-top:20px}.subscription-help-link{margin-top:14px}.subscription-help-link a{font-weight:800;color:#145a9c}@media(max-width:900px){.help-choice-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.faq-jump{position:static}.faq-help-actions{display:grid;grid-template-columns:1fr}.faq-help-actions a{width:100%}.help-choice-grid{grid-template-columns:1fr}}

/* V5.3C.28 — diagnostic par niveau / semestre / ECUE */
.diagnostic-main{display:grid;gap:22px}.diagnostic-selector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.diagnostic-selector-grid label{display:grid;gap:8px;font-weight:700}.diagnostic-selector-grid select{width:100%;padding:13px 14px;border:1px solid #cbd7e3;border-radius:10px;background:#fff;font:inherit}.diagnostic-test-status{margin-top:18px;padding:16px;border-radius:14px;background:#f7fbff;border:1px solid #d8e7f4}.diagnostic-test-status h3{margin:8px 0 4px}.diag-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:.82rem;font-weight:800}.diag-status.ready{background:#e8f6ee;color:#166534}.diag-status.pending{background:#fff5da;color:#8a5a00}.diagnostic-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.diagnostic-policy p:last-child{margin-bottom:0}
@media(max-width:760px){.diagnostic-selector-grid{grid-template-columns:1fr}.diagnostic-actions .cta-primary,.diagnostic-actions .cta-secondary{width:100%;text-align:center}}

/* V5.3C.29 — progression gating / account conversion */
.progression-next{margin-top:18px;background:linear-gradient(135deg,#f5fbff,#eef8f4);border-color:#cfe3d8}.progression-next h2{margin:6px 0}.progression-next-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 10px}.signup-journey-main{display:grid;gap:18px}.journey-context-card,.auth-demo{max-width:820px;margin:0 auto;width:100%}.journey-context-card h2{margin:10px 0 5px}.student-path-card{display:grid;gap:18px}.journey-step-list{display:grid;gap:10px}.journey-step-list article{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;padding:14px;border:1px solid #dfe8f2;border-radius:14px;background:#fff}.journey-step-list article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;font-weight:900}.journey-step-list .done>span{background:#e8f7f0;color:#14704f}.journey-step-list .locked{background:#f8fafc;color:#66788a}.journey-step-list .locked>span{background:#eef2f6}.journey-step-list strong,.journey-step-list small{display:block}.journey-step-list small{margin-top:4px;color:#6b7c8f}.dashboard-conversion{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px;border-radius:18px;background:linear-gradient(120deg,#eef6ff,#f4fbf7);border:1px solid #cfe0ef}.dashboard-conversion h2{margin:8px 0 5px}.dashboard-conversion p{margin:0;max-width:720px}.pricing-context-banner{background:linear-gradient(135deg,#eef6ff,#f4fbf7);border:2px solid #9dc5e8}.pricing-context-banner h2{margin:6px 0}.pricing-card.context-match{outline:4px solid rgba(43,120,196,.22);border-color:#2b78c4!important;box-shadow:0 18px 38px rgba(31,98,169,.18)}
@media(max-width:760px){.progression-next-actions{display:grid;grid-template-columns:1fr}.progression-next-actions a{width:100%;text-align:center}.dashboard-conversion{align-items:flex-start;flex-direction:column}.dashboard-conversion .cta-primary{width:100%;text-align:center}}

/* V5.3C.30 — multi-ECUE diagnostic, resource tiers, smart selectors */
.diagnostic-result-actions,.resource-filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.diagnostic-history-list{display:grid;gap:10px;margin:16px 0}.diagnostic-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid #dfe8f2;border-radius:13px;background:#fbfdff}.diagnostic-history-item div span{display:block;margin-top:3px;color:#6b7c8f;font-size:.84rem}.diagnostic-history-item b{font-size:1.1rem;color:#0c4f87}.diagnostic-history-item small{color:#536579}.pending-resource-box{border-left:4px solid #d59a22!important}.resource-filter-bar button{border:1px solid #cbdced;background:#fff;color:#164f82;border-radius:999px;padding:9px 13px;font:800 .86rem "Inter",sans-serif;cursor:pointer}.resource-filter-bar button.active{background:#0b5ca2;color:#fff;border-color:#0b5ca2}.resource-access-badge{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:.74rem;font-weight:800}.resource-access-badge.public{background:#e9f8ef;color:#0e6c4d}.resource-access-badge.account{background:#e8f4ff;color:#145a9c}.resource-access-badge.formula{background:#fff3d6;color:#805a00}.resource-tier-grid article[hidden]{display:none!important}.field-help{display:block;margin-top:5px;color:#6b7c8f;font-size:.78rem;line-height:1.35}.subscription-grid input[hidden]{display:none!important}.resource-access-intro h2{margin:5px 0 10px}
@media(max-width:720px){.diagnostic-result-actions,.resource-filter-bar{display:grid;grid-template-columns:1fr}.diagnostic-result-actions a,.diagnostic-result-actions button,.resource-filter-bar button{width:100%;text-align:center}.diagnostic-history-item{grid-template-columns:1fr auto}.diagnostic-history-item small{grid-column:1/-1}.pending-resource-box .cta-primary{width:100%;text-align:center}}

/* V5.3C.33 — academic navigation, global demo, dashboard V2 */
.academic-main,.dashboard-v2-main,.demo-global-main,.demo-experience-landing{display:grid;gap:22px}.academic-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.academic-filter-grid label{display:grid;gap:7px;font-weight:800}.academic-filter-grid select{width:100%;padding:12px 13px;border:1px solid #cbd9e6;border-radius:10px;background:#fff;font:inherit}.academic-note{margin:16px 0 0;padding:13px 14px;border-radius:12px;background:#f4f8fc;color:#425b74}.academic-results{grid-template-columns:repeat(2,minmax(0,1fr))}.academic-card{display:flex;flex-direction:column}.academic-card h2{margin:.45rem 0}.academic-status-row,.academic-actions{display:flex;gap:9px;flex-wrap:wrap}.academic-status-row{margin:16px 0}.academic-actions{margin-top:auto}.academic-actions a{flex:1;min-width:150px;text-align:center}.academic-empty{grid-column:1/-1}
.demo-feature-grid,.demo-global-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.demo-feature-grid article{padding:16px;border:1px solid #dfe8f2;border-radius:14px;background:#fbfdff}.demo-feature-grid strong,.demo-feature-grid span{display:block}.demo-feature-grid span{margin-top:7px;color:#536579}.demo-global-steps article{display:flex;flex-direction:column}.demo-global-steps article a{margin-top:auto}.demo-global-status{max-width:980px;margin:auto;width:100%}
.dashboard-resume{display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(135deg,#f6fbff,#edf6ff)}.dashboard-resume h2{margin:.35rem 0}.dashboard-v2-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dashboard-list{display:grid;gap:10px;margin:14px 0}.dashboard-list-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px;border:1px solid #e1e9f1;border-radius:13px;background:#fbfdff}.dashboard-list-row strong,.dashboard-list-row span{display:block}.dashboard-list-row>div:first-child span{margin-top:4px;color:#64778b;font-size:.85rem}.dashboard-state-stack{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.dashboard-resource-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.dashboard-resource-stats article{padding:14px;border-radius:13px;background:#f7f9fc;border:1px solid #e1e8ef}.dashboard-resource-stats strong,.dashboard-resource-stats span{display:block}.dashboard-resource-stats strong{font-size:1.5rem}.dashboard-resource-stats span{margin-top:4px;color:#60748a;font-size:.85rem}.dashboard-inline-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:900px){.academic-results,.dashboard-v2-grid,.demo-global-steps{grid-template-columns:1fr}.demo-feature-grid{grid-template-columns:1fr 1fr}.dashboard-resume{align-items:flex-start;flex-direction:column}.dashboard-resume a{width:100%;text-align:center}}
@media(max-width:720px){.academic-filter-grid,.demo-feature-grid,.dashboard-resource-stats{grid-template-columns:1fr}.academic-actions{display:grid;grid-template-columns:1fr}.academic-actions a{width:100%}.dashboard-list-row{flex-direction:column}.dashboard-state-stack{justify-content:flex-start}.dashboard-inline-actions{display:grid;grid-template-columns:1fr}.dashboard-inline-actions a{width:100%;text-align:center}}

/* V5.3C.41-R2 — force fresh responsive resources hero */
.resources-index-hero h1{font-size:clamp(2.35rem,4.4vw,3.55rem)!important;line-height:1.04!important;max-width:22ch!important;hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important;white-space:normal!important;text-wrap:balance!important}
@media(max-width:760px){.resources-index-hero h1{font-size:30px!important;line-height:1.08!important;max-width:100%!important;width:100%!important;letter-spacing:-.015em!important;text-wrap:wrap!important}.resources-index-hero>div{width:100%!important;max-width:100%!important}.resources-index-hero p{max-width:100%!important}}
@media(max-width:380px){.resources-index-hero h1{font-size:28px!important}}

/* V5.3C.41-R3 — final specificity fix for resources hero */
.public-hero.resources-index-hero:not(.home-hero) h1{font-size:clamp(2.35rem,4.4vw,3.55rem)!important;line-height:1.04!important;max-width:22ch!important;hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important;white-space:normal!important;text-wrap:balance!important}
@media(max-width:760px){.public-hero.resources-index-hero:not(.home-hero) h1{font-size:30px!important;line-height:1.08!important;max-width:100%!important;width:100%!important;letter-spacing:-.015em!important;text-wrap:wrap!important}.public-hero.resources-index-hero:not(.home-hero)>div{width:100%!important;max-width:100%!important}.public-hero.resources-index-hero:not(.home-hero) p{max-width:100%!important}}
@media(max-width:380px){.public-hero.resources-index-hero:not(.home-hero) h1{font-size:28px!important}}

/* V5.3C.41-R4 — scalable resource search & filtering */
.resource-library-controls{display:grid;gap:16px}
.resource-library-controls h2{margin:4px 0 0}
.resource-search-label{font-weight:800;color:#24384d}
.resource-search-box{display:flex;align-items:center;gap:10px;border:1px solid #bfd0e1;border-radius:14px;background:#fff;padding:0 14px;box-shadow:0 5px 16px rgba(16,54,91,.04)}
.resource-search-box span{font-size:1.55rem;color:#55708b;line-height:1}
.resource-search-box input{width:100%;border:0!important;outline:0!important;margin:0!important;padding:14px 0!important;font:inherit;background:transparent!important;color:#172033}
.resource-search-box input::placeholder{color:#7a8da0}
.resource-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.resource-filter-grid label{display:grid;gap:7px;font-weight:800;color:#334e68;font-size:.88rem}
.resource-filter-grid select{width:100%;padding:11px 12px;border:1px solid #cbd9e6;border-radius:10px;background:#fff;color:#172033;font:inherit}
.resource-library-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.resource-library-actions .resource-filter-bar{margin-top:0}
.resource-reset-btn{border:1px solid #b9cce0;background:#fff;color:#145a9c;border-radius:999px;padding:9px 14px;font:800 .86rem "Inter",sans-serif;cursor:pointer}
.resource-reset-btn:hover{background:#eef7ff}
.resource-results-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;border-top:1px solid #e2e9f0;color:#60748a;font-size:.88rem;flex-wrap:wrap}
.resource-results-summary strong{font-size:1rem;color:#173a5e}
.resource-library-card{min-width:0}
.resource-card-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.resource-type-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.74rem;font-weight:800}
.resource-library-card h2{margin:12px 0 8px}
.resource-library-card p{margin:0 0 14px;color:#536579;line-height:1.5}
.resource-taxonomy{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 16px}
.resource-taxonomy span{display:inline-flex;padding:5px 8px;border-radius:8px;background:#f6f9fc;border:1px solid #e0e8f0;color:#52677d;font-size:.72rem;font-weight:700}
.resource-empty-state{text-align:center}
.resource-library-error{grid-column:1/-1;text-align:center}
@media(max-width:720px){
 .resource-library-controls{padding:18px!important}
 .resource-filter-grid{grid-template-columns:1fr}
 .resource-library-actions{display:grid;grid-template-columns:1fr}
 .resource-library-actions .resource-filter-bar{display:grid;grid-template-columns:1fr 1fr;width:100%}
 .resource-reset-btn{width:100%}
 .resource-results-summary{align-items:flex-start;flex-direction:column}
}
@media(max-width:420px){.resource-library-actions .resource-filter-bar{grid-template-columns:1fr}}

.resource-load-more-wrap{display:flex;justify-content:center;margin-top:-4px}
.resource-load-more{min-width:220px;justify-content:center;cursor:pointer}
.resource-load-more[hidden]{display:none!important}

/* V5.3C.41-R8 - Home hero diagnostic CTA visibility */
.home-hero .hero-actions .hero-diagnostic-cta{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 22px!important;border:2px solid #073b6f!important;border-radius:12px!important;background:linear-gradient(135deg,#0b63b6,#083b70)!important;color:#fff!important;box-shadow:0 10px 24px rgba(8,59,112,.28)!important;font-weight:800!important;text-decoration:none!important}
.home-hero .hero-actions .hero-diagnostic-cta:hover{background:linear-gradient(135deg,#084e91,#062f5b)!important;box-shadow:0 12px 28px rgba(8,59,112,.34)!important;transform:translateY(-1px)}
.home-hero .hero-actions .hero-secondary-cta{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 22px!important;border:2px solid #8fb6da!important;border-radius:12px!important;background:rgba(255,255,255,.92)!important;color:#0a4b86!important;box-shadow:0 6px 18px rgba(15,61,104,.10)!important;font-weight:800!important}
.home-hero .hero-actions .hero-diagnostic-cta:focus-visible,.home-hero .hero-actions .hero-secondary-cta:focus-visible{outline:3px solid #f4b400!important;outline-offset:3px}
@media(max-width:760px){.home-hero .hero-actions .hero-diagnostic-cta,.home-hero .hero-actions .hero-secondary-cta{width:100%;min-height:52px;text-align:center}}

/* V5.3C.41-R9 - Header navigation contrast and visible tab zones */
.global-nav .home-nav-links a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 11px!important;border:1px solid #d4e2ef;border-radius:10px;background:#f8fbff;color:#173a5e!important;text-decoration:none!important;font-weight:750;box-shadow:0 1px 2px rgba(19,58,94,.04);transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.global-nav .home-nav-links a:hover{background:#eaf4ff;border-color:#84afd5;color:#0b568f!important;box-shadow:0 4px 12px rgba(13,77,120,.10);transform:translateY(-1px)}
.global-nav .home-nav-links a:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px;border-color:#2563eb}
.global-nav .home-nav-links a[aria-current="page"]{background:#0b5fa8!important;border-color:#084d88!important;color:#fff!important;box-shadow:0 5px 14px rgba(11,95,168,.22)}
.global-nav .home-nav-links a[href="tester-mon-niveau.html"]:not([aria-current="page"]){background:#edf6ff;border-color:#9fc3e3;color:#0a568f!important;font-weight:800}
@media(max-width:560px){.global-nav .home-nav-links{gap:7px 8px!important}.global-nav .home-nav-links a{min-height:40px;padding:8px 9px!important;border-radius:9px;font-size:.82rem!important;line-height:1.15;text-align:center;width:100%;box-sizing:border-box}.global-nav .home-nav-links a:hover{transform:none}}
