/* ===== Barometrica · v3 ===== */
@font-face{font-family:'Borna';src:url('../fonts/borna-regular-webfont.woff2') format('woff2');font-weight:400;font-display:swap;}
@font-face{font-family:'Borna';src:url('../fonts/borna-medium-webfont.woff2') format('woff2');font-weight:500;font-display:swap;}
@font-face{font-family:'Borna';src:url('../fonts/borna-semibold-webfont.woff2') format('woff2');font-weight:600;font-display:swap;}
@font-face{font-family:'Borna';src:url('../fonts/borna-bold-webfont.woff2') format('woff2');font-weight:700;font-display:swap;}
@font-face{font-family:'Inter';src:url('../fonts/inter-400.woff2') format('woff2');font-weight:400;font-display:swap;}
@font-face{font-family:'Inter';src:url('../fonts/inter-700.woff2') format('woff2');font-weight:700;font-display:swap;}
@font-face{font-family:'Inter';src:url('../fonts/inter-800.woff2') format('woff2');font-weight:800;font-display:swap;}

:root{
  --deep:#0e3d2e;--green:#13503B;--dark:#0a3227;
  --beige:#F2ECDF;--beige-l:#F6F1E6;--cream:#FAF7F0;--white:#ffffff;
  --menthe:#77C2A1;--menthe-2:#8ACBAD;--jaune:#ECBF1C;--orange:#EC653C;--rose:#EE85B4;--sauge:#38785F;
  --f-lait:#1B6B4B;--f-lait-d:#134d36;
  --f-semences:#6E7D3A;--f-semences-d:#505b2a;
  --f-cereales:#D9A227;--f-cereales-d:#8a5f14;
  --f-engrais:#7B1B38;--f-engrais-d:#611530;
  /* palette Afdi (secondaire) */
  --afdi-rouge:#C0382A;--afdi-bordeaux:#8D1A15;--afdi-ocre:#9D8138;--afdi-terre:#AE5832;
  --navh:70px;--subnavh:60px;--pad:clamp(20px,5.5vw,88px);--maxw:1360px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:clip;}
body{font-family:'Inter',system-ui,sans-serif;background:#fff;color:#17241d;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:clip;}
h1,h2,h3,h4,.dsp{font-family:'Borna','Inter',serif;font-weight:900;line-height:1.02;letter-spacing:.1px;font-synthesis:weight;}
.kpi .n,.ed .y,.rub-head .num,.hero h1,.h2,.h3,.ctitle,.rub-head h2,.prevcard .pnum,.selbtn,.reveal .rt{font-weight:900;}
a{color:inherit;text-decoration:none;} img,video{display:block;max-width:100%;}
.wrap{max-width:var(--maxw);margin:0 auto;}

/* ---------- NAV ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--navh);display:flex;align-items:center;justify-content:space-between;
  padding:0 var(--pad);transition:background .3s,box-shadow .3s,height .3s;}
.nav.scrolled{background:#fff;box-shadow:0 2px 20px rgba(0,0,0,.08);height:62px;}
.nav .brand{display:flex;align-items:center;}
.nav .brand img{height:52px;transition:height .3s;}
.nav.scrolled .brand img{height:44px;}
.nav .logo-color{display:none;} .nav.scrolled .logo-color{display:block;} .nav.scrolled .logo-white{display:none;}
.menu{display:flex;gap:22px;align-items:center;list-style:none;}
@media(max-width:1200px){ .menu{gap:16px;} .menu>li>a{font-size:13px;} }
.menu>li{position:relative;}
.menu>li>a{font-size:14px;font-weight:600;color:#fff;display:inline-flex;gap:6px;align-items:center;opacity:.92;padding:6px 0;}
.nav.scrolled .menu>li>a{color:#17241d;}
.menu>li>a.on{border-bottom:2px solid var(--orange);}
.menu>li>a:hover{opacity:1;}
.caret{font-size:9px;opacity:.7;}
.submenu{position:absolute;top:100%;left:-16px;min-width:250px;background:#fff;border:1px solid #e6e1d5;padding:8px;
  opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s;box-shadow:0 16px 40px rgba(0,0,0,.14);}
.menu>li:hover .submenu,.menu>li.open .submenu{opacity:1;visibility:visible;transform:translateY(0);}
.submenu a{display:flex;justify-content:space-between;gap:14px;font-size:13.5px;padding:10px 12px;color:#2f3d36;border-left:3px solid transparent;}
.submenu a:hover{background:#f6f2e9;border-left-color:var(--orange);}
.submenu .soon{font-size:10px;color:#a99;border:1px solid #ddd6c8;padding:1px 7px;}
.nav .util{display:flex;align-items:center;gap:16px;font-size:13px;color:#fff;}
.nav.scrolled .util{color:#17241d;}
.util .lang b{color:var(--orange);}
.burger{display:none;background:none;border:0;font-size:24px;cursor:pointer;color:inherit;}

/* ---------- SECTION THEMES ---------- */
.section{position:relative;width:100%;padding:clamp(64px,8vw,128px) var(--pad);overflow:hidden;}
.section.tight{padding-top:clamp(38px,4.5vw,64px);padding-bottom:clamp(38px,4.5vw,64px);}
.sec--white{background:#fff;}
.sec--beige{background:var(--beige);}
.sec--cream{background:var(--cream);}
.sec--green{background:var(--green);}
.sec--deep{background:var(--deep);}
.sec--menthe{background:var(--menthe);}
.sec--white,.sec--beige,.sec--cream{--h:#13503B;--b:#33423a;--m:#5c6a60;--ln:#e6e0d2;--acc:#C0532B;--cardbg:#fff;--cardln:#e6e0d2;}
.sec--green,.sec--deep,.media{--h:#ffffff;--b:#cfe6d8;--m:#9fc0ae;--ln:rgba(255,255,255,.16);--acc:var(--menthe);--cardbg:rgba(255,255,255,.05);--cardln:rgba(255,255,255,.16);}
.sec--menthe{--h:#0c3527;--b:#12402f;--m:#2f5a47;--ln:rgba(10,45,34,.22);--acc:#B4451F;--cardbg:rgba(255,255,255,.32);--cardln:rgba(10,45,34,.18);}
.africa-ghost{position:absolute;right:-3%;top:50%;transform:translateY(-50%);width:min(48vw,660px);opacity:.06;pointer-events:none;}
.sec--green .africa-ghost,.sec--deep .africa-ghost{opacity:.09;}

/* media / video + voile filière (multiply) */
.media{overflow:hidden;background:#0e3d2e;}
.media>video,.media>.poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.media>.veil{position:absolute;inset:0;z-index:1;mix-blend-mode:multiply;
  background:linear-gradient(180deg,
     color-mix(in srgb,var(--fc,#13503B) 46%, #eef6f0) 0%,
     color-mix(in srgb,var(--fc,#13503B) 78%, #0a2b20) 62%,
     color-mix(in srgb,var(--fc,#13503B) 92%, #05201a) 100%);}
.media>.veil.side{background:linear-gradient(96deg,
     color-mix(in srgb,var(--fc,#13503B) 92%, #05201a) 20%,
     color-mix(in srgb,var(--fc,#13503B) 62%, #0a2b20) 55%,
     color-mix(in srgb,var(--fc,#13503B) 42%, #eef6f0));}
.media .inner{position:relative;z-index:2;}

/* headings & text via theme vars · forte hiérarchie */
.eyebrow{font-family:'Inter';font-size:12px;letter-spacing:3.5px;text-transform:uppercase;font-weight:700;color:var(--acc);}
.h-eyebrow{margin-bottom:16px;}
.h2{font-size:clamp(34px,5vw,64px);color:var(--h);max-width:22ch;line-height:1.02;}
.h3{font-size:clamp(23px,2.9vw,38px);color:var(--h);line-height:1.08;}
.lead{font-size:clamp(15px,1.2vw,18px);color:var(--b);max-width:60ch;}
.body p,.txtblock p{color:var(--b);font-size:15px;} .body p+p,.txtblock p+p{margin-top:12px;}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,70px);align-items:center;}

/* buttons */
.btn{font-family:'Inter';font-size:13.5px;font-weight:700;padding:15px 28px;border:0;cursor:pointer;display:inline-block;transition:.2s;}
.btn.p{background:var(--orange);color:#fff;} .btn.p:hover{background:#d9552e;}
.btn.j{background:var(--jaune);color:#3a2b00;}
.btn.g{background:transparent;color:currentColor;border:1.5px solid currentColor;}
.btn.g:hover{background:rgba(0,0,0,.05);}
.media .btn.g,.sec--green .btn.g,.sec--deep .btn.g{color:#fff;border-color:rgba(255,255,255,.5);}
.btn.disabled{background:rgba(255,255,255,.16);color:#e4f1e9;cursor:default;pointer-events:none;}

/* ---------- HERO (contenu bas-gauche) ---------- */
.hero{min-height:100vh;display:flex;align-items:flex-end;}
.fil-hero{min-height:calc(100vh - 98px);}   /* héro + subnav = 100vh (ajusté en JS) */
.section.hero{padding-bottom:30px;}
.hero .inner{width:100%;padding-bottom:0;text-align:left;}
.hero h1{font-size:clamp(52px,8.6vw,120px);color:#fff;letter-spacing:-1.5px;max-width:16ch;line-height:.98;}
.hero .lead{color:#e4f1e9;max-width:52ch;margin-top:22px;}
.hero .cta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;align-items:center;}
.scrollcue{position:absolute;bottom:24px;right:var(--pad);z-index:3;color:#cfe6d8;font-size:11px;letter-spacing:2px;text-transform:uppercase;opacity:.8;}
.hero-africa{position:absolute;z-index:2;right:clamp(-24px,1vw,24px);top:47%;transform:translateY(-50%);
  width:min(46vw,600px);opacity:.92;pointer-events:none;}
.badge-soon{display:inline-block;border:1.5px solid rgba(255,255,255,.6);color:#fff;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:10px 20px;}

/* ---------- FILIERE BLOCKS ---------- */
.filieres{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:rgba(0,0,0,.06);}
.fbloc{position:relative;min-height:clamp(440px,50vw,580px);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;cursor:pointer;--fc:var(--green);}
.fbloc video,.fbloc .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .9s;}
.fbloc .veil{position:absolute;inset:0;z-index:1;transition:.4s;mix-blend-mode:normal;
  background:linear-gradient(180deg,rgba(8,38,28,.2),rgba(8,38,28,.62)),linear-gradient(180deg,transparent 40%,var(--fc));opacity:.92;}
.fbloc .fc{position:relative;z-index:2;padding:28px;}
.fbloc .fn{font-family:'Borna';font-size:clamp(28px,2.5vw,38px);color:#fff;}
.fbloc .fn::after{content:"";display:block;width:44px;height:4px;background:#fff;margin-top:10px;opacity:.9;}
.fbloc .fs{font-size:12px;color:#eafff4;margin-top:12px;letter-spacing:1px;text-transform:uppercase;}
.fbloc .soon{font-size:11px;color:#fff;border:1px solid rgba(255,255,255,.5);padding:2px 10px;display:inline-block;margin-top:10px;}
.fbloc:hover video,.fbloc:hover .poster{transform:scale(1.06);}
.fbloc .reveal{position:absolute;inset:0;z-index:3;padding:28px;display:flex;flex-direction:column;
  background:linear-gradient(180deg,color-mix(in srgb,var(--fc) 88%,#000) ,color-mix(in srgb,var(--fc) 96%,#000));
  opacity:0;visibility:hidden;transition:.35s;color:#fff;}
.fbloc:hover .reveal,.fbloc.open .reveal{opacity:.98;visibility:visible;}
.reveal .rt{font-family:'Borna';font-size:24px;}
.reveal .rsub{font-size:11px;color:rgba(255,255,255,.8);text-transform:uppercase;letter-spacing:1px;margin:2px 0 16px;}
.reveal ol{list-style:none;}
.reveal li{font-size:13.5px;padding:9px 0;border-top:1px solid rgba(255,255,255,.2);display:flex;gap:10px;align-items:center;}
.reveal li::before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.6);}
.reveal p{font-size:13.5px;color:rgba(255,255,255,.9);}
.reveal .soonmsg{margin-top:16px;background:rgba(255,255,255,.14);padding:12px 14px;font-size:12.5px;font-weight:600;}
.reveal .go{margin-top:auto;font-weight:700;font-size:13.5px;}

/* ---------- KPIs ---------- */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ln);}
.kpi{padding:24px 28px;border-right:1px solid var(--ln);}
.kpi:first-child{padding-left:0;}
.kpi:last-child{border-right:0;}
.kpi .n{font-family:'Borna';font-size:clamp(32px,3.4vw,50px);color:var(--h);font-weight:700;line-height:1;}
.kpi .n s{text-decoration:none;font-size:17px;color:var(--orange);}
.kpi .l{font-size:12.5px;color:var(--m);margin-top:10px;}

/* ---------- SUBNAV filière (sticky, selects modernes) ---------- */
.subnav{position:sticky;top:62px;z-index:85;background:#fff;border-bottom:1px solid #e6e0d2;box-shadow:0 4px 16px rgba(0,0,0,.05);
  display:flex;align-items:stretch;gap:0;}
.subnav .fil{display:flex;align-items:center;gap:30px;padding:10px 32px 10px var(--pad);background:var(--fcol);color:#fff;white-space:nowrap;}
.selbox{position:relative;display:flex;flex-direction:column;align-items:flex-start;}
.selbtn{display:inline-flex;align-items:center;gap:12px;background:transparent;border:0;border-bottom:1.5px solid rgba(255,255,255,.5);
  color:#fff;font-family:'Borna';font-weight:900;font-size:clamp(20px,2vw,27px);line-height:1;padding:4px 2px 8px;cursor:pointer;transition:border-color .2s;}
.selbox.yr .selbtn{font-family:'Borna';font-weight:900;font-size:clamp(20px,2vw,27px);letter-spacing:0;padding:4px 2px 8px;}
.sellab{font-family:'Inter';font-size:9.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.72);margin-top:8px;padding-left:2px;}
.selbtn:hover{border-bottom-color:#fff;}
.selbtn .cx{font-size:13px;opacity:.85;transition:transform .2s;}
.selbox.open .selbtn .cx{transform:rotate(180deg);}
.selpop{position:absolute;top:calc(100% + 8px);left:0;min-width:210px;background:#fff;box-shadow:0 20px 48px rgba(0,0,0,.24);
  border:1px solid #e6e0d2;padding:6px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.2s;z-index:40;}
.selbox.open .selpop{opacity:1;visibility:visible;transform:none;}
.selpop a{display:block;padding:11px 14px;font-family:'Inter';font-size:13.5px;font-weight:600;color:#2f3d36;border-left:3px solid transparent;}
.selpop a:hover{background:#f6f2e9;border-left-color:var(--fcol);}
.selpop a.on{color:var(--fcol);border-left-color:var(--fcol);}
.selbox.yr .selpop{min-width:170px;}
.subnav .links{position:relative;display:flex;gap:0;overflow-x:auto;padding:0 var(--pad) 0 18px;flex:1;align-items:stretch;
  scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;overscroll-behavior-x:contain;}
.subnav .links::-webkit-scrollbar{display:none;height:0;}
.subnav .links a{position:relative;z-index:1;white-space:nowrap;font-size:13px;font-weight:600;color:#5c6b62;padding:0 18px;display:flex;align-items:center;transition:color .25s;}
.subnav .links a.active{color:#fff;}
.subnav .links a:hover{color:var(--fcol);}
.subnav .links a.active:hover{color:#fff;}
.subnav .links a.rapport{color:var(--fcol);font-weight:700;}
.rub-hl{position:absolute;top:0;left:0;width:0;height:100%;background:var(--orange);opacity:0;z-index:0;pointer-events:none;
  transition:left .32s cubic-bezier(.4,0,.2,1),width .32s cubic-bezier(.4,0,.2,1),opacity .2s;}
.subnav-m{display:none;margin-left:auto;padding:9px var(--pad) 9px 12px;flex:1;}
.rubsel{appearance:none;width:100%;background:#fff;border:1px solid #d8d2c4;font-family:'Inter';font-weight:600;font-size:13.5px;
  padding:11px 34px 11px 13px;color:#17241d;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0l5 6 5-6z' fill='%23C0532B'/></svg>");background-repeat:no-repeat;background-position:right 13px center;}

/* ---------- rubriques rythmées + fonds alternés ---------- */
.tone-light{--h:#13503B;--b:#33423a;--m:#5c6a60;--ln:#e6e0d2;--acc:#C0532B;--cardbg:#fff;}
.tone-light .rband.a{background:#fff;} .tone-light .rband.b{background:var(--beige-l);}
.tone-dark{--h:#fff;--b:#cfe6d8;--m:#9fc0ae;--ln:rgba(255,255,255,.16);--acc:var(--menthe);--cardbg:rgba(255,255,255,.05);}
.tone-dark .rband.a{background:var(--green);} .tone-dark .rband.b{background:var(--deep);}
.tone-menthe{--h:#0c3527;--b:#12402f;--m:#2f5a47;--ln:rgba(10,45,34,.20);--acc:#B4451F;--cardbg:rgba(255,255,255,.34);}
.tone-menthe .rband.a{background:var(--menthe);} .tone-menthe .rband.b{background:var(--menthe-2);}
.rband{position:relative;padding:clamp(34px,4.6vw,64px) var(--pad);}
.rub>.rband:first-child{padding-top:clamp(48px,6vw,92px);padding-bottom:clamp(20px,2.4vw,34px);}
.rband>.wrap{max-width:var(--maxw);margin:0 auto;}
.chapo{font-size:clamp(16px,1.35vw,20px);color:var(--b);max-width:74ch;margin:14px 0 4px;}
.rub-kpis{margin:22px 0 2px;}
.cblock{padding:0;}
.ctitle{font-size:clamp(23px,2.9vw,38px);color:var(--h);line-height:1.06;}
.ctitle .cs{display:block;font-family:'Inter';font-weight:400;font-size:11.5px;color:var(--m);margin-top:6px;letter-spacing:.2px;}
.cols{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(26px,4.5vw,58px);align-items:start;margin-top:20px;}
.cchart .mapholder{max-width:560px;} .cchart svg{width:100%;height:auto;}
.ctext h4{font-size:clamp(18px,1.7vw,24px);color:var(--h);margin-bottom:10px;}
.ctext p{color:var(--b);font-size:15px;} .ctext p+p{margin-top:11px;}
.rub-head{display:flex;align-items:baseline;gap:18px;margin-bottom:4px;}
.rub-head .num{font-family:'Borna';font-size:clamp(34px,3.6vw,60px);color:color-mix(in srgb,var(--h) 26%,transparent);font-weight:700;}
.rub-head h2{font-size:clamp(34px,5vw,64px);color:var(--h);line-height:1.0;}

/* encadré vert « remarque du rapport » + sources */
.remark-wrap{margin-top:6px;}
.remark-box{background:var(--f-lait);color:#fff;padding:clamp(24px,3vw,42px);border-left:5px solid var(--menthe);box-shadow:0 0 0 1px rgba(255,255,255,.06);}
.remark-box .rk-tag{font-family:'Inter';font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--menthe);}
.remark-box .rk-h{font-size:clamp(21px,2.4vw,30px);color:#fff;margin:10px 0 12px;max-width:58ch;line-height:1.1;}
.remark-box p{color:#e9f4ee;font-size:15.5px;max-width:80ch;}
.rub-src{font-size:11.5px;color:var(--m);font-style:italic;margin-top:14px;}

/* partenaires (à propos) */
.orgs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.org{background:var(--cardbg);border:1px solid var(--ln);border-top:4px solid var(--f-lait);padding:26px 24px;}
.org .org-n{font-family:'Borna';font-weight:900;font-size:30px;color:var(--h);}
.org .org-f{font-size:12.5px;font-weight:700;color:var(--acc);margin:4px 0 12px;letter-spacing:.2px;}
.org p{font-size:14px;color:var(--b);}
@media(max-width:900px){ .orgs{grid-template-columns:1fr;} }

/* selects : ouverture vers le haut si en bas d'écran */
.selbox.up .selpop{top:auto;bottom:calc(100% + 8px);transform:translateY(8px);}
.selbox.up.open .selpop{transform:none;}

/* charts shared bits */
.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--m);margin-top:10px;}
.legend .i{display:flex;align-items:center;gap:6px;}.legend .sw{width:13px;height:13px;}
.mapholder{width:100%;aspect-ratio:1/1;max-width:620px;} .mapholder svg{width:100%;height:100%;}
.focus{border:1px solid var(--ln);border-top:3px solid var(--orange);padding:18px 20px;margin-top:18px;background:var(--cardbg);}
.focus .ft{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--orange);}
.focus h4{color:var(--h);font-size:16px;margin:5px 0 6px;} .focus p{font-size:13px;color:var(--b);}
.donuts{display:flex;gap:32px;flex-wrap:wrap;align-items:center;} .donutw{text-align:center;} .donutw .y{font-size:12px;color:var(--m);margin-top:6px;}
.subleg{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--b);} .subleg .i{display:flex;align-items:center;gap:9px;} .subleg .d{width:12px;height:12px;}

/* map embed */
.afrique-map{width:100%;min-height:380px;display:flex;align-items:center;justify-content:center;}
.map-note{font-size:11px;color:var(--m);margin-top:8px;}

/* preview (filières à venir) */
.prevgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:32px;background:var(--ln);border:1px solid var(--ln);}
.prevcard{background:#fff;padding:26px 22px;position:relative;}
.prevcard .pnum{font-family:'Borna';font-weight:700;font-size:26px;color:color-mix(in srgb,var(--h) 24%,transparent);}
.prevcard h3{font-size:20px;color:var(--h);margin-top:6px;}
.prevcard .lock{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--m);margin-top:12px;display:inline-block;border:1px solid var(--ln);padding:3px 10px;}

/* editions */
.eds{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.ed{border:1px solid var(--ln);padding:22px;background:var(--cardbg);}
.ed .y{font-family:'Borna';font-size:40px;color:var(--h);font-weight:700;}
.ed h4{font-size:15px;margin:2px 0 8px;color:var(--h);}
.ed .st{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;}
.ed .st.on{color:var(--orange);} .ed .st.soon{color:var(--m);}
.ed p{font-size:12.5px;color:var(--m);margin:8px 0 14px;}
.ed .dl{font-size:12.5px;font-weight:700;color:var(--orange);display:inline-flex;gap:7px;align-items:center;}
.ed.soon{opacity:.6;}

/* partners */
.partners img{height:46px;} .sec--white .partners img,.sec--beige .partners img{filter:none;}

/* footer */
footer{background:#08251c;color:#bfe0cf;padding:56px var(--pad) 28px;}
.fmap{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:24px;}
.fmap .fb img{height:40px;}
.fmap h4{font-size:12px;color:#fff;margin-bottom:10px;font-family:'Borna';}
.fmap a{display:block;font-size:12px;color:#9cc3ac;margin-bottom:7px;}
.fbot{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#6f9483;flex-wrap:wrap;}

/* reveal on scroll */
.reveal-up{opacity:0;transform:translateY(22px);transition:.7s;} .reveal-up.in{opacity:1;transform:none;}
[id]{scroll-margin-top:calc(var(--stickh, 128px) + 12px);}

/* ---------- actualités ---------- */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 34px;}
.chip-f{border:1px solid var(--ln);background:transparent;color:var(--b);font-family:'Inter';font-size:13px;font-weight:600;padding:9px 17px;cursor:pointer;transition:.2s;}
.chip-f:hover{border-color:var(--f-lait);}
.chip-f.on{background:var(--f-lait);color:#fff;border-color:var(--f-lait);}
.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.art{border:1px solid var(--ln);background:var(--cardbg);display:flex;flex-direction:column;overflow:hidden;}
.art .im{height:172px;position:relative;}
.art .cat{position:absolute;top:12px;left:12px;background:var(--orange);color:#fff;font-size:10.5px;font-weight:700;padding:4px 11px;text-transform:uppercase;letter-spacing:.6px;}
.art .bd{padding:18px 20px;flex:1;display:flex;flex-direction:column;}
.art .dt{font-size:11px;color:var(--m);text-transform:uppercase;letter-spacing:.5px;}
.art h3{font-size:17px;color:var(--h);margin:6px 0 8px;line-height:1.25;}
.art p{font-size:13.5px;color:var(--b);flex:1;}
.art .more{margin-top:14px;color:var(--orange);font-weight:700;font-size:13px;}
.section-head{max-width:720px;margin-bottom:8px;}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .menu,.util .lang{display:none;} .burger{display:block;}
  .filieres{grid-template-columns:repeat(2,1fr);}
  .split,.cols{grid-template-columns:1fr;}
  .kpis,.eds,.fmap,.articles,.prevgrid{grid-template-columns:1fr 1fr;}
}
@media(max-width:900px){
  .subnav .links{display:none;}
  .subnav-m{display:block;}
  .subnav{flex-wrap:wrap;}
  .hero-africa{display:none;}
}
@media(max-width:560px){
  .filieres,.kpis,.eds,.fmap,.articles,.prevgrid{grid-template-columns:1fr;}
  .subnav .fil{width:100%;justify-content:space-between;}
}

/* ========== v5 : logos partenaires, vidéos, contact, nouvelles pages ========== */
/* logos organisateurs dans le héros */
.hero-orgs-lab{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--menthe);margin-top:38px;}
.hero-orgs{display:flex;align-items:center;gap:36px;flex-wrap:wrap;margin-top:15px;}
.hero-orgs img{width:auto;opacity:.97;}
.hero-orgs .l-afdi{height:42px;} .hero-orgs .l-farm{height:34px;} .hero-orgs .l-pafo{height:19px;}
@media(max-width:700px){ .hero-orgs{gap:24px;margin-top:12px;} .hero-orgs .l-afdi{height:32px;} .hero-orgs .l-farm{height:26px;} .hero-orgs .l-pafo{height:15px;} .hero-orgs-lab{margin-top:26px;} }
/* bandeau "portée par" */
.orgs-logos{display:flex;align-items:center;justify-content:center;gap:clamp(26px,5vw,60px);flex-wrap:wrap;margin-top:20px;}
.orgs-logos img{width:auto;}
.orgs-logos .l-afdi{height:44px;} .orgs-logos .l-farm{height:36px;} .orgs-logos .l-pafo{height:20px;}
.orgs-logos.big .l-afdi{height:56px;} .orgs-logos.big .l-farm{height:45px;} .orgs-logos.big .l-pafo{height:25px;}
.orgs-logos.dk{justify-content:flex-start;gap:30px;margin-top:0;}
.orgs-logos.dk .l-afdi{height:40px;} .orgs-logos.dk .l-farm{height:32px;} .orgs-logos.dk .l-pafo{height:18px;}
/* soutiens (fictif) */
.support-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:16px;}
.support-logos .slogo{border:1px solid rgba(255,255,255,.3);color:#dfeee6;font-size:12.5px;font-weight:600;padding:12px 20px;border-radius:3px;background:rgba(255,255,255,.04);}

/* cartes organisateurs (page Partenaires) */
.orgcards{display:grid;grid-template-columns:1fr;gap:18px;}
.orgc{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center;border:1px solid var(--ln);border-left:4px solid var(--f-lait);background:var(--cardbg);padding:22px 26px;}
.orgc-logo{display:flex;align-items:center;justify-content:center;padding:8px;}
.orgc-logo img{max-width:132px;width:auto;}
.orgc-logo .l-afdi{max-height:64px;} .orgc-logo .l-farm{max-height:52px;} .orgc-logo .l-pafo{max-height:30px;}
.orgc-n{font-family:'Borna';font-weight:900;font-size:26px;color:var(--h);}
.orgc-f{font-size:12.5px;font-weight:700;color:var(--acc);margin:2px 0 10px;}
.orgc-bd p{font-size:14px;color:var(--b);}
.supports{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.supc{border:1px solid var(--ln);background:var(--cardbg);padding:18px 20px;}
.supc-logo{font-family:'Borna';font-weight:700;font-size:18px;color:var(--h);border-bottom:2px solid var(--menthe);display:inline-block;padding-bottom:4px;margin-bottom:8px;}
.supc p{font-size:12.5px;color:var(--m);}
@media(max-width:820px){ .orgc{grid-template-columns:1fr;gap:12px;text-align:left} .orgc-logo{justify-content:flex-start} .supports{grid-template-columns:1fr 1fr} }
@media(max-width:560px){ .supports{grid-template-columns:1fr} }

/* vidéos "paroles d'acteurs" */
.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.vcard{display:flex;flex-direction:column;border:1px solid var(--ln);background:var(--cardbg);overflow:hidden;transition:transform .25s,box-shadow .25s;}
.vcard:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.12);}
.vthumb{position:relative;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;background-color:#13503B;width:100%;padding:0;border:0;cursor:pointer;}
.vthumb::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.34));}
.vframe{position:relative;aspect-ratio:16/9;background:#000;}
.vframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.vplay{width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.94);position:relative;z-index:1;transition:.2s;box-shadow:0 6px 20px rgba(0,0,0,.25);}
.vcard:hover .vplay{background:#fff;transform:scale(1.06);}
.vplay::after{content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent var(--f-engrais);}
.vbd{padding:16px 18px;}
.vbd .vtag{font-size:10.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--acc);}
.vbd h3{font-size:16px;color:var(--h);margin-top:6px;line-height:1.25;}
@media(max-width:900px){ .videos{grid-template-columns:1fr 1fr} }
@media(max-width:560px){ .videos{grid-template-columns:1fr} }

/* filtres actualités (selects) */
.filters-sel{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 30px;}
.fsel{display:flex;flex-direction:column;gap:5px;font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--m);}
.fsel select{appearance:none;background:#fff;border:1px solid var(--ln);font-family:'Inter';font-size:13.5px;font-weight:600;color:#17241d;padding:10px 34px 10px 13px;cursor:pointer;min-width:190px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0l5 6 5-6z' fill='%23C0532B'/></svg>");background-repeat:no-repeat;background-position:right 13px center;}

/* formulaire de contact */
.cform{display:flex;flex-direction:column;gap:14px;}
.cform label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:700;color:var(--h);}
.cform input,.cform select,.cform textarea{font-family:'Inter';font-size:14px;font-weight:400;color:#17241d;background:#fff;border:1px solid var(--ln);padding:12px 14px;width:100%;}
.cform select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0l5 6 5-6z' fill='%23C0532B'/></svg>");background-repeat:no-repeat;background-position:right 14px center;}
.cform textarea{resize:vertical;}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--f-lait);}
.cform .consent{flex-direction:row;align-items:flex-start;gap:9px;font-weight:400;font-size:12.5px;color:var(--b);}
.cform .consent input{width:auto;margin-top:2px;}
.cform .btn{align-self:flex-start;margin-top:4px;}
.cinfo .cmeta{margin-top:18px;display:flex;flex-direction:column;gap:12px;}
.cinfo .cmeta div{font-size:14.5px;color:var(--h);font-weight:600;}
.cinfo .cmeta span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--acc);margin-bottom:2px;}
@media(max-width:820px){ .cinfo{margin-top:34px} }

/* couvertures de rapports (accueil) */
.reports{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;max-width:840px;margin-top:6px;}
.report{display:grid;grid-template-columns:148px 1fr;gap:26px;align-items:center;}
.rcover{display:block;line-height:0;box-shadow:0 12px 32px rgba(14,61,46,.18);transition:transform .25s,box-shadow .25s;}
.rcover:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(14,61,46,.26);}
.rcover img{width:100%;height:auto;display:block;border:1px solid var(--ln);}
.rbd .ry{font-family:'Borna';font-size:40px;color:var(--h);font-weight:700;line-height:1;}
.rbd h4{font-size:16px;margin:4px 0 9px;color:var(--h);}
.rbd .st{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;}
.rbd .st.on{color:var(--orange);}
.rbd .dl{font-size:13px;font-weight:700;color:var(--orange);display:inline-flex;gap:7px;align-items:center;margin-top:13px;}
@media(max-width:820px){ .reports{grid-template-columns:1fr;gap:28px;max-width:440px} }
@media(max-width:480px){ .report{grid-template-columns:116px 1fr;gap:16px} .rbd .ry{font-size:32px} }

/* couverture "édition à venir" (placeholder filière) */
.rcover--soon{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1.414;background:var(--cc,var(--f-lait));color:#fff;text-align:center;font-family:'Borna';font-weight:700;font-size:17px;line-height:1.2;box-shadow:0 12px 32px rgba(14,61,46,.14);}
.rcover--soon span{opacity:.92;}

/* ========== popup "Nous soutenir" ========== */
.modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:20px;}
.modal.open{display:flex;}
.modal-ov{position:absolute;inset:0;background:rgba(10,30,22,.55);}
.modal-box{position:relative;background:#fff;max-width:520px;width:100%;max-height:90vh;overflow:auto;padding:34px 34px 30px;box-shadow:0 30px 80px rgba(0,0,0,.4);
  --h:#13503B;--b:#33423a;--m:#5c6a60;--ln:#e6e0d2;--acc:#C0532B;animation:modalin .22s ease;}
@keyframes modalin{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.modal-box .eyebrow{color:var(--orange);}
.modal-box .h3{color:var(--green);}
.modal-box p{color:#4a584f;}
.modal-x{position:absolute;top:10px;right:14px;background:none;border:0;font-size:28px;line-height:1;color:#8a988f;cursor:pointer;padding:4px;}
.modal-x:hover{color:var(--green);}

/* ========== carte interactive "Production" (type SonoMap, lecture seule) ========== */
.amap{--c0:#e2ddd0;--c1:#cfe7d8;--c2:#8fceac;--c3:#3f9d70;--c4:#0e5f42;background:var(--beige-l);border:1px solid #e6e0d2;padding:16px 16px 18px;}
.amap-stage{position:relative;}
.amap-svg{width:100%;height:auto;display:block;}
.amap-svg path{fill:var(--c0);stroke:#fff;stroke-width:.8;stroke-linejoin:round;transition:fill .5s ease,opacity .15s;cursor:pointer;}
.amap-svg path:hover{opacity:.82;}
.amap-svg path.hl{stroke:#17241d;stroke-width:1.4;}
.amap-year-badge{position:absolute;top:6px;left:8px;pointer-events:none;}
.amap-year-badge .y{font-family:'Borna';font-weight:900;font-size:clamp(34px,6vw,58px);color:#13503B;opacity:.14;line-height:1;}
.amap-tip{position:absolute;z-index:5;pointer-events:none;background:#0e3d2e;color:#fff;padding:8px 11px;border-radius:4px;font-size:12.5px;line-height:1.35;box-shadow:0 10px 24px rgba(0,0,0,.28);transform:translate(-50%,-120%);white-space:nowrap;}
.amap-tip b{font-family:'Borna';font-weight:700;font-size:13.5px;display:block;}
.amap-tip .v{color:#8ACBAD;font-weight:700;}
.amap-legend{display:flex;flex-wrap:wrap;gap:12px 18px;margin:12px 2px 2px;}
.amap-legend .i{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:#5c6a60;}
.amap-legend .sw{width:16px;height:12px;border:1px solid rgba(0,0,0,.08);}
.amap-time{display:flex;align-items:center;gap:16px;margin-top:16px;}
.amap-play{flex:none;width:44px;height:44px;border-radius:50%;background:var(--f-lait);border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .15s;}
.amap-play:hover{transform:scale(1.06);}
.amap-play .ic-play{width:0;height:0;border-style:solid;border-width:8px 0 8px 13px;border-color:transparent transparent transparent #fff;margin-left:2px;}
.amap-play.playing .ic-play{border:none;width:12px;height:13px;margin:0;position:relative;}
.amap-play.playing .ic-play::before,.amap-play.playing .ic-play::after{content:"";position:absolute;top:0;width:4px;height:13px;background:#fff;}
.amap-play.playing .ic-play::before{left:0;} .amap-play.playing .ic-play::after{right:0;}
.amap-track{flex:1;}
.amap-slider{width:100%;-webkit-appearance:none;appearance:none;height:5px;border-radius:3px;background:#d9e4dc;outline:none;}
.amap-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--f-lait);cursor:pointer;border:3px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.25);}
.amap-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--f-lait);cursor:pointer;border:3px solid #fff;}
.amap-ticks{display:flex;justify-content:space-between;font-size:10.5px;color:#8a988f;margin-top:5px;font-weight:600;}
.map-note{font-size:11.5px;color:#8a988f;margin-top:12px;font-style:italic;line-height:1.4;}
@media(max-width:560px){ .amap-tip{font-size:11.5px;} }
