
.me-effectif{
  /* Variables locales, toutes dérivées du thème du club. Seul le bleu du reflet holographique est propre au module. */
  --noir:var(--fond); --encre:var(--surface); --gris:var(--texte-doux); --pale:color-mix(in srgb,var(--texte) 90%,var(--surface-3)); --blanc:var(--texte);
  --rouge:var(--accent); --rouge-vif:var(--accent-clair); --rouge-sombre:var(--accent-fonce);
  --chrome:color-mix(in srgb,var(--texte) 84%,var(--surface-3));
  --chr-1:color-mix(in srgb,var(--texte) 94%,var(--surface-3)); --chr-2:color-mix(in srgb,var(--texte) 80%,var(--surface-3));
  --chr-3:color-mix(in srgb,var(--texte) 60%,var(--surface-3)); --chr-4:color-mix(in srgb,var(--texte) 48%,var(--surface-3));
  --holo-bleu:#6eaaff;
  --f-titre:var(--font-display); --f-titre2:var(--font-display); --f-texte:var(--font-texte);
  --tex:url(effectif-texture-anthracite.webp);
  --tex-ex:url(effectif-texture-chrome.webp);
  position:relative;color:var(--blanc);font-family:var(--font-texte);font-size:16px;line-height:1.3;
  padding:8px 0 32px;overflow:hidden;text-align:left;
}
.me-effectif *,.me-effectif *::before,.me-effectif *::after{box-sizing:border-box}
.me-effectif button{font-family:inherit;margin:0;line-height:1;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
.me-effectif img{max-width:none;height:auto;border:0}
.me-effectif ul,.me-effectif li{margin:0;padding:0;list-style:none}
.me-effectif p{margin:0}
.me-effectif h4{margin:0;padding:0}
.me-effectif [hidden]{display:none!important}

.me-effectif .me-table{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:22px}
.me-effectif .me-tri{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.me-effectif .me-tri button,.me-effectif .me-btn{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:18px;line-height:1;border:1px solid var(--ligne);background:var(--encre);color:var(--pale);border-radius:999px;padding:9px 18px 8px;min-height:44px;cursor:pointer;height:auto;width:auto;box-shadow:none;transition:background-color .15s,border-color .15s,transform .15s}
.me-effectif .me-tri button[aria-pressed="true"]{background:var(--rouge);border-color:var(--rouge);color:var(--blanc)}
.me-effectif .me-btn.me-effet3d[aria-pressed="true"]{background:var(--blanc);border-color:var(--blanc);color:var(--noir)}
.me-effectif button:focus-visible,.me-effectif .me-carte:focus-visible{outline:2px solid var(--blanc);outline-offset:3px}
.me-effectif .me-zone-pile{position:relative;width:calc(340px * var(--k,1));height:calc(476px * var(--k,1));margin-top:26px}
.me-effectif .me-pile{position:absolute;left:0;top:0;width:340px;height:476px;transform:scale(var(--k,1));transform-origin:0 0;touch-action:pan-y;perspective:1400px}
.me-effectif .me-commandes{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}
.me-effectif .me-btn.me-rond{width:52px;height:52px;padding:0;display:grid;place-items:center;font-size:26px}
.me-effectif .me-btn.me-rouge{background:var(--rouge);border-color:var(--rouge);color:var(--blanc)}
.me-effectif .me-compteur{font-family:var(--font-display); letter-spacing: .01em;font-weight:700;font-size:22px;color:var(--gris);min-width:64px;text-align:center;font-variant-numeric:tabular-nums}
.me-effectif .me-compteur b{color:var(--blanc);font-weight:700}
.me-effectif .me-puces{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:620px}
.me-effectif .me-puce{font-family:var(--font-display); letter-spacing: .01em;font-weight:700;font-size:19px;width:48px;height:44px;padding:0;border-radius:10px;border:1px solid var(--ligne);background:var(--encre);color:var(--gris);cursor:pointer;font-variant-numeric:tabular-nums}
.me-effectif .me-puce.ex{color:var(--chrome);border-color:color-mix(in srgb,var(--texte) 34%,var(--surface))}
.me-effectif .me-puce[aria-current="true"]{color:var(--blanc);border-color:var(--rouge);box-shadow:inset 0 -3px 0 var(--rouge)}
.me-effectif .me-source{font-size:15px;color:var(--gris);text-align:center;line-height:1.5}
.me-effectif .me-source a{color:var(--pale)}

/* La carte, 340 x 476 */
.me-effectif .me-carte{position:absolute;inset:0;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s;will-change:transform;cursor:grab;border-radius:20px}
.me-effectif .me-carte.glisse{transition:none;cursor:grabbing}
.me-effectif .tour{position:absolute;inset:0;border-radius:20px}
.me-effectif .eclair{position:absolute;left:-22px;top:-22px;width:384px;height:520px;pointer-events:none;z-index:5}
.me-effectif .me-carte.dessus .tour{transform:perspective(1100px) rotateY(calc(var(--gx,0) * 11deg)) rotateX(calc(var(--gy,0) * -8deg))}
.me-effectif .face{position:absolute;inset:0;border-radius:20px;overflow:hidden;
  background:linear-gradient(155deg,rgba(255,255,255,.16),rgba(255,255,255,0) 30%,rgba(0,0,0,.25) 60%,rgba(255,255,255,.1)),var(--tex) center/cover,var(--surface);
  box-shadow:0 26px 50px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.14) inset}
.me-effectif .dos{display:none}
.me-effectif .me-carte.retournee .recto{display:none}
.me-effectif .me-carte.retournee .dos{display:block}
.me-effectif .cadre{position:absolute;inset:10px;border-radius:12px;overflow:hidden;background:var(--encre);box-shadow:0 0 0 1.5px color-mix(in srgb,var(--accent) 80%,transparent) inset,0 0 0 1px rgba(0,0,0,.6);display:flex;flex-direction:column;text-align:left}

/* Recto */
.me-effectif .art{position:relative;height:47%;flex:none;overflow:hidden;
  background:radial-gradient(120% 90% at 85% 0%, color-mix(in srgb,var(--accent-clair) 95%,transparent), color-mix(in srgb,var(--accent) 0%,transparent) 60%),radial-gradient(90% 70% at 0% 100%, color-mix(in srgb,var(--accent) 75%,transparent), color-mix(in srgb,var(--accent) 0%,transparent) 70%),linear-gradient(180deg,color-mix(in srgb,var(--accent-fonce) 62%,var(--noir)) 0%,color-mix(in srgb,var(--accent-fonce) 20%,var(--noir)) 100%)}
.me-effectif .art::before{content:"";position:absolute;inset:-20%;transform:translate(calc(var(--gx,0) * -12px), calc(var(--gy,0) * -9px));background:repeating-linear-gradient(115deg, rgba(255,255,255,0) 0 38px, rgba(255,255,255,.07) 38px 40px, rgba(255,255,255,0) 40px 92px);mix-blend-mode:screen}
.me-effectif .art .num{position:absolute;right:-4px;bottom:-24px;font-family:var(--font-display);font-weight:900;font-style:italic;font-size:250px;line-height:1;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.5);letter-spacing:-.02em;transform:translate(calc(var(--gx,0) * -20px), calc(var(--gy,0) * -12px))}
.me-effectif .art img{position:absolute;left:50%;top:7%;width:96%;max-width:none;transform:translateX(-50%) translate(calc(var(--gx,0) * 10px), calc(var(--gy,0) * 7px)) scale(1.04);filter:drop-shadow(0 10px 18px rgba(0,0,0,.55));
  -webkit-mask-image:linear-gradient(180deg,var(--fond) 70%,transparent 97%);mask-image:linear-gradient(180deg,var(--fond) 70%,transparent 97%)}
.me-effectif .art::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(180deg,color-mix(in srgb,var(--encre) 0%,transparent),var(--encre))}
.me-effectif .poste{position:absolute;left:10px;top:11px;z-index:2;background:var(--noir);color:var(--blanc);border:1px solid rgba(255,255,255,.22);font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:17px;line-height:1.1;letter-spacing:.04em;padding:4px 10px 2px;border-radius:3px;box-shadow:0 4px 10px rgba(0,0,0,.35)}
.me-effectif .eval{position:absolute;right:10px;top:10px;z-index:2;width:64px;padding:6px 0 5px;text-align:center;background:var(--noir);border:1.5px solid var(--rouge);border-radius:12px 12px 12px 2px;box-shadow:0 6px 14px rgba(0,0,0,.45)}
.me-effectif .eval span{display:block;font-family:var(--font-texte);font-weight:700;font-size:12px;line-height:1.2;letter-spacing:.14em;color:var(--pale);padding-left:.14em}
.me-effectif .eval b{display:block;font-family:var(--font-display);font-weight:700;font-size:33px;letter-spacing:.03em;line-height:.9;font-variant-numeric:tabular-nums;color:var(--blanc)}
.me-effectif .plaque{position:relative;z-index:2;margin-top:-30px;padding:0 14px}
.me-effectif .prenom{font-family:var(--font-texte);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:15px;color:var(--pale);line-height:1}
.me-effectif .nom{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-style:italic;font-size:42px;line-height:.95;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:.12em;color:var(--blanc)}
.me-effectif .club,.me-effectif .record{font-size:14px;line-height:1.3;color:var(--gris);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me-effectif .record{color:var(--pale)}
.me-effectif .record b{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:18px;color:var(--rouge-vif)}
.me-effectif .atouts{display:grid;gap:5px;padding:8px 12px 9px}
.me-effectif .atout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 24%,transparent),color-mix(in srgb,var(--accent) 5%,transparent));border-left:3px solid var(--rouge);border-radius:4px 8px 8px 4px;padding:4px 10px 3px}
.me-effectif .atout b{display:block;font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:20px;line-height:1;letter-spacing:.02em;color:var(--blanc)}
.me-effectif .atout small{display:block;font-size:13px;line-height:1.25;color:var(--pale);opacity:.85;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me-effectif .atout .v{font-family:var(--font-display);font-weight:700;font-size:31px;letter-spacing:.03em;line-height:1;font-variant-numeric:tabular-nums;color:var(--blanc)}
.me-effectif .atout .v i{font-style:normal;font-family:var(--font-display); letter-spacing: .01em;font-weight:700;font-size:17px;color:var(--pale);margin-left:1px}
.me-effectif .atout.verrou{background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 6px,rgba(255,255,255,0) 6px 12px);border-left-color:color-mix(in srgb,var(--texte) 28%,var(--surface))}
.me-effectif .atout.verrou b,.me-effectif .atout.verrou small,.me-effectif .atout.verrou .v{color:var(--texte-faible)}
.me-effectif .atout.verrou .v{font-size:24px}
.me-effectif .bande{margin-top:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--ligne);background:rgba(0,0,0,.4)}
.me-effectif .bande div{text-align:center;padding:6px 0 5px}
.me-effectif .bande div+div{border-left:1px solid var(--ligne)}
.me-effectif .bande b{display:block;font-family:var(--font-display);font-weight:700;font-size:28px;letter-spacing:.03em;line-height:1;font-variant-numeric:tabular-nums;color:var(--blanc)}
.me-effectif .bande span{display:block;font-family:var(--font-texte);font-weight:700;font-size:12px;line-height:1.2;letter-spacing:.1em;color:var(--pale);opacity:.8;margin-top:1px}
.me-effectif .pied{display:flex;justify-content:space-between;align-items:center;padding:6px 12px 11px;font-family:var(--font-texte);font-weight:700;font-size:11px;line-height:1.2;letter-spacing:.14em;color:var(--texte-faible)}
.me-effectif .pied b{color:#f42a4b;font-family:var(--font-display);font-weight:700;letter-spacing:.06em;font-size:15px}

/* Reflet et profondeur */
.me-effectif .reflet{position:absolute;inset:0;pointer-events:none;border-radius:20px;mix-blend-mode:screen;opacity:0;
  background:linear-gradient(115deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.28) 45%,color-mix(in srgb,var(--accent-clair) 22%,transparent) 52%,color-mix(in srgb,var(--holo-bleu) 16%,transparent) 58%,rgba(255,255,255,0) 70%);background-size:250% 250%}
.me-effectif .me-carte.dessus .reflet{opacity:var(--ref,0);background-position:calc(50% + var(--gx,0) * 45%) calc(50% + var(--gy,0) * 45%)}
.me-effectif .poste,.me-effectif .eval,.me-effectif .ex-stamp{translate:calc(var(--gx,0) * 16px) calc(var(--gy,0) * 10px)}

/* Cartes EX */
.me-effectif .ex .face{background:linear-gradient(155deg,rgba(255,255,255,.3),rgba(255,255,255,0) 35%,rgba(0,0,0,.15) 60%,rgba(255,255,255,.25)),var(--tex-ex) center/cover,var(--chr-3);
  box-shadow:0 0 0 1px rgba(255,255,255,.5) inset,0 0 28px color-mix(in srgb,var(--accent) 55%,transparent),0 26px 50px rgba(0,0,0,.6)}
.me-effectif .ex .face::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,color-mix(in srgb,var(--accent-clair) 60%,transparent),rgba(255,255,255,.05) 25%,color-mix(in srgb,var(--holo-bleu) 50%,transparent) 50%,rgba(255,255,255,.05) 75%,color-mix(in srgb,var(--accent-clair) 60%,transparent));background-size:300% 300%;mix-blend-mode:overlay;animation:me-foil 6s linear infinite}
@keyframes me-foil{to{background-position:300% 300%}}
.me-effectif .ex .cadre{inset:12px;box-shadow:0 0 0 2px var(--texte) inset,0 0 0 4px var(--rouge) inset,0 0 18px rgba(0,0,0,.7)}
.me-effectif .ex .art{height:45%}
.me-effectif .ex .art .num{-webkit-text-stroke:2px rgba(255,255,255,.85)}
.me-effectif .ex-stamp{position:absolute;left:10px;top:2px;z-index:3;font-family:var(--font-display); letter-spacing: .01em;font-weight:900;font-style:italic;font-size:66px;line-height:1;padding:0 .24em 0 .04em;
  background:linear-gradient(170deg,var(--texte) 0%,var(--chr-2) 35%,var(--chr-4) 52%,var(--chr-1) 70%,var(--chr-3) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 0 var(--rouge)) drop-shadow(0 8px 12px rgba(0,0,0,.55))}
.me-effectif .ex .poste{top:72px}
.me-effectif .ex .nom{padding-right:.26em;background:linear-gradient(180deg,var(--texte) 0%,var(--chr-1) 40%,var(--chr-3) 58%,var(--texte) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 var(--rouge))}
.me-effectif .ex .eval{border-color:var(--texte);background:linear-gradient(160deg,var(--surface-2),var(--noir))}
.me-effectif .ex .atout{background:linear-gradient(90deg,rgba(255,255,255,.16),color-mix(in srgb,var(--accent) 14%,transparent));border-left-color:var(--texte)}
.me-effectif .holo{position:absolute;inset:0;pointer-events:none;border-radius:20px;mix-blend-mode:screen;opacity:.7;
  background:linear-gradient(115deg,rgba(255,255,255,0) 38%,rgba(255,255,255,.4) 46%,color-mix(in srgb,var(--accent-clair) 30%,transparent) 50%,color-mix(in srgb,var(--holo-bleu) 25%,transparent) 54%,rgba(255,255,255,0) 62%);
  background-size:300% 300%;animation:me-holo 4.5s linear infinite}
@keyframes me-holo{0%{background-position:120% 120%}60%,100%{background-position:-60% -60%}}
.me-effectif .me-carte.ex.dessus .face{animation:me-lueur 2.6s ease-in-out infinite alternate}
@keyframes me-lueur{from{box-shadow:0 0 0 1px rgba(255,255,255,.5) inset,0 0 16px color-mix(in srgb,var(--accent) 35%,transparent),0 26px 50px rgba(0,0,0,.6)}to{box-shadow:0 0 0 1px rgba(255,255,255,.7) inset,0 0 40px color-mix(in srgb,var(--accent-clair) 90%,transparent),0 26px 50px rgba(0,0,0,.6)}}

/* Verso */
.me-effectif .dos .cadre{padding:14px 15px 20px;gap:8px;background:radial-gradient(100% 60% at 100% 0%, color-mix(in srgb,var(--accent) 35%,transparent), color-mix(in srgb,var(--accent) 0%,transparent) 60%), var(--encre)}
.me-effectif .dos-tete{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.me-effectif .dos-tete .nom{font-size:38px}
.me-effectif .dos-tete .n{font-family:var(--font-display); letter-spacing: .01em;font-weight:900;font-style:italic;font-size:46px;color:transparent;-webkit-text-stroke:1.5px var(--rouge);line-height:.9;padding-right:.1em}
.me-effectif .fiche{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.me-effectif .fiche div{background:rgba(255,255,255,.05);border-radius:8px;padding:6px 8px}
.me-effectif .fiche span{display:block;font-family:var(--font-texte);font-weight:700;font-size:12px;line-height:1.2;letter-spacing:.1em;color:var(--gris);text-transform:uppercase}
.me-effectif .fiche b{display:block;font-family:var(--font-display); letter-spacing: .01em;font-weight:700;font-size:21px;line-height:1.1;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--blanc)}
.me-effectif .dos h4{font-family:var(--font-texte);font-weight:700;font-size:12px;line-height:1.2;letter-spacing:.16em;color:var(--gris);text-transform:uppercase}
.me-effectif .barres{display:grid;gap:6px}
.me-effectif .barre{display:grid;grid-template-columns:70px minmax(0,1fr) 104px;align-items:center;gap:8px;font-size:15px;line-height:1.2}
.me-effectif .barre .l{color:var(--pale)}
.me-effectif .barre .j{height:8px;border-radius:9px;background:var(--surface-3);overflow:hidden}
.me-effectif .barre .j i{display:block;height:100%;background:linear-gradient(90deg,var(--rouge-sombre),var(--rouge-vif));border-radius:9px}
.me-effectif .barre .c{text-align:right;font-variant-numeric:tabular-nums;color:var(--gris);font-size:14px}
.me-effectif .barre .c b{color:var(--blanc);font-family:var(--font-display); letter-spacing: .01em;font-weight:700;font-size:19px;margin-right:4px}
.me-effectif .def{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;text-align:center}
.me-effectif .def div{border:1px solid var(--ligne);border-radius:8px;padding:5px 0 4px}
.me-effectif .def b{display:block;font-family:var(--font-display);font-weight:700;font-size:25px;letter-spacing:.03em;line-height:1;color:var(--blanc)}
.me-effectif .def span{display:block;font-family:var(--font-texte);font-weight:700;font-size:11px;line-height:1.2;letter-spacing:.08em;color:var(--gris);margin-top:2px}
.me-effectif .parcours{display:grid;gap:3px;font-size:15px;line-height:1.15}
.me-effectif .parcours li{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:8px;color:var(--pale)}
.me-effectif .parcours li span:first-child{color:var(--gris);font-variant-numeric:tabular-nums}
.me-effectif .parcours li span:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me-effectif .parcours li span:last-child{color:var(--gris)}
.me-effectif .dos .lien{margin-top:auto;font-size:14px;color:var(--gris)}
.me-effectif .dos .lien a{color:var(--blanc);text-decoration:underline}
.me-effectif .vide{font-size:15px;color:var(--pale);line-height:1.45}

/* Vue d'ensemble */
.me-effectif .me-ensemble{width:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:16px;max-width:1120px}
.me-effectif .mini{color:var(--blanc);font:inherit;text-align:left;line-height:normal;text-transform:none;position:relative;width:min(140px,calc(50% - 8px));aspect-ratio:5/7;max-width:100%;border:0;padding:0;background:none;cursor:pointer;border-radius:14px;box-shadow:none}
.me-effectif .mini .face{border-radius:14px;box-shadow:0 12px 26px rgba(0,0,0,.5)}
.me-effectif .mini .contenu{position:absolute;inset:0;width:340px;height:476px;transform-origin:0 0}
.me-effectif .mini:hover .face{box-shadow:0 0 0 2px var(--rouge),0 12px 26px rgba(0,0,0,.5)}

@media (prefers-reduced-motion:reduce){
  .me-effectif .me-carte,.me-effectif .tour{transition:none}
  .me-effectif .reflet,.me-effectif .holo{display:none}
  .me-effectif .me-carte.dessus .tour,.me-effectif .art::before,.me-effectif .art .num{transform:none}
  .me-effectif .art img{transform:translateX(-50%)}
  .me-effectif .poste,.me-effectif .eval,.me-effectif .ex-stamp{translate:none}
  .me-effectif .ex .face::before,.me-effectif .me-carte.ex.dessus .face{animation:none}
}

/* Cartes du staff : même habillage que les cartes joueurs, sans stats ni retournement. */
.me-staff{width:100%;padding:8px 0 40px}
.me-staff .me-staff-rang{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;max-width:1240px;margin:0 auto;padding:6px 0 14px}
.me-staff .sc{position:relative;flex:0 0 auto;width:min(280px,calc((100% - 66px) / 4));aspect-ratio:340/476;max-width:100%;border-radius:16px;outline:none}
.me-staff .sc-in{position:absolute;left:0;top:0;width:340px;height:476px;transform-origin:0 0;transform:scale(var(--k,.8))}
.me-staff .tour{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.me-staff .sc.survol .tour{transition:transform .08s linear;transform:perspective(1100px) rotateY(calc(var(--gx,0) * 10deg)) rotateX(calc(var(--gy,0) * -8deg))}
.me-staff .art{height:80%}
.me-staff .art .num{font-size:220px;right:-2px;bottom:-26px;letter-spacing:-.01em;padding-right:.08em}
.me-staff .art img{top:4%}
.me-staff .plaque{margin-top:-46px}
.me-staff .nom{font-size:46px}
.me-staff .role{margin-top:6px;font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:25px;line-height:1;letter-spacing:.04em;color:var(--rouge-vif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me-staff .pied{margin-top:auto;padding-top:10px}
.me-staff .reflet{opacity:var(--ref,0);background-position:calc(50% + var(--gx,0) * 45%) calc(50% + var(--gy,0) * 45%)}
@media (max-width:1023px) and (min-width:768px){
  .me-staff .sc{width:min(280px,calc((100% - 22px) / 2))}
}
@media (max-width:767px){
  .me-staff .me-staff-rang{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:6px 11vw 14px;gap:14px}
  .me-staff .me-staff-rang::-webkit-scrollbar{display:none}
  .me-staff .sc{width:min(78vw,290px);scroll-snap-align:center}
}
@media (prefers-reduced-motion:reduce){
  .me-staff .tour,.me-staff .sc.survol .tour{transition:none;transform:none}
}

/* ───────── habillage de la section : en-tête, sous-titres, petits plaisirs ───────── */
.effectif-section { overflow: hidden; }
.effectif-tete { display: grid; gap: 18px 48px; align-items: end; padding: clamp(22px, 4vw, 40px); border-radius: 22px; background: radial-gradient(70% 120% at 100% 0%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%), var(--surface); border: 1px solid var(--ligne); }
.effectif-tete .chapo { margin: 12px 0 0; color: var(--texte); }
.effectif-texte { margin: 0; color: var(--texte-doux); font-size: 18px; max-width: 520px; }
@media (min-width: 900px) { .effectif-tete { grid-template-columns: 1.1fr 1fr; } }
.effectif-sous { font-family: var(--font-texte); font-weight: 700; font-size: 15px; text-transform: uppercase; letter-spacing: .22em; text-align: center; color: var(--texte); margin: clamp(34px, 5vw, 56px) 0 6px; line-height: 1; }
.effectif-sous::after { content: ""; display: block; width: 44px; height: 3px; margin: 12px auto 0; background: var(--accent); transform: skewX(var(--incline)); }
.effectif-liste { list-style: none; padding: 0; text-align: center; color: var(--texte-doux); }
.me-effectif .me-tri button:hover, .me-effectif .me-btn:hover { border-color: var(--texte); transform: translateY(-2px); }
.me-effectif .me-tri button[aria-pressed="true"]:hover, .me-effectif .me-btn.me-rouge:hover { border-color: var(--accent-clair); }
.me-effectif .me-carte.dessus:not(.glisse):hover { translate: 0 -6px; }
.me-effectif .me-carte { transition: transform .5s cubic-bezier(.2, .8, .2, 1), opacity .4s, translate .25s ease; }
.me-effectif .me-puce { transition: color .15s, border-color .15s, transform .15s; }
.me-effectif .me-puce:hover { color: var(--texte); border-color: var(--accent); transform: translateY(-2px); }
.me-staff .sc { transition: translate .25s ease; }
.me-staff .sc:hover { translate: 0 -8px; }
@media (prefers-reduced-motion: reduce) {
  .me-effectif .me-carte.dessus:not(.glisse):hover, .me-staff .sc:hover, .me-effectif .me-puce:hover, .me-effectif .me-tri button:hover, .me-effectif .me-btn:hover { translate: none; transform: none; }
}
/* En-tête « module » : comme les modules de l'accueil, posé sur le fond, sans carte grise */
.effectif-tete--module { margin-bottom: 4px; }
