:root{
    --ink:#1c2329; --ink-2:#2b2d35;
    --orange:#faaf0b; --orange-2:#fbaf0b;
    --blue-1:#3da3c8; --blue-2:#1d8dba;
    --sim:#c3c3ca;
    --paper:#f7f8fa; --surface:#ffffff; --line:#e6e8ee;
    --text:#2b2d35; --muted:#6b7280;
    --maxw:1100px; --ease:cubic-bezier(.22,.61,.36,1);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;font-family:'Raleway',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text);background:var(--surface);line-height:1.6;-webkit-font-smoothing:antialiased;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
  .material-icons-outlined{font-family:'Material Icons Outlined';font-weight:normal;font-style:normal;line-height:1;display:inline-block;white-space:nowrap;direction:ltr;}

  .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:15.5px;letter-spacing:.01em;padding:16px 28px;border:2px solid transparent;border-radius:0;cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s;line-height:1.2;text-align:center;}
  .btn .emj{font-size:17px;line-height:1;}
  .btn-primary{background:var(--orange);color:var(--ink);}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px -10px rgba(250,175,11,.75);}

  .eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--orange);background:rgba(250,175,11,.12);border:1px solid rgba(250,175,11,.28);padding:7px 13px;}
  .eyebrow em{font-style:normal;font-size:15px;line-height:1;}
  .eyebrow.on-light{color:var(--blue-2);background:rgba(29,141,186,.13);border-color:rgba(29,141,186,.30);}

  .nav{position:sticky;top:0;z-index:50;background:rgba(28,35,41,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.07);}
  .nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;}
  .nav-logo{height:46px;width:auto;display:block;}
  .footer-logo{height:56px;width:auto;display:block;}
  .partner-logo{height:30px;width:auto;display:inline-block;vertical-align:middle;margin-left:5px;}
  .nav-cta{font-size:14px;padding:12px 20px;}

  /* hero */
  .hero{position:relative;overflow:hidden;background:radial-gradient(900px 480px at 8% -10%,rgba(61,163,200,.16),transparent 60%),radial-gradient(760px 520px at 100% 4%,rgba(250,175,11,.13),transparent 55%),linear-gradient(180deg,var(--ink) 0%,var(--ink-2) 100%);color:#fff;}
  .hero .wrap{padding:64px 24px 76px;}
  .hero-inner{max-width:none;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;}
  .hero-logo{height:160px;width:auto;margin:0 0 22px;}
  .hero h1{font-size:clamp(22px,3.3vw,36px);line-height:1.15;font-weight:800;letter-spacing:-.02em;margin:10px 0 0;white-space:nowrap;}
  .hero h1 .l1{display:block;color:#fff;}
  .hero h1 .l2{display:block;color:var(--orange);}
  .hero-sub{font-size:18px;color:#d7dadf;font-weight:400;margin:16px 0 0;max-width:none;white-space:nowrap;}
  .badges{display:flex;flex-wrap:wrap;gap:9px;align-items:center;justify-content:center;margin:24px 0 0;}
  .badge{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:8px 13px;}
  .badge .material-icons-outlined{font-size:17px;color:var(--blue-1);}
  .badge.bx .material-icons-outlined{color:var(--orange);}
  .hero .btn{margin-top:28px;}
  .hero-note{margin:16px 0 0;font-size:13px;color:#9aa0a8;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .hero-note .material-icons-outlined{font-size:16px;color:var(--blue-1);}

  .hero-video{position:relative;width:100%;max-width:760px;margin:30px auto 0;aspect-ratio:16/9;background:#000;border:1px solid rgba(255,255,255,.16);overflow:hidden;}
  .hero-video video{width:100%;height:100%;object-fit:cover;display:block;}
  .hero-video-ov{position:absolute;inset:0;width:100%;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(circle at 50% 47%,rgba(15,19,23,.5) 0%,rgba(15,19,23,.16) 55%,rgba(15,19,23,.04) 100%);color:#fff;font-family:inherit;transition:background .2s;}
  .hero-video-ov:hover{background:radial-gradient(circle at 50% 47%,rgba(15,19,23,.55) 0%,rgba(15,19,23,.24) 55%,rgba(15,19,23,.1) 100%);}
  .hero-video-ov .hv-play{width:66px;height:66px;border-radius:50%;background:var(--orange);color:var(--ink);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px -6px rgba(0,0,0,.5),0 0 0 8px rgba(255,255,255,.14);transition:transform .18s var(--ease);}
  .hero-video-ov:hover .hv-play{transform:scale(1.06);}
  .hero-video-ov .hv-play .material-icons-outlined{font-size:34px;margin-left:3px;}
  .hero-video-ov .hv-cap{font-size:13.5px;font-weight:700;letter-spacing:.02em;text-shadow:0 1px 8px rgba(0,0,0,.65);}

  section{padding:78px 0;}
  .sec-dark{background:var(--ink-2);color:#fff;}
  .sec-paper{background:var(--paper);}
  .sec-head{max-width:680px;}
  .sec-head.center{margin:0 auto;text-align:center;}
  .sec-head h2{font-size:clamp(27px,3.3vw,38px);line-height:1.14;font-weight:800;letter-spacing:-.02em;margin:16px 0 0;}
  .sec-head .lead{font-size:17px;font-weight:400;margin:14px 0 0;}
  .sec-dark .lead{color:#cfd3d9;}
  .sec-paper .lead,.sec-light .lead{color:var(--muted);}
  .cta-band{text-align:center;margin-top:40px;}

  /* pain — large net */
  .painlist{display:grid;grid-template-columns:1fr 1fr;gap:12px 26px;margin-top:40px;}
  .pitem{display:flex;align-items:flex-start;gap:13px;font-size:16px;font-weight:600;color:#eceef1;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08);}
  .pitem .material-icons-outlined{font-size:21px;color:#f0807f;flex:0 0 auto;margin-top:2px;}
  .reframe{margin-top:32px;text-align:center;font-size:clamp(18px,2.2vw,23px);font-weight:700;line-height:1.4;color:#fff;}
  .reframe .u{color:var(--orange);}

  /* ecosystem — 4 pillars */
  .quad{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:46px;}
  .card{background:var(--surface);border:1px solid var(--line);padding:28px 24px;position:relative;}
  .card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;}
  .card.c1::before{background:linear-gradient(90deg,var(--blue-1),var(--blue-2));}
  .card.c2::before{background:var(--blue-2);}
  .card.c3::before{background:var(--orange);}
  .card.c4::before{background:linear-gradient(90deg,var(--orange),var(--blue-2));}
  .card.c3{overflow:visible;}
  .card .pico{width:50px;height:50px;display:flex;align-items:center;justify-content:center;margin-bottom:15px;}
  .card.c1 .pico{background:rgba(29,141,186,.12);color:var(--blue-2);}
  .card.c2 .pico{background:rgba(61,163,200,.14);color:var(--blue-1);}
  .card.c3 .pico{background:rgba(250,175,11,.14);color:var(--orange-2);}
  .card.c4 .pico{background:rgba(28,35,41,.08);color:var(--ink);}
  .card .pico .material-icons-outlined{font-size:26px;}
  .card h3{margin:0 0 8px;font-size:18.5px;font-weight:800;letter-spacing:-.01em;}
  .card p{margin:0;font-size:14px;color:#3b3f49;font-weight:400;}
  .card-ico{position:absolute;top:-30px;right:12px;height:84px;display:flex;align-items:center;z-index:3;pointer-events:none;}
  .card-ico .card-logo{max-height:84px;max-width:124px;width:auto;height:auto;display:block;filter:drop-shadow(0 8px 14px rgba(28,35,41,.18));}
  .maroc-badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);background:var(--orange);padding:5px 8px;margin-top:14px;}
  .maroc-badge .material-icons-outlined{font-size:13px;}
  .mods{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;}
  .mods span{font-size:11px;font-weight:700;color:#5b616b;background:var(--paper);border:1px solid var(--line);padding:4px 8px;}
  .vision{margin:34px auto 0;text-align:center;max-width:62ch;font-size:16px;font-weight:500;color:var(--muted);}
  .vision b{color:var(--text);font-weight:700;}

  /* mentor */
  .mentor{display:grid;grid-template-columns:280px 1fr;gap:42px;align-items:center;margin-top:44px;}
  .mentor-photo{position:relative;}
  .mentor-photo .ph{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line);background:linear-gradient(135deg,var(--blue-1),var(--blue-2));}
  .mentor-photo .ph-fallback{width:100%;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;font-size:60px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--blue-1),var(--blue-2));}
  .mentor-photo .seal{position:absolute;top:-16px;right:-16px;width:90px;height:auto;filter:drop-shadow(0 8px 16px rgba(0,0,0,.22));}
  .mentor-photo .pin{position:absolute;left:-1px;bottom:-1px;background:var(--orange);color:var(--ink);font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:8px 13px;}
  .mentor-info h3{margin:0;font-size:24px;font-weight:800;letter-spacing:-.01em;}
  .mentor-info .creds{font-size:13.5px;font-weight:700;color:var(--blue-2);margin:5px 0 0;}
  .mentor-info .bio{font-size:15.5px;color:#3b3f49;font-weight:400;margin:16px 0 0;line-height:1.6;}
  .mentor-info .bio b{font-weight:700;color:var(--text);}
  .mentor-stats{display:flex;flex-wrap:wrap;gap:22px;margin:22px 0 0;}
  .mstat .v{font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--text);}
  .mstat .l{font-size:12px;color:var(--muted);font-weight:600;}
  .mentor-logos{margin:20px 0 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
  .mentor-logos .org{font-size:13px;font-weight:700;color:#5b616b;border:1px solid var(--line);padding:5px 11px;}

  /* final offer */
  .final{background:radial-gradient(700px 420px at 85% -5%,rgba(61,163,200,.18),transparent 60%),linear-gradient(160deg,var(--ink) 0%,var(--ink-2) 100%);color:#fff;}
  .final .wrap{max-width:720px;text-align:center;}
  .final h2{font-size:clamp(28px,3.6vw,42px);line-height:1.12;font-weight:800;letter-spacing:-.02em;margin:16px 0 0;}
  .final h2 .hl{color:var(--orange);}
  .final .lead{color:#cfd3d9;font-size:17px;margin:14px auto 0;max-width:52ch;}
  .offer-list{list-style:none;margin:28px auto 0;padding:0;max-width:440px;text-align:left;}
  .offer-list li{display:flex;gap:12px;align-items:flex-start;font-size:16px;font-weight:600;color:#fff;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08);}
  .offer-list li:last-child{border-bottom:0;}
  .offer-list .material-icons-outlined{font-size:22px;color:var(--orange);flex:0 0 auto;margin-top:1px;}
  .final .btn{margin-top:30px;}
  .final .limit{margin:16px 0 0;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sim);}

  footer{background:var(--ink);color:#aab0b8;padding:40px 0 34px;}
  footer .wrap{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;}
  footer .f-meta{font-size:13px;color:#7d838c;}
  footer a:hover{color:#fff;}
  footer .partner{font-size:13px;}

  .sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--ink);border-top:1px solid rgba(255,255,255,.1);padding:11px 16px;display:none;align-items:center;justify-content:space-between;gap:12px;transform:translateY(100%);transition:transform .3s var(--ease);}
  .sticky-cta.show{transform:translateY(0);}
  .sticky-cta .s-txt{font-size:13px;color:#cfd3d9;font-weight:600;line-height:1.25;}
  .sticky-cta .s-txt b{color:#fff;display:block;font-size:14px;}
  .sticky-cta .btn{padding:12px 18px;font-size:14px;}

  .reveal{opacity:0;transform:translateY(20px);transition:opacity .55s var(--ease),transform .55s var(--ease);}
  .reveal.is-in{opacity:1;transform:none;}

  /* modale diagnostic */
  .dm{position:fixed;inset:0;z-index:200;display:none;align-items:flex-start;justify-content:center;padding:28px 16px;background:rgba(15,19,23,.74);backdrop-filter:blur(4px);overflow-y:auto;}
  .dm.open{display:flex;}
  .dm-dialog{position:relative;width:100%;max-width:480px;margin:auto;}
  .dm-close{position:absolute;top:12px;right:12px;z-index:3;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:22px;line-height:1;cursor:pointer;transition:background .18s;}
  .dm-close:hover{background:rgba(255,255,255,.26);}

  /* sélecteur de langue */
  .lang-sw{position:fixed;top:14px;right:16px;z-index:80;display:flex;gap:2px;background:rgba(28,35,41,.62);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:3px;}
  .lang-sw a{display:flex;align-items:center;justify-content:center;min-width:30px;height:26px;padding:0 9px;font-size:12.5px;font-weight:800;letter-spacing:.04em;color:#cfd3d9;border-radius:999px;line-height:1;}
  .lang-sw a.on{background:var(--orange);color:var(--ink);}
  .lang-sw a:hover:not(.on){color:#fff;}

  /* RTL (arabe) */
  [dir="rtl"] body{font-family:'Cairo','Raleway',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}
  [dir="rtl"] .hero h1,[dir="rtl"] .hero-sub{white-space:normal;}
  [dir="rtl"] .sec-head,[dir="rtl"] .mentor-info,[dir="rtl"] .offer-list,[dir="rtl"] .card{text-align:right;}
  [dir="rtl"] .card .pico{margin-left:auto;}
  [dir="rtl"] .card-ico{right:auto;left:12px;}
  [dir="rtl"] .mentor-photo .seal{right:auto;left:-16px;}
  [dir="rtl"] .mentor-photo .pin{left:auto;right:-1px;}

  @media (max-width:1080px){
    .hero h1{white-space:normal;font-size:clamp(28px,5vw,40px);}
    .hero-sub{white-space:normal;font-size:16px;max-width:46ch;}
  }
  @media (max-width:980px){
    .hero .wrap{padding:48px 24px 56px;}
    .hero-sub{max-width:none;}
    .quad{grid-template-columns:1fr 1fr;}
    .mentor{grid-template-columns:1fr;gap:26px;}
    .mentor-photo{max-width:260px;}
    .mentor-photo .seal{width:72px;top:-12px;right:-12px;}
  }
  @media (max-width:640px){
    section{padding:54px 0;}
    .wrap{padding:0 18px;}
    .hero-logo{height:104px;}
    .hero .btn{width:100%;}
    .painlist,.quad{grid-template-columns:1fr;}
    .card-ico{height:64px;top:-22px;right:10px;}
    .card-ico .card-logo{max-height:64px;max-width:96px;}
    .sticky-cta{display:flex;}
    body{padding-bottom:64px;}
  }
  @media (prefers-reduced-motion:reduce){
    *{scroll-behavior:auto !important;}
    .reveal{opacity:1 !important;transform:none !important;transition:none !important;}
    .btn:hover{transform:none !important;}
  }
