/* ============================================================
   pages.css — pages intérieures de la reprise (24/09/2026)
   Hero partagé (HeroPage), sections tonales, page Impact.
   Tailles, espacements et mouvements : variables de _tokens.css uniquement.
   ============================================================ */

/* ---------- HERO DES PAGES INTÉRIEURES ---------- */
.hp{position:relative;overflow:hidden;padding:clamp(128px,16vh,176px) 0 var(--sp-9)}
.hp--teal{background:var(--teal);color:var(--off-white);--trait-color:var(--teal-dark)}
.hp--deep{background:var(--teal-dark);color:var(--off-white);--trait-color:#164B53}
.hp--gold{background:var(--gold);color:var(--teal-deep);--trait-color:var(--gold-secondary)}
.hp__trait{opacity:.85}
.hp__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(32px,5vw,88px);align-items:center}
.hp__crumb{font-size:var(--fs-small);margin-bottom:var(--sp-6);opacity:.85}
.hp__crumb a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.hp__kicker{display:block;margin-bottom:var(--sp-5);color:var(--gold-light)}
.hp--gold .hp__kicker{color:var(--teal-dark)}
.hp__t{margin:0;font-size:var(--fs-h1);font-weight:700;text-transform:uppercase;line-height:var(--lh-display);letter-spacing:var(--tracking-tight);color:inherit;max-width:14ch}
.hp__t em{display:block;color:var(--gold-light)}
.hp--gold .hp__t em{color:var(--teal-dark)}
.hp__proof{margin:var(--sp-6) 0 0;font-size:var(--fs-lede);line-height:1.5;max-width:48ch;color:inherit;opacity:.92}
.hp__more{margin-top:var(--sp-6)}
.hp__pastilles{list-style:none;margin:0 0 var(--sp-5);padding:0;display:flex;flex-wrap:wrap;gap:8px}
.hp--center .hp__pastilles{justify-content:center}
.hp__pastilles li{padding:5px 14px;border-radius:999px;background:var(--gold);color:var(--ink);font-size:13px;font-weight:700;letter-spacing:.08em}
.hp__note{margin:var(--sp-5) 0 0;font-size:var(--fs-small);opacity:.8;max-width:56ch}

/* ---------- SECTIONS TONALES (une famille de couleur par section) ---------- */
.isec{padding:var(--section) 0}
.isec--white{background:var(--off-white);color:var(--ink)}
.isec--cream{background:var(--cream);color:var(--ink)}
.isec--gold{background:var(--gold-pale);color:var(--teal-dark)}
.isec--teal{background:var(--teal);color:var(--off-white)}
.isec__h{margin:0;font-size:var(--fs-h2);font-weight:700;text-transform:uppercase;line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);color:inherit;max-width:18ch}
.isec__h em{color:var(--teal)}
.isec--gold .isec__h em{color:var(--gold-ink)}
.isec--teal .isec__h em{color:var(--gold-light)}
.isec__lede{margin:var(--sp-5) 0 0;font-size:var(--fs-lede);line-height:1.55;max-width:var(--measure);color:inherit}
.isec__note{margin:var(--sp-7) 0 0;font-size:var(--fs-small);line-height:1.5;color:var(--ink-mid);max-width:70ch}
.isec--gold .isec__note{color:var(--teal-dark)}
.reveal{opacity:0;transform:translateY(28px)}
.reveal.is-in{opacity:1;transform:none;transition:opacity var(--dur-3) var(--ease-out),transform var(--dur-4) var(--ease-out)}

/* ---------- IMPACT : graphiques ---------- */
.icharts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,80px);margin-top:var(--sp-8)}
.ichart{margin:0}
.ichart__t{font-size:var(--fs-h3);font-weight:700;text-transform:uppercase;line-height:var(--lh-snug);color:var(--ink);margin-bottom:var(--sp-6)}
.ichart__plot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-5);height:clamp(240px,28vw,340px);align-items:end;border-bottom:1.5px solid var(--line-strong)}
.ibar{position:relative;display:grid;grid-template-rows:auto 1fr;height:100%;outline-offset:6px;cursor:default}
.ibar__v{font-size:var(--fs-h3);font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;padding-bottom:var(--sp-2)}
.ibar__track{position:relative;display:flex;align-items:flex-end}
.ibar__fill{display:block;width:100%;max-width:72px;background:var(--teal);border-radius:4px 4px 0 0;transition:background var(--dur-2) var(--ease-quart)}
.ibar:hover .ibar__fill,.ibar:focus-visible .ibar__fill{background:var(--teal-dark)}
.ibar__l{position:absolute;left:0;bottom:calc(-1 * var(--sp-6));font-size:var(--fs-small);font-weight:700;color:var(--ink-mid)}
.ibar__tip{position:absolute;left:0;bottom:calc(100% + 8px);z-index:3;width:max-content;max-width:220px;padding:10px 12px;border-radius:8px;background:var(--teal-deep);color:var(--off-white);font-size:var(--fs-small);line-height:1.35;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity var(--dur-2) var(--ease-quart),transform var(--dur-2) var(--ease-quart)}
.ibar:hover .ibar__tip,.ibar:focus-visible .ibar__tip{opacity:1;transform:none}
.ichart__table{margin-top:var(--sp-8);font-size:var(--fs-small)}
.ichart__table summary{cursor:pointer;color:var(--teal);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.ichart__table table{margin-top:var(--sp-4);border-collapse:collapse;width:100%}
.ichart__table th,.ichart__table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
@media(max-width:900px){.icharts{grid-template-columns:1fr}}

/* ---------- IMPACT : dans la durée ---------- */
.ifaits{list-style:none;margin:var(--sp-8) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px)}
.ifait{display:flex;flex-direction:column;gap:var(--sp-3);padding-top:var(--sp-5);border-top:2px solid rgba(15,60,68,.2)}
.ifait__n{font-size:var(--fs-stat);font-weight:700;line-height:.95;letter-spacing:-.03em;color:var(--teal-dark);font-variant-numeric:tabular-nums}
.ifait__t{font-size:var(--fs-h3);font-weight:700;line-height:var(--lh-snug);color:var(--teal-dark)}
.ifait__d{font-size:var(--fs-body);line-height:var(--lh-normal);color:var(--teal-dark);opacity:.85}
@media(max-width:900px){.ifaits{grid-template-columns:1fr}}

/* ---------- IMPACT : projet par projet ---------- */
.iprojets{list-style:none;margin:var(--sp-8) 0 0;padding:0}
.iprojet{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,2fr) minmax(0,1fr);gap:var(--sp-6);align-items:baseline;padding:var(--sp-6) 0;border-top:1.5px solid var(--line-strong);color:var(--ink);text-decoration:none}
.iprojets li:last-child .iprojet{border-bottom:1.5px solid var(--line-strong)}
.iprojet__n{font-size:var(--fs-h2);font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--teal);white-space:nowrap;font-variant-numeric:tabular-nums}
.iprojet__body{display:flex;flex-direction:column;gap:var(--sp-2)}
.iprojet__t{font-size:var(--fs-h3);font-weight:700;line-height:var(--lh-snug)}
.iprojet__d{font-size:var(--fs-body);color:var(--ink-mid);max-width:56ch}
.iprojet__name{justify-self:end;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:var(--fs-small);color:var(--teal)}
.iprojet:hover .iprojet__n{color:var(--teal-dark)}
.iprojet:hover .arrow{transform:translateX(5px)}
@media(max-width:900px){.iprojet{grid-template-columns:1fr;gap:var(--sp-2)}.iprojet__name{justify-self:start;margin-top:var(--sp-2)}}

/* ---------- IMPACT : 2025 ---------- */
.i2025{list-style:none;margin:var(--sp-8) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-6)}
.i2025 li{display:flex;flex-direction:column;gap:var(--sp-3)}
.i2025__n{font-size:var(--fs-stat);font-weight:700;line-height:.95;letter-spacing:-.03em;color:var(--gold-light);font-variant-numeric:tabular-nums;white-space:nowrap}
.i2025__l{font-size:var(--fs-body);line-height:1.45;color:var(--off-white);max-width:24ch}
.i2025__lnk{display:inline-flex;gap:8px;margin-top:var(--sp-8);color:var(--off-white);font-weight:700;text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--gold-light);text-decoration-thickness:2px}
.i2025__lnk:hover .arrow{transform:translateX(5px)}
@media(max-width:900px){.i2025{grid-template-columns:1fr 1fr}}

/* ---------- IMPACT : rapports ---------- */
.irapports{list-style:none;margin:var(--sp-8) 0 0;padding:0}
.irapport{display:grid;grid-template-columns:minmax(120px,.6fr) minmax(0,2fr) auto;gap:var(--sp-6);align-items:center;padding:var(--sp-6) 0;border-top:1.5px solid var(--line-strong);color:var(--ink);text-decoration:none}
.irapports li:last-child .irapport{border-bottom:1.5px solid var(--line-strong)}
.irapport__y{font-size:var(--fs-h1);font-weight:700;line-height:.9;letter-spacing:-.04em;color:var(--teal-dark);font-variant-numeric:tabular-nums;transition:color var(--dur-2) var(--ease-quart)}
.irapport__r{font-size:var(--fs-body);line-height:1.5;color:var(--ink-mid);max-width:58ch}
.irapport__dl{font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:var(--fs-small);color:var(--teal);white-space:nowrap}
.irapport:hover .irapport__y{color:var(--teal)}
@media(max-width:900px){.irapport{grid-template-columns:1fr;gap:var(--sp-2)}}

/* ---------- IMPACT : prix ---------- */
.iprix{list-style:none;margin:var(--sp-8) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:var(--sp-6) var(--sp-7)}
.iprix li{display:flex;flex-direction:column;gap:var(--sp-1);padding-top:var(--sp-4);border-top:2px solid var(--gold)}
.iprix__y{font-size:var(--fs-small);font-weight:700;color:var(--gold-ink);font-variant-numeric:tabular-nums}
.iprix__t{font-size:var(--fs-body);font-weight:700;color:var(--ink);line-height:1.3}
.iprix__o{font-size:var(--fs-small);color:var(--ink-mid);line-height:1.45}
.ichart__t{min-height:calc(2em * 1.15)}

/* ---------- ACTUALITÉS : presse ---------- */
.apfilters{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin:var(--sp-7) 0 var(--sp-6)}
.apfilter{font:inherit;font-size:var(--fs-small);font-weight:700;padding:10px 18px;border-radius:999px;border:1.5px solid var(--teal-tint-2);background:transparent;color:var(--teal-dark);cursor:pointer;transition:background var(--dur-2) var(--ease-quart),color var(--dur-2) var(--ease-quart),border-color var(--dur-2)}
.apfilter:hover{border-color:var(--teal)}
.apfilter.is-on{background:var(--teal);border-color:var(--teal);color:var(--off-white)}
.aplist{list-style:none;margin:0;padding:0}
.apitem{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(0,2.4fr) minmax(0,.9fr);gap:var(--sp-5);align-items:baseline;padding:var(--sp-5) 0;border-top:1px solid var(--line-strong);color:var(--ink);text-decoration:none}
.aplist li:last-child .apitem{border-bottom:1px solid var(--line-strong)}
.apitem__meta{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-small);color:var(--ink-mid)}
.apitem__src{font-weight:700;color:var(--ink)}
.apitem__t{font-size:var(--fs-lede);font-weight:600;line-height:1.35;transition:color var(--dur-2) var(--ease-quart)}
.apitem__proj{justify-self:end;text-align:right;font-size:var(--fs-small);font-weight:700;color:var(--teal)}
.apitem:hover .apitem__t{color:var(--teal)}
@media(max-width:900px){.apitem{grid-template-columns:1fr;gap:var(--sp-2)}.apitem__proj{justify-self:start;text-align:left}}

.apmore{margin-top:var(--sp-6);font:inherit;font-weight:700;font-size:var(--fs-body);padding:14px 24px;border-radius:999px;border:1.5px solid var(--teal);background:transparent;color:var(--teal);cursor:pointer;transition:background var(--dur-2) var(--ease-quart),color var(--dur-2)}
.apmore:hover{background:var(--teal);color:var(--off-white)}
.apmore__n{font-weight:400;opacity:.8}

/* ---------- FAQ (Sections.jsx, Faq) ---------- */
.faq__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:start}
.faq__list{list-style:none;margin:0;padding:0}
.faq__item{border-top:1.5px solid var(--line-strong)}
.faq__item:last-child{border-bottom:1.5px solid var(--line-strong)}
.faq__q{margin:0;font-size:inherit}
.faq__q button{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-5);width:100%;padding:var(--sp-5) 0;border:0;background:none;font:inherit;font-size:var(--fs-h3);font-weight:700;line-height:var(--lh-snug);text-align:left;color:inherit;cursor:pointer}
.faq__ic{position:relative;flex:none;width:28px;height:28px;border-radius:50%;background:var(--teal);transition:transform var(--dur-3) var(--ease-out)}
.faq__ic::before,.faq__ic::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;background:var(--off-white);border-radius:2px}
.faq__ic::after{transform:rotate(90deg);transition:transform var(--dur-3) var(--ease-out)}
.faq__item.is-open .faq__ic{transform:rotate(180deg)}
.faq__item.is-open .faq__ic::after{transform:rotate(0)}
.faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-3) var(--ease-out)}
.faq__item.is-open .faq__a{grid-template-rows:1fr}
.faq__in{overflow:hidden}
.faq__in p{margin:0 0 var(--sp-5);font-size:var(--fs-body);line-height:var(--lh-normal);color:var(--ink-mid);max-width:var(--measure)}
@media(max-width:900px){.faq__grid{grid-template-columns:1fr}}
/* fermé : retiré de l'arbre d'accessibilité après l'animation */
.faq__in{visibility:hidden;transition:visibility 0s linear var(--dur-3)}
.faq__item.is-open .faq__in{visibility:visible;transition-delay:0s}
.tf__pause span{font-size:14px;letter-spacing:-2px}

/* ---------- CONTACT ---------- */
.contact2__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,96px);align-items:start}
.contact2__dl{margin:var(--sp-7) 0 0;display:grid;gap:var(--sp-5)}
.contact2__dl dt{font-size:var(--fs-small);font-weight:700;color:var(--ink-mid);margin-bottom:2px}
.contact2__dl dd{margin:0;font-size:var(--fs-body);color:var(--ink);line-height:1.45}
.contact2__dl a{color:var(--teal);font-weight:700}
.contact2__form{padding:clamp(24px,3vw,44px);border-radius:28px;background:var(--cream)}
.contact2__h3{margin:0 0 var(--sp-3);font-size:var(--fs-h3);font-weight:700;text-transform:uppercase}
.contact2__note{margin:0 0 var(--sp-5);font-size:var(--fs-small);color:var(--ink-mid)}
.contact2__form .field label,.contact2__form legend{font-weight:700;font-size:var(--fs-small)}
.contact2__form input,.contact2__form select,.contact2__form textarea{font-size:16px}
.contact2__form [aria-invalid="true"]{border-color:#B3261E;box-shadow:0 0 0 1px #B3261E}
.field__err{margin:6px 0 0;font-size:var(--fs-small);font-weight:600;color:#B3261E}
.motif-group{border:0;padding:0;margin:0 0 var(--sp-4)}
.motif-group legend{margin-bottom:var(--sp-3)}
.contact2__submit{width:100%;justify-content:center;margin-top:var(--sp-3)}
.contact2__ok p{margin:0 0 var(--sp-3);font-size:var(--fs-body);line-height:1.5}
.contact2__ok a{color:var(--teal);font-weight:700}
.contact2__copie-l{display:block;font-size:var(--fs-small);font-weight:700;margin:var(--sp-3) 0 var(--sp-1)}
.contact2__copie{width:100%;font:inherit;font-size:var(--fs-small);line-height:1.5;padding:12px;border:1px solid var(--teal-line);border-radius:12px;background:var(--off-white);color:var(--ink);margin-bottom:var(--sp-3);resize:vertical}
.contact2__ok .apmore{margin-top:var(--sp-3);display:block}
@media(max-width:900px){.contact2__grid{grid-template-columns:1fr}}
/* 404 */
.nf__links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-5)}
.nf__lnk{color:var(--teal-deep);font-weight:700;text-decoration:underline;text-underline-offset:5px}
/* Infobulles des deux dernières barres ancrées à droite (ne sortent pas de l'écran) */
.ibar:nth-child(n+3) .ibar__tip{left:auto;right:0}
.hp__t{font-size:min(var(--fs-h1), 12vw)}

/* ---------- TÉMOIGNAGES : grande citation, une à la fois (Sections.jsx, TestiCarousel) ---------- */
.tq{position:relative;margin-top:var(--sp-7);outline-offset:8px}
.tq__body{display:grid;grid-template-columns:clamp(120px,16vw,220px) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.tq__media{aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--teal-tint);display:grid;place-items:center}
.tq__media img{width:100%;height:100%;object-fit:cover}
.tq__logo{display:grid;place-items:center;width:100%;height:100%;background:var(--off-white);border:1.5px solid var(--teal-tint-2);border-radius:50%}
.tq__logo img{width:62%;height:62%;object-fit:contain}
.tq__ini{font-size:var(--fs-h1);font-weight:300;font-style:italic;color:var(--teal)}
.tq__fig{margin:0}
.tq__q{margin:0;position:relative}
.tq__q p{margin:0;font-size:clamp(1.25rem,1rem + 1.1vw,2rem);font-weight:600;line-height:1.28;letter-spacing:-.01em;color:inherit;max-width:32ch;text-wrap:pretty}
.tq__q .tq__acc{font-size:var(--fs-lede);font-weight:700;font-style:italic;color:var(--accent-color,var(--teal));margin-bottom:var(--sp-4)}
.tq__who{margin-top:var(--sp-6);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2) var(--sp-4);font-size:var(--fs-body)}
.tq__who b{font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.tq__who span{opacity:.8}
.tq__chip{font-size:var(--fs-small);font-weight:700;padding:4px 12px;border-radius:999px;border:1.5px solid currentColor;opacity:.75}
.tq__nav{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);margin-top:var(--sp-7);padding-top:var(--sp-5);border-top:1.5px solid color-mix(in oklab,currentColor 20%,transparent)}
.tq__count{margin-right:auto;font-size:var(--fs-small);font-variant-numeric:tabular-nums;opacity:.8}
.tq__count b{font-size:var(--fs-h3);font-weight:700;opacity:1}
.tq__arrow{width:56px;height:56px;border-radius:50%;border:1.5px solid currentColor;background:transparent;color:inherit;font-size:20px;cursor:pointer;transition:background-color var(--dur-2) var(--ease-quart),color var(--dur-2) var(--ease-quart)}
.tq__pause{width:44px;height:44px;border-radius:50%;border:1.5px solid currentColor;background:transparent;color:inherit;font-size:12px;letter-spacing:-1px;cursor:pointer;opacity:.75}
.tq__pause:hover,.tq__pause:focus-visible{opacity:1}
.tq__arrow:hover{background:var(--teal);border-color:var(--teal);color:var(--off-white)}
.on-dark .tq__arrow:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
@media(max-width:700px){.tq__body{grid-template-columns:1fr}.tq__media{width:96px}}

/* ---------- ACTUALITÉS : temps forts, index + visuel (Interactifs.jsx, TempsForts) ---------- */
.tf2__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:clamp(28px,4vw,72px);margin-top:var(--sp-8);align-items:start}
.tf2__index{list-style:none;margin:0;padding:0;counter-reset:tf}
.tf2__item{display:grid;grid-template-columns:auto 1fr;gap:2px var(--sp-4);width:100%;padding:var(--sp-4) var(--sp-4);border:0;border-radius:16px;background:transparent;font:inherit;text-align:left;color:var(--ink-mid);cursor:pointer;transition:background-color var(--dur-2) var(--ease-quart),color var(--dur-2) var(--ease-quart)}
.tf2__item::before{counter-increment:tf;content:counter(tf,decimal-leading-zero);grid-row:span 2;align-self:center;font-weight:700;font-size:var(--fs-small);font-variant-numeric:tabular-nums;color:var(--teal)}
.tf2__idate{font-size:var(--fs-small);font-weight:600}
.tf2__ititle{font-size:var(--fs-body);font-weight:700;line-height:1.3;color:var(--ink)}
.tf2__item:hover{background:var(--off-white)}
.tf2__item.is-on{background:var(--teal);color:rgba(254,252,248,.85)}
.tf2__item.is-on::before,.tf2__item.is-on .tf2__ititle{color:var(--off-white)}
.tf2__view{position:sticky;top:96px}
.tf2__media{aspect-ratio:16/10;border-radius:28px;overflow:hidden;background:var(--teal-tint)}
.tf2__media picture,.tf2__media img{display:block;width:100%;height:100%;object-fit:cover}
.tf2__media .ph-photo{height:100%}
.tf2__txt{padding-top:var(--sp-6)}
.tf2__meta{display:block;font-size:var(--fs-small);font-weight:700;color:var(--gold-ink);margin-bottom:var(--sp-3)}
.tf2__t{margin:0 0 var(--sp-4);font-size:var(--fs-h2);font-weight:700;text-transform:uppercase;line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);color:var(--teal-dark)}
.tf2__t em{font-style:italic;font-weight:300;color:var(--teal)}
.tf2__p{margin:0 0 var(--sp-5);font-size:var(--fs-lede);line-height:1.5;color:var(--ink);max-width:52ch}
.tf2__link{display:inline-flex;gap:8px;align-items:center;padding:12px 22px;border-radius:999px;background:var(--teal);color:var(--off-white);font-weight:700;text-decoration:none}
.tf2__link:hover .arrow{transform:translateX(5px)}
.tf2__credit{display:block;margin-top:var(--sp-4);font-size:var(--fs-small);color:var(--ink-soft)}
.tf2__cards{display:none}
@media(max-width:900px){
  .tf2__grid{display:none}
  .tf2__cards{list-style:none;margin:var(--sp-7) calc(-1 * var(--gutter)) 0;padding:0 var(--gutter) var(--sp-4);display:flex;gap:var(--sp-4);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--gutter)}
  .tf2__card{flex:0 0 85%;scroll-snap-align:start}
  .tf2__cmedia{aspect-ratio:4/3;border-radius:22px;overflow:hidden}
  .tf2__cmedia picture,.tf2__cmedia img{display:block;width:100%;height:100%;object-fit:cover}
  .tf2__ctxt{padding-top:var(--sp-4)}
  .tf2__ctxt .tf2__t{font-size:var(--fs-h3)}
  .tf2__ctxt .tf2__p{font-size:var(--fs-body)}
}
/* Logo de projet dans le hero partagé */
.hp__logo{display:inline-flex;align-items:center;padding:10px 18px;margin-bottom:var(--sp-5);border-radius:18px;background:var(--off-white);box-shadow:0 10px 30px rgba(6,33,31,.18)}
.hp__logo img{display:block;height:clamp(44px,4.4vw,64px);width:auto;max-width:200px;object-fit:contain}
.hp--gold .hp__more .btnb--teal{color:var(--off-white)}
/* Logo de projet posé sur l'image du hero, coin haut droit */
.hp__logo--over{position:absolute;top:clamp(12px,1.6vw,22px);right:clamp(12px,1.6vw,22px);margin:0;z-index:2}
.hp__logo--over img{height:clamp(40px,4vw,58px)}
/* Hero centré (fiches formation, sans photo) : retours du 30/09/2026 */
.hp--center .hp__grid{justify-items:center;text-align:center}
.hp--center .hp__txt{max-width:980px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.hp--center .hp__crumb{justify-content:center}
.hp--center .hp__t{font-size:var(--fs-h1)}
.hp--center .hp__more,.hp--center .g-herocta{justify-content:center}

/* ============ IMPACT, version graphique (retours du 01/10/2026) ============ */
/* 1 · grands chiffres sur fond sombre */
.imp-chiffres{padding:var(--section) 0;background:var(--teal-deep);color:var(--ink-on-dark)}
.imp-chiffres .isec__h{color:#fff}
.imp-chiffres .isec__h em{color:var(--gold-light)}
.imp-chiffres__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-6);margin-top:var(--sp-8)}
.imp-serie{margin:0;padding:clamp(24px,3.5vw,48px);border-radius:24px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);--c:var(--gold-light)}
.imp-serie--coral{--c:var(--coral-light)}
.imp-serie__l{font-size:var(--fs-label);font-weight:700;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-on-dark-mid)}
.imp-serie__big{margin:var(--sp-3) 0 var(--sp-6);display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-3)}
.imp-serie__big b{font-size:clamp(4rem,2rem + 7vw,8.5rem);line-height:.9;font-weight:700;letter-spacing:-.04em;color:var(--c);font-variant-numeric:tabular-nums;white-space:nowrap}
.imp-serie__big span{font-size:var(--fs-lede);color:var(--ink-on-dark-mid)}
.imp-serie__plot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-4);height:clamp(150px,16vw,210px);align-items:end;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:var(--sp-3)}
.imp-serie__bar{display:grid;grid-template-rows:auto 1fr auto;height:100%;gap:6px}
.imp-serie__v{font-size:var(--fs-small);font-weight:700;color:var(--ink-on-dark-mid);font-variant-numeric:tabular-nums}
.imp-serie__track{display:flex;align-items:flex-end}
.imp-serie__fill{display:block;width:100%;border-radius:6px 6px 2px 2px;background:rgba(255,255,255,.2)}
.imp-serie__bar.is-last .imp-serie__fill{background:var(--c)}
.imp-serie__bar.is-last .imp-serie__v{color:var(--c)}
.imp-serie__y{font-size:var(--fs-small);font-weight:700;color:var(--ink-on-dark-mid)}
.imp-serie__table{margin-top:var(--sp-5);font-size:var(--fs-small)}
.imp-serie__table summary{cursor:pointer;color:var(--ink-on-dark);text-decoration:underline;text-underline-offset:4px}
.imp-serie__table table{margin-top:var(--sp-3);border-collapse:collapse;width:100%}
.imp-serie__table th,.imp-serie__table td{padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.15);text-align:left;color:var(--ink-on-dark)}
.imp-chiffres__note{margin:var(--sp-6) 0 0;max-width:80ch;font-size:var(--fs-small);line-height:1.5;color:var(--ink-on-dark-mid)}
/* 2 · anneaux */
.imp-anneaux{list-style:none;margin:var(--sp-8) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-6)}
.imp-anneau{position:relative;display:grid;justify-items:center;text-align:center;gap:var(--sp-2);padding:var(--sp-6) var(--sp-5);border-radius:24px;background:var(--off-white)}
.imp-anneau__svg{width:min(170px,60%);height:auto;grid-row:1;grid-column:1}
.imp-anneau__bg{fill:none;stroke:var(--teal-tint);stroke-width:12}
.imp-anneau__arc{fill:none;stroke:var(--teal);stroke-width:12;stroke-linecap:round}
.imp-anneau:nth-child(2) .imp-anneau__arc{stroke:var(--gold)}
.imp-anneau__n{grid-row:1;grid-column:1;align-self:center;font-size:clamp(1.8rem,1.2rem + 1.6vw,2.6rem);font-weight:700;letter-spacing:-.03em;color:var(--teal-dark);font-variant-numeric:tabular-nums}
.imp-anneau__picto{grid-row:1;grid-column:1;display:grid;grid-template-columns:repeat(2,52px);gap:14px;padding:20px 0 64px}
.imp-anneau__picto i{display:block;width:52px;height:52px;border-radius:50%;background:var(--teal-tint)}
.imp-anneau__picto i.is-on{background:var(--coral)}
.imp-anneau__picto + .imp-anneau__n{align-self:end}
.imp-anneau__t{margin-top:var(--sp-3);font-size:var(--fs-h3);font-weight:700;line-height:var(--lh-snug);color:var(--ink)}
.imp-anneau__d{font-size:var(--fs-small);color:var(--ink-mid);line-height:1.5;max-width:30ch}
/* 3 · cartes par projet */
.imp-projets{list-style:none;margin:var(--sp-8) 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--sp-4)}
@media(max-width:1199px){.imp-projets{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.imp-projets{grid-template-columns:1fr}}
.imp-projet{display:flex;flex-direction:column;gap:var(--sp-3);height:100%;padding:var(--sp-6);border-radius:22px;background:var(--cream);color:var(--ink);text-decoration:none;transition:transform var(--dur-2) var(--ease-quart),box-shadow var(--dur-2) var(--ease-quart)}
.imp-projet:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.imp-projet:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
.imp-projet__head{display:flex;align-items:center;gap:var(--sp-3)}
.imp-projet__logo{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px var(--pc)}
.imp-projet__logo img{max-width:32px;max-height:32px;object-fit:contain}
.imp-projet__name{font-size:var(--fs-small);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mid)}
.imp-projet__n{margin-top:var(--sp-3);font-size:clamp(2.6rem,1.6rem + 2.4vw,3.8rem);white-space:nowrap;line-height:.95;font-weight:700;letter-spacing:-.04em;color:var(--pc);font-variant-numeric:tabular-nums}
.imp-projet__t{font-size:var(--fs-h3);font-weight:700;line-height:var(--lh-snug)}
.imp-projet__d{font-size:var(--fs-small);line-height:1.5;color:var(--ink-mid)}
.imp-projet__go{margin-top:auto;padding-top:var(--sp-3);font-size:var(--fs-small);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-dark)}
/* 4 · rapports en couvertures */
.imp-rapports{list-style:none;margin:var(--sp-8) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-5)}
.imp-rapport{display:flex;flex-direction:column;gap:var(--sp-3);height:100%;min-height:360px;padding:var(--sp-6);border-radius:18px;text-decoration:none;box-shadow:var(--sh-md);transition:transform var(--dur-2) var(--ease-quart),box-shadow var(--dur-2) var(--ease-quart)}
.imp-rapport:hover{transform:translateY(-6px) rotate(-.6deg);box-shadow:var(--sh-xl)}
.imp-rapport:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
.imp-rapport--teal-dark{background:var(--teal-dark);color:#fff}
.imp-rapport--teal{background:var(--teal);color:#fff}
.imp-rapport--gold{background:var(--gold);color:var(--ink)}
.imp-rapport--coral{background:var(--coral-ink);color:#fff}
.imp-rapport__k{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.imp-rapport__y{font-size:clamp(3rem,2rem + 3vw,5rem);line-height:.9;font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.imp-rapport__r{font-size:var(--fs-small);line-height:1.5;opacity:.92}
.imp-rapport__dl{margin-top:auto;font-size:var(--fs-small);font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:underline;text-underline-offset:5px}
/* 5 · prix en frise par année */
.imp-prix{list-style:none;margin:var(--sp-8) 0 0;padding:0;position:relative}
.imp-prix::before{content:'';position:absolute;left:calc(clamp(72px,9vw,120px) + 11px);top:8px;bottom:8px;width:2px;background:var(--gold)}
.imp-prix__an{position:relative;display:grid;grid-template-columns:clamp(72px,9vw,120px) minmax(0,1fr);gap:var(--sp-6);padding:0 0 var(--sp-6)}
.imp-prix__an::after{content:'';position:absolute;left:calc(clamp(72px,9vw,120px) + 4px);top:10px;width:16px;height:16px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px var(--off-white)}
.imp-prix__y{font-size:var(--fs-h3);font-weight:700;color:var(--gold-ink);font-variant-numeric:tabular-nums;line-height:1.2}
.imp-prix__an ul{list-style:none;margin:0;padding:0 0 0 var(--sp-6);display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:var(--sp-4)}
.imp-prix__an ul li{display:grid;gap:4px;padding:var(--sp-4) var(--sp-5);border-radius:14px;background:var(--gold-pale)}
.imp-prix__an b{font-size:var(--fs-body);color:var(--ink);line-height:1.3}
.imp-prix__an span{font-size:var(--fs-small);color:var(--ink-mid);line-height:1.45}
@media(max-width:1024px){.imp-rapports{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.imp-chiffres__grid,.imp-anneaux{grid-template-columns:1fr}}
@media(max-width:600px){.imp-rapports{grid-template-columns:1fr}.imp-rapport{min-height:0}
  .imp-prix::before{left:11px}.imp-prix__an{grid-template-columns:1fr;gap:var(--sp-3);padding-left:var(--sp-7)}.imp-prix__an::after{left:4px}.imp-prix__an ul{padding-left:0}}
@media(prefers-reduced-motion:reduce){.imp-projet,.imp-rapport{transition:none}.imp-projet:hover,.imp-rapport:hover{transform:none}}
/* Logo du média dans chaque ligne d'article (retours du 02/10/2026) ; sans fichier, le nom dans le cadre */
.apitem{align-items:center}
.apitem__logo{display:grid;place-items:center;width:150px;height:64px;margin-bottom:var(--sp-2);padding:10px 14px;border-radius:12px;background:var(--cream);text-align:center}
.apitem__logo img{max-width:100%;max-height:40px;object-fit:contain}
.apitem__logo b{font-size:var(--fs-small);line-height:1.2;color:var(--ink)}
.apitem__logo:has(img){background:#fff;box-shadow:inset 0 0 0 1px var(--line-strong)}

/* Bannière pleine image (retours V2 §1, modèle de la page Pros : .ar-hero).
   Le voile reprend la teinte du code couleur ; l'étiquette aussi. */
.hp--banner{display:grid;align-items:end;min-height:clamp(480px,74vh,780px);padding:clamp(120px,14vh,180px) 0 var(--sp-8);background:var(--teal-deep);color:#fff}
.hp--banner picture,.hp--banner .hp__bg{position:absolute;inset:0;width:100%;height:100%}
.hp--banner .hp__bg{object-fit:cover}
.hp--banner::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,45,51,.38) 0%,rgba(10,45,51,.18) 35%,rgba(10,45,51,.9) 100%)}
.hp--banner.hp--teal::after{background:linear-gradient(180deg,rgba(14,70,77,.4) 0%,rgba(20,90,98,.2) 35%,rgba(16,80,88,.92) 100%)}
.hp__in{position:relative;z-index:1;width:100%}
.hp--banner .hp__crumb{color:var(--ink-on-dark);opacity:1}
.hp--banner .hp__t{font-size:var(--fs-display);max-width:16ch}
.hp--banner .hp__t em{color:var(--gold-light);font-style:italic;font-weight:var(--fw-light)}
.hp--banner .hp__kicker{display:inline-block;padding:6px 14px;border-radius:999px;background:var(--teal-dark);color:#fff}
.hp--banner.hp--teal .hp__kicker{background:var(--teal);color:#fff}
.hp--banner.hp--gold .hp__kicker{background:var(--gold);color:var(--ink)}
.hp--banner .hp__note{color:var(--ink-on-dark);opacity:1}
.hp--banner.hp--center .hp__in{display:flex;flex-direction:column;align-items:center;text-align:center}
@media(max-width:720px){.hp--banner{min-height:82vh}.hp--banner .hp__t{font-size:min(var(--fs-h1),12vw)}}
.hp--banner .hp__logo{display:flex;width:fit-content}
.hp--banner.hp--center .hp__logo{margin-inline:auto}
/* photo des lauréats de La France s'engage (06/10/2026) */
.imp-prix__ph{margin:var(--sp-6) 0 var(--sp-7)}
.imp-prix__ph img{display:block;width:100%;aspect-ratio:21/9;object-fit:cover;object-position:center 62%;border-radius:20px}
.imp-prix__ph figcaption{margin-top:var(--sp-3);font-size:var(--fs-small);color:var(--ink-mid)}
@media (max-width:720px){.imp-prix__ph img{aspect-ratio:4/3}}
/* En-têtes allégés (retour du 06/10/2026) : la grande image, le fil d'Ariane et un seul bouton */
.hp__credit{position:absolute;right:clamp(12px,2vw,24px);bottom:10px;margin:0;z-index:2;font-size:var(--fs-label);color:var(--ink-on-dark);opacity:.85;max-width:60ch;text-align:right}
/* Logos des en-têtes sans cadre (retour du 07/10/2026) : le logo blanc posé sur l'image */
.hp--banner .hp__logo{padding:0;border-radius:0;background:none;box-shadow:none}
.hp--banner .hp__logo img{height:clamp(56px,6vw,88px);max-width:280px;filter:drop-shadow(0 2px 12px rgba(6,33,31,.35))}
.g-bref__fiche{margin:var(--sp-5) 0 var(--sp-3);justify-self:start;align-self:flex-start}
/* Fiches (aplat) : titres longs sans toucher les bords sous 400 px (07/10/2026) */
@media (max-width:400px){ .hp:not(.hp--banner) .hp__t{font-size:2rem} }
/* Impact, « Projet par projet » : quatre projets, quatre colonnes (Tournesol n'y est plus, 07/10/2026) */
.imp-projets{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1199px){.imp-projets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.imp-projets{grid-template-columns:1fr}}

/* Actualités : renvoi vers l'espace presse (15/10/2026) */
.aprenvoi{padding:var(--sp-6) 0}
.aprenvoi__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-5) var(--sp-8)}
.aprenvoi .isec__h{max-width:none;font-size:var(--fs-h3)}
.aprenvoi .isec__lede{margin-top:var(--sp-2);font-size:var(--fs-body)}
.aprenvoi + .isec{padding-top:var(--sp-8)}
@media (max-width:719px){.apfilter{padding:8px 14px}}
.aprenvoi__rappel{margin:var(--sp-7) 0 0;font-size:var(--fs-small);color:var(--ink-mid)}
.aprenvoi__rappel a{color:var(--teal-dark);font-weight:700;text-decoration:underline;text-underline-offset:3px}
