﻿/* ---------- HERO SLIDER ---------- */
.hero{position:relative;min-height:min(92vh,800px);display:flex;align-items:center;color:#fff;overflow:hidden;margin-top:calc(var(--header-h) * -1);padding-top:var(--header-h);background:var(--teal-deep)}
.hs-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s}
.hs-slide.active{opacity:1;visibility:visible}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;transform-origin:center}
.hs-slide.active .hero-media img{animation:kenburns 16s ease-in-out forwards}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.09) translateY(-12px)}}
.hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,34,38,.62),rgba(14,34,38,.28) 42%,rgba(14,34,38,.86))}
.hero-in{position:relative;z-index:2;padding:96px 0 150px;max-width:100%}
.hero-kick{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:12px;border:1px solid rgba(223,193,72,.45);padding:9px 18px;border-radius:999px;background:rgba(14,34,38,.35);backdrop-filter:blur(4px);margin-bottom:28px}
.hero-title{font-size:clamp(1.3rem,5.2vw,3.4rem);color:#fff;font-weight:600;letter-spacing:-.015em;max-width:27ch}
.hero-title .hl{display:block;/*overflow:hidden*/}
.hero-title .hl-in{display:block;transform:translateY(112%)}
.hs-slide.active .hl-in{animation:liftUp .95s cubic-bezier(.2,.7,.2,1) forwards}
.hs-slide.active .hl:nth-child(1) .hl-in{animation-delay:.12s}
.hs-slide.active .hl:nth-child(2) .hl-in{animation-delay:.26s}
.hs-slide.active .hl:nth-child(3) .hl-in{animation-delay:.4s}
@keyframes liftUp{to{transform:translateY(0)}}
.hero-title em{font-style:italic;color:var(--gold)}
.hero-lead{max-width:56ch;margin:24px 0 34px;font-size:1.06rem;color:rgba(255,255,255,.88)}
.hs-slide .hero-lead{opacity:0;transform:translateY(16px)}
.hs-slide.active .hero-lead{animation:fadeUp .8s .5s cubic-bezier(.2,.7,.2,1) forwards}
.hs-slide .hero-ctas{opacity:0;transform:translateY(16px)}
.hs-slide.active .hero-ctas{animation:fadeUp .8s .65s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes fadeUp{to{opacity:1;transform:none}}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap}
.hero-ui{
  position:absolute;
  top:50%;
  right:clamp(16px,3vw,44px);
  left:auto;
  bottom:auto;
  transform:translateY(-50%);
  z-index:6;
}
.hero-ui-in{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:14px;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(14,34,38,.22);
  backdrop-filter:blur(10px);
}
.hs-arrow{width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);background:rgba(14,34,38,.3);backdrop-filter:blur(4px);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;flex:none}
.hs-arrow:hover{background:var(--gold);border-color:var(--gold);color:var(--teal-ink);transform:scale(1.06)}
.hs-dots{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;max-width:180px}
.hs-dot{width:44px;height:5px;border-radius:3px;background:rgba(255,255,255,.28);border:none;cursor:pointer;position:relative;overflow:hidden;padding:0}
.hs-dot .dfill{position:absolute;inset:0;width:0;background:var(--gold);border-radius:3px}
.hs-dot.active .dfill{animation:dotfill var(--dur,7s) linear forwards}
@keyframes dotfill{from{width:0}to{width:100%}}
.hs-count{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.2em;color:rgba(255,255,255,.75);margin-left:0;align-self:flex-end}
.hs-count b{color:var(--gold);font-weight:500}
.hero-side{position:absolute;right:34px;top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.5);z-index:4}

/* ---------- Page hero (sous-pages) ---------- */
.page-hero{position:relative;display:flex;align-items:flex-end;min-height:420px;padding:150px 0 56px;color:#fff;overflow:hidden;margin-top:calc(var(--header-h) * -1)}
.page-hero .ph-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph-in{position:relative;z-index:2;width:min(1220px,92%);margin:0 auto}
.crumbs{display:flex;gap:10px;align-items:center;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:20px}
.crumbs a:hover{color:var(--gold)}
.crumbs em{font-style:normal;color:var(--gold)}
.page-hero h1{color:#fff;font-size:clamp(2rem,4.4vw,2.6rem);font-weight:600;letter-spacing:-.01em;max-width:35ch}
.page-hero h1 em{font-style:italic;color:var(--gold)}
.ph-lead{max-width:80ch;margin-top:16px;color:rgba(255,255,255,.88);font-size:1.02rem}

/* ---------- Stats ---------- */
.stats{position:relative;z-index:5;margin-top:-72px}
.stats-card{background:var(--white);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}
.stat{padding:32px 24px;text-align:center;position:relative}
.stat+.stat::before{content:"";position:absolute;left:0;top:22%;height:56%;width:1px;background:var(--line)}
.stat-num{font-family:var(--font-display);font-size:clamp(1.9rem,3.2vw,2.8rem);font-weight:700;color:var(--teal);display:block;line-height:1}
.stat-num sup{color:var(--gold-deep);font-size:.55em}
.stat-label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:block;margin-top:10px}

/* ---------- Partenaires ---------- */
.partners{padding:60px 0 50px;background:var(--paper)}
.partners-head{display:flex;align-items:center;gap:20px;margin-bottom:28px}
.mini-label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.partners-head::after{content:"";flex:1;height:1px;background:var(--line)}
.marquee{overflow:hidden;position:relative}
.marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none}
.marquee::before{left:0;background:linear-gradient(90deg,var(--paper),transparent)}
.marquee::after{right:0;background:linear-gradient(-90deg,var(--paper),transparent)}
.marquee-track{display:flex;align-items:center;gap:70px;width:max-content;animation:marquee 34s linear infinite;padding:6px 0}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.p-logo{white-space:nowrap;font-weight:700;font-size:1.05rem;letter-spacing:.04em;filter:grayscale(1);opacity:.55;transition:filter .35s,opacity .35s;display:flex;align-items:center;gap:8px}
.p-logo:hover{filter:none;opacity:1}
.p-logo i{font-style:normal}
.p-unesco{color:#0072BC;font-family:var(--font-display);letter-spacing:.12em}
.p-ue{color:#003399}.p-ue i{color:#FFCC00;font-size:1.2em}
.p-fao{color:#0067A5;font-family:var(--font-mono);letter-spacing:.18em}
.p-comifac{color:#1B7A43}
.p-ofac{color:#2F5E68;font-family:var(--font-mono)}
.p-cifor{color:#6FA23C}.p-cifor i{color:#E87722}
.p-unikin{color:#7A1F2B;font-family:var(--font-display)}
.p-enabel{color:#D42E2E;font-weight:800}
