/* Parcours IA EXYVIA. Charte : navy #06142b, orange #ff5a2e, cyan #22b8e6 pour les repères. */
@font-face{font-family:"Sora";src:url(fonts/sora.woff2) format("woff2");font-weight:100 800;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--navy:#06142b;--navy2:#0b2245;--orange:#ff5a2e;--orange-t:#c43f12;--cyan:#22b8e6;--cyan-s:rgba(34,184,230,.14);--ink:#0f172a;--muted:#4f5d75;--line:rgba(6,20,43,.14);--mist:#f4f6fa;--ok:#157347;--ok-s:#e6f4ec;--ko:#b3261e;--ko-s:#fdecea}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font:400 1rem/1.6 "Inter",Arial,sans-serif}
a{color:var(--navy)}
h1,h2,h3{font-family:"Sora","Inter",Arial,sans-serif;color:var(--navy);letter-spacing:-.03em;hyphens:none}
h1{font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.02;margin:.4rem 0 1rem;font-weight:600}
h1 em{font-style:normal;color:var(--orange)}
.px-skip{position:fixed;left:1rem;top:-6rem;z-index:100;background:#fff;padding:.8rem 1rem}
.px-skip:focus{top:1rem}
.px-top{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem clamp(1rem,5vw,4rem);background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.px-brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.px-brand img{width:118px;height:auto;display:block}
.px-brand span{font:700 .78rem/1 "Inter",Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-t);padding-left:.8rem;border-left:1px solid var(--line)}
.px-nav{display:flex;align-items:center;gap:1.1rem;font-size:.86rem;font-weight:700}
.px-nav a{text-decoration:none}
.px-nav form{margin:0}
.px-who{color:var(--muted);font-weight:600;max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.px-link{background:none;border:0;padding:0;font:inherit;color:var(--muted);text-decoration:underline;cursor:pointer}
main{min-height:70vh}
.px-kick{margin:0;font:800 .7rem/1.4 "Inter",Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.px-kick a{color:inherit}
.px-kick--l{color:rgba(255,255,255,.72)}
.px-kick--l span{color:var(--orange)}
.px-lead{font-size:1.12rem;color:var(--muted);max-width:62ch;margin:0 0 1.4rem}
.px-lead--l{color:rgba(255,255,255,.84)}
.px-small{font-size:.86rem;color:var(--muted)}
.px-narrow{max-width:560px;margin:0 auto;padding:clamp(2.5rem,7vw,5rem) 1.25rem}
.px-wide{max-width:980px;margin:0 auto;padding:clamp(2rem,5vw,3.5rem) 1.25rem}
.px-center{text-align:center}
.px-center .px-lead{margin-inline:auto}
.px-h2{font-size:1.6rem;margin:0 0 1.2rem}

/* Accueil */
.px-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,5vw,4rem);align-items:center;padding:clamp(2.5rem,6vw,5rem) clamp(1.25rem,6vw,5rem);background:radial-gradient(120% 90% at 85% 0%,#12305c 0%,var(--navy) 60%);color:#fff}
.px-hero h1{color:#fff;font-size:clamp(2.3rem,5.4vw,4.4rem)}
.px-points{list-style:none;display:flex;flex-wrap:wrap;gap:.8rem 2rem;margin:0;padding:0;font-size:.9rem;color:rgba(255,255,255,.8)}
.px-points b{font:700 1.3rem/1 "Sora","Inter",Arial,sans-serif;color:var(--cyan);margin-right:.4rem}
.px-card{background:#fff;color:var(--ink);border-radius:20px;padding:1.6rem;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.px-card h2{margin:0 0 .3rem;font-size:1.4rem}

/* Formulaires */
.px-form{display:grid;gap:.9rem}
.px-form label{display:grid;gap:.35rem;font-size:.86rem;font-weight:700;color:var(--navy)}
.px-form input:not([type=checkbox]):not([type=radio]){width:100%;padding:.8rem .9rem;border:1px solid rgba(6,20,43,.3);border-radius:10px;font:1rem "Inter",Arial,sans-serif;color:var(--ink);background:#fff}
.px-form input:focus-visible,.px-btn:focus-visible,.px-choix input:focus-visible{outline:3px solid rgba(255,90,46,.35);outline-offset:2px}
.px-check{grid-template-columns:20px 1fr!important;align-items:start;font-weight:400!important;color:var(--muted)!important;font-size:.84rem!important}
.px-check input{margin-top:.25rem}
.px-hp{position:absolute!important;left:-9999px}
.px-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.4rem;border-radius:999px;border:1px solid transparent;font:800 .92rem/1 "Inter",Arial,sans-serif;text-decoration:none;cursor:pointer}
.px-btn--o{background:var(--orange);color:var(--navy)}
.px-btn--g{background:#fff;color:var(--navy);border-color:rgba(6,20,43,.3)}
.px-alert{margin:0;padding:.8rem 1rem;border-radius:10px;background:var(--ko-s);color:var(--ko);font-weight:700;font-size:.9rem}

/* Tableau */
.px-bar{height:10px;border-radius:999px;background:var(--mist);overflow:hidden;max-width:520px}
.px-bar__f{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--orange));border-radius:999px;width:0}
.px-w1{width:10%}.px-w2{width:20%}.px-w3{width:30%}.px-w4{width:40%}.px-w5{width:50%}.px-w6{width:60%}.px-w7{width:70%}.px-w8{width:80%}.px-w9{width:90%}.px-w10{width:100%}
.px-lecons,.px-niveaux{list-style:none;margin:1.4rem 0;padding:0;display:grid;gap:.7rem}
.px-lecons li,.px-niveaux li{display:grid;grid-template-columns:46px 1fr auto;gap:1rem;align-items:center;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:16px;background:#fff}
.px-lecons li>b,.px-niveaux li>b{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--line);font:700 1.1rem/1 "Sora","Inter",Arial,sans-serif;color:var(--navy)}
.px-lecons li.is-ok>b{background:var(--ok);border-color:var(--ok);color:#fff}
.px-lecons li.is-next{border-color:var(--orange);box-shadow:0 10px 30px rgba(255,90,46,.12)}
.px-lecons li.is-next>b{border-color:var(--orange);color:var(--orange-t)}
.px-lecons h2,.px-niveaux h3{font-size:1.12rem;margin:0;letter-spacing:-.01em}
.px-lecons h2 a{text-decoration:none}
.px-lecons h2 a:hover{text-decoration:underline}
.px-lecons p,.px-niveaux p{margin:.15rem 0 0;font-size:.88rem;color:var(--muted)}
.px-tag{padding:.3rem .7rem;border-radius:999px;background:var(--mist);font:700 .74rem/1.2 "Inter",Arial,sans-serif;color:var(--navy);white-space:nowrap}
.px-lecons li.is-ok .px-tag{background:var(--ok-s);color:var(--ok)}
.px-niveaux li{opacity:.75}

/* Leçon */
.px-lecon{max-width:720px;margin:0 auto;padding:clamp(2rem,5vw,3.5rem) 1.25rem 4rem}
.px-lecon h2{font-size:1.35rem;margin:2rem 0 .6rem}
.px-lecon p,.px-lecon li{font-size:1.04rem}
.px-lecon ul{padding-left:1.2rem}
.px-lecon li{margin:.35rem 0}
.px-ex{margin:1.2rem 0;border-left:4px solid var(--cyan);background:var(--mist);border-radius:0 12px 12px 0;padding:1rem 1.2rem}
.px-ex figcaption{font:800 .7rem/1.3 "Inter",Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#0b6f8f;margin-bottom:.4rem}
.px-ex blockquote{margin:0;font-size:1.02rem;color:var(--ink)}
.px-retenir,.px-faire{margin:2rem 0 0;padding:1.2rem 1.4rem;border-radius:16px}
.px-retenir{background:var(--navy);color:#fff}
.px-retenir h2,.px-faire h2{margin:0 0 .5rem;font-size:1.1rem}
.px-retenir h2{color:#fff}
.px-retenir li{color:rgba(255,255,255,.9)}
.px-faire{border:2px dashed var(--orange);background:#fff7f4}
.px-faire p{margin:0}
.px-quiz{margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.px-q{border:0;margin:0 0 1.4rem;padding:0}
.px-q legend{font:700 1.04rem/1.4 "Inter",Arial,sans-serif;color:var(--navy);margin-bottom:.6rem;padding:0}
.px-choix{display:grid;grid-template-columns:20px 1fr;gap:.7rem;align-items:start;padding:.75rem .9rem;margin:.4rem 0;border:1px solid var(--line);border-radius:12px;cursor:pointer}
.px-choix input{margin-top:.3rem}
.px-choix:hover{border-color:var(--navy)}
.px-choix.is-bon{border-color:var(--ok);background:var(--ok-s)}
.px-choix.is-faux{border-color:var(--ko);background:var(--ko-s)}
.px-pourquoi{margin:.6rem 0 0;padding:.7rem .9rem;border-radius:10px;background:var(--mist);font-size:.95rem!important}
.px-suite{display:flex;flex-wrap:wrap;gap:.7rem}

/* Badge */
.px-badge{width:190px;height:190px;margin:0 auto 1.6rem;border-radius:50%;display:grid;place-content:center;gap:.1rem;background:radial-gradient(circle at 30% 25%,#12305c,var(--navy));border:6px solid var(--orange);color:#fff;box-shadow:0 20px 50px rgba(6,20,43,.3)}
.px-badge span{font:800 .66rem/1 "Inter",Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan)}
.px-badge b{font:700 4rem/1 "Sora","Inter",Arial,sans-serif}
.px-badge em{font:700 .95rem/1 "Sora","Inter",Arial,sans-serif;font-style:normal}

.px-foot{padding:1.6rem 1.25rem;border-top:1px solid var(--line);text-align:center;font-size:.8rem;color:var(--muted)}
.px-foot p{margin:0}

@media(max-width:860px){
  .px-hero{grid-template-columns:1fr}
  .px-lecons li,.px-niveaux li{grid-template-columns:40px 1fr}
  .px-lecons li>b,.px-niveaux li>b{width:40px;height:40px}
  .px-tag{grid-column:2;justify-self:start}
  .px-who{display:none}
  .px-brand img{width:96px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
