/* prof-prive.com — Collège : design system des pages de navigation */
:root{--navy:#1E3A5F;--navy-d:#12263f;--orange:#EC5F2A;--sky:#2DABCF;--bg:#F5F7FA;--card:#fff;--text:#1f2933;--muted:#44546a;--line:#dde4ee;
--c-matiere:#1B8FB3;--c-elec:#C98400;--c-mouv:#25906A;--c-chimie:#7152A8;--shadow:0 6px 22px rgba(30,58,95,.09)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.cx{margin:0;font-family:Inter,system-ui,sans-serif;font-size:18px;line-height:1.6;background:var(--bg);color:var(--text)}
.cx h1,.cx h2,.cx h3{font-family:'Playfair Display',Georgia,serif;color:var(--navy);margin:0 0 .45em;line-height:1.22}
.cx h2{font-size:clamp(1.55rem,3.2vw,2.1rem)}
.cx h3{font-size:1.25rem}
.cx p{margin:0 0 1em}
.cx strong{font-weight:700;color:var(--navy-d)}
.wrap{max-width:1120px;margin:0 auto;padding:0 18px}
.hero{background:radial-gradient(1200px 400px at 85% -10%,rgba(45,171,207,.35),transparent 60%),linear-gradient(135deg,#12263f,#1E3A5F 55%,#2C5AA0);color:#fff;padding:56px 0 70px;position:relative;overflow:hidden}
.hero.small{padding:40px 0 52px}
.hero h1{color:#fff;font-size:clamp(1.9rem,4.6vw,3rem);max-width:820px}
.hero h1 em{font-style:normal;color:#ffb48f}
.hero p.lead{font-size:1.2rem;color:#dbe8f5;max-width:720px}
.hero .eyebrow{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:5px 14px;border-radius:30px;font-size:.92rem;font-weight:600;margin-bottom:16px;color:#fff}
.hero .acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:12px;font-weight:700;font-size:1.05rem;text-decoration:none;border:2px solid transparent;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-2px)}
.btn.pri{background:var(--orange);color:#fff}.btn.pri:hover{background:#d44f1e}
.btn.sec{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.55)}.btn.sec:hover{background:rgba(255,255,255,.2)}
.btn.line{background:#fff;color:var(--navy);border-color:var(--line)}.btn.line:hover{border-color:var(--navy)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:-38px auto 0;position:relative;z-index:5}
.stat{background:#fff;border-radius:16px;padding:18px 16px;text-align:center;box-shadow:var(--shadow);border:1px solid var(--line)}
.stat b{display:block;font:700 2.4rem/1 'Playfair Display',serif;color:var(--orange)}
.stat span{font-size:1rem;color:var(--muted);font-weight:600}
section.blk{padding:54px 0 6px}
.sec-head{max-width:720px;margin-bottom:26px}
.sec-head p{color:var(--muted);font-size:1.1rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.lvl{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
a.card,.card.static{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-top:5px solid var(--accent,var(--navy));border-radius:16px;padding:22px 22px 20px;text-decoration:none;color:var(--text);box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s;position:relative}
a.card:hover{transform:translateY(-5px);box-shadow:0 14px 32px rgba(30,58,95,.16)}
a.card:focus-visible,.btn:focus-visible,.pp-links a:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.card .ico{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 14%,#fff);color:var(--accent);margin-bottom:12px}
.card .ico svg{width:28px;height:28px}
.card .tag{align-self:flex-start;font-size:.86rem;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,#fff);padding:3px 11px;border-radius:20px;margin-bottom:10px}
.card h3{margin:0 0 6px}
.card p{color:var(--muted);font-size:1rem;margin:0 0 12px}
.card .go{margin-top:auto;font-weight:700;color:var(--accent);font-size:1rem}
.card.soon{opacity:.78;border-top-color:#9aa8ba;--accent:#6b7a8f}
.card .big{font:700 3rem/1 'Playfair Display',serif;color:var(--accent);margin-bottom:6px}
.chips{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}
.chip{font-size:.9rem;font-weight:600;background:#eef3f9;color:var(--navy);padding:3px 11px;border-radius:20px}
.fmt{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.fmt span{font-size:.86rem;font-weight:600;background:#fff;border:1px solid var(--line);padding:2px 10px;border-radius:8px;color:var(--muted)}
.prog{height:8px;border-radius:6px;background:#e6ecf4;overflow:hidden;margin:2px 0 10px}
.prog i{display:block;height:100%;width:0;background:var(--accent);transition:width .6s}
.prog-l{font-size:.9rem;font-weight:600;color:var(--muted);margin:0 0 4px}
.feature{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center;background:linear-gradient(135deg,#fff6ef,#fff);border:1px solid #f5d6c3;border-radius:22px;padding:34px;box-shadow:var(--shadow)}
.feature .vis{background:#12263f;border-radius:16px;padding:18px;color:#fff}
.feature .vis svg{width:100%;height:auto;display:block}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;counter-reset:s}
.step{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;position:relative;box-shadow:var(--shadow)}
.step:before{counter-increment:s;content:counter(s);position:absolute;top:-16px;left:20px;width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;font:700 1.15rem/36px Inter;text-align:center}
.step h3{font-size:1.15rem;margin-top:8px}
.step p{margin:0;color:var(--muted);font-size:1rem}
.step a{font-weight:700;color:var(--orange);text-decoration:none}
.journey{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
a.jcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;text-decoration:none;color:var(--text);box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s;position:relative}
a.jcard:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(30,58,95,.15)}
a.jcard .phase{font-size:.86rem;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:var(--accent)}
a.jcard h3{margin:4px 0 6px;font-size:1.2rem}
a.jcard p{margin:0 0 10px;color:var(--muted);font-size:1rem}
a.jcard .go{margin-top:auto;font-weight:700;color:var(--navy)}
a.jcard.done:after{content:"✓ fait";position:absolute;top:14px;right:14px;background:#dff4ea;color:#17694a;font-size:.85rem;font-weight:700;padding:2px 10px;border-radius:20px}
.dl-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.dl-list a{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:12px 16px;color:var(--navy);text-decoration:none;font-weight:600}
.dl-list a:hover{border-color:var(--navy)}
.dl-list a small{display:block;font-weight:500;color:var(--muted);font-size:.9rem}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}
.pn a{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 20px;text-decoration:none;color:var(--navy);font-weight:700;box-shadow:var(--shadow)}
.pn a small{display:block;color:var(--muted);font-weight:500;font-size:.92rem}
.pn a:last-child{text-align:right}
details.faq{background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px 20px;margin-bottom:10px}
details.faq summary{cursor:pointer;font-weight:700;color:var(--navy);padding:14px 0;font-size:1.08rem}
details.faq p{color:var(--muted);margin:0 0 14px}
.note{background:#fff8e6;border:1px solid #f0dca2;border-radius:12px;padding:12px 16px;color:#5f4a00;font-size:1rem}
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}a.card,a.jcard,.btn{transition:none}}
@media(max-width:820px){.feature{grid-template-columns:1fr;padding:22px}.pn{grid-template-columns:1fr}body.cx{font-size:17px}.hero{padding:40px 0 60px}}
main#contenu{padding-bottom:50px}
/* priorité sur les titres de la page */
.cx .pp-cta h2{color:#fff;font-size:1.6rem}
.cx .pp-foot h3{color:#fff;font-family:Inter,sans-serif;font-size:1rem}
.cx .hero .chip{color:#fff}
