/* ---------- Qui sommes-nous (commun) ---------- */
/* ---------- Histoire ---------- */
.frise{margin:0 auto;position:relative;max-width:1000px}
.etapes{list-style:none;margin:0;padding:0}
.frise::before,.frise-remplie{content:"";position:absolute;left:50%;top:0;width:4px;margin-left:-2px;border-radius:2px}
.frise::before{bottom:0;background:var(--gris-10)}
.frise-remplie{height:var(--remplissage,0%);background:var(--vert);transition:height .15s linear}
.etape{position:relative;width:50%;padding:0 var(--e-48) var(--e-48) 0;box-sizing:border-box}
.etape:nth-child(odd){margin-left:50%;padding:0 0 var(--e-48) var(--e-48)}
.etape::before{content:"";position:absolute;top:10px;right:-9px;width:18px;height:18px;border-radius:50%;background:var(--surface-claire);border:4px solid var(--vert);box-sizing:border-box;z-index:1}
.etape:nth-child(odd)::before{left:-9px;right:auto}
.etape-carte{display:flex;flex-direction:column;gap:var(--e-8)}
.etape:not(:nth-child(odd)) .etape-carte{text-align:right;align-items:flex-end}
.etape-date{font-size:var(--t-xl);font-weight:800;line-height:1;color:var(--vert-fonce)}
.etape h2{margin:0;font-size:var(--t-l);line-height:var(--i-ajuste)}
.etape p{margin:0;color:var(--encre-douce);line-height:var(--i-base)}
.etape .ph{aspect-ratio:16/9;border-radius:var(--r);width:100%;margin-top:var(--e-8)}
.directeurs{margin-top:var(--e-64);padding:var(--e-32);border-radius:var(--r);background:var(--sable-clair)}
.directeurs h2{margin:0 0 var(--e-24);font-size:var(--t-xl)}
.directeurs ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--e-16)}
.directeurs li{display:flex;flex-direction:column;gap:4px;padding-top:var(--e-12);border-top:3px solid var(--sable-point)}
.directeurs li span{font-size:var(--t-s);color:var(--encre-douce)}
@media (max-width:900px){.directeurs ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.frise::before,.frise-remplie{left:9px}.etape,.etape:nth-child(odd){width:auto;margin-left:0;padding:0 0 var(--e-32) var(--e-48)}.etape::before,.etape:nth-child(odd)::before{left:0;right:auto}.etape:not(:nth-child(odd)) .etape-carte{text-align:left;align-items:flex-start}}
@media (max-width:520px){.directeurs ol{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.frise-remplie{transition:none}}
