:root{
  --dark-brick:#6b1b0d; --brick-red:#972a18; --terracotta:#b24631; --light-brick:#cc614c;
  --rose:#e5baaf; --ivory:#f4ede2; --warm:#ebe2d1; --sand:#dcd2bf; --ink:#33170d;
  --body:'Poppins',sans-serif; --display:'Press Start 2P',monospace;
  --bw:3px; --br:2px;
  --bevel-light:rgba(255,255,255,.65); --bevel-dark:rgba(51,23,13,.4);
  --safe:60px; --sig:36px; --hudh:0px; --hud:var(--hudh);
}
*{box-sizing:border-box;}
/* Plusieurs composants posent un display explicite : sans cette regle, l'attribut
   hidden ne cache rien. On la met une fois pour toutes. */
[hidden]{display:none !important;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--body);background:var(--ivory);color:var(--dark-brick);
  font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;
  padding-bottom:var(--hud);overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;}
button{font:inherit;color:inherit;background:none;border:none;padding:0;margin:0;cursor:pointer;}

/* ---------------- sections ---------------- */
.sec{padding:52px 16px;position:relative;}
.wrap,.wrap-narrow{max-width:1080px;margin:0 auto;}
.wrap-narrow{max-width:820px;}

.sec--dark{background:var(--dark-brick);color:var(--ivory);}
.sec--dark .encart{background:var(--ivory);border-color:var(--terracotta);color:var(--dark-brick);}
.sec--dark .tag{background:var(--ink);color:var(--rose);}
.outline{white-space:nowrap;}
.sec--dark .outline{-webkit-text-stroke:1.5px var(--rose);color:transparent;}
.sec--dark .sep-thin{border-top-color:rgba(244,237,226,.25);}
.sec--dark .eyebrow{color:var(--rose);}
.sec--dark .lead,.sec--dark .small{color:var(--warm);}
/* Le Terracotta ne se detache pas du Dark Brick (2,13:1, seuil a 3:1).
   Filet Ivory Cream a l'exterieur de la bordure : separation a 10:1,
   sans toucher au fond du bouton ni ajouter d'ombre portee. */
.sec--dark .cta,.hud .cta{outline:1px solid var(--ivory);outline-offset:0;}

.sec--ivory{background:var(--ivory);color:var(--dark-brick);}
.sec--ivory .encart{background:var(--rose);border-color:var(--dark-brick);color:var(--dark-brick);}
.sec--ivory .tag{background:var(--sand);color:var(--dark-brick);}
.sec--ivory .outline{-webkit-text-stroke:1.5px var(--terracotta);color:transparent;}
.sec--ivory .eyebrow{color:var(--terracotta);}

.sec--rose{background:var(--rose);color:var(--dark-brick);}
.sec--rose .encart{background:var(--ivory);border-color:var(--dark-brick);color:var(--dark-brick);}
.sec--rose .tag{background:var(--warm);color:var(--dark-brick);}
.sec--rose .outline{-webkit-text-stroke:1.5px var(--terracotta);color:transparent;}
.sec--rose .eyebrow{color:var(--terracotta);}

.tex-dither::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:repeating-conic-gradient(var(--dark-brick) 0% 25%,transparent 0% 50%);
  background-size:6px 6px;opacity:.03;}
.tex-grid::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(244,237,226,.08) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(244,237,226,.08) 1px,transparent 1px);
  background-size:24px 24px;}
.tex-dither,.tex-grid{overflow:hidden;}
.sec>.wrap,.sec>.wrap-narrow{position:relative;z-index:1;}


/* ---------------- la methode ---------------- */
.met-0{display:flex;gap:12px;align-items:flex-start;background:var(--dark-brick);color:var(--ivory);
  border:var(--bw) solid var(--ink);border-radius:var(--br);padding:14px;margin-bottom:14px;}
.met-0 p{margin:0;font-size:14px;line-height:1.5;color:var(--warm);}
.met-0 .met-0t{font-weight:700;color:var(--ivory);font-size:15px;margin-bottom:4px;}
.met-0 .met-n{background:var(--rose);color:var(--dark-brick);}
.met-p{background:var(--warm);border:var(--bw) solid var(--dark-brick);border-radius:var(--br);margin-bottom:12px;}
.met-p>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:14px;cursor:pointer;}
.met-p>summary::-webkit-details-marker,.met-r>summary::-webkit-details-marker{display:none;}
.met-p .pil-num{font-size:28px;}
.met-pt{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;}
.met-pg{font-size:14px;font-weight:600;line-height:1.35;}
.met-pc{font-family:var(--display);font-size:8px;white-space:nowrap;color:var(--terracotta);}
.met-pb{padding:0 14px 10px;border-top:2px solid var(--sand);}
.met-e{font-family:var(--display);font-size:8px;letter-spacing:.04em;color:var(--terracotta);margin:16px 0 6px;}
.met-l{list-style:none;margin:0;padding:0;}
.met-l li{border-bottom:1px solid var(--sand);}
.met-l li:last-child{border-bottom:none;}
.met-r>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:10px 0;cursor:pointer;min-height:44px;}
.met-n{font-family:var(--display);font-size:8px;background:var(--dark-brick);color:var(--ivory);
  padding:5px 6px;border-radius:2px;flex:none;}
.met-t{flex:1;font-size:15px;font-weight:600;line-height:1.35;}
.met-soon{font-family:var(--display);font-size:7px;background:var(--sand);padding:4px 5px;border-radius:2px;}
.met-fl{font-size:10px;color:var(--terracotta);transition:transform .15s;flex:none;}
.met-r[open] .met-fl{transform:rotate(90deg);}
.met-c{padding:0 0 12px 46px;font-size:14px;line-height:1.55;}
.met-c p{margin:0 0 8px;}
.met-g b{display:block;font-family:var(--display);font-size:8px;color:var(--terracotta);margin-bottom:4px;}
@media (min-width:760px){ .met-p>summary{padding:18px;} .met-pb{padding:0 18px 12px;} .met-t{font-size:16px;} }

.gain3{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px;}
.gain3 li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.45;color:var(--warm);}
.gain3 b{color:var(--ivory);}
.gain3-n{font-family:var(--display);font-size:9px;background:var(--rose);color:var(--dark-brick);padding:5px 6px;border-radius:2px;flex:none;margin-top:1px;}
.dlgp-rep--coche button{font-size:14px;line-height:1.3;padding-top:10px;padding-bottom:10px;}
/* ---------------- typo ---------------- */
h1,h2,h3{margin:0;}
h1{font-weight:800;font-size:30px;line-height:1.1;letter-spacing:-.02em;}
h2{font-weight:800;font-size:24px;line-height:1.15;letter-spacing:-.015em;}
h3{font-weight:600;font-size:17px;line-height:1.3;}
p{margin:0 0 15px;}
.lead{font-size:16px;line-height:1.6;max-width:62ch;}
.small{font-size:13.5px;}
.muted{opacity:.82;}
.eyebrow{font-family:var(--display);font-size:9px;letter-spacing:.06em;display:block;margin-bottom:14px;line-height:1.6;}

/* ---------------- tags ---------------- */
.tag{font-family:var(--display);font-size:8px;text-transform:uppercase;letter-spacing:.04em;
  display:inline-block;padding:7px 10px;border-radius:var(--br);line-height:1.5;}
.tagrow{display:flex;flex-wrap:wrap;gap:8px;}

/* ---------------- encart ---------------- */
.encart{border-width:var(--bw);border-style:solid;border-radius:var(--br);
  box-shadow:inset 3px 3px 0 var(--bevel-light),inset -3px -3px 0 var(--bevel-dark);padding:18px;}
.encart .lbl{font-family:var(--display);font-size:9px;text-transform:uppercase;letter-spacing:.05em;
  display:block;margin-bottom:10px;color:var(--terracotta);line-height:1.5;}
.encart .ttl{font-weight:700;font-size:16px;margin-bottom:6px;}
.encart .txt{font-size:14px;margin:0;}



/* ---------------- piliers : tableaux de bord dans la charte ---------------- */
.pil-vis.dz{aspect-ratio:auto;display:block;padding:0;overflow:hidden;background:var(--ivory);text-align:left;}
.dz-hd{display:flex;align-items:center;gap:8px;background:var(--dark-brick);color:var(--ivory);padding:10px 12px;
  font-family:var(--display);font-size:6.5px;letter-spacing:.05em;line-height:1.5;}
.dz-hd i{width:8px;height:8px;border-radius:50%;display:inline-block;flex:0 0 auto;}
.dz-hd i.a{background:var(--terracotta);} .dz-hd i.b{background:#f0b860;} .dz-hd i.c{background:var(--rose);}
.dz-hd .t{margin-left:4px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dz-hd .on{color:#f0b860;white-space:nowrap;}
.dz-hd .on::before{content:"";display:inline-block;width:6px;height:6px;background:#f0b860;margin-right:5px;vertical-align:middle;}
.dz-bd{padding:14px 14px 12px;}
.dz-ttl{font-weight:800;font-size:15px;line-height:1.25;color:var(--dark-brick);margin:0 0 10px;}
.dz-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--sand);}
.dz-row:last-of-type{border-bottom:none;}
.dz-lb{font-size:12.5px;font-weight:600;color:var(--dark-brick);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dz-v{font-size:12.5px;font-weight:800;color:var(--dark-brick);font-variant-numeric:tabular-nums;white-space:nowrap;}
.dz-v small{font-weight:600;color:var(--terracotta);font-size:11px;margin-left:4px;}
.dz-bar{grid-column:1/-1;height:10px;background:var(--sand);border:2px solid var(--dark-brick);margin-top:-2px;}
.dz-bar b{display:block;height:100%;background:var(--terracotta);}
.dz-bar b.k1{background:var(--dark-brick);} .dz-bar b.k2{background:var(--brick-red);} .dz-bar b.k3{background:var(--terracotta);} .dz-bar b.k4{background:var(--light-brick);} .dz-bar b.k5{background:#f0b860;}
.dz-kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;}
.dz-kpi div{background:var(--warm);border:2px solid var(--dark-brick);padding:8px 8px 7px;box-shadow:inset 2px 2px 0 var(--bevel-light),inset -2px -2px 0 var(--bevel-dark);}
.dz-kpi b{display:block;font-size:19px;font-weight:800;line-height:1.1;color:var(--dark-brick);}
.dz-kpi b em{font-style:normal;color:#b8860b;font-size:11px;margin-left:3px;font-weight:700;}
.dz-kpi span{display:block;font-family:var(--display);font-size:5.5px;color:var(--terracotta);margin-top:5px;line-height:1.5;letter-spacing:.03em;}
.dz-tg{font-family:var(--display);font-size:5.5px;letter-spacing:.03em;line-height:1.5;padding:5px 6px;white-space:nowrap;
  background:var(--sand);color:var(--dark-brick);border:1px solid var(--dark-brick);}
.dz-tg--ok{background:#f0b860;} .dz-tg--ko{background:var(--terracotta);color:var(--ivory);} .dz-tg--rd{background:var(--dark-brick);color:var(--rose);}
.dz-q{padding:9px 0;border-bottom:1px solid var(--sand);}
.dz-q:last-child{border-bottom:none;}
.dz-q span{display:block;font-family:var(--display);font-size:7px;letter-spacing:.03em;color:var(--terracotta);margin-bottom:5px;}
.dz-q b{display:block;font-size:15px;font-weight:800;line-height:1.3;color:var(--dark-brick);}
.dz-sig{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--sand);}
.dz-sig b{font-size:17px;font-weight:800;color:var(--dark-brick);white-space:nowrap;}
.dz-tot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;background:var(--dark-brick);color:var(--ivory);padding:10px 12px;}
.dz-tot span{font-family:var(--display);font-size:7px;letter-spacing:.03em;color:var(--rose);}
.dz-tot b{font-size:20px;font-weight:800;}
.dz-call{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:7px 0;border-bottom:1px solid var(--sand);}
.dz-call:last-of-type{border-bottom:none;}
.dz-note{font-size:12.5px;line-height:1.45;color:var(--dark-brick);margin:0 0 10px;}
.dz-chk{list-style:none;padding:0;margin:0 0 12px;}
.dz-chk li{font-size:12.5px;font-weight:600;color:var(--dark-brick);padding:4px 0 4px 20px;position:relative;border-bottom:1px solid var(--sand);}
.dz-chk li::before{content:"";position:absolute;left:2px;top:9px;width:9px;height:9px;background:var(--terracotta);border:2px solid var(--dark-brick);}
.dz-prix{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.dz-prix b{font-size:24px;font-weight:800;color:var(--dark-brick);line-height:1;}
.dz-prix b small{font-size:11px;font-weight:600;color:var(--terracotta);margin-left:5px;}
.dz-prix .dz-tags{display:flex;gap:5px;flex-wrap:wrap;}
@media(min-width:900px){
  .dz-bd{padding:18px 20px 16px;}
  .dz-ttl{font-size:17px;}
  .dz-lb,.dz-v,.dz-note,.dz-chk li{font-size:14px;}
  .dz-kpi b{font-size:24px;}
  .dz-hd{font-size:7px;padding:12px 14px;}
  .dz-tg{font-size:6.5px;padding:6px 8px;}
  .dz-kpi span{font-size:6.5px;}
}
/* ---------------- CTA ---------------- */
.cta{display:inline-flex;align-items:center;justify-content:center;text-align:center;
  background:var(--terracotta);color:var(--ivory);text-decoration:none;
  border:var(--bw) solid var(--dark-brick);border-radius:var(--br);
  box-shadow:inset 3px 3px 0 var(--light-brick),inset -3px -3px 0 var(--brick-red);
  font-family:var(--display);font-size:10px;text-transform:uppercase;letter-spacing:.04em;
  padding:16px 22px;line-height:1.6;min-height:52px;width:100%;}
.cta:hover,.cta:active,.cta:focus-visible{
  box-shadow:inset -3px -3px 0 var(--light-brick),inset 3px 3px 0 var(--brick-red);
  padding:18px 20px 14px 24px;}

/* ---------------- marquee ---------------- */
.bandeau{background:var(--ink);color:var(--ivory);padding:16px 0 18px;}
.bandeau-ttl{font-family:var(--display);font-size:9px;letter-spacing:.06em;color:var(--rose);
  text-align:center;margin:0 0 12px;line-height:1.6;}
.marquee{color:var(--ivory);overflow:hidden;white-space:nowrap;}
.marquee-inner{display:inline-block;padding-left:100%;animation:scrollleft 60s linear infinite;}
.nom{display:inline-block;padding:0 18px;font-weight:700;font-size:15px;position:relative;}
.nom::after{content:"\25b6";position:absolute;right:-5px;color:var(--rose);font-size:8px;top:50%;
  transform:translateY(-50%);}
@media(min-width:700px){ .nom{font-size:17px;padding:0 22px;} }
@keyframes scrollleft{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.chip{display:inline-block;padding:0 22px;}
@media(prefers-reduced-motion:reduce){.marquee-inner{animation:none;padding-left:0;}}

.sep-thin{border:none;border-top:1px solid var(--sand);margin:24px 0;}
.lien-sec{color:inherit;text-decoration:underline;text-underline-offset:3px;
  display:inline-flex;align-items:center;min-height:44px;}
.sec--dark .lien-sec{color:var(--rose);}
.lien-sec--off{text-decoration:none;font-family:var(--display);font-size:8px;
  letter-spacing:.04em;color:var(--terracotta);min-height:0;margin-top:4px;}

/* ---------------- fiche coach ---------------- */
.fiche{padding-top:0;overflow:hidden;}
.fiche .perso-fiche{display:block;width:auto;height:230px;margin:0 auto 4px;image-rendering:pixelated;}
.fiche .lbl{margin-top:14px;padding-top:14px;border-top:1px solid var(--sand);}
.couvre{margin-top:12px;padding-top:12px;border-top:1px solid var(--sand);font-size:13.5px;line-height:1.5;}
.couvre b{font-family:var(--display);font-size:8px;letter-spacing:.05em;color:var(--terracotta);
  display:block;margin-bottom:5px;line-height:1.6;}
@media(min-width:700px){ .fiche .perso-fiche{height:270px;} }

.hero-sec{padding-top:34px;}
@media(min-width:700px){ .hero-sec{padding-top:76px;} }

/* ---------------- piste de niveaux (arcade) ---------------- */
.track{display:flex;align-items:flex-end;justify-content:center;flex-wrap:wrap;gap:6px 8px;
  margin:18px 0 16px;padding:0;
  list-style:none;font-family:var(--display);font-size:9px;line-height:1;}
.track li{display:flex;align-items:flex-end;gap:8px;}
.track .lvl{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;color:var(--ivory);}
.track .bars{display:flex;flex-direction:column;justify-content:flex-end;gap:3px;min-height:33px;}
.track .bars i{display:block;height:6px;background:var(--rose);}
.track li:last-child .bars i{background:var(--terracotta);}
.track .fl{color:var(--rose);line-height:1;}
@media(min-width:700px){ .track{font-size:11px;gap:8px 12px;} .track li{gap:12px;} }

/* ---------------- hero ---------------- */
.coaches{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px;}
.coach{margin:0;text-align:center;background:var(--ivory);
  border:var(--bw) solid var(--terracotta);border-radius:var(--br);
  box-shadow:inset 3px 3px 0 var(--bevel-light),inset -3px -3px 0 var(--bevel-dark);
  padding:14px 10px 10px;display:flex;flex-direction:column;justify-content:flex-end;}
.coach .perso{width:100%;max-width:150px;height:auto;margin:0 auto;image-rendering:pixelated;}
.coach figcaption{font-family:var(--display);font-size:9px;color:var(--dark-brick);
  margin-top:12px;padding-top:10px;border-top:1px solid var(--sand);letter-spacing:.05em;}

/* ---------------- listes ---------------- */
.cross{list-style:none;padding:0;margin:0;}
.cross li{position:relative;padding-left:24px;margin-bottom:14px;}
.cross li::before{content:"\2715";position:absolute;left:0;top:0;color:var(--terracotta);font-weight:700;}

/* ---------------- grilles ---------------- */
.cols{display:grid;gap:16px;}

/* ---------------- onglets familles ---------------- */
.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 20px;}
.tab{min-width:0;border:2px solid var(--dark-brick);border-radius:var(--br);background:var(--warm);
  box-shadow:inset 2px 2px 0 var(--bevel-light),inset -2px -2px 0 var(--bevel-dark);
  font-family:var(--display);font-size:8px;letter-spacing:0;color:var(--dark-brick);
  padding:8px 4px;min-height:52px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:5px;line-height:1.3;text-align:center;}
.tab[aria-selected="true"]{background:var(--dark-brick);color:var(--ivory);
  box-shadow:inset -2px -2px 0 var(--bevel-light),inset 2px 2px 0 var(--bevel-dark);}
.tab .cnt{font-size:7px;opacity:.9;min-height:9px;}
.tab .cnt:empty{display:none;}
.fam[hidden]{display:none;}
.fam-sub{font-size:14px;opacity:.8;margin:0 0 16px;}
.fam-gain{font-size:18px;font-weight:700;line-height:1.25;margin:0 0 4px;color:var(--dark-brick);}
@media(min-width:700px){ .fam-gain{font-size:20px;} }

/* ---------------- round ---------------- */
.round{border:2px solid var(--dark-brick);border-radius:var(--br);background:var(--warm);
  box-shadow:inset 2px 2px 0 var(--bevel-light),inset -2px -2px 0 var(--bevel-dark);margin-bottom:8px;}
.round.on{background:var(--ivory);border-color:var(--terracotta);}
.round-head{display:flex;align-items:stretch;}
.pick{flex:0 0 auto;width:52px;min-height:52px;display:flex;align-items:center;justify-content:center;
  border-right:2px solid var(--sand);}
.pick::before{content:attr(data-ic);display:flex;align-items:center;justify-content:center;
  width:30px;height:30px;font-family:var(--display);font-size:11px;line-height:1;
  background:var(--terracotta);color:var(--ivory);border:2px solid var(--dark-brick);
  border-radius:var(--br);
  box-shadow:inset -2px -2px 0 rgba(0,0,0,.28),inset 2px 2px 0 rgba(255,255,255,.3);}
.round.on .pick::before{background:var(--warm);color:var(--dark-brick);
  box-shadow:inset 2px 2px 0 var(--bevel-dark);}
.open{flex:1;display:flex;align-items:center;gap:10px;text-align:left;padding:12px 12px 12px 10px;min-height:52px;}
.open .num{font-family:var(--display);font-size:10px;color:var(--terracotta);flex:0 0 auto;}
.open .rt{flex:1;font-weight:600;font-size:14.5px;line-height:1.35;}
.open .toggle{color:var(--terracotta);flex:0 0 auto;transition:transform .15s ease;}
.round.open-on .toggle{transform:rotate(90deg);}
.round-body{padding:0 14px 14px;font-size:14px;}
.round-body[hidden]{display:none;}
.round-body .out{margin-top:10px;padding-top:10px;border-top:1px solid var(--sand);}
.round-body .out b,.round-body .lock b,.round-body .reco b{font-family:var(--display);font-size:8px;letter-spacing:.05em;
  display:block;margin-bottom:5px;color:var(--terracotta);line-height:1.6;}
.round-body .lock,.round-body .reco{margin-top:10px;padding-top:10px;border-top:1px solid var(--sand);}
.round-body .reco b{color:var(--terracotta);}
.free-flag{font-family:var(--display);font-size:8px;background:var(--dark-brick);color:var(--rose);
  padding:4px 7px;border-radius:var(--br);flex:0 0 auto;}
.badge-soon{font-family:var(--display);font-size:8px;background:var(--sand);color:var(--dark-brick);
  padding:4px 7px;border-radius:var(--br);flex:0 0 auto;}



/* ---------------- hero ---------------- */
.hero-grid{max-width:680px;margin:0 auto;text-align:center;}
.hero-sub{font-size:15.5px;line-height:1.55;color:var(--warm);margin:0 0 14px;}
.hero-sub b{color:var(--ivory);font-weight:700;}
@media(min-width:700px){ .hero-sub{font-size:17px;} }

.hero-proof{font-size:12.5px;line-height:1.5;color:var(--rose);margin:0 0 22px;
  max-width:560px;margin-left:auto;margin-right:auto;}
.hero-proof span{margin-right:5px;}
.hero-media{margin-top:22px;}
.hero-act{margin:0;}
.hero-direct{margin:12px 0 0;font-size:13px;}
.hero-direct a{color:var(--rose);text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:44px;}
@media(min-width:700px){
  .hero-act{max-width:420px;margin:0 auto;text-align:center;}
}
.prix-offert{margin:22px 0 0;text-align:center;font-size:15px;font-weight:700;line-height:1.45;
  color:var(--ivory);padding-top:18px;border-top:2px solid var(--terracotta);}
.entree{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:6px 10px;padding:0;margin:16px 0 0;font-family:var(--display);font-size:8px;
  letter-spacing:.03em;line-height:1.6;color:var(--rose);text-transform:uppercase;}
.entree li{display:flex;align-items:center;gap:10px;}
.entree li+li::before{content:"\25b6";color:var(--terracotta);font-size:7px;}
.entree li:nth-child(2){color:var(--ivory);}


/* ---------------- emplacement video ---------------- */
.video-slot{margin:20px 0 0;}
.video-cadre{position:relative;aspect-ratio:16/9;width:100%;
  background:var(--ivory);border:var(--bw) solid var(--terracotta);border-radius:var(--br);
  box-shadow:inset 3px 3px 0 var(--bevel-light),inset -3px -3px 0 var(--bevel-dark);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  overflow:hidden;}
.video-cadre > *{position:relative;z-index:1;}
.video-play{width:56px;height:56px;display:flex;align-items:center;justify-content:center;
  background:var(--warm);border:2px solid var(--dark-brick);border-radius:var(--br);
  box-shadow:inset 2px 2px 0 var(--bevel-light),inset -2px -2px 0 var(--bevel-dark);
  font-family:var(--display);font-size:16px;color:var(--dark-brick);padding-left:3px;}
.video-play:hover,.video-play:active{
  box-shadow:inset -2px -2px 0 var(--bevel-light),inset 2px 2px 0 var(--bevel-dark);}
.video-lbl{font-family:var(--display);font-size:9px;letter-spacing:.05em;color:var(--dark-brick);}
.video-slot figcaption{font-size:13px;margin-top:12px;color:var(--warm);}
.video-cadre video,.video-cadre iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
/* Facade : couverture + bouton play par-dessus, le lecteur YouTube n'arrive qu'au clic. */
.video-cadre[data-yt]{cursor:pointer;flex-direction:row;align-items:flex-end;gap:12px;padding-bottom:6%;}
@media (max-width:640px){
  .video-cadre[data-yt] .video-play{width:44px;height:44px;font-size:14px;}
  .video-cadre[data-yt] .video-lbl{padding:4px 7px;font-size:8px;}
}
.video-cadre .video-couv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.video-cadre[data-yt] .video-lbl{background:var(--ivory);padding:6px 9px;border:2px solid var(--dark-brick);
  border-radius:var(--br);box-shadow:inset 2px 2px 0 var(--bevel-light),inset -2px -2px 0 var(--bevel-dark);}
.video-cadre[data-yt] .video-play{width:56px;height:56px;font-size:18px;}
.video-cadre[data-yt] .video-lbl{line-height:1;display:inline-flex;align-items:center;height:56px;box-sizing:border-box;}
.video-cadre[data-yt]:hover .video-play{
  box-shadow:inset -2px -2px 0 var(--bevel-light),inset 2px 2px 0 var(--bevel-dark);}
.video-cadre.is-on{cursor:default;background:#000;}

/* ---------------- items pixel ---------------- */
.item{width:var(--it,72px);height:auto;image-rendering:pixelated;flex:0 0 auto;}
.h2row{display:flex;align-items:center;gap:16px;margin-bottom:4px;}
.h2row h2{flex:1;}
.h2row .item{margin-top:-4px;}
.step .item{margin-bottom:12px;}
.fam-ttl{display:flex;align-items:center;gap:12px;margin-bottom:4px;}
.encart .item{float:right;margin:-4px -4px 8px 12px;}
/* placeholders de temoignage, a remplacer par de vrais retours */
/* ---------------- la salle (temoignages, vue lobby) ---------------- */
.lobby{background:var(--ivory);border:var(--bw) solid var(--dark-brick);border-radius:var(--br);
  box-shadow:inset 3px 3px 0 var(--bevel-light),inset -3px -3px 0 var(--bevel-dark);overflow:hidden;max-width:720px;margin:0 auto;}
.lobby-hd{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;
  background:var(--dark-brick);color:var(--ivory);font-family:var(--display);font-size:9px;letter-spacing:.05em;line-height:1.6;}
.lobby-hd .n{color:#f0b860;}
.joueur{border-top:1px solid var(--sand);}
.joueur:first-of-type{border-top:0;}
.joueur.est-live{background:var(--warm);}
.joueur summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:40px 1fr auto 14px;gap:12px;align-items:center;padding:12px 16px;}
.joueur summary::-webkit-details-marker{display:none;}
.joueur summary::after{content:"\25B8";grid-column:4;font-size:11px;color:var(--dark-brick);opacity:.6;justify-self:end;}
.joueur[open] summary::after{content:"\25BE";}
.jo-av{position:relative;width:40px;height:40px;}
.jo-av img{width:40px;height:40px;border:2px solid var(--dark-brick);border-radius:4px;image-rendering:pixelated;display:block;filter:grayscale(1) opacity(.55);object-fit:cover;}
.jo-av img.photo{image-rendering:auto;border-radius:50%;}
.est-live .jo-av img{filter:none;}
.jo-av .dot{position:absolute;right:-5px;bottom:-5px;width:12px;height:12px;border-radius:50%;background:var(--sand);border:2px solid var(--ivory);box-shadow:0 0 0 2px var(--dark-brick);}
.est-live .jo-av .dot{background:#f0b860;}
.jo-nom{font-weight:800;font-size:15px;color:var(--dark-brick);line-height:1.2;}
.jo-nom a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--terracotta);}
.jo-act{font-size:12.5px;opacity:.7;line-height:1.3;}
.jo-act.attente,.jo-cite.attente{color:var(--terracotta);opacity:1;}
.stat{font-family:var(--display);font-size:6.5px;letter-spacing:.04em;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;
  padding:6px 8px;border:2px solid var(--dark-brick);border-radius:3px;background:var(--ivory);line-height:1;color:var(--dark-brick);}
.stat b{width:6px;height:6px;border-radius:50%;display:inline-block;background:var(--sand);}
.stat.live{background:#f0b860;} .stat.live b{background:var(--dark-brick);}
.stat.off{opacity:.7;}
.jo-body{padding:0 16px 16px 68px;}
.lobby .jo-faits{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px;}
.jo-pil{white-space:nowrap;display:inline-block;margin:0;font-family:var(--display);font-size:6.5px;letter-spacing:.04em;line-height:1;
  padding:5px 7px;background:var(--dark-brick);color:var(--ivory);border-radius:3px;}
.jo-pil small{font-size:6.5px;opacity:.75;margin-left:8px;}
.lobby .jo-cite{font-size:14px;line-height:1.5;margin:0;color:var(--ink);}
.jo-cite.attente{font-style:italic;}
.joueur summary .stat{align-self:start;margin-top:2px;}
@media(max-width:600px){ .joueur summary{gap:10px;padding:12px 12px;} .stat{padding:5px 6px;font-size:6px;}
  .jo-body{padding-left:12px;padding-right:12px;} }
.temoin{border:2px dotted var(--dark-brick);border-radius:var(--br);padding:18px;background:transparent;}
.temoin .vide{font-family:var(--display);font-size:8px;color:var(--terracotta);letter-spacing:.05em;
  display:block;margin-bottom:12px;line-height:1.6;}
.temoin .ligne{height:12px;background:var(--warm);border-radius:2px;margin-bottom:8px;}
.temoin .ligne.court{width:62%;}
.temoin .qui{display:flex;align-items:center;gap:10px;margin-top:16px;}
.temoin .face{width:var(--it,56px);height:var(--it,56px);border:2px solid var(--dark-brick);
  border-radius:var(--br);image-rendering:pixelated;flex:0 0 auto;object-fit:cover;}
.temoin .nom{font-size:13px;opacity:.7;}


/* ---------------- problematiques ---------------- */
/* ---------------- qualification ---------------- */
.qual{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:8px;}
.qi{width:100%;display:flex;align-items:flex-start;gap:12px;text-align:left;
  background:var(--ivory);border:var(--bw) solid var(--dark-brick);border-radius:var(--br);
  box-shadow:inset 3px 3px 0 var(--bevel-light),inset -3px -3px 0 var(--bevel-dark);
  padding:14px 16px;font-size:15px;font-weight:600;line-height:1.4;color:var(--dark-brick);
  min-height:52px;}
.qi-box{flex:0 0 auto;width:15px;height:15px;margin-top:2px;border:2px solid var(--dark-brick);
  background:transparent;}
.qi.on .qi-box{background:var(--dark-brick);
  box-shadow:inset 0 0 0 2px var(--ivory),inset 0 0 0 4px var(--dark-brick);}
.qi.on{box-shadow:inset -3px -3px 0 var(--bevel-light),inset 3px 3px 0 var(--bevel-dark);}

.qual-inst{font-size:13.5px;color:var(--dark-brick);opacity:.8;margin:14px 0 18px;}
.score{text-align:center;}
.score-cases{display:flex;justify-content:center;gap:6px;margin-bottom:10px;}
.score-cases i{width:26px;height:16px;border:2px solid var(--dark-brick);background:transparent;}
.score-cases i.on{background:var(--dark-brick);}
.score-frac{font-family:var(--display);font-size:12px;color:var(--dark-brick);margin:0 0 8px;
  line-height:1.6;}
.score-txt{font-size:15px;font-weight:600;line-height:1.45;margin:0;color:var(--dark-brick);}
@media(min-width:620px){ .score-cases i{width:34px;height:18px;} .score-frac{font-size:14px;} }

.filtres{display:none;}
.filtre{border:2px solid var(--dark-brick);border-radius:var(--br);background:var(--ivory);
  box-shadow:inset 2px 2px 0 var(--bevel-light),inset -2px -2px 0 var(--bevel-dark);
  font-family:var(--display);font-size:8px;letter-spacing:.03em;color:var(--dark-brick);
  padding:0 12px;min-height:44px;display:inline-flex;align-items:center;}
.filtre[aria-pressed="true"]{background:var(--dark-brick);color:var(--ivory);
  box-shadow:inset -2px -2px 0 var(--bevel-light),inset 2px 2px 0 var(--bevel-dark);}
.pbs{display:grid;gap:8px;}
.pb{border:2px solid var(--dark-brick);border-radius:var(--br);background:var(--rose);
  box-shadow:inset 2px 2px 0 var(--bevel-light),inset -2px -2px 0 var(--bevel-dark);}
.pb[hidden]{display:none;}
.pb-tete{display:flex;align-items:center;gap:10px;padding:10px 12px;}
.pb-dit{flex:1;min-width:0;display:flex;align-items:center;gap:10px;text-align:left;
  padding:6px 0;min-height:44px;font-weight:600;font-size:15px;line-height:1.35;color:var(--dark-brick);}
.pb-dit .q{font-family:var(--display);font-size:13px;color:var(--terracotta);flex:0 0 auto;
  transition:transform .15s ease;}
.pb.on .pb-dit .q{transform:rotate(90deg);}
.pb-dit .tg{flex:1;}
.pb-rep{padding:0 14px 14px;}
.pb-rep[hidden]{display:none;}
.pb-rep .lab{font-family:var(--display);font-size:8px;letter-spacing:.05em;color:var(--terracotta);
  display:block;margin:0 0 6px;line-height:1.6;}
.pb-rep p{font-size:14px;margin:0 0 14px;}
.pb-rounds{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.pb-round{font-family:var(--display);font-size:8px;background:var(--sand);color:var(--dark-brick);
  padding:6px 9px;border-radius:var(--br);line-height:1.5;}
.pb-add{flex:0 0 auto;white-space:nowrap;font-family:var(--display);font-size:7.5px;
  letter-spacing:.04em;line-height:1;min-height:44px;padding:0 12px;border-radius:var(--br);
  background:var(--terracotta);color:var(--ivory);border:2px solid var(--dark-brick);
  box-shadow:inset -2px -2px 0 rgba(0,0,0,.28),inset 2px 2px 0 rgba(255,255,255,.3);}
.pb-add[aria-pressed="true"]{background:var(--warm);color:var(--dark-brick);
  box-shadow:inset 2px 2px 0 var(--bevel-dark);}

/* liste des rounds d'un etat : lecture seule, on retire dans le plan */
.rd{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--warm);}
.rd:last-child{border-bottom:none;}
.rd-n{flex:0 0 auto;font-family:var(--display);font-size:8px;color:var(--terracotta);padding-top:3px;}

/* retrait d'une ligne du plan */
.plan-corps{flex:1;min-width:0;}
.plan-off{flex:0 0 auto;width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  font-size:14px;line-height:1;color:var(--dark-brick);background:var(--warm);
  border:2px solid var(--dark-brick);border-radius:var(--br);
  box-shadow:inset 2px 2px 0 var(--bevel-light),inset -2px -2px 0 var(--bevel-dark);}
.plan-off:hover,.plan-off:active{background:var(--terracotta);color:var(--ivory);}
.plan-off::before{content:"";position:absolute;inset:-6px;}
.plan-liste li{position:relative;}
.plan-off{position:relative;}
.tout-add{width:100%;display:flex;flex-direction:column;align-items:center;gap:6px;
  margin:0 0 22px;padding:16px 14px;border-radius:var(--br);
  background:var(--dark-brick);color:var(--ivory);border:var(--bw) solid var(--dark-brick);
  box-shadow:inset -3px -3px 0 rgba(0,0,0,.35),inset 3px 3px 0 rgba(255,255,255,.22);}
.tout-add .tout-t{font-family:var(--display);font-size:10px;letter-spacing:.04em;line-height:1.5;}
.tout-add .tout-s{font-family:var(--display);font-size:7.5px;letter-spacing:.05em;color:var(--rose);}
.tout-add[aria-pressed="true"]{background:var(--warm);color:var(--dark-brick);
  border-color:var(--terracotta);box-shadow:inset 3px 3px 0 var(--bevel-dark);}
.tout-add[aria-pressed="true"] .tout-s{color:var(--terracotta);}
.fam-add{width:100%;font-family:var(--display);font-size:8.5px;letter-spacing:.04em;
  line-height:1.5;min-height:50px;padding:12px;margin:0 0 6px;border-radius:var(--br);
  background:var(--terracotta);color:var(--ivory);border:2px solid var(--dark-brick);
  box-shadow:inset -2px -2px 0 rgba(0,0,0,.28),inset 2px 2px 0 rgba(255,255,255,.3);}
.fam-add[aria-pressed="true"]{background:var(--warm);color:var(--dark-brick);
  box-shadow:inset 2px 2px 0 var(--bevel-dark);}
.fam-note{display:block;font-size:12.5px;color:var(--terracotta);margin:0 0 14px;line-height:1.4;}
.rds{list-style:none;padding:0;margin:0 0 14px;}
.rd-txt{flex:1;min-width:0;}
.rd-txt b{display:block;font-size:14.5px;line-height:1.35;}
.rd-out{display:block;font-size:13px;line-height:1.45;margin-top:3px;opacity:.85;}
.rd-pre{display:inline-block;margin-top:3px;font-family:var(--display);font-size:6.5px;
  letter-spacing:.05em;background:var(--warm);color:var(--dark-brick);padding:3px 5px;border-radius:var(--br);}

@media(min-width:700px){ .pbs{grid-template-columns:1fr 1fr;align-content:start;align-items:start;} }

/* ---------------- HUD ---------------- */
.hud{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--ink);color:var(--ivory);
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  border-top:2px solid var(--terracotta);transform:translateY(110%);transition:transform .22s ease;
  visibility:hidden;}
.hud.show{transform:translateY(0);visibility:visible;}
@media(prefers-reduced-motion:reduce){ .hud{transition:none;} }
.hud-in{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:12px;}
.hud-left{flex:1;min-width:0;}
.bar{display:flex;height:16px;border:2px solid var(--ink);border-radius:3px;overflow:hidden;
  background:var(--ink);box-shadow:inset 0 0 0 1px rgba(244,237,226,.25);}
.bar-fill{background:repeating-linear-gradient(90deg,var(--terracotta) 0 10px,var(--ink) 10px 12px);}
.bar-empty{flex:1;background:repeating-linear-gradient(90deg,var(--sand) 0 10px,var(--ink) 10px 12px);}
.hud-line{font-family:var(--display);font-size:9px;margin:7px 0 0;letter-spacing:.03em;line-height:1.6;}
.hud-line b{color:var(--rose);}
.hud-next{font-size:11px;font-family:var(--body);color:var(--rose);margin:5px 0 0;line-height:1.3;}
.auto-note{font-size:12.5px;color:var(--terracotta);padding:0 14px 12px;line-height:1.35;}
.hud .cta{width:auto;flex:0 0 auto;font-size:9px;padding:13px 16px;min-height:46px;}
.hud .cta:hover,.hud .cta:active{padding:15px 14px 11px 18px;}
.hud-reset{font-family:var(--display);font-size:8px;color:var(--sand);text-decoration:underline;
  min-height:44px;min-width:44px;padding:0 6px;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;}
/* Sous 700px la barre passe sur deux rangees : la jauge et le compteur en haut,
   le bouton et le lien en bas. En une seule rangee, tout se compresse illisible. */
@media(max-width:699px){
  .hud{padding:8px 12px calc(8px + env(safe-area-inset-bottom));}
  .hud-in{flex-wrap:wrap;gap:8px 10px;}
  .hud-left{flex:1 1 100%;min-width:0;}
  .hud .bar{height:13px;}
  .hud .cta{flex:1 1 auto;text-align:center;justify-content:center;min-height:46px;}
  .hud-line{margin:6px 0 0;}
  .hud-next{margin:3px 0 0;}
}
@media(max-width:360px){
  .hud .cta{font-size:8px;padding:12px 10px;}
  .hud-line,.hud-next{font-size:8.5px;}
  .hud-next{font-family:var(--body);font-size:11.5px;}
}

/* ---------------- la feuille du plan ---------------- */

.feuille{position:fixed;inset:0;z-index:80;}
.feuille[hidden]{display:none;}
.feuille-fond{position:absolute;inset:0;background:rgba(51,23,13,.7);opacity:0;transition:opacity .2s ease;}
.feuille.on .feuille-fond{opacity:1;}
.feuille-in{position:absolute;left:0;right:0;bottom:0;max-height:88vh;display:flex;flex-direction:column;
  background:var(--rose);border-top:var(--bw) solid var(--dark-brick);
  transform:translateY(100%);transition:transform .22s ease;}
.feuille.on .feuille-in{transform:translateY(0);}
@media(prefers-reduced-motion:reduce){ .feuille-fond,.feuille-in{transition:none;} }
.feuille-tete{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 16px;background:var(--dark-brick);color:var(--ivory);}
.feuille-t{font-family:var(--display);font-size:10px;letter-spacing:.05em;}
.feuille-x{width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  font-size:16px;color:var(--ivory);border:2px solid var(--rose);border-radius:var(--br);}
.feuille-corps{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 16px;}
.feuille-corps .plan-vide{margin:10px 0;font-size:15px;line-height:1.5;}
.feuille-pied{padding:14px 16px calc(14px + env(safe-area-inset-bottom));
  border-top:2px solid var(--terracotta);background:var(--warm);}
.feuille-pied .plan-eco{margin-top:6px;}
.feuille-pied .plan-next{margin:8px 0 12px;}
.feuille-pied .cta{width:100%;text-align:center;justify-content:center;}
.feuille-pied--nu .plan-tot-l,.feuille-pied--nu .plan-eco,.feuille-pied--nu .plan-next{display:none;}
.feuille-pied--nu{border-top:2px solid var(--terracotta);}
.feuille-retour{width:100%;margin-top:10px;font-family:var(--display);font-size:8px;
  letter-spacing:.04em;color:var(--dark-brick);text-decoration:underline;text-underline-offset:3px;
  min-height:44px;opacity:.75;}
.pas[hidden]{display:none;}
.pas-t{font-size:20px;line-height:1.25;margin:4px 0 8px;}
.pas-s{font-size:14.5px;line-height:1.5;margin:0 0 18px;}
.plan-form .cta{width:100%;margin-top:12px;text-align:center;justify-content:center;}
.cal{width:100%;height:min(62vh,560px);border:2px solid var(--dark-brick);border-radius:var(--br);
  background:var(--ivory);display:block;}
@media(min-width:800px){
  .feuille-in{left:auto;right:24px;bottom:24px;width:460px;max-height:80vh;
    border:var(--bw) solid var(--dark-brick);border-radius:var(--br);
    box-shadow:inset 3px 3px 0 var(--bevel-light),inset -3px -3px 0 var(--bevel-dark);}
}

/* ---------------- page /parcours ---------------- */
.p-hero{padding-top:34px;padding-bottom:30px;}
.p-hero h1{font-size:30px;}
.p-sub{margin:12px auto 0;max-width:560px;font-size:15.5px;line-height:1.5;}
.p-raccourci{margin:6px 0 0;font-size:13px;}
.p-sel{padding-top:24px;}
.vue-ttl{font-size:22px;line-height:1.2;margin:0 0 18px;}
.vue-sub{font-size:14.5px;line-height:1.5;margin:0 0 18px;}
@media(min-width:700px){
  .p-hero{padding-top:52px;padding-bottom:44px;}
  .p-sel{padding-top:46px;}
  .p-hero h1{font-size:44px;}
  .p-sub{font-size:17px;}
  .vue-ttl{font-size:30px;margin-bottom:22px;}
  .vue-sub{font-size:16px;margin-bottom:22px;}
}
.p-raccourci a{color:var(--rose);text-decoration:underline;text-underline-offset:3px;
  display:inline-flex;align-items:center;min-height:44px;}

.entrees{display:flex;gap:10px;margin-bottom:26px;}
.entree-t{flex:1;font-family:var(--display);font-size:9px;letter-spacing:.03em;line-height:1.5;
  min-height:52px;padding:0 12px;background:var(--warm);color:var(--dark-brick);
  border:var(--bw) solid var(--dark-brick);border-radius:var(--br);
  box-shadow:inset 2px 2px 0 var(--bevel-light),inset -2px -2px 0 var(--bevel-dark);}
.entree-t[aria-selected="true"]{background:var(--dark-brick);color:var(--ivory);
  box-shadow:inset -2px -2px 0 rgba(255,255,255,.25),inset 2px 2px 0 rgba(0,0,0,.35);}
.vue[hidden]{display:none;}

.plan-liste{list-style:none;counter-reset:none;padding:0;margin:0;}
.plan-liste li{display:flex;gap:14px;align-items:flex-start;padding:14px 0;
  border-bottom:1px solid var(--warm);}
.plan-liste li:last-child{border-bottom:none;}
.plan-rang{font-family:var(--display);font-size:9px;color:var(--terracotta);
  flex:0 0 auto;padding-top:3px;min-width:22px;}
.plan-liste b{display:block;font-size:15px;line-height:1.35;}
.plan-livr{display:block;font-size:13.5px;line-height:1.45;margin-top:4px;opacity:.85;}
.plan-tot{margin-top:20px;padding-top:18px;border-top:2px solid var(--terracotta);}
.plan-tot-l{display:flex;align-items:baseline;justify-content:space-between;gap:14px;}
.plan-n{font-family:var(--display);font-size:10px;letter-spacing:.03em;color:var(--dark-brick);}
.plan-prix{font-size:30px;font-weight:800;line-height:1.1;color:var(--dark-brick);word-spacing:.14em;}
.plan-eco{display:block;margin-top:8px;font-family:var(--display);font-size:8px;
  letter-spacing:.04em;color:var(--terracotta);}
.plan-next{margin:10px 0 0;font-size:13.5px;}

.plan-champs{display:grid;gap:10px;}
.plan-champs input{width:100%;min-height:50px;padding:0 14px;font:inherit;font-size:15px;
  color:var(--dark-brick);background:var(--ivory);border:var(--bw) solid var(--dark-brick);
  border-radius:var(--br);box-shadow:inset 2px 2px 0 var(--bevel-dark);}
.plan-champs input::placeholder{color:var(--dark-brick);opacity:.5;}
.plan-form-msg{margin:12px 0 0;font-size:14px;color:var(--rose);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;}
@media(min-width:700px){
  .plan-champs{grid-template-columns:1fr 1fr auto;align-items:center;}
}

/* ---------------- HUD desktop : pastille haut droite ---------------- */
@media(min-width:900px){
  :root:has(.hud--cta){--hud:0px;}
  .hud--cta{top:18px;bottom:auto;left:auto;right:22px;width:auto;background:none;border-top:none;
    padding:0;transform:translateY(-160%);}
  .hud--cta.show{transform:translateY(0);}
  .hud--cta .hud-in{max-width:none;margin:0;}
  .hud--cta .cta{font-size:10px;padding:15px 20px;min-height:50px;
    box-shadow:inset -3px -3px 0 var(--bevel-dark),inset 3px 3px 0 var(--bevel-light);}
  .hud--cta .cta:hover,.hud--cta .cta:active{padding:17px 18px 13px 22px;}
  /* la barre du selecteur reste en bas : la jauge ne tient pas dans une pastille */
  .hud:not(.hud--cta) .hud-left{max-width:560px;}
}

/* ---------------- etapes ---------------- */
.step{border:var(--bw) solid var(--dark-brick);border-radius:var(--br);background:var(--ivory);
  box-shadow:inset 3px 3px 0 var(--bevel-light),inset -3px -3px 0 var(--bevel-dark);padding:18px;}
.step .k{font-family:var(--display);font-size:9px;color:var(--terracotta);display:block;margin-bottom:9px;line-height:1.5;}
.step h3{margin-bottom:5px;}
.step p{font-size:14px;margin:0;}

/* ---------------- cartes de perso ---------------- */
.persos{display:grid;gap:14px;margin-top:24px;}
.perso{background:var(--ivory);border:var(--bw) solid var(--dark-brick);border-radius:var(--br);
  box-shadow:inset 3px 3px 0 var(--bevel-light),inset -3px -3px 0 var(--bevel-dark);
  padding:18px;display:flex;flex-direction:column;}
.perso-img{background:var(--warm);border:2px solid var(--dark-brick);border-radius:var(--br);
  box-shadow:inset 2px 2px 0 var(--bevel-light),inset -2px -2px 0 var(--bevel-dark);
  padding:12px;text-align:center;}
.perso .perso-buste{display:block;width:auto;height:150px;margin:0 auto;image-rendering:pixelated;}
.perso-id{margin-top:10px;padding-top:12px;border-top:1px solid var(--sand);}
.perso-nom{font-family:var(--display);font-size:11px;color:var(--dark-brick);display:block;line-height:1.6;}
.perso-classe{font-family:var(--display);font-size:8px;color:var(--terracotta);display:block;
  margin-top:6px;line-height:1.6;letter-spacing:.04em;}
.perso-ttl{font-weight:700;font-size:17px;line-height:1.3;margin-top:14px;}
.perso-btn{margin-top:14px;width:100%;background:var(--warm);color:var(--dark-brick);
  border:2px solid var(--dark-brick);border-radius:var(--br);
  box-shadow:inset 2px 2px 0 var(--bevel-light),inset -2px -2px 0 var(--bevel-dark);
  font-family:var(--display);font-size:8px;letter-spacing:.04em;padding:13px 10px;min-height:46px;
  line-height:1.5;display:flex;align-items:center;justify-content:center;gap:8px;}
.perso-btn .fl{transition:transform .15s ease;color:var(--terracotta);}
.perso-btn[aria-expanded="true"] .fl{transform:rotate(90deg);}
.perso-btn[aria-expanded="true"]{box-shadow:inset -2px -2px 0 var(--bevel-light),inset 2px 2px 0 var(--bevel-dark);}
.perso-xp{margin-top:12px;}
.perso-xp[hidden]{display:none;}
.dlg{display:block;width:100%;text-align:left;background:var(--warm);
  border:2px solid var(--dark-brick);border-radius:var(--br);padding:15px;
  box-shadow:inset 0 0 0 2px var(--warm),inset 0 0 0 3px var(--dark-brick);
  min-height:240px;}
.dlg-ou{font-family:var(--display);font-size:9px;color:var(--terracotta);display:block;
  line-height:1.6;margin-bottom:9px;}
.dlg-role{display:block;font-size:12.5px;color:var(--dark-brick);opacity:.75;margin:0 0 10px;}
.dlg-txt{display:block;font-size:14.5px;line-height:1.55;color:var(--dark-brick);}
.dlg-pts{list-style:none;padding:0;margin:10px 0 0;min-height:60px;}
.dlg-pts li{position:relative;padding-left:20px;font-size:13.5px;line-height:1.45;margin-bottom:6px;}
.dlg-pts li::before{content:"\2713";position:absolute;left:0;color:var(--terracotta);font-weight:700;}
.dlg-res{display:none;font-size:16.5px;font-weight:700;line-height:1.3;color:var(--dark-brick);
  margin:0 0 6px;}
.dlg-res.on{display:block;}
.dlg-res b{color:var(--terracotta);margin-right:7px;}
.dlg-bas{display:flex;align-items:center;justify-content:space-between;margin-top:12px;
  padding-top:10px;border-top:1px solid var(--sand);}
.dlg-n{font-family:var(--display);font-size:8px;color:var(--dark-brick);line-height:1.6;}
.dlg-fl{color:var(--terracotta);animation:clignote 1s steps(1) infinite;}
@keyframes clignote{0%,50%{opacity:1}51%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){ .dlg-fl{animation:none;} }
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
@media(min-width:800px){ .persos{grid-template-columns:1fr 1fr;gap:20px;align-items:start;}
  /* le titre prend toujours deux lignes : les boutons « Voir son parcours » s'alignent */
  .perso-ttl{min-height:2.6em;}
  .perso .perso-buste{height:170px;} }

/* ---------------- prix en trois temps ---------------- */
.prix3{display:grid;gap:10px;justify-items:center;margin-top:24px;}
.prix3-b{width:100%;text-align:center;padding:20px 16px;background:var(--ivory);color:var(--dark-brick);
  border:var(--bw) solid var(--terracotta);border-radius:var(--br);
  box-shadow:inset 3px 3px 0 var(--bevel-light),inset -3px -3px 0 var(--bevel-dark);}
.prix3-b--on{background:var(--terracotta);color:var(--ivory);border-color:var(--rose);}
.prix3-l{display:block;font-family:var(--display);font-size:8px;letter-spacing:.04em;line-height:1.6;
  color:var(--terracotta);margin-bottom:10px;}
.prix3-b--on .prix3-l{color:var(--ivory);}
.prix3-p{display:block;font-size:32px;font-weight:800;line-height:1;letter-spacing:-.02em;}
.prix3-s{display:block;font-family:var(--display);font-size:6.5px;letter-spacing:.04em;line-height:1.6;
  margin-top:9px;opacity:.75;}
.prix3-fl{font-size:14px;color:var(--rose);transform:rotate(90deg);line-height:1;}
.prix3-d{display:block;font-size:14px;line-height:1.45;margin-top:12px;}
/* Les prix : une carte prix par offre, la carte « ce que tu as » en dessous */
.prix4{display:grid;gap:22px;margin-top:24px;}
.prix4-col{display:grid;gap:8px;align-content:start;}
.prix4-col .prix3-b{padding:20px 16px;}
.prix4-in{border:2px dotted var(--rose);border-radius:var(--br);padding:14px 16px 16px;color:var(--ivory);}
.prix4-t{display:block;font-family:var(--display);font-size:7px;letter-spacing:.04em;line-height:1.6;color:var(--rose);margin-bottom:10px;}
.prix4-in ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;}
.prix4-in li{position:relative;padding-left:16px;font-size:14px;line-height:1.45;}
.prix4-in li::before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;background:var(--rose);}
@media(min-width:760px){ .prix4{grid-template-columns:repeat(3,1fr);gap:14px;} .prix4-col{grid-template-rows:auto 1fr;align-content:stretch;} }

.prix3--3 .prix3-s{margin-top:6px;}
/* La case du milieu est en retrait : fond du bandeau, filet pointille, chiffres plus petits.
   Le "a partir de 600" et la methode complete sont les deux cases qui doivent ressortir. */
.prix3-b--mid{background:transparent;color:var(--ivory);border:2px dotted var(--rose);box-shadow:none;
  padding:18px 16px;}
.prix3-b--mid .prix3-l{color:var(--rose);}
.prix3-b--mid .prix3-row{border-top-color:rgba(244,237,226,.2);}
.prix3-b--mid .prix3-row span{color:var(--warm);}
.prix3-b--mid .prix3-row b{font-size:17px;font-weight:700;color:var(--ivory);}
.prix3-pal{display:grid;gap:6px;max-width:250px;margin:0 auto;}
.prix3-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  border-top:1px solid var(--sand);padding-top:6px;}
.prix3-row:first-child{border-top:none;padding-top:0;}
.prix3-row span{font-family:var(--display);font-size:6.5px;letter-spacing:.04em;line-height:1.6;opacity:.8;}
.prix3-row b{font-size:19px;font-weight:800;line-height:1;white-space:nowrap;}
@media(min-width:760px){
  .prix3{grid-template-columns:1.1fr auto 1fr auto 1.1fr;align-items:stretch;gap:12px;}
  .prix3--3{grid-template-columns:repeat(3,1fr);}
  /* les trois montants sur la meme ligne : cartes calees en haut, meme structure */
  .prix3--3 .prix3-b{justify-content:flex-start;padding-top:28px;}
  .prix3-b{display:flex;flex-direction:column;justify-content:center;padding:24px 16px;}
  .prix3-fl{transform:none;align-self:center;}
  .prix3-p{font-size:34px;}
}
}
}

.perso--place .perso-id{margin-top:0;padding-top:0;border-top:none;}
.crit-lbl{display:block;font-family:var(--display);font-size:8px;color:var(--terracotta);
  line-height:1.6;letter-spacing:.05em;margin:14px 0 10px;padding-top:12px;
  border-top:1px solid var(--sand);}
.crit{list-style:none;padding:0;margin:0;}
.crit li{position:relative;padding-left:22px;font-size:14px;line-height:1.5;margin-bottom:8px;}
.crit li::before{content:"\2713";position:absolute;left:0;color:var(--terracotta);font-weight:700;}
.crit-fin{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--sand);
  font-size:14.5px;font-weight:700;line-height:1.45;}
@media(min-width:800px){
  .perso--place{grid-column:1 / -1;}
  .perso--place .perso-id{margin-top:0;padding-top:0;border-top:none;}
  .perso--place .crit{columns:2;column-gap:32px;}
  .perso--place .crit li{break-inside:avoid;}
}

/* ---------------- deroulement ---------------- */
.etapes{display:grid;gap:18px;margin-top:24px;}
.etape{display:grid;gap:12px;}
.etape-vis{position:relative;aspect-ratio:4/3;background:var(--warm);
  border:var(--bw) solid var(--dark-brick);border-radius:var(--br);
  box-shadow:inset 3px 3px 0 var(--bevel-light),inset -3px -3px 0 var(--bevel-dark);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  text-align:center;padding:20px;overflow:hidden;}
.etape-vis img,.etape-vis video{width:100%;height:100%;object-fit:cover;display:block;}
.etape-vis:has(.capture){padding:0;background:none;box-shadow:none;}
.etape-vis .capture{border-radius:calc(var(--br) - var(--bw));}
.etape-vlbl{font-family:var(--display);font-size:8px;color:var(--terracotta);line-height:1.6;letter-spacing:.05em;}
.etape-vtxt{font-size:13px;font-weight:600;color:var(--dark-brick);max-width:280px;line-height:1.45;}
.etape-txt{background:var(--ivory);border:var(--bw) solid var(--dark-brick);border-radius:var(--br);
  box-shadow:inset 3px 3px 0 var(--bevel-light),inset -3px -3px 0 var(--bevel-dark);padding:18px;}
.etape-hd{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.etape-lbl{font-family:var(--display);font-size:9px;color:var(--dark-brick);line-height:1.6;letter-spacing:.04em;}
.etape-txt h3{font-size:18px;margin:0 0 6px;line-height:1.3;}
.etape-txt p{font-size:14px;margin:0;line-height:1.5;}
@media(min-width:900px){ .etapes{grid-template-columns:repeat(3,1fr);gap:20px;}
  .etape{align-content:start;} }

/* ---------------- demo programme ---------------- */
.demo-cadre{position:relative;aspect-ratio:4/5;width:100%;background:var(--warm);
  border:var(--bw) solid var(--dark-brick);border-radius:var(--br);
  box-shadow:inset 3px 3px 0 var(--bevel-light),inset -3px -3px 0 var(--bevel-dark);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  text-align:center;padding:26px;overflow:hidden;}
.demo-cadre video,.demo-cadre img{width:100%;height:100%;object-fit:cover;display:block;}
.demo-lbl{font-family:var(--display);font-size:8px;color:var(--terracotta);line-height:1.6;letter-spacing:.05em;}
.demo-txt{font-size:14px;font-weight:600;color:var(--dark-brick);max-width:330px;line-height:1.45;}
@media(min-width:700px){ .demo-cadre{aspect-ratio:16/10;max-width:520px;margin:0 auto;} }

/* ---------------- les trois piliers ---------------- */
.pil{display:grid;gap:14px;margin-bottom:22px;}
.pil-txt{background:var(--rose);border:var(--bw) solid var(--dark-brick);border-radius:var(--br);
  box-shadow:inset 3px 3px 0 var(--bevel-light),inset -3px -3px 0 var(--bevel-dark);padding:20px;}
.pil-hd{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.pil-num{font-size:34px;font-weight:800;line-height:1;-webkit-text-stroke:2px var(--dark-brick);
  color:transparent;letter-spacing:-.02em;}
.pil-nom{font-family:var(--display);font-size:9px;color:var(--dark-brick);line-height:1.6;letter-spacing:.04em;}
.pil-txt h3{font-size:21px;margin:0 0 8px;line-height:1.25;}
.pil-txt h3 b{font-weight:800;}
.pil-txt p{font-size:14.5px;line-height:1.5;margin:0 0 12px;}
.pil-vis{position:relative;aspect-ratio:16/10;background:var(--warm);
  border:var(--bw) solid var(--dark-brick);border-radius:var(--br);
  box-shadow:inset 3px 3px 0 var(--bevel-light),inset -3px -3px 0 var(--bevel-dark);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  text-align:center;padding:22px;}
.pil-vis:has(.capture){padding:0;background:none;box-shadow:none;}
.pil-vis .capture{width:100%;height:100%;object-fit:cover;border-radius:calc(var(--br) - var(--bw));}
.pil-vlbl{font-family:var(--display);font-size:8px;color:var(--terracotta);line-height:1.6;letter-spacing:.05em;}
.pil-vtxt{font-size:13.5px;font-weight:600;color:var(--dark-brick);max-width:300px;line-height:1.45;}
@media(min-width:900px){
  .pil{grid-template-columns:1fr 1fr;gap:20px;align-items:center;margin-bottom:26px;}
  .pil--alt .pil-txt{order:2;}
  .pil-num{font-size:40px;}
}

/* ---------------- le principe, en trois temps animes ---------------- */
.pr{margin-top:22px;}
.pr-k{display:block;font-family:var(--display);font-size:8px;letter-spacing:.05em;line-height:1.6;color:var(--rose);margin-bottom:10px;}
.pr-t{font-size:15px;line-height:1.5;margin:12px 0 0;color:var(--warm);}
.eq{background:var(--ivory);color:var(--dark-brick);border:var(--bw) solid var(--terracotta);border-radius:var(--br);
  box-shadow:inset 3px 3px 0 var(--bevel-light),inset -3px -3px 0 var(--bevel-dark);padding:16px 14px;}
.eq-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:8px 4px;}
.eq-c{display:flex;flex-direction:column;align-items:center;gap:6px;}
.eq-c b{font-size:15px;font-weight:800;line-height:1;letter-spacing:-.02em;}
.eq-c .tag{background:var(--warm);color:var(--dark-brick);font-size:5.5px;padding:4px 5px;}
.eq-row i{font-style:normal;font-size:15px;font-weight:800;color:var(--terracotta);line-height:1;}
/* jauge : 5 segments, ceux en .pl se remplissent a l entree dans l ecran */
.jg{display:flex;gap:2px;}
.jg i{width:9px;height:8px;border:1px solid var(--dark-brick);background:transparent;}
.jg i.pl{background:var(--dark-brick);transform:scaleX(0);transform-origin:left;transition:transform .35s ease;}
.on .jg i.pl:nth-child(1){transition-delay:.2s} .on .jg i.pl:nth-child(2){transition-delay:.35s}
.on .jg i.pl:nth-child(3){transition-delay:.5s} .on .jg i.pl:nth-child(4){transition-delay:.65s} .on .jg i.pl:nth-child(5){transition-delay:.8s}
.on .jg i.pl{transform:scaleX(1);}
/* les cinq equipes, puis toi */
.eqs{grid-template-columns:repeat(5,1fr);gap:8px;position:relative;padding-top:26px;}
/* le jeton : une seule personne qui court d un poste a l autre, jeu de gestion */
.jeton{position:absolute;top:0;left:0;width:20%;text-align:center;font-family:var(--display);font-size:6.5px;line-height:1;
  color:var(--ivory);pointer-events:none;opacity:0;}
.jeton::before{content:"";display:block;width:14px;height:14px;margin:0 auto 3px;background:var(--terracotta);border:2px solid var(--ivory);border-radius:2px;}
.on .jeton{opacity:1;animation:court 7s steps(1,end) 1s infinite;}
@keyframes court{0%{left:0}20%{left:20%}40%{left:40%}60%{left:60%}80%{left:80%}100%{left:0}}

.eqp{background:var(--ivory);color:var(--dark-brick);border:2px solid var(--terracotta);border-radius:var(--br);padding:10px 8px;text-align:center;
  box-shadow:inset 2px 2px 0 var(--bevel-light),inset -2px -2px 0 var(--bevel-dark);
  opacity:0;transform:translateY(10px);transition:opacity .4s ease var(--d,0s),transform .4s ease var(--d,0s);}
.on .eqp{opacity:1;transform:none;}
.eqp-n{display:block;font-family:var(--display);font-size:6.5px;letter-spacing:.03em;line-height:1.6;}
.eqp-s{display:block;font-family:var(--display);font-size:5.5px;color:var(--terracotta);margin-top:6px;line-height:1.4;}
.toi{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:8px;opacity:0;transition:opacity .4s ease .75s;}
.on .toi{opacity:1;}
.toi-fl{color:var(--rose);font-size:14px;line-height:1;}
.tag--on{background:var(--terracotta)!important;color:var(--ivory)!important;}
/* ---------------- le principe : carte paginee, design de l encart ---------------- */
.perso--principe{max-width:560px;margin:22px auto 0;background:transparent;border:none;box-shadow:none;padding:0;}
.perso--principe .dlg{min-height:0;color:var(--dark-brick);background:var(--ivory);border:var(--bw) solid var(--terracotta);border-radius:var(--br);
  box-shadow:inset 3px 3px 0 var(--bevel-light),inset -3px -3px 0 var(--bevel-dark);padding:16px 16px 14px;}
.perso--principe .dlg-ou{font-size:7px;color:var(--terracotta);margin-bottom:12px;}
.perso--principe .dlg-txt{font-size:14.5px;}
.dlg-vis{display:block;margin-top:14px;}
.dlg-vis:empty{display:none;}
.dlg-fin{display:block;font-size:14.5px;font-weight:700;line-height:1.45;color:var(--dark-brick);margin-top:14px;}
.dlg-fin:empty{display:none;}
.perso--principe .dlg-bas{border-top:1px solid var(--sand);}
/* ---------------- /parcours : la conversation avec Sam ---------------- */
.dlgp{max-width:620px;margin:0 auto;}
.dlgp .dlg{padding:16px 16px 12px;}
.dlgp-tete{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.dlgp-av{width:44px;height:44px;flex:0 0 44px;image-rendering:pixelated;border:2px solid var(--dark-brick);
  border-radius:var(--br);background:var(--warm);object-fit:cover;}
.dlgp .dlgp-ou{margin:0;font-size:8px;}
.dlgp-txt{margin:0 0 14px;font-size:15.5px;line-height:1.55;}
.dlgp-opts{list-style:none;padding:0;margin:0;display:grid;gap:8px;}
.dlgp-opts:empty{display:none;}
.dlgp-opt{display:block;width:100%;text-align:left;background:var(--warm);border:2px solid var(--dark-brick);
  border-radius:var(--br);padding:11px 12px 11px 40px;font:inherit;font-size:14.5px;line-height:1.4;
  color:var(--dark-brick);position:relative;min-height:48px;cursor:pointer;}
.dlgp-opt::before{content:"";position:absolute;left:12px;top:14px;width:16px;height:16px;box-sizing:border-box;
  border:2px solid var(--dark-brick);background:var(--ivory);border-radius:3px;}
.dlgp-opt[aria-pressed="true"]{background:var(--rose);border-color:var(--terracotta);}
.dlgp-opt[aria-pressed="true"]::before{content:"\2713";color:var(--ivory);background:var(--terracotta);
  font-weight:700;font-size:11px;line-height:12px;text-align:center;}
.dlgp-opt--passe{background:transparent;border-style:dashed;padding-left:12px;opacity:.85;}
.dlgp-opt--passe::before{display:none;}
.dlgp-prom{display:block;font-size:13px;line-height:1.45;margin:6px 0 2px 40px;opacity:.85;}
.dlgp-prom[hidden]{display:none;}
.dlgp .dlgp-bas{justify-content:space-between;align-items:center;gap:10px;margin-top:14px;}
.dlgp-back{background:none;border:0;font-family:var(--display);font-size:8px;color:var(--dark-brick);
  cursor:pointer;padding:10px 0;min-height:44px;white-space:nowrap;}
.dlgp-back[hidden]{display:none;}
.dlgp-next{min-height:48px;padding:0 18px;font-size:10px;margin-left:auto;}
.dlgp-next[hidden]{display:none;}
.dlgp.tape .dlgp-opts,.dlgp.tape .dlgp-bas{visibility:hidden;}
.dlgp .dlgp-opts,.dlgp .dlgp-bas{animation:dlgp-in .25s ease-out;}
.dlgp.tape .dlgp-opts,.dlgp.tape .dlgp-bas{animation:none;}
@keyframes dlgp-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.dlgp-txt{cursor:pointer;}
.dlgp-opts .dlgp-bq{background:var(--warm);border:2px solid var(--dark-brick);border-radius:var(--br);padding:11px 12px 10px;}
.dlgp-bq[data-nv="absent"],.dlgp-bq[data-nv="bricole"]{background:var(--rose);border-color:var(--terracotta);}
.dlgp-bq-t{margin:0;font-weight:700;font-size:15px;line-height:1.3;color:var(--dark-brick);}
.dlgp-rep{display:grid;gap:6px;margin-top:9px;}
.dlgp-rep button{display:block;width:100%;text-align:left;min-height:44px;padding:9px 11px 9px 36px;position:relative;
  background:var(--ivory);border:2px solid var(--dark-brick);border-radius:var(--br);
  font:inherit;font-size:14px;line-height:1.4;color:var(--dark-brick);cursor:pointer;}
.dlgp-rep button::before{content:"";position:absolute;left:11px;top:12px;width:14px;height:14px;box-sizing:border-box;
  border:2px solid var(--dark-brick);border-radius:50%;background:var(--ivory);}
.dlgp-rep button[aria-pressed="true"]{background:var(--dark-brick);color:var(--ivory);}
.dlgp-rep button[aria-pressed="true"]::before{background:var(--rose);border-color:var(--ivory);}
.dlgp .dlg{position:relative;overflow:hidden;scroll-margin-top:8px;}
.dlgp .dlg::after{content:"";position:absolute;left:0;top:0;height:4px;width:var(--avance,0%);background:var(--terracotta);transition:width .3s;}
.dlgp-next.dlgp-next--sec{background:transparent;color:var(--dark-brick);border:2px dashed var(--dark-brick);box-shadow:none;min-height:44px;}
.dlgp .dlgp-txt{min-height:3.1em;}
.dlgp-rep--court button{padding-top:11px;padding-bottom:11px;}
.dlgp-rep button.dlgp-multi::before{border-radius:3px;}
body.dlgp-en-cours .hud,body.dlgp-vue .hud{visibility:hidden;opacity:0;pointer-events:none;}
.dlgp-ch li b{display:block;font-weight:700;margin-bottom:2px;}
.dlgp-ch .dlgp-ch-d{display:block;font-weight:400;font-size:14px;line-height:1.4;}
.dlgp-ch{margin:0;padding:0;list-style:none;counter-reset:ch;display:grid;gap:10px;}
.dlgp-ch li{counter-increment:ch;position:relative;padding:10px 12px 10px 44px;background:var(--ivory);
  border:2px solid var(--dark-brick);border-radius:var(--br);font-weight:600;font-size:14.5px;line-height:1.4;color:var(--dark-brick);}
.dlgp-ch li::before{content:counter(ch);position:absolute;left:10px;top:9px;width:24px;height:24px;display:flex;
  align-items:center;justify-content:center;background:var(--terracotta);color:var(--ivory);
  font-family:var(--display);font-size:9px;border-radius:var(--br);}
.dlgp-carte{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
.dlgp-carte li{display:grid;grid-template-columns:1fr;align-items:center;gap:4px 10px;background:var(--ivory);
  border:2px solid var(--dark-brick);border-radius:var(--br);padding:5px 10px;min-height:40px;}
.dlgp-carte-n{font-size:14px;font-weight:700;line-height:1.25;}
/* La note sur 10 en jauge : sur mobile, la jauge passe sous le nom, en pleine largeur */
.dlgp-carte-c{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;}
.dlgp-carte-c i{height:10px;border:2px solid var(--dark-brick);background:var(--ivory);}
.dlgp-carte-c i.on{background:var(--dark-brick);}
/* La jauge globale, en tete de carte : l'etat de sa vente en un coup d'oeil */
.dlgp-total{background:var(--dark-brick);border-radius:var(--br);padding:10px 10px 12px;margin-bottom:8px;}
.dlgp-total-t{font-family:var(--display);font-size:10px;line-height:1.4;color:var(--ivory);margin:0 0 9px;}
.dlgp-total .dlgp-carte-c{gap:4px;}
.dlgp-total .dlgp-carte-c i{height:18px;border-color:var(--ivory);background:transparent;}
.dlgp-total .dlgp-carte-c i.on{background:var(--ivory);}
@media(min-width:620px){
  .dlgp-total .dlgp-carte-c{display:grid;}
  .dlgp-total .dlgp-carte-c i{width:auto;height:20px;}
  .dlgp-carte li{grid-template-columns:1fr auto;}
  .dlgp-carte-c{display:flex;gap:4px;}
  .dlgp-carte-c i{width:14px;height:14px;}
}

.dlgp-ap{padding:0 !important;overflow:hidden;}
.dlgp-ap-hd{display:flex;justify-content:space-between;gap:10px;background:var(--dark-brick);color:var(--ivory);
  font-family:var(--display);font-size:8px;letter-spacing:.04em;padding:8px 12px;}
.dlgp-ap-l{list-style:none;margin:0;padding:4px 12px;}
.dlgp-ap--complet .dlgp-ap-l{max-height:min(30vh,230px);overflow-y:auto;-webkit-overflow-scrolling:touch;}
.dlgp-ap-l li{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--sand);font-size:14px;line-height:1.3;}
.dlgp-ap-l li:last-child{border-bottom:none;}
.dlgp-ap-r{font-family:var(--display);font-size:8px;color:var(--terracotta);flex:none;width:30px;}
.dlgp-ap-t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;}
.dlgp-ap-o{font-family:var(--display);font-size:7px;background:var(--rose);padding:3px 5px;border-radius:2px;}
.dlgp-ap-flou{filter:blur(4px);opacity:.7;user-select:none;}
.dlgp-ap-flou:nth-last-child(1){opacity:.35;}
.dlgp-ap-pied{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 12px;
  border-top:2px solid var(--dark-brick);font-size:12.5px;line-height:1.35;}
.dlgp-ap-pied span:only-child{font-size:12.5px;}
.dlgp-ap--complet .dlgp-ap-pied span{font-family:var(--display);font-size:8px;}
.dlgp-ap-pied b{font-size:22px;font-weight:800;}
.dlgp--ap .dlgp-txt{min-height:0;margin-bottom:10px;}
.dlgp--ap .dlgp-opts{gap:8px;}
.dlgp--ap .dlgp-form{gap:6px;padding:8px 10px !important;}
.dlgp--ap .dlgp-form input{min-height:42px;}
.dlgp-ap-l li{padding:5px 0;}
.dlgp--ap .dlgp-ap--complet .dlgp-ap-l{max-height:min(22vh,170px);}
.dlgp-ap-pied span{flex:1;}
.dlgp-ap-hd span{white-space:nowrap;}
.dlgp-ap--parcours .dlgp-ap-hd{font-size:7px;padding:8px 10px;}
.dlgp-ap-c{-webkit-mask-image:linear-gradient(to bottom,#000 82%,transparent);mask-image:linear-gradient(to bottom,#000 82%,transparent);padding-bottom:22px !important;max-height:min(32vh,215px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:2px 12px 6px;}
.dlgp-ap-r0{background:var(--rose);margin:8px 0 4px;padding:7px 9px;border-radius:2px;}
.dlgp-ap-r0 .dlgp-ap-g{font-size:13px;}
.dlgp-ap-r0 .dlgp-ap-o{background:var(--ivory);}
.dlgp-ap-p{padding-top:8px;}
.dlgp-ap--parcours .dlgp-ap-c{-webkit-mask-image:none;mask-image:none;max-height:none;overflow:visible;padding-bottom:8px !important;}
.dlgp-ap--parcours .dlgp-ap-p > .dlgp-ap-g{font-weight:500;font-size:13px;}
.dlgp-ap-l--sf li{align-items:flex-start;}
.dlgp-ap-l--sf .dlgp-ap-t{white-space:normal;overflow:visible;}
.dlgp-ap-l--sf .dlgp-ap-r{padding-top:3px;}
.dlgp-ap-l--sf .dlgp-ap-t b{display:block;font-weight:700;}
.dlgp-ap-sf{display:block;font-size:12.5px;line-height:1.35;opacity:.8;margin-top:1px;}
.dlgp-ap-ph{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0;
  font-family:var(--display);font-size:8px;letter-spacing:.03em;color:var(--terracotta);}
.dlgp-ap-r0 .dlgp-ap-ph{color:var(--dark-brick);}
.dlgp-ap-g{margin:3px 0 2px;font-size:13.5px;line-height:1.35;font-weight:600;}
.dlgp-ap--parcours .dlgp-ap-l{padding:0;}
.dlgp-ap--parcours .dlgp-ap-l li{padding:4px 0;font-size:13.5px;}
.dlgp-ap--parcours .dlgp-ap-t{font-weight:500;}
.dlgp-ap--parcours::after{content:"";display:block;}
.dlgp-pot{position:absolute !important;left:-9999px;width:1px;height:1px;opacity:0;}
.dlgp-form-t{margin:0 0 2px;font-size:13px;line-height:1.35;}
.dlgp-form--opt input{min-height:40px;}
.dlgp-plus{margin:10px 0 0;font-size:13px;color:var(--dark-brick);opacity:.8;}
.dlgp-form{display:grid;gap:10px;}
.dlgp-nom{display:grid;grid-template-columns:1fr 1fr;gap:inherit;}
.dlgp-nom input{min-width:0;}
.dlgp-form input{width:100%;min-height:50px;padding:0 14px;font:inherit;font-size:16px;color:var(--dark-brick);
  background:var(--ivory);border:var(--bw) solid var(--dark-brick);border-radius:var(--br);box-shadow:inset 2px 2px 0 var(--bevel-dark);}
.dlgp-err{margin:0;font-size:13.5px;color:var(--terracotta);font-weight:600;}
.dlgp-cal{padding:0 !important;overflow:hidden;}
.dlgp-cal iframe{display:block;width:100%;height:min(70vh,600px);border:0;background:var(--ivory);}
.dlgp-tout{max-width:620px;margin:18px auto 0;}
@media(min-width:700px){ .dlgp .dlg{padding:22px 24px 16px;} .dlgp-txt{font-size:16.5px;} }
.dv{display:flex;}
.dv-eq{flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:8px 4px;padding:4px 0;}
.dv-t{display:flex;flex-direction:column;align-items:center;gap:5px;}
.dv-t b{font-size:16px;font-weight:800;line-height:1;letter-spacing:-.02em;color:var(--dark-brick);}
.dv-g{font-size:9.5px;font-weight:600;color:var(--terracotta);line-height:1.2;white-space:nowrap;}
.dv-t .tag{background:var(--warm);color:var(--dark-brick);font-size:7px;padding:5px 6px;}
.dv-eq i{font-style:normal;font-size:16px;font-weight:800;color:var(--terracotta);line-height:1;}
.dv-tags{flex-wrap:wrap;gap:6px;justify-content:center;}
.dv-tags .tag{background:var(--dark-brick);color:var(--rose);font-size:8px;padding:7px 9px;line-height:1.4;}
.dv-coin{align-items:center;}
.dv-toi{flex-direction:column;align-items:center;gap:4px;margin-top:8px;}
.dv-toi i{font-style:normal;color:var(--terracotta);font-size:14px;line-height:1;}
.dv-toi .tag{font-size:8px;padding:7px 9px;line-height:1.4;}
.tag--on{background:var(--terracotta)!important;color:var(--ivory)!important;}
.dv-chain{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:6px 0;}
.dv-c{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;}
.dv-c+.dv-c::before{content:"\25b8";position:absolute;left:-6px;top:4px;font-size:9px;color:var(--terracotta);}
.dv-c b{font-size:17px;font-weight:800;line-height:1;color:var(--dark-brick);}
.dv-c small{font-family:var(--display);font-size:5px;letter-spacing:.02em;line-height:1.5;margin-top:5px;color:var(--dark-brick);opacity:.75;}
.dv-c:last-child b{color:var(--terracotta);}
.dv-note{display:block;text-align:center;font-family:var(--display);font-size:7.5px;color:var(--terracotta);margin-top:8px;letter-spacing:.03em;line-height:1.6;}
@media(min-width:700px){
  .perso--principe .dlg{padding:22px 26px 16px;}
  .dv-eq{gap:8px 14px;} .dv-t b,.dv-eq i{font-size:28px;} .dv-g{font-size:12.5px;} .dv-t .tag{font-size:8.5px;}
  .dv-c b{font-size:24px;} .dv-c small{font-size:8px;}
  .dv-tags .tag,.dv-toi .tag{font-size:10px;padding:9px 12px;} .dv-tags{gap:8px;} .dv-note{font-size:9px;}
}
@media(min-width:900px){ .perso--principe{max-width:700px;} .dv-t b,.dv-eq i{font-size:32px;} }
/* ---------------- les deux poles ---------------- */
.poles{display:grid;gap:14px;margin:20px 0 22px;}
.pole-n{font-family:var(--display);font-size:9px;color:var(--rose);display:block;margin-bottom:8px;
  line-height:1.6;letter-spacing:.04em;}
@media(min-width:700px){ .poles{grid-template-columns:1fr 1fr;gap:20px;} }

/* ---------------- les trois voies ---------------- */
.voies{display:grid;gap:12px;margin:26px 0 0;}
.voie{background:var(--warm);border:var(--bw) solid var(--dark-brick);border-radius:var(--br);
  box-shadow:inset 3px 3px 0 var(--bevel-light),inset -3px -3px 0 var(--bevel-dark);padding:18px;}
.voie-hd{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap;}
.voie-hd .item{flex:0 0 auto;}
.voie-lbl{font-family:var(--display);font-size:9px;color:var(--dark-brick);line-height:1.6;letter-spacing:.04em;}
.voie-flag{font-family:var(--display);font-size:8px;background:var(--warm);color:var(--dark-brick);
  padding:5px 8px;border-radius:var(--br);margin-left:auto;line-height:1.5;}
.voie h3{font-size:18px;margin:0 0 8px;line-height:1.3;}
.voie p{font-size:14px;margin:0;line-height:1.5;}
.voie-eq{margin-top:12px!important;padding-top:12px;border-top:1px solid var(--sand);font-weight:600;}
.voie--on{background:var(--ivory);border-color:var(--terracotta);}
.voie--on .voie-lbl{color:var(--terracotta);}
.voie-fin{font-size:16px;font-weight:700;line-height:1.45;margin:22px 0 0;text-align:center;}
@media(min-width:900px){ .voies{grid-template-columns:repeat(3,1fr);gap:16px;} .voie h3{font-size:19px;} }

/* ---------------- prix ---------------- */
.ghost{border:2px dotted var(--rose);border-radius:var(--br);padding:20px 18px;display:flex;
  flex-direction:column;gap:9px;}
.ghost.reco{border-style:solid;}
.ghost .pname{font-family:var(--display);font-size:10px;color:var(--rose);letter-spacing:.04em;line-height:1.5;}
.ghost .pht{display:block;font-family:var(--body);font-size:12px;opacity:.7;margin-top:2px;}
.pprice{font-size:30px;font-weight:800;line-height:1;letter-spacing:-.02em;}
.ghost .punit{font-family:var(--display);font-size:8px;color:var(--warm);line-height:1.7;}
.ghost .punit.eco{color:var(--rose);}
.ghost .ppour{font-size:13.5px;color:var(--warm);margin:0;}
.reco-flag{font-family:var(--display);font-size:8px;background:var(--rose);color:var(--ink);
  padding:4px 7px;border-radius:var(--br);align-self:flex-start;}

/* ---------------- comparatif : cartes sur mobile ---------------- */
.cmp-cards{display:grid;gap:12px;}
.cmp-card{border:2px solid var(--dark-brick);border-radius:var(--br);background:var(--warm);
  box-shadow:inset 2px 2px 0 var(--bevel-light),inset -2px -2px 0 var(--bevel-dark);padding:16px;}
.cmp-card h3{font-size:15px;margin-bottom:12px;}
.cmp-row{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--sand);font-size:13.5px;}
.cmp-row .who{font-family:var(--display);font-size:8px;color:var(--terracotta);flex:0 0 96px;line-height:1.7;}
.cmp-row.is-corner{background:var(--rose);margin:0 -16px;padding:10px 16px;font-weight:600;}
.cmp-row.is-corner .who{color:var(--dark-brick);}
.cmp-table{display:none;}

/* ---------------- faq ---------------- */
.faq{border-bottom:1px solid var(--sand);}
.faq summary{list-style:none;cursor:pointer;padding:16px 0;display:flex;gap:12px;align-items:baseline;min-height:52px;}
.faq summary::-webkit-details-marker{display:none;}
.faq .n{font-family:var(--display);font-size:9px;color:var(--terracotta);flex:0 0 24px;}
.faq .q{font-weight:600;font-size:15px;flex:1;line-height:1.4;}
.faq .toggle{color:var(--terracotta);transition:transform .15s ease;}
.faq[open] .toggle{transform:rotate(90deg);}
.faq .a{padding:0 0 18px 36px;font-size:14px;max-width:68ch;}

/* ---------------- footer ---------------- */
.foot{background:var(--ink);color:var(--ivory);padding:36px 16px;}
.foot a{color:var(--rose);text-decoration:none;}
.foot-in{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:18px;font-size:13px;}
.foot-links{display:flex;gap:6px 18px;flex-wrap:wrap;}
.foot-links a{display:inline-flex;align-items:center;min-height:44px;}
.sig{width:var(--sig);height:var(--sig);image-rendering:pixelated;}

/* ================= >= 700px ================= */
@media(min-width:700px){
  .sec{padding:76px 24px;}
  .coach .perso{max-width:190px;}
  h1{font-size:44px;} h2{font-size:32px;} .lead{font-size:18px;}
  .cta{width:auto;font-size:11px;padding:15px 28px;}
  .cols-2{grid-template-columns:repeat(2,1fr);gap:20px;}
  .cols-3{grid-template-columns:repeat(3,1fr);gap:20px;}
  .cmp-cards{display:none;}
  .cmp-table{display:block;overflow:hidden;}
  .cmp{width:100%;border-collapse:collapse;background:var(--ivory);border:2px solid var(--dark-brick);
    border-radius:6px;overflow:hidden;}
  .cmp th{font-family:var(--display);font-size:9px;text-transform:uppercase;text-align:center;
    padding:13px 9px;background:var(--dark-brick);color:var(--ivory);letter-spacing:.03em;line-height:1.6;}
  .cmp th:first-child,.cmp td:first-child{text-align:left;font-weight:600;}
  .cmp td{padding:12px;border-bottom:1px solid var(--sand);text-align:center;font-size:14px;}
  .cmp td.corner-col{background:var(--rose);font-weight:600;}
  .cmp tr:last-child td{border-bottom:none;}
  .tabs{display:flex;gap:10px;}
  .tab{flex:0 0 auto;flex-direction:row;font-size:9px;letter-spacing:.03em;padding:0 16px;min-height:44px;gap:8px;}
  .tab .cnt{font-size:8px;}
  .hud-line{font-size:10px;}
  .hud .cta{font-size:10px;}
}
/* ================= >= 1000px ================= */
@media(min-width:1000px){
  h1{font-size:56px;}
  .coach img{max-height:300px;}
  .cols-4{grid-template-columns:repeat(4,1fr);gap:20px;}
  .cols-5{grid-template-columns:repeat(3,1fr);gap:20px;}
  .cols-6{grid-template-columns:repeat(3,1fr);gap:20px;}

}
