/* ============================================================================
   SAHEL-SITE-CSS-V3 — sahelavenir.com, trois langues (en, fr, ar)
   ============================================================================
   ⚠️ UNE SEULE FEUILLE. Aucun style dans les pages ni dans les SVG : la
      politique de securite (_headers) n'autorise que ce fichier.
   ⚠️ AUCUNE POLICE DISTANTE (Google Fonts est bloque en Chine) : piles systeme,
      un serif de titrage pour la gravite, un sans-serif pour la lecture.
   ⚠️ DE DROITE A GAUCHE : proprietes logiques (inline-start/end) partout ;
      l'arabe n'a ni espacement entre lettres ni majuscules forcees.
   ⚠️ MOUVEMENT : tout s'arrete si le lecteur a demande moins d'animation.
   ========================================================================= */

:root{
  --g950:#081A10;
  --g900:#0D2418;
  --g800:#133222;
  --g700:#1B4430;
  --g600:#2B6441;
  --g500:#3A7D55;
  --or:#C9A55A;
  --or-clair:#E6D29C;
  --or-pale:#F4ECD6;
  --encre:#0F1712;
  --papier:#FAF8F3;
  --sable:#F2EFE7;
  --filet:#DDD8CB;
  --gris:#5B6258;
  --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,"Noto Serif",serif;
  --sans:"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  --arabe:"Segoe UI","Noto Naskh Arabic","Noto Sans Arabic","Geeza Pro",Tahoma,sans-serif;
  --chinois:"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Source Han Sans SC",sans-serif;
  --largeur:1180px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--papier);color:var(--encre);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html[lang="ar"] body{font-family:var(--arabe);line-height:1.8}
html[lang="ar"] *{letter-spacing:0!important;text-transform:none!important}
/* Le chinois : polices systeme aux vrais caracteres simplifies (Mac, Windows, Android). */
html[lang^="zh"] body,html[lang^="zh"] h1,html[lang^="zh"] h2,html[lang^="zh"] h3,html[lang^="zh"] .chiffre b,html[lang^="zh"] .chiffres-clairs b{font-family:var(--chinois)}
html[lang^="zh"] body{line-height:1.8}
html[lang^="zh"] h1,html[lang^="zh"] h2{font-weight:700}
html[lang^="zh"] .ouverture h1,html[lang^="zh"] .tete h1{line-height:1.25}
html[lang^="zh"] .surtitre,html[lang^="zh"] .metier,html[lang^="zh"] .tete .identite span,html[lang^="zh"] .pied h4{letter-spacing:.08em;font-size:14px}
img,svg{max-width:100%}
a{color:var(--g600)}
p{margin:0 0 16px}
.wrap{max-width:var(--largeur);margin:0 auto;padding:0 32px}
.ltr{direction:ltr;unicode-bidi:isolate;display:inline-block}
section{padding:104px 0}
.sombre{background:var(--g900);color:#E9EFE9}
.sable{background:var(--sable)}

/* Titrage */
.surtitre{display:block;margin:0 0 18px;font-size:12.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--g600)}
.sombre .surtitre,.ouverture .surtitre,.phare .surtitre,.contact .surtitre{color:var(--or)}
html[lang="ar"] .surtitre{font-size:15px}
h1,h2,h3{font-weight:600;margin:0}
h2{font-family:var(--serif);font-size:44px;line-height:1.12;letter-spacing:-.01em;margin:0 0 20px;max-width:820px}
html[lang="ar"] h1,html[lang="ar"] h2{font-family:var(--arabe);font-weight:700}
html[lang="ar"] h2{font-size:38px;line-height:1.35}
.chapo{font-size:19px;color:var(--gris);max-width:760px;margin:0 0 48px;line-height:1.6}
.sombre .chapo{color:#B7C7BC}
.lien{color:var(--g600);font-weight:650;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
.lien:hover,.lien:focus{color:var(--g800)}
.sombre .lien,.phare .lien{color:var(--or-clair)}

/* Lien d'evitement */
.evitement{position:absolute;inset-inline-start:-9999px;top:0;z-index:50}
.evitement:focus{inset-inline-start:12px;top:12px;background:#fff;color:var(--encre);padding:10px 16px;border-radius:4px}

/* ---------------------------------------------------------------- navigation */
.nav{position:sticky;top:0;z-index:40;background:rgba(8,26,16,.95);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid rgba(201,165,90,.18)}
.nav .wrap{display:flex;align-items:center;gap:28px;height:68px}
.marque{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;flex:none}
.marque img{width:34px;height:34px}
.marque span{font-size:14px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;direction:ltr;unicode-bidi:isolate}
html[lang="ar"] .marque span{letter-spacing:.28em!important;text-transform:uppercase!important}
.menu{display:flex;gap:4px;margin:0;padding:0;list-style:none;flex:1;justify-content:center}
.menu a{display:block;padding:8px 12px;color:#C9D6CD;text-decoration:none;font-size:14.5px;font-weight:550;border-radius:4px}
.menu a:hover,.menu a:focus{color:#fff;background:rgba(255,255,255,.07)}
.langues{display:flex;gap:4px;margin:0;padding:0;list-style:none;flex:none}
.langues a,.langues span{display:inline-block;padding:5px 10px;border-radius:3px;font-size:13px;font-weight:650;color:#C9D6CD;text-decoration:none;border:1px solid rgba(255,255,255,.16)}
.langues a:hover,.langues a:focus{color:#fff;border-color:rgba(255,255,255,.4)}
.langues span{background:var(--or);color:#22190A;border-color:var(--or)}

/* Fil d'ariane (pages interieures) */
.fil{font-size:13.5px;color:#9FB3A6;margin:0 0 28px}
.fil a{color:#C9D6CD;text-decoration:none;border-bottom:1px solid rgba(201,214,205,.3)}
.fil .sep{opacity:.5;padding:0 8px}
html[dir="rtl"] .fil .sep{display:inline-block;transform:scaleX(-1)}

/* ---------------------------------------------------------------- ouverture */
.ouverture{position:relative;overflow:hidden;background:radial-gradient(1200px 700px at 78% 30%,#1D4A33 0%,var(--g900) 55%,var(--g950) 100%);color:#fff;padding:0}
html[dir="rtl"] .ouverture{background:radial-gradient(1200px 700px at 22% 30%,#1D4A33 0%,var(--g900) 55%,var(--g950) 100%)}
.ouverture .reseau{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
html[dir="rtl"] .ouverture .reseau{transform:scaleX(-1)}
.ouverture .wrap{position:relative;min-height:calc(100vh - 68px);max-height:980px;display:flex;flex-direction:column;justify-content:center;padding-top:88px;padding-bottom:64px}
.ouverture h1{font-family:var(--serif);font-size:68px;line-height:1.04;letter-spacing:-.015em;font-weight:600;max-width:880px;margin:0 0 28px}
.ouverture h1 em{font-style:normal;color:var(--or-clair)}
html[lang="ar"] .ouverture h1{font-family:var(--arabe);font-size:58px;line-height:1.3}
.ouverture .lead{font-size:21px;line-height:1.6;color:#C6D3CA;max-width:720px;margin:0 0 40px}
.actions{display:flex;flex-wrap:wrap;gap:14px}
.bouton{display:inline-flex;align-items:center;gap:10px;padding:16px 28px;border-radius:3px;font-weight:650;font-size:16px;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease}
.bouton-or{background:var(--or);color:#22190A}
.bouton-or:hover,.bouton-or:focus{background:var(--or-clair)}
.bouton-ligne{border:1px solid rgba(255,255,255,.35);color:#fff}
.bouton-ligne:hover,.bouton-ligne:focus{border-color:#fff;background:rgba(255,255,255,.06)}
.bouton .fleche{display:inline-block;transition:transform .2s ease}
html[dir="rtl"] .bouton .fleche{transform:scaleX(-1)}
.bouton:hover .fleche{transform:translateX(4px)}
html[dir="rtl"] .bouton:hover .fleche{transform:scaleX(-1) translateX(4px)}
.garanties{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:64px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:13.5px;color:#9FB3A6}
.garanties b{color:#E6D29C;font-weight:650}

/* Reseau anime de l'ouverture (SVG en ligne, classes seulement) */
.r-grille{stroke:rgba(255,255,255,.035);stroke-width:1}
.r-lien{stroke:rgba(201,165,90,.22);stroke-width:1.1;fill:none}
.r-flux{stroke:var(--or-clair);stroke-width:1.6;fill:none;stroke-dasharray:6 22;opacity:.55;animation:flux 9s linear infinite}
.r-flux.lent{animation-duration:14s;opacity:.35}
.r-noeud{fill:rgba(230,210,156,.55)}
.r-hub{fill:var(--or)}
.r-onde{fill:none;stroke:var(--or);stroke-width:1.2;transform-box:fill-box;transform-origin:center;animation:onde 3.2s ease-out infinite}
.r-onde.d2{animation-delay:1.6s}
@keyframes flux{to{stroke-dashoffset:-280}}
@keyframes onde{0%{transform:scale(.4);opacity:.9}100%{transform:scale(3.2);opacity:0}}

/* ---------------------------------------------------------------- chiffres */
.chiffres-bande{background:var(--g950);color:#fff;padding:0;border-top:1px solid rgba(201,165,90,.15)}
.chiffres-bande .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.chiffre{padding:44px 28px;border-inline-start:1px solid rgba(255,255,255,.08)}
.chiffre:first-child{border-inline-start:0;padding-inline-start:0}
.chiffre b{display:block;font-family:var(--serif);font-size:56px;line-height:1;color:var(--or-clair);font-weight:600}
html[lang="ar"] .chiffre b{font-family:var(--arabe)}
.chiffre span{display:block;margin-top:12px;font-size:14.5px;color:#A9BCAF;line-height:1.45}

/* ---------------------------------------------------------------- le groupe */
.deux{display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:start}
.texte-long p{font-size:18px;line-height:1.75;color:#2A322C}
.piliers{border-top:1px solid var(--filet)}
.pilier{padding:28px 0;border-bottom:1px solid var(--filet);display:grid;grid-template-columns:56px 1fr;gap:18px}
.pilier i{font-style:normal;font-family:var(--serif);font-size:15px;color:var(--or);font-weight:700;padding-top:4px}
.pilier h3{font-size:19px;margin:0 0 6px}
.pilier p{margin:0;color:var(--gris);font-size:16px;line-height:1.6}

/* ---------------------------------------------------------------- secteurs */
.secteurs{display:grid;grid-template-columns:repeat(6,1fr);gap:24px}
.secteur{grid-column:span 2;background:#fff;border:1px solid var(--filet);display:flex;flex-direction:column;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.secteur:nth-child(4),.secteur:nth-child(5){grid-column:span 3}
.secteur:hover{border-color:var(--or);box-shadow:0 18px 40px -24px rgba(13,36,24,.35);transform:translateY(-3px)}
.secteur figure{margin:0;aspect-ratio:16/9;overflow:hidden;background:var(--g900)}
.secteur figure img:not(.embleme){display:block;width:100%;height:100%;object-fit:cover}
.secteur>div{padding:26px 26px 22px;display:flex;flex-direction:column;flex:1}
.secteur h3{font-family:var(--serif);font-size:24px;line-height:1.2;margin:0 0 10px}
html[lang="ar"] .secteur h3{font-family:var(--arabe)}
.secteur p{color:var(--gris);font-size:15.5px;line-height:1.6;margin:0 0 18px}
.secteur ul{list-style:none;margin:auto 0 0;padding:0;border-top:1px solid var(--filet)}
.secteur li a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--filet);text-decoration:none;color:var(--encre);font-weight:600;font-size:15.5px}
.secteur li:last-child a{border-bottom:0}
.secteur li a:hover,.secteur li a:focus{color:var(--g600)}

/* Etats */
.badge{display:inline-block;padding:3px 9px;border-radius:2px;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;flex:none}
html[lang="ar"] .badge{font-size:12.5px;font-weight:600}
.badge-actif{background:#E4EEE7;color:#1B4430}
.badge-beta{background:var(--or-pale);color:#6B5219}
.badge-finition{background:#ECEAE4;color:#5B6258}
.etat{display:inline-block;margin-top:30px;padding:7px 14px;border-radius:2px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
html[lang="ar"] .etat{font-size:14px}
.etat-actif{background:var(--or);color:#22190A}
.etat-beta{background:#E4EEE7;color:#133222}
.etat-finition{background:rgba(255,255,255,.1);color:#DCE7DF;border:1px solid rgba(255,255,255,.25)}

/* ---------------------------------------------------------------- vitrine (Sahel EDU) */
.phare{display:grid;grid-template-columns:1.1fr 1fr;background:var(--g800);color:#fff;overflow:hidden}
.phare>div{padding:64px}
.phare h2{color:#fff}
.phare p{color:#C6D3CA;font-size:17.5px}
.phare figure{margin:0;position:relative;min-height:380px;background:var(--g950)}
.phare figure img:not(.embleme){position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.puces{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 34px;padding:0;list-style:none}
.puces li{font-size:13.5px;padding:6px 12px;border:1px solid rgba(255,255,255,.2);border-radius:20px;color:#DCE7DF}

/* ---------------------------------------------------------------- corridor */
.carte-corridor{background:var(--g950);border:1px solid rgba(201,165,90,.18);padding:12px}
.carte-corridor svg{display:block;width:100%;height:auto}
.c-pays{fill:rgba(255,255,255,.2);font-size:13px;font-weight:700;letter-spacing:.3em}
html[lang="ar"] .c-pays{font-size:16px}
.c-mer{fill:rgba(140,185,210,.45);font-size:12.5px;font-style:italic;letter-spacing:.12em}
html[lang="ar"] .c-mer{font-size:14px;font-style:normal}
.c-rail{stroke:var(--or);stroke-width:3;fill:none}
.c-rail-t{stroke:var(--g950);stroke-width:1.5;stroke-dasharray:3 9;fill:none}
.c-route{stroke:rgba(230,210,156,.6);stroke-width:2;fill:none;stroke-dasharray:2 7;stroke-linecap:round}
.c-flux{stroke:#fff;stroke-width:2.2;fill:none;stroke-dasharray:4 30;stroke-linecap:round;opacity:.75;animation:flux 7s linear infinite}
.c-ville{fill:#E9EFE9}
.c-hub{fill:var(--or)}
.c-onde{fill:none;stroke:var(--or);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:onde 3.2s ease-out infinite}
.c-nom{fill:#E9EFE9;font-size:15px;font-weight:600}
.c-nom.hub{fill:var(--or-clair);font-size:19px;font-weight:700}
html[lang="ar"] .c-nom{font-size:17px}
html[lang="ar"] .c-nom.hub{font-size:21px}
.c-legende{fill:#9FB3A6;font-size:12.5px}
html[lang="ar"] .c-legende{font-size:14px}
.etapes{counter-reset:e;margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.12)}
.etapes li{counter-increment:e;position:relative;padding:20px 0;padding-inline-start:56px;border-bottom:1px solid rgba(255,255,255,.12)}
.etapes li::before{content:counter(e,decimal-leading-zero);position:absolute;inset-inline-start:0;top:20px;font-family:var(--serif);font-size:20px;color:var(--or);font-weight:600}
html[lang="ar"] .etapes li::before{content:counter(e,arabic-indic);font-family:var(--arabe)}
.etapes h3{font-size:17px;margin:0 0 4px;color:#fff;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.etapes p{margin:0;color:#B7C7BC;font-size:15.5px}
.etapes a{color:var(--or-clair);text-decoration:none;border-bottom:1px solid rgba(230,210,156,.35)}

/* ---------------------------------------------------------------- fournisseurs */
.questions{border-top:1px solid var(--filet)}
.q{border-bottom:1px solid var(--filet)}
.q summary{cursor:pointer;padding:22px 0;padding-inline-end:40px;position:relative;font-size:18px;font-weight:600;list-style:none}
.q summary::-webkit-details-marker{display:none}
.q summary::after{content:"+";position:absolute;inset-inline-end:4px;top:18px;color:var(--or);font-size:26px;font-weight:400;line-height:1}
.q[open] summary::after{content:"\2212"}
.q summary:hover{color:var(--g600)}
.q>div{padding:0 0 24px;color:var(--gris);font-size:16.5px;line-height:1.7;max-width:860px}
.q em{font-style:normal;color:var(--encre);font-weight:650}
.cats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--filet);border-inline-start:1px solid var(--filet);margin-top:64px}
.cat{padding:26px 22px;border-inline-end:1px solid var(--filet);border-bottom:1px solid var(--filet);background:#fff}
.cat b{display:block;font-size:16.5px;margin-bottom:8px}
.cat span{display:block;font-size:14.5px;color:var(--gris);line-height:1.55;margin-bottom:14px}
.cat small{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12.5px;color:var(--g600);font-weight:650}
.encart{margin-top:32px;padding:26px 30px;background:#fff;border:1px solid var(--filet);border-inline-start:3px solid var(--or);color:var(--gris);font-size:16px;line-height:1.7}
.encart b{color:var(--encre)}

/* ---------------------------------------------------------------- confiance */
.verif{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:56px}
.verif>div{background:#fff;border:1px solid var(--filet);padding:30px 28px;border-top:3px solid var(--g600)}
.verif b{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gris);font-weight:700}
html[lang="ar"] .verif b{font-size:14px}
.verif strong{display:block;font-family:var(--serif);font-size:30px;margin:10px 0 8px;color:var(--g800);direction:ltr;unicode-bidi:isolate;font-weight:600}
html[dir="rtl"] .verif strong{text-align:right}
.verif span{display:block;font-size:14.5px;color:var(--gris);line-height:1.55}
.record{margin:0;border-top:2px solid var(--g800);background:#fff}
.record div{display:grid;grid-template-columns:260px 1fr;gap:24px;padding:16px 24px;border-bottom:1px solid var(--filet)}
.record dt{color:var(--gris);font-size:15px}
.record dd{margin:0;font-weight:550;min-width:0;overflow-wrap:anywhere}
.record a{text-decoration:none;border-bottom:1px solid rgba(43,100,65,.3)}
.record small{display:block;font-weight:400;color:var(--gris);font-size:13.5px;margin-top:4px}
.demande{display:inline-block;margin-inline-start:10px;padding:2px 9px;border-radius:2px;background:#ECEAE4;color:var(--gris);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;vertical-align:middle}
html[lang="ar"] .demande{font-size:12.5px}

/* ---------------------------------------------------------------- contact */
.contact{background:var(--g950);color:#fff;text-align:center;position:relative;overflow:hidden}
.contact h2{color:#fff;margin-inline:auto}
.contact .chapo{margin-inline:auto;color:#B7C7BC}
.contact .actions{justify-content:center}
.contact .alt{margin-top:28px;color:#9FB3A6;font-size:15.5px}
.contact .alt a{color:var(--or-clair);text-decoration:none;border-bottom:1px solid rgba(230,210,156,.35)}

/* ---------------------------------------------------------------- pages de branche */
.tete{background:radial-gradient(900px 520px at 85% 20%,#1D4A33 0%,var(--g900) 60%,var(--g950) 100%);color:#fff;padding:64px 0 0;overflow:hidden}
html[dir="rtl"] .tete{background:radial-gradient(900px 520px at 15% 20%,#1D4A33 0%,var(--g900) 60%,var(--g950) 100%)}
.tete .wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:stretch}
.tete .texte{padding-bottom:72px}
.tete .identite{display:flex;align-items:center;gap:18px;margin-bottom:26px}
.tete .identite img{width:64px;height:64px;border-radius:14px}
.tete .identite span{font-size:12.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--or)}
html[lang="ar"] .tete .identite span{font-size:15px}
.tete h1{font-family:var(--serif);font-size:58px;line-height:1.05;margin:0 0 14px}
html[lang="ar"] .tete h1{font-family:var(--arabe);line-height:1.3}
.tete h1 em{font-style:normal;color:var(--or-clair)}
.tete .metier{font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:#9FB3A6;margin:0 0 22px;font-weight:600}
html[lang="ar"] .tete .metier{font-size:18px}
.tete .lead{font-size:19.5px;line-height:1.6;color:#D2DED5;max-width:620px;margin:0}
.tete figure{margin:0;min-height:340px;position:relative;border-inline-start:1px solid rgba(201,165,90,.2)}
.tete figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tete-simple .wrap{display:block}
.tete-simple .texte{max-width:860px}

.chiffres-clairs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-top:1px solid var(--filet);border-inline-start:1px solid var(--filet)}
.chiffres-clairs div{padding:30px 26px;border-inline-end:1px solid var(--filet);border-bottom:1px solid var(--filet);background:#fff}
.chiffres-clairs b{display:block;font-family:var(--serif);font-size:44px;line-height:1;color:var(--g700);font-weight:600}
html[lang="ar"] .chiffres-clairs b{font-family:var(--arabe)}
.chiffres-clairs span{display:block;font-size:14.5px;color:var(--gris);margin-top:10px;line-height:1.45}
.offres{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));border-top:1px solid var(--filet);border-inline-start:1px solid var(--filet)}
.offre{padding:34px 30px;border-inline-end:1px solid var(--filet);border-bottom:1px solid var(--filet);background:#fff}
.offre i{display:block;width:36px;height:2px;background:var(--or);margin-bottom:22px}
.offre h3{font-size:19px;margin:0 0 10px}
.offre p{margin:0;color:var(--gris);font-size:15.5px;line-height:1.65}
.publics{list-style:none;margin:0;padding:0;border-top:1px solid var(--filet)}
.publics li{padding:18px 0;padding-inline-start:34px;border-bottom:1px solid var(--filet);position:relative;font-size:17px}
.publics li::before{content:"";position:absolute;inset-inline-start:4px;top:30px;width:14px;height:2px;background:var(--or)}

.branches{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));border-top:1px solid var(--filet);border-inline-start:1px solid var(--filet)}
.branche{display:flex;gap:14px;align-items:flex-start;padding:20px;border-inline-end:1px solid var(--filet);border-bottom:1px solid var(--filet);background:#fff;text-decoration:none;color:var(--encre);transition:background .2s ease}
.branche:hover,.branche:focus{background:var(--or-pale)}
.branche img{width:44px;height:44px;border-radius:10px;flex:none}
.branche b{display:block;font-size:16px}
.branche span{display:block;font-size:13.5px;color:var(--gris);margin:2px 0 8px}
.pole-titre{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:64px 0 18px;padding-bottom:12px;border-bottom:2px solid var(--g800)}
.pole-titre.premier{margin-top:0}
.pole-titre h3{font-family:var(--serif);font-size:26px}
html[lang="ar"] .pole-titre h3{font-family:var(--arabe)}
.pole-titre p{margin:0;color:var(--gris);font-size:15px;max-width:520px}

/* Texte courant (mentions legales) */
.texte-legal{max-width:820px}
.texte-legal h2{font-size:28px;margin:48px 0 14px}
.texte-legal h2:first-child{margin-top:0}
.texte-legal p,.texte-legal li{font-size:16.5px;color:#2A322C}
.texte-legal ul{padding-inline-start:22px}

/* ---------------------------------------------------------------- pied */
footer{background:var(--g950);color:#9FB3A6;font-size:14.5px;padding:72px 0 40px;border-top:1px solid rgba(201,165,90,.15)}
.pied{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;margin-bottom:56px}
.pied h4{color:#fff;font-size:13px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 18px}
html[lang="ar"] .pied h4{font-size:15px}
.pied ul{list-style:none;margin:0;padding:0}
.pied li{margin:0 0 10px}
.pied a{color:#C9D6CD;text-decoration:none}
.pied a:hover,.pied a:focus{color:var(--or-clair)}
.pied .marque{margin-bottom:18px}
.pied p{line-height:1.7}
.mentions{border-top:1px solid rgba(255,255,255,.1);padding-top:26px;font-size:13px;color:#7F9486;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}

/* ---------------------------------------------------------------- complements v3 */
.plus{margin-top:28px}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.duo .secteur{grid-column:auto}
.duo .secteur h3{font-size:26px}
figure{position:relative}
figure img.embleme{position:absolute;top:auto;inset-inline-start:28px;bottom:28px;width:84px;height:84px;border-radius:18px;box-shadow:0 12px 30px -10px rgba(0,0,0,.6);z-index:1}
.phare figure img.embleme{width:112px;height:112px;border-radius:24px;inset-inline-start:40px;bottom:40px}
.secteur figure img:not(.embleme),.phare figure img:not(.embleme),.tete figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.secteur figure{position:relative}
.coches{list-style:none;margin:0 0 6px;padding:0}
.coches li{position:relative;padding:6px 0;padding-inline-start:24px;font-size:15px;color:var(--encre)}
.coches li::before{content:"";position:absolute;inset-inline-start:2px;top:14px;width:10px;height:6px;border-inline-start:2px solid var(--g600);border-bottom:2px solid var(--g600);transform:rotate(-45deg)}
html[dir="rtl"] .coches li::before{transform:rotate(45deg)}
.legende-carte{display:flex;flex-wrap:wrap;gap:8px 24px;margin:10px 6px 4px;font-size:13px;color:#9FB3A6}
.legende-carte span{display:inline-flex;align-items:center;gap:10px}
.legende-carte i{display:inline-block;width:34px;height:0}
.trait-rail{border-top:3px solid var(--or)}
.trait-route{border-top:2px dotted var(--or-clair)}
@media (max-width:860px){.duo{grid-template-columns:1fr}figure img.embleme{width:64px;height:64px;inset-inline-start:20px;bottom:20px}.phare figure img.embleme{width:84px;height:84px;inset-inline-start:24px;bottom:24px}}

/* ---------------------------------------------------------------- la carte des ondes */
.carte-boutons{display:none;flex-wrap:wrap;gap:6px;margin:4px 4px 12px}
.jsc .carte-boutons{display:flex}
.carte-boutons button{font:inherit;font-size:13px;font-weight:650;padding:6px 13px;border-radius:20px;border:1px solid rgba(230,210,156,.35);background:transparent;color:#DCE7DF;cursor:pointer}
.carte-boutons button:hover,.carte-boutons button:focus{border-color:var(--or-clair);color:#fff}
.carte-boutons button[aria-pressed="true"]{background:var(--or);color:#22190A;border-color:var(--or)}
.c-cemac{fill:rgba(201,165,90,.05);stroke:rgba(201,165,90,.45);stroke-width:1.2;stroke-dasharray:6 6}
.c-cemac-nom{fill:rgba(230,210,156,.65);font-size:12px;font-weight:700;letter-spacing:.25em}
.c-rayon{stroke:rgba(201,165,90,.32);stroke-width:1;fill:none}
.c-flux.lent{animation-duration:10s}
.c-flux.monde{stroke:var(--or-clair)}
.c-capitale{fill:#E9EFE9;stroke:var(--g950);stroke-width:2}
.c-nom.fort{font-weight:700}
.c-nom.monde{fill:var(--or-clair);font-size:15px;font-weight:700}
.c-pays-monde{fill:#9FB3A6;font-size:11.5px}
.c-monde{stroke:rgba(230,210,156,.55);stroke-width:1.6;fill:none;stroke-dasharray:3 5}
.c-siege{fill:var(--g950);stroke:var(--or);stroke-width:2}
.c-siege-nom{fill:var(--or);font-size:11.5px;font-weight:700;letter-spacing:.06em}
.c-onde{fill:none;stroke:var(--or);stroke-width:1.6;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;opacity:0;animation:propage 6s cubic-bezier(.2,.6,.3,1) infinite}
.c-onde.o1{animation-delay:1.5s}
.c-onde.o2{animation-delay:3s}
.c-onde.o3{animation-delay:4.5s}
@keyframes propage{0%{transform:scale(1);opacity:.95}100%{transform:scale(24);opacity:0}}
.carte-ondes .couche{animation:allume 12s ease-in-out infinite both}
.carte-ondes .couche-region{animation-delay:1.5s}
.carte-ondes .couche-monde{animation-delay:3s}
@keyframes allume{0%{opacity:.14}12%{opacity:1}85%{opacity:1}100%{opacity:.14}}
.carte-ondes[data-couche] .couche{animation:none;opacity:.1;transition:opacity .4s ease}
.carte-ondes[data-couche="cm"] .couche-cm,.carte-ondes[data-couche="region"] .couche-region,.carte-ondes[data-couche="monde"] .couche-monde,.carte-ondes[data-couche="tout"] .couche{opacity:1}
.carte-chiffres{display:flex;flex-wrap:wrap;gap:6px 24px;margin:12px 6px 4px;padding:0;list-style:none;color:#9FB3A6;font-size:13px;align-items:baseline}
.carte-chiffres b{color:var(--or-clair);font-size:22px;font-family:var(--serif);margin-inline-end:7px}
html[lang="ar"] .carte-chiffres b,html[lang^="zh"] .carte-chiffres b{font-family:inherit}
.legende-carte{list-style:none;padding:0}
.trait-rayon{border-top:1px solid rgba(201,165,90,.6)}
.trait-cemac{border-top:2px dashed rgba(201,165,90,.6)}
.trait-monde{border-top:2px dotted var(--or-clair)}
.carte-note{margin:6px;font-size:12px;color:#7F9486}
.corridor-grille{grid-template-columns:.85fr 1.15fr;gap:56px}
/* Sur telephone la carte est reduite de moitie : les noms grossissent d'autant. */
@media (max-width:860px){
  .corridor-grille{grid-template-columns:1fr}
  .carte-corridor{margin:0 -12px}
  .c-nom{font-size:21px}
  .c-nom.hub{font-size:27px}
  .c-nom.monde{font-size:21px}
  .c-pays{font-size:17px;letter-spacing:.12em}
  .c-pays-monde{font-size:15px}
  .c-siege-nom{font-size:15px}
  .c-cemac-nom{font-size:16px}
  .c-mer{font-size:16px}
  html[lang="ar"] .c-nom{font-size:22px}
  html[lang="ar"] .c-nom.hub{font-size:28px}
  html[lang="ar"] .c-pays{font-size:19px}
  html[lang="ar"] .c-mer{font-size:17px}
}

/* ---------------------------------------------------------------- apparition au defilement */
.js .monte{opacity:0;transform:translateY(22px)}
.js .monte.vu{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.js .monte.vu:nth-child(2){transition-delay:.08s}
.js .monte.vu:nth-child(3){transition-delay:.16s}
.js .monte.vu:nth-child(4){transition-delay:.24s}
.js .monte.vu:nth-child(5){transition-delay:.32s}
@keyframes leve{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.ouverture .wrap>*,.tete .texte>*{animation:leve .9s cubic-bezier(.2,.7,.2,1) both}
.ouverture .wrap>:nth-child(2),.tete .texte>:nth-child(2){animation-delay:.1s}
.ouverture .wrap>:nth-child(3),.tete .texte>:nth-child(3){animation-delay:.2s}
.ouverture .wrap>:nth-child(4),.tete .texte>:nth-child(4){animation-delay:.3s}
.ouverture .wrap>:nth-child(5),.tete .texte>:nth-child(5){animation-delay:.45s}

/* ---------------------------------------------------------------- ecrans */
@media (max-width:1080px){
  .menu{display:none}
  .nav .wrap{justify-content:space-between}
  .secteur,.secteur:nth-child(4),.secteur:nth-child(5){grid-column:span 3}
  .cats{grid-template-columns:repeat(2,1fr)}
  .pied{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  section{padding:72px 0}
  .wrap{padding:0 20px}
  h2{font-size:34px}
  html[lang="ar"] h2{font-size:30px}
  .ouverture h1{font-size:46px}
  html[lang="ar"] .ouverture h1{font-size:40px}
  .ouverture .lead{font-size:18px}
  .ouverture .wrap{min-height:auto;padding-top:72px}
  .ouverture .reseau{opacity:.4}
  .chiffres-bande .wrap{grid-template-columns:repeat(2,1fr)}
  .chiffre{padding:30px 18px}
  .chiffre:nth-child(odd){border-inline-start:0;padding-inline-start:0}
  .chiffre:nth-child(n+3){border-top:1px solid rgba(255,255,255,.08)}
  .chiffre b{font-size:44px}
  .deux,.phare,.tete .wrap{grid-template-columns:1fr;gap:40px}
  .phare>div{padding:44px 24px}
  .phare figure{min-height:240px}
  .secteurs{grid-template-columns:1fr}
  .secteur,.secteur:nth-child(4),.secteur:nth-child(5){grid-column:auto}
  .verif{grid-template-columns:1fr}
  .record div{grid-template-columns:1fr;gap:4px;padding:14px 18px}
  .tete{padding-top:44px}
  .tete .texte{padding-bottom:0}
  .tete h1{font-size:42px}
  .tete figure{min-height:220px;border-inline-start:0;border-top:1px solid rgba(201,165,90,.2);margin:0 -20px}
  .pole-titre{flex-direction:column;gap:6px}
}
@media (max-width:560px){
  body{font-size:16px}
  .marque span{display:none}
  .ouverture h1{font-size:38px}
  html[lang="ar"] .ouverture h1{font-size:34px}
  .bouton{width:100%;justify-content:center}
  .cats{grid-template-columns:1fr}
  .pied{grid-template-columns:1fr}
  .offres{grid-template-columns:1fr}
  .chiffre b{font-size:38px}
  .garanties{margin-top:40px}
  .chiffres-clairs{grid-template-columns:1fr 1fr}
  .chiffres-clairs div{padding:22px 16px}
  .chiffres-clairs b{font-size:34px}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .js .monte{opacity:1!important;transform:none!important}
  html{scroll-behavior:auto}
  .r-flux,.c-flux,.r-onde,.c-onde{display:none}
  .carte-ondes .couche{opacity:1}
}

@media print{
  .nav,.evitement,.reseau{display:none}
  .ouverture,.chiffres-bande,.sombre,.phare,.contact,.tete,footer{background:#fff!important;color:#000!important}
  .ouverture *,.chiffres-bande *,.sombre *,.phare *,.contact *,.tete *,footer *{color:#000!important}
  .js .monte{opacity:1!important;transform:none!important}
}
