/* ===== Rubrique « Le Formateur » ===== */
.fm{--fm-bg:#F5F6F8;--fm-card:#fff;--fm-line:#E3E6EC;--fm-tx:#121722;--fm-mut:#5A6472;--fm-soft:#F0F2F5;padding:clamp(70px,9vw,120px) 0;background:var(--fm-bg);color:var(--fm-tx)}
.fm--dark{--fm-bg:transparent;--fm-card:rgba(255,255,255,.035);--fm-line:rgba(255,255,255,.09);--fm-tx:#fff;--fm-mut:#A9B2C0;--fm-soft:rgba(255,255,255,.05);padding:clamp(58px,8vw,92px) 0 0}
.fm-in{max-width:1180px;margin:0 auto;padding:0 clamp(18px,4vw,40px)}
.fm--dark .fm-in{padding:0}
.fm-top{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(30px,5vw,70px);align-items:center}
@media(max-width:900px){.fm-top{grid-template-columns:1fr}}
.fm-media{position:relative;padding:0 8% 9% 0}
.fm-portrait{position:relative;margin:0;border-radius:26px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 80px -40px rgba(11,14,19,.55)}
.fm-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block;transition:transform 1.2s cubic-bezier(.19,1,.22,1)}
.fm-portrait:hover img{transform:scale(1.04)}
.fm-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(11,14,19,.55))}
.fm-badge{position:absolute;left:18px;bottom:18px;z-index:2;display:inline-flex;align-items:center;gap:8px;font-family:var(--kh);font-weight:600;font-size:15px;color:#fff;background:rgba(175,30,45,.92);backdrop-filter:blur(6px);padding:8px 14px;border-radius:12px}
.fm-badge i{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.25)}
.fm-float{position:absolute;right:0;bottom:0;width:46%;margin:0;border-radius:18px;overflow:hidden;aspect-ratio:4/3;border:5px solid var(--fm-bg);box-shadow:0 26px 50px -24px rgba(11,14,19,.6)}
.fm--dark .fm-float{border-color:#0B0E13}
.fm-float img{width:100%;height:100%;object-fit:cover;display:block}
.fm-eb{font-family:var(--kh);font-weight:600;font-size:12.5px;letter-spacing:.28em;text-transform:uppercase;color:#E6314A}
.fm-txt h2{font-size:clamp(36px,5vw,62px);line-height:.95;margin:12px 0 8px;color:var(--fm-tx)}
.fm-role{font-family:var(--kh);font-weight:600;font-size:clamp(17px,1.9vw,21px);color:#AF1E2D;margin-bottom:18px}
.fm--dark .fm-role{color:#F2566B}
.fm-txt p{font-size:16px;line-height:1.75;color:var(--fm-mut);margin-bottom:14px;max-width:58ch}
.fm-chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 24px}
.fm-chips span{font-family:var(--kh);font-weight:500;font-size:14px;padding:6px 13px;border-radius:999px;background:var(--fm-card);border:1px solid var(--fm-line);color:var(--fm-tx)}
.fm-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--kh);font-weight:600;font-size:16px;color:#fff;background:linear-gradient(120deg,#AF1E2D,#D7263D);padding:12px 22px;border-radius:999px;box-shadow:0 16px 34px -16px rgba(175,30,45,.9);transition:transform .2s}
.fm-link:hover{transform:translateY(-2px)}
.fm-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.fm-h{font-size:clamp(24px,3vw,32px);margin:clamp(48px,6vw,70px) 0 18px;color:var(--fm-tx)}
.fm-exp{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:980px){.fm-exp{grid-template-columns:1fr 1fr}}@media(max-width:520px){.fm-exp{grid-template-columns:1fr}}
.fm-card{background:var(--fm-card);border:1px solid var(--fm-line);border-radius:18px;padding:20px;transition:transform .35s cubic-bezier(.19,1,.22,1),border-color .3s}
.fm-card:hover{transform:translateY(-4px);border-color:rgba(230,49,74,.45)}
.fm-ic{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#AF1E2D,#D7263D);margin-bottom:14px;box-shadow:0 10px 22px -10px rgba(230,49,74,.8)}
.fm-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.fm-card b{display:block;font-family:var(--kh);font-weight:600;font-size:18px;line-height:1.15;color:var(--fm-tx);margin-bottom:6px}
.fm-card p{font-size:14px;line-height:1.6;color:var(--fm-mut)}
.fm-two{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,4vw,48px)}
@media(max-width:900px){.fm-two{grid-template-columns:1fr}}
.fm-eng{list-style:none;display:grid;gap:10px}
.fm-eng li{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:16px 18px;border-radius:16px;background:var(--fm-card);border:1px solid var(--fm-line)}
.fm-eng .n{font-family:var(--kh);font-weight:700;font-size:26px;line-height:1;color:#E6314A}
.fm-eng b{display:block;font-family:var(--kh);font-weight:600;font-size:18px;color:var(--fm-tx);margin-bottom:3px}
.fm-eng p{font-size:14px;line-height:1.6;color:var(--fm-mut)}
.fm-books{display:grid;gap:12px}
.fm-book{display:grid;grid-template-columns:70px 1fr;gap:16px;align-items:center;padding:14px;border-radius:16px;background:var(--fm-card);border:1px solid var(--fm-line)}
.fm-book .cv{position:relative;width:70px;height:94px;border-radius:4px 8px 8px 4px;display:flex;align-items:flex-end;padding:8px 7px;overflow:hidden;box-shadow:inset 4px 0 0 rgba(0,0,0,.25),0 14px 24px -12px rgba(0,0,0,.6)}
.fm-book .cv i{font-style:normal;font-family:var(--kh);font-weight:700;font-size:11px;line-height:1.05;color:#fff;position:relative}
.fm-book .cv::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 70% at 100% 0%,rgba(255,255,255,.22),transparent 60%)}
.fm-book.b0 .cv{background:linear-gradient(160deg,#AF1E2D,#5E0D16)}
.fm-book.b1 .cv{background:linear-gradient(160deg,#0E7C66,#064236)}
.fm-book.b2 .cv{background:linear-gradient(160deg,#1C2533,#0B0E13)}
.fm-book b{display:block;font-family:var(--kh);font-weight:600;font-size:18px;color:var(--fm-tx)}
.fm-book p{font-size:13.5px;line-height:1.55;color:var(--fm-mut)}
.fm-gal{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:150px;gap:12px}
.fm-gal figure{position:relative;margin:0;border-radius:18px;overflow:hidden;background:#1C2533}
.fm-gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s cubic-bezier(.19,1,.22,1)}
.fm-gal figure:hover img{transform:scale(1.06)}
.fm-gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;font-family:var(--kh);font-weight:600;font-size:15px;color:#fff;background:linear-gradient(180deg,transparent,rgba(11,14,19,.85));transform:translateY(6px);opacity:.92;transition:transform .4s,opacity .4s}
.fm-gal figure:hover figcaption{transform:none;opacity:1}
.fm-gal .g-a{grid-column:span 2;grid-row:span 2}
.fm-gal .g-b{grid-column:span 2;grid-row:span 2}
.fm-gal .g-c{grid-column:span 2;grid-row:span 3}
.fm-gal .g-d{grid-column:span 2;grid-row:span 1}
.fm-gal .g-e{grid-column:span 2;grid-row:span 1}
.fm-gal .g-c img{object-position:50% 15%}
@media(max-width:760px){.fm-gal{grid-template-columns:1fr 1fr;grid-auto-rows:140px}.fm-gal .g-a,.fm-gal .g-b,.fm-gal .g-d,.fm-gal .g-e{grid-column:span 2;grid-row:span 2}.fm-gal .g-c{grid-column:span 2;grid-row:span 3}}
