/* Projets en cours */
.etabli{list-style:none;margin-top:clamp(28px,5vw,48px);margin-bottom:0;padding:0;display:flex;flex-direction:column;gap:24px}
.fiche{background:var(--card);border-radius:var(--r);border-top:10px solid var(--accent);padding:24px;
  display:grid;grid-template-columns:clamp(96px,20vw,220px) minmax(0,1fr);gap:clamp(16px,3vw,36px);align-items:start}
.fiche img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r);display:block}
.fiche-body{display:flex;flex-direction:column;gap:10px;min-width:0}
.fiche-kind{margin:0;font-size:var(--fs-xs);font-weight:700;color:var(--muted)}
.fiche h2{margin:0;font:700 var(--fs-xl)/1.1 var(--display)}
.fiche-desc{margin:0;max-width:56ch;line-height:1.5}
.etapes{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-width:560px}
.etapes li{display:flex;flex-direction:column;gap:8px;font-size:var(--fs-xs);line-height:1.3;color:var(--muted)}
.etapes li::before{content:"";height:10px;border-radius:999px;background:var(--rule)}
.etapes li.fait::before,.etapes li[aria-current]::before{background:var(--accent)}
.etapes li[aria-current]{font-weight:700;color:var(--ink)}
.etapes li[aria-current]::before{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 28%,transparent)}
@media (max-width:600px){
  .fiche{padding:18px;grid-template-columns:88px minmax(0,1fr)}
  .etapes li:not([aria-current]){font-size:0;line-height:0;gap:0}
  .etapes li[aria-current]{white-space:nowrap}
}
.plead{max-width:none}
.fiche-desc{text-align:justify;hyphens:auto;-webkit-hyphens:auto}

/* téléphone : texte aligné à gauche plutôt que justifié */
@media (max-width:600px){.fiche-desc{text-align:left;hyphens:manual;-webkit-hyphens:manual}}

/* bandeau en biais sur une vignette (ex. « Saison 2 ») */
.ruban{position:relative;display:block;overflow:hidden;border-radius:var(--r)}
.ruban::after{content:attr(data-ruban);position:absolute;top:16%;left:-32%;width:100%;transform:rotate(-45deg);
  padding:5px 0;text-align:center;background:#b3261e;color:#fff;font:700 var(--fs-xs)/1.2 var(--display);
  box-shadow:0 4px 10px -4px rgba(14,26,40,.5);pointer-events:none}
@media (max-width:600px){.ruban::after{padding:2px 0;font-size:11px}}
