
  :root{
    --navy:#14532d;
    --navy-deep:#0b3a1e;
    --gold:#2e7d32;
    --gold-soft:#e3f2e4;
    --teal:#2e7d32;
    --ink:#1f2d24;
    --muted:#5b6e60;
    --bg:#f6faf7;
    --card:#ffffff;
    --line:#dfe9e1;
    --radius:14px;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter',"Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;
    color:var(--ink);background:var(--bg);line-height:1.65;font-size:16.5px;
  }
  /* ---- Language toggle mechanics ---- */
  body.lang-fr .en{display:none!important;}
  body:not(.lang-fr) .fr{display:none!important;}

  h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;color:var(--navy);line-height:1.25;}
  a{color:var(--teal);text-decoration:none;}
  a:hover{text-decoration:underline;}
  .wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
  section{padding:72px 0;}
  .kicker{
    display:inline-block;font-family:'Inter',sans-serif;font-size:.78rem;font-weight:700;
    letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;
  }
  .section-title{font-size:2rem;margin-bottom:14px;}
  .section-intro{max-width:760px;color:var(--muted);margin-bottom:36px;}

  /* ---- Header ---- */
  header{
    position:sticky;top:0;z-index:50;background:rgba(11,58,30,.97);
    border-bottom:3px solid var(--gold);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:1220px;margin:0 auto;gap:16px;flex-wrap:wrap;}
  .brand{display:flex;align-items:center;gap:12px;}
  .logo{
    width:46px;height:46px;border-radius:10px;background:#fff;
    display:flex;align-items:center;justify-content:center;
    font-family:'Fraunces',Georgia,serif;font-weight:bold;font-size:1.15rem;color:var(--navy);flex-shrink:0;
  }
  .brand-name{color:#fff;font-family:'Fraunces',Georgia,serif;font-size:1.25rem;font-weight:bold;letter-spacing:.02em;}
  .brand-sub{display:block;color:#bfd9c5;font-family:'Inter',sans-serif;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;}
  nav.menu{display:flex;gap:22px;flex-wrap:wrap;align-items:center;}
  nav.menu a{color:#e0efe3;font-size:.92rem;font-weight:500;}
  nav.menu a:hover{color:var(--gold);text-decoration:none;}
  .lang-switch{
    display:flex;border:1px solid rgba(255,255,255,.35);border-radius:999px;overflow:hidden;
  }
  .lang-switch button{
    background:transparent;border:none;color:#e0efe3;font-size:.85rem;font-weight:700;
    padding:6px 16px;cursor:pointer;letter-spacing:.05em;
  }
  .lang-switch button.active{background:#fff;color:#14532d;}

  /* ---- Hero ---- */
  .hero{
    background:linear-gradient(140deg,var(--navy-deep) 0%,var(--navy) 55%,#1e6b34 100%);
    color:#fff;padding:96px 0 84px;position:relative;overflow:hidden;
  }
  .hero::after{
    content:"";position:absolute;right:-140px;top:-140px;width:460px;height:460px;border-radius:50%;
    background:radial-gradient(circle,rgba(165,214,167,.25),transparent 70%);
  }
  .hero h1{color:#fff;font-size:2.9rem;max-width:780px;margin:14px 0 20px;}
  .hero h1 em{font-style:normal;color:var(--gold);}
  .hero p.lead{max-width:720px;font-size:1.15rem;color:#d3e8d8;margin-bottom:36px;}
  .hero .cta{display:flex;gap:14px;flex-wrap:wrap;}
  .btn{
    display:inline-block;padding:13px 28px;border-radius:999px;font-weight:700;font-size:.95rem;
    letter-spacing:.03em;transition:transform .15s ease;
  }
  .btn:hover{text-decoration:none;transform:translateY(-2px);}
  .btn-gold{background:var(--gold);color:#fff;}
  .btn-ghost{border:1.5px solid rgba(255,255,255,.5);color:#fff;}

  /* ---- Stats ---- */
  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:58px;position:relative;z-index:1;}
  .stat{
    background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
    border-radius:var(--radius);padding:22px 18px;text-align:center;
  }
  .stat .num{font-family:'Fraunces',Georgia,serif;font-size:2.2rem;color:var(--gold);font-weight:bold;}
  .stat .lab{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#c4dcc9;margin-top:4px;}

  /* ---- Cards & grids ---- */
  .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
  .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  .card{
    background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
    padding:28px;box-shadow:0 2px 10px rgba(20,83,45,.06);
  }
  .card h3{font-size:1.15rem;margin-bottom:10px;}
  .card p{color:var(--muted);font-size:.95rem;}
  .num-badge{
    display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
    border-radius:10px;background:var(--gold-soft);color:var(--navy);
    font-family:'Fraunces',Georgia,serif;font-weight:bold;margin-bottom:14px;font-size:1rem;
  }
  .tags{margin-top:14px;display:flex;flex-wrap:wrap;gap:7px;}
  .tag{
    font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:4px 11px;border-radius:999px;
    background:#edf5ee;color:var(--navy);border:1px solid var(--line);
  }

  /* ---- Alternating band ---- */
  .band{background:var(--navy);color:#fff;}
  .band .section-title,.band h3{color:#fff;}
  .band .card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none;}
  .band .card p{color:#c4dcc9;}
  .band .kicker{color:var(--gold);}
  .band .section-intro{color:#bfd9c5;}

  /* ---- Track record ---- */
  .year-block{margin-bottom:44px;}
  .year-label{
    font-family:'Fraunces',Georgia,serif;font-size:1.5rem;color:var(--gold);border-bottom:2px solid var(--gold);
    display:inline-block;padding-bottom:4px;margin-bottom:22px;
  }
  .tr-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  .tr-card{border-left:4px solid var(--gold);}
  .tr-card .client{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:8px;}
  .tr-card h4{font-size:1.05rem;margin-bottom:8px;}
  .tr-card.full{grid-column:1 / -1;}

  /* ---- Founder ---- */
  .founder{display:grid;grid-template-columns:340px 1fr;gap:40px;align-items:start;}
  .founder-side{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px;}
  .founder-side h4{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:18px 0 6px;font-family:'Inter',sans-serif;}
  .founder-side h4:first-child{margin-top:0;}
  .founder-side p{font-size:.92rem;color:var(--muted);}
  blockquote{
    font-family:'Fraunces',Georgia,serif;font-size:1.35rem;color:var(--navy);border-left:4px solid var(--gold);
    padding-left:22px;margin:0 0 24px;line-height:1.5;
  }

  /* ---- Team ---- */
  .team-card{text-align:left;}
  .team-card .avatar{
    width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--teal));
    color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.05rem;
    margin-bottom:14px;font-family:'Fraunces',Georgia,serif;
  }
  .team-card h3{font-size:1.02rem;margin-bottom:4px;}
  .team-card .country{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-top:10px;display:block;}

  /* ---- Reach / clients ---- */
  .pill-cloud{display:flex;flex-wrap:wrap;gap:10px;}
  .pill{
    padding:8px 18px;border-radius:999px;background:#fff;border:1px solid var(--line);
    font-size:.88rem;font-weight:600;color:var(--navy);
  }
  .band .pill{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#e6ecf5;}

  /* ---- Contact ---- */
  .contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px;}
  .contact-card{text-align:center;}
  .contact-card .ico{font-size:1.6rem;margin-bottom:10px;}
  .contact-card h3{font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;font-family:'Inter',sans-serif;margin-bottom:8px;}

  footer{background:var(--navy-deep);color:#9ab8a2;padding:34px 0;font-size:.88rem;}
  .foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}

  /* ---- Featured platform ---- */
  .feature-box{
    margin-top:30px;background:linear-gradient(120deg,var(--navy),#1e6b34);color:#fff;
    border-radius:var(--radius);padding:32px 34px;
  }
  .feature-box h3{color:var(--gold);margin-bottom:10px;}
  .feature-box p{color:#d3e8d8;font-size:.97rem;max-width:900px;}

  @media (max-width:900px){
    .grid-2,.grid-3,.grid-4,.tr-grid,.contact-grid{grid-template-columns:1fr;}
    .stats{grid-template-columns:repeat(2,1fr);}
    .founder{grid-template-columns:1fr;}
    .hero h1{font-size:2.1rem;}
    nav.menu{display:none;}
  }

  /* ---- Multi-page additions ---- */
  nav.menu a.current{color:var(--gold);border-bottom:2px solid var(--gold);padding-bottom:3px;}
  .page-head{
    background:linear-gradient(140deg,var(--navy-deep) 0%,var(--navy) 60%,#1e6b34 100%);
    color:#fff;padding:64px 0 52px;
  }
  .page-head h1{color:#fff;font-size:2.3rem;margin-top:10px;}
  .page-head p{max-width:720px;color:#d3e8d8;margin-top:12px;}

  /* ---- Charte vert & blanc : accents sur fonds sombres ---- */
  .hero .kicker,.band .kicker,.page-head .kicker{color:#a5d6a7;}
  .stat .num{color:#a5d6a7;}
  .feature-box h3{color:#b9e4ba;}
  .hero h1 em{color:#a5d6a7;}
  nav.menu a:hover{color:#a5d6a7;}
  nav.menu a.current{color:#a5d6a7;border-bottom-color:#a5d6a7;}
  .band .year-label{color:#a5d6a7;border-color:#a5d6a7;}

  /* ---- Grille de logos partenaires ---- */
  .logo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px;}
  .logo-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px 16px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:130px;
    box-shadow:0 2px 10px rgba(20,83,45,.05);}
  .logo-card img{max-height:64px;max-width:85%;object-fit:contain;}
  .logo-card span{font-size:.82rem;font-weight:600;color:var(--muted);text-align:center;}

  /* ============ Modernisation ============ */
  body{-webkit-font-smoothing:antialiased;}
  .section-title{font-size:2.2rem;letter-spacing:-.01em;}
  h1{letter-spacing:-.015em;}

  /* En-tete verre depoli */
  header{background:rgba(11,58,30,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}

  /* Cartes vivantes */
  .card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
  .card:hover{transform:translateY(-5px);box-shadow:0 14px 32px rgba(20,83,45,.13);border-color:#bcd9c2;}
  .band .card:hover{box-shadow:0 14px 32px rgba(0,0,0,.28);border-color:rgba(255,255,255,.3);}
  .logo-card{transition:transform .25s ease,box-shadow .25s ease;}
  .logo-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(20,83,45,.12);}
  .pill{transition:transform .2s ease,background .2s ease;}
  .pill:hover{transform:translateY(-2px);}

  /* Boutons */
  .btn{transition:transform .18s ease,box-shadow .18s ease,background .18s ease;}
  .btn-gold:hover{background:#256b28;box-shadow:0 8px 20px rgba(11,58,30,.35);}
  .btn-ghost:hover{background:rgba(255,255,255,.12);}

  /* Hero enrichi : motif pointille + disposition avec image */
  .hero{padding:110px 0 90px;}
  .hero::before{
    content:"";position:absolute;inset:0;
    background-image:radial-gradient(rgba(255,255,255,.07) 1.2px,transparent 1.2px);
    background-size:28px 28px;pointer-events:none;
  }
  .hero .wrap{position:relative;z-index:1;}
  .hero-flex{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;}
  .hero-img img{width:100%;border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.35);
    border:1px solid rgba(255,255,255,.18);display:block;}
  .page-head{position:relative;overflow:hidden;}
  .page-head::before{
    content:"";position:absolute;inset:0;
    background-image:radial-gradient(rgba(255,255,255,.06) 1.2px,transparent 1.2px);
    background-size:28px 28px;pointer-events:none;
  }
  .page-head .wrap{position:relative;z-index:1;}

  /* Avatars equipe avec photo optionnelle */
  .team-card .avatar{width:72px;height:72px;position:relative;overflow:hidden;font-size:1.2rem;}
  .team-card .avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

  /* Apparition au defilement */
  .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
  .reveal.visible{opacity:1;transform:none;}
  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1;transform:none;transition:none;}
    .card,.btn,.pill,.logo-card{transition:none;}
  }
  @media (max-width:900px){
    .hero-flex{grid-template-columns:1fr;}
    .hero-img{order:-1;}
    .section-title{font-size:1.7rem;}
  }
