  :root{
    --orange-dark:#C73E1C;
    --orange:#DE643F;
    --cream:#F7F1F1;
    --mint:#C6DEC6;
    --green:#2E4A3E;
    --green-dark:#1A362A;
    --white:#ffffff;
    --ink:#1A362A;
    --muted:#5a6b62;
    --max:1200px;
    --r:14px;
    --shadow:0 18px 50px -24px rgba(26,54,42,.35);
    --shadow-sm:0 8px 24px -16px rgba(26,54,42,.4);
    --font:'Montserrat',sans-serif;
    --font-alt:'Montserrat Alternates',sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    font-family:var(--font);
    color:var(--ink);
    background:var(--cream);
    line-height:1.6;
    font-weight:300;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,h4{font-family:var(--font-alt);line-height:1.15;font-weight:600;letter-spacing:-.02em}
  a{text-decoration:none;color:inherit}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
  section{position:relative}

  /* ===== NAV ===== */
  header.nav{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(247,241,241,.82);
    backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(46,74,62,.08);
    transition:.3s;
  }
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:74px}
  .logo{display:flex;align-items:center;gap:0;font-weight:800;font-size:25px;letter-spacing:-.04em}
  .logo .ren{color:var(--green)}
  .logo .sign{color:var(--green)}
  .logo .dot{
    display:inline-flex;align-items:center;justify-content:center;
    width:26px;height:26px;border-radius:50%;
    background:var(--green);color:var(--cream);margin:0 1px;
    font-size:13px;position:relative;top:1px;
  }
  .logo-img{height:38px;width:auto;display:block}
  .foot-grid .logo{display:inline-block}
  .logo-img-foot{height:38px}
  nav ul{display:flex;gap:34px;list-style:none;align-items:center}
  nav ul li a{font-size:14.5px;font-weight:500;color:var(--green);transition:.2s;position:relative}
  nav ul li a::after{content:"";position:absolute;left:0;bottom:-5px;height:2px;width:0;background:var(--orange);transition:.25s}
  nav ul li a:hover::after{width:100%}
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:13px 26px;border-radius:40px;font-weight:600;font-size:14.5px;
    font-family:var(--font-alt);letter-spacing:.01em;
    transition:.25s;cursor:pointer;border:none;white-space:nowrap;
  }
  .btn-primary{background:var(--orange-dark);color:var(--cream)}
  .btn-primary:hover{background:var(--orange);transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(199,62,28,.6)}
  .btn-ghost{background:transparent;color:var(--green);border:1.5px solid var(--green)}
  .btn-ghost:hover{background:var(--green);color:var(--cream)}
  .btn-light{background:var(--cream);color:var(--green-dark)}
  .btn-light:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
  .nav-cta{display:flex;align-items:center;gap:18px}
  .burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none}
  .burger span{width:24px;height:2px;background:var(--green);transition:.3s}

  /* ===== HERO ===== */
  .hero{padding:150px 0 90px;position:relative;overflow:hidden}
  
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;position:relative;z-index:2}
  .eyebrow{
    display:inline-flex;align-items:center;gap:9px;
    background:var(--mint);color:var(--green-dark);
    padding:8px 16px;border-radius:30px;font-size:12.5px;font-weight:500;
    font-family:var(--font-alt);letter-spacing:.03em;margin-bottom:26px;
  }
  .eyebrow .pulse{width:8px;height:8px;border-radius:50%;background:var(--orange-dark);box-shadow:0 0 0 0 rgba(199,62,28,.5);animation:pulse 2s infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(199,62,28,.5)}70%{box-shadow:0 0 0 9px rgba(199,62,28,0)}100%{box-shadow:0 0 0 0 rgba(199,62,28,0)}}
  .hero h1{font-size:clamp(32px,4.6vw,52px);font-weight:600;color:var(--green-dark);margin-bottom:24px;letter-spacing:-.03em}
  .hero h1 .hl{color:var(--orange-dark);display:block}
  .hero p.lead{font-size:19.5px;color:var(--muted);max-width:520px;margin-bottom:36px;font-weight:200;line-height:1.65}
  .hero-cta{display:flex;gap:16px;flex-wrap:wrap}
  .hero-art{position:relative}
  .hero-card{
    background:var(--green-dark);border-radius:24px;padding:42px 38px;color:var(--cream);
    box-shadow:0 40px 80px -40px rgba(26,54,42,.6);position:relative;overflow:hidden;
  }
  .hero-card::after{content:"";position:absolute;bottom:-40px;right:-40px;width:170px;height:170px;border-radius:50%;background:rgba(198,222,198,.12)}
  .hero-card .label{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--mint);font-weight:600;margin-bottom:6px}
  .hero-card h3{font-size:23px;margin-bottom:28px;font-weight:700}
  .flowline{display:flex;flex-direction:column;gap:0;position:relative}
  .flowstep{display:flex;align-items:center;gap:16px;padding:13px 0;position:relative}
  .flowstep .num{
    flex:0 0 34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    font-weight:700;font-size:14px;background:var(--orange);color:var(--cream);z-index:2;
  }
  .flowstep.active .num{background:var(--orange);color:var(--cream)}
  .flowstep .txt{font-size:14.5px;font-weight:500}
  .flowstep:not(:last-child)::before{content:"";position:absolute;left:16px;top:34px;bottom:-13px;width:2px;background:rgba(198,222,198,.28)}
  .partners{margin-top:64px;text-align:center;position:relative;z-index:2}
  .partners .ptitle{font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);font-weight:600;margin-bottom:22px}
  .plogos{display:flex;flex-wrap:wrap;justify-content:center;gap:48px;align-items:center}
  .plogos span{font-weight:700;font-size:17px;color:var(--green);opacity:.55;letter-spacing:-.01em}

  /* ===== STATS BAR ===== */
  .statsbar{background:var(--green);color:var(--cream);padding:54px 0}
  .stats-grid{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:30px;text-align:center;align-items:center}
  .stat{padding:14px 8px}
  .stat .big{font-family:var(--font);font-size:clamp(40px,5vw,58px);font-weight:800;color:var(--mint);letter-spacing:-.03em;line-height:1}
  .stat .big sup{font-size:.4em;top:-1.2em}
  .stat .unit{font-size:18px;font-weight:600;color:var(--cream);margin-top:2px}
  .stat .desc{font-size:14px;color:rgba(247,241,241,.75);margin-top:10px;max-width:230px;margin-left:auto;margin-right:auto;font-weight:300;line-height:1.6}
  /* Featured stat — mise en exergue */
  .stat.featured{
    background:linear-gradient(160deg,rgba(222,100,63,.16),rgba(199,62,28,.06));
    border:1px solid rgba(222,100,63,.35);
    border-radius:20px;padding:34px 22px;position:relative;
    box-shadow:0 24px 60px -34px rgba(0,0,0,.55);
  }
  .stat.featured::before{
    content:"Objectif 2030";position:absolute;top:-12px;left:50%;transform:translateX(-50%);
    background:var(--orange-dark);color:var(--cream);font-family:var(--font-alt);font-weight:500;
    font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:5px 14px;border-radius:30px;white-space:nowrap;
  }
  .stat.featured .big{font-size:clamp(56px,7vw,84px);color:var(--orange)}
  .stat.featured .unit{font-size:24px;color:var(--orange)}
  .stat.featured .desc{font-size:15px;color:rgba(247,241,241,.92);max-width:270px;font-weight:400}
  .stats-source{margin-top:36px;font-family:var(--font);font-style:italic;font-weight:300;font-size:13px;color:rgba(247,241,241,.55);text-align:left;letter-spacing:.01em}

  /* ===== SECTION HEADINGS ===== */
  .sec{padding:100px 0}
  .sec-head{margin-bottom:56px}
  .sec-head.wide{max-width:none}
  .sec-head.wide p{max-width:none}
  .subv-cta{margin-top:20px}
  .sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
  .kicker{font-family:var(--font-alt);font-size:13px;text-transform:uppercase;letter-spacing:.16em;font-weight:500;color:var(--orange-dark);margin-bottom:14px;display:block}
  .sec-head h2{font-size:clamp(28px,3.6vw,42px);font-weight:600;color:var(--green-dark);margin-bottom:16px}
  .sec-head p{font-size:17.5px;color:var(--green-dark);font-weight:300;line-height:1.7;opacity:.82}

  /* ===== PROBLEM / FREINS ===== */
  .freins{background:var(--white)}
  .frein-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
  .frein-card{
    background:var(--cream);border-radius:var(--r);padding:34px 30px;
    border:1px solid rgba(46,74,62,.07);transition:.3s;position:relative;overflow:hidden;
    display:flex;flex-direction:column;
  }
  .frein-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
  .frein-headline{font-family:var(--font-alt);font-size:21px;font-weight:600;color:var(--green-dark);line-height:1.3;margin-bottom:18px;letter-spacing:-.01em}
  .frein-card p{font-size:14.5px;color:var(--muted);font-weight:300;line-height:1.65;margin-bottom:24px;flex:1}
  .frein-proof{display:flex;align-items:baseline;gap:14px;padding-top:18px;border-top:1px solid rgba(46,74,62,.12)}
  .frein-proof-num{font-family:var(--font);font-size:28px;font-weight:800;color:var(--orange-dark);letter-spacing:-.02em;line-height:1;flex:0 0 auto}
  .frein-proof-cap{font-size:12.5px;color:var(--muted);font-weight:400;line-height:1.4}
  .frein-card .bar{position:absolute;left:0;top:0;width:4px;height:100%;background:var(--orange)}
  .freins-source{margin-top:28px;font-family:var(--font);font-style:italic;font-weight:300;font-size:11px;color:var(--muted);opacity:.7;letter-spacing:.01em}

  /* ===== AMBITION ===== */
  .ambition{background:var(--green-dark);color:var(--cream);overflow:hidden}
  .amb-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
  .ambition .kicker{color:var(--mint)}
  .ambition h2{font-size:clamp(30px,4vw,48px);color:var(--cream);font-weight:800;line-height:1.1}
  .ambition h2 em{font-style:normal;color:var(--orange)}
  .amb-points{display:flex;flex-direction:column;gap:22px}
  .amb-point{display:flex;gap:18px;align-items:flex-start}
  .amb-point .mark{flex:0 0 48px;height:48px;border-radius:12px;background:var(--orange-dark);color:var(--cream);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px -12px rgba(199,62,28,.55)}
  .amb-point .mark svg{width:24px;height:24px;display:block}
  .amb-point h4{font-size:17px;color:var(--cream);margin-bottom:4px}
  .amb-point p{font-size:14.5px;color:rgba(247,241,241,.72);font-weight:300;line-height:1.65}

  /* ===== CPE EXPLAINER ===== */
  .cpe{background:var(--cream)}
  .cpe-flow{display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center;margin-bottom:60px}
  .cpe-node{background:var(--white);border-radius:var(--r);padding:30px;text-align:center;border:1px solid rgba(46,74,62,.08);box-shadow:var(--shadow-sm)}
  .cpe-node .role{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--orange-dark);font-weight:700;margin-bottom:10px}
  .cpe-node h4{font-size:20px;color:var(--green-dark)}
  .cpe-center{
    background:var(--green);color:var(--cream);border-radius:var(--r);padding:30px 26px;text-align:center;
    box-shadow:var(--shadow);
  }
  .cpe-center .role{font-size:11px;letter-spacing:.12em;color:var(--mint);font-weight:700;text-transform:uppercase;margin-bottom:8px}
  .cpe-center h4{font-size:18px;color:var(--cream);line-height:1.25}
  .cpe-points{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:50px}
  .cpe-point{display:flex;gap:16px;align-items:flex-start}
  .cpe-point .idx{flex:0 0 28px;height:28px;border-radius:50%;border:1.5px solid var(--green);color:var(--green);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
  .cpe-point p{font-size:15px;color:var(--green-dark);font-weight:400}
  .cpe-point p strong{font-weight:700}
  /* Nouveau schéma vertical A→B→C→D */
  .cpe-steps{margin-top:56px;max-width:760px;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;align-items:stretch;gap:0}
  .cpe-step{display:flex;gap:22px;align-items:center;background:var(--white);border:1px solid rgba(46,74,62,.10);border-radius:var(--r);padding:24px 28px;transition:.25s}
  .cpe-step:hover{box-shadow:var(--shadow-sm)}
  .cpe-step-num{flex:0 0 56px;height:56px;border-radius:14px;background:rgba(46,74,62,.06);color:var(--green-dark);display:flex;align-items:center;justify-content:center}
  .cpe-step-num svg{width:28px;height:28px;display:block}
  .cpe-step-body h4{font-size:17px;color:var(--green-dark);margin-bottom:4px;letter-spacing:-.005em}
  .cpe-step-body p{font-size:14.5px;color:var(--green-dark);font-weight:400;line-height:1.6}
  .cpe-step-body p strong{color:var(--green-dark);font-weight:700}
  .cpe-step.featured{background:var(--green-dark);border:none;box-shadow:0 24px 60px -34px rgba(0,0,0,.5)}
  .cpe-step.featured .cpe-step-num{background:var(--orange-dark);color:var(--cream)}
  .cpe-step.featured h4{color:var(--orange)}
  .cpe-step.featured p,.cpe-step.featured p strong{color:var(--cream)}
  .cpe-step-arrow{display:flex;align-items:center;justify-content:center;padding:8px 0;color:var(--orange-dark)}
  .cpe-step-arrow svg{width:22px;height:22px;display:block}
  .cpe-reliability{
    margin-top:54px;background:var(--mint);border-radius:var(--r);padding:40px;text-align:center;
  }
  .cpe-reliability .num{font-family:var(--font);font-size:56px;font-weight:800;color:var(--green-dark);letter-spacing:-.03em;line-height:1}
  .cpe-reliability .cap{font-size:16px;font-weight:600;color:var(--green);margin-top:4px}
  .cpe-reliability .cpe-src{margin-top:12px;font-style:italic;font-weight:300;font-size:11px;color:var(--green);opacity:.6}
  .cpe-aside{margin-top:48px;background:var(--white);border-left:3px solid var(--orange-dark);border-radius:var(--r);padding:32px 36px}
  .cpe-aside-label{font-family:var(--font-alt);font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--orange-dark);font-weight:500;margin-bottom:10px}
  .cpe-aside h4{font-size:18px;color:var(--green-dark);margin-bottom:24px}
  .cpe-aside-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0}
  .cpe-aside-col{padding:0 24px}
  .cpe-aside-col:not(:first-child){border-left:1px solid rgba(46,74,62,.18)}
  .cpe-aside-col-title{font-family:var(--font-alt);font-size:15px;font-weight:600;color:var(--green-dark);margin-bottom:10px;letter-spacing:-.005em}
  .cpe-aside-col p{font-size:14px;color:var(--muted);font-weight:300;line-height:1.65}
  .cpe-aside-col p.note{margin-top:10px;font-style:italic;font-size:12.5px;color:var(--muted);opacity:.8}

  /* ===== HOW IT WORKS / STEPS ===== */
  .how{background:var(--white)}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
  .step{
    background:var(--cream);border-radius:var(--r);padding:28px 24px;
    border:1px solid rgba(46,74,62,.07);position:relative;transition:.3s;
    display:flex;flex-direction:column;
  }
  .step:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
  .step .snum{
    width:46px;height:46px;border-radius:12px;background:var(--green);color:var(--cream);
    display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;margin-bottom:20px;
  }
  .step h4{font-size:18px;color:var(--green-dark);margin-bottom:12px}
  .step p{font-size:14.5px;color:var(--muted);font-weight:300;line-height:1.65;flex:1}
  .step-note{margin-top:18px;align-self:stretch;display:flex;align-items:center;justify-content:center;font-family:var(--font-alt);font-size:11.5px;font-weight:600;color:var(--orange-dark);text-transform:uppercase;letter-spacing:.1em;padding:10px 14px;border-radius:6px;background:rgba(199,62,28,.1);border:1px solid rgba(199,62,28,.18)}
  .step.accent .snum{background:var(--orange-dark)}
  .benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:50px}
  .benefit{text-align:center;padding:26px}
  .benefit h4{font-size:16px;color:var(--green-dark);margin-bottom:6px}
  .benefit .line{width:40px;height:3px;background:var(--orange);margin:0 auto 16px;border-radius:2px}
  .benefit p{font-size:14px;color:var(--muted);font-weight:400}

  /* ===== TYPOLOGIES TABLE ===== */
  .typo{background:var(--cream)}
  .typo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
  .typo-card{
    background:var(--white);border-radius:var(--r);overflow:hidden;
    border:1px solid rgba(46,74,62,.08);transition:.3s;display:flex;flex-direction:column;
  }
  .typo-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
  .typo-card .head{padding:24px 26px;color:var(--cream)}
  .typo-card:nth-child(1) .head{background:var(--green-dark)}
  .typo-card:nth-child(2) .head{background:var(--green-dark)}
  .typo-card:nth-child(3) .head{background:var(--green-dark)}
  .typo-card .head .n{font-size:12px;letter-spacing:.1em;opacity:.85;text-transform:uppercase;font-weight:600}
  .typo-card .head h4{font-size:21px;margin-top:4px}
  .typo-card .body{padding:26px;display:flex;flex-direction:column;gap:16px;flex:1}
  .typo-row{display:flex;flex-direction:column;gap:2px;padding-bottom:14px;border-bottom:1px dashed rgba(46,74,62,.14)}
  .typo-row:last-child{border-bottom:none;padding-bottom:0}
  .typo-row .k{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--orange-dark);font-weight:700}
  .typo-row .v{font-size:14.5px;color:var(--green-dark);font-weight:500}
  .typo-row.hl .v{font-weight:700;font-size:16px}

  /* ===== SUBVENTIONS ===== */
  .subv{background:var(--white)}
  .subv-stack{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:24px}
  .subv-row{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:stretch}
  .subv-side{display:flex;align-items:center;justify-content:center;background:var(--green-dark);border-radius:var(--r);padding:24px 18px;text-align:center}
  .subv-side-label{font-family:var(--font-alt);font-size:14px;font-weight:600;color:var(--cream);letter-spacing:-.005em;line-height:1.3}
  .subv-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .subv-cards-wide{grid-template-columns:1fr}
  .subv-card{
    background:var(--cream);border-radius:var(--r);padding:36px 32px;
    border:1px solid rgba(46,74,62,.08);text-align:center;transition:.3s;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
  }
  .subv-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
  .subv-tag{font-family:var(--font-alt);font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--orange-dark);font-weight:500;margin-bottom:14px}
  .subv-big{
    font-family:var(--font-alt);font-weight:600;color:var(--green-dark);
    font-size:clamp(28px,3.2vw,40px);letter-spacing:-.02em;line-height:1.05;margin-bottom:14px;
    white-space:nowrap;
  }
  .subv-big .sign{color:var(--orange-dark);font-weight:700;margin-right:1px}
  .subv-big .sep{font-family:var(--font-alt);color:var(--muted);font-weight:300;font-size:.55em;margin:0 8px;letter-spacing:0;vertical-align:middle;opacity:.75}
  .subv-card p{font-size:14.5px;color:var(--muted);font-weight:300;line-height:1.6;max-width:340px}
  .subv-card-wide{text-align:left;align-items:flex-start;padding:32px 36px}
  .subv-wide-title{font-family:var(--font-alt);font-weight:600;font-size:19px;color:var(--green-dark);line-height:1.35;margin-bottom:12px;letter-spacing:-.005em}
  .subv-card-wide p{font-size:14.5px;color:var(--muted);font-weight:300;line-height:1.65;max-width:none}

  /* ===== TEAM ===== */
  .team{background:var(--white)}
  .team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
  .member{
    background:var(--cream);border-radius:var(--r);padding:36px;border:1px solid rgba(46,74,62,.07);
    transition:.3s;
  }
  .member:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
  .member .top{display:flex;align-items:center;gap:18px;margin-bottom:22px}
  .member .avatar{
    width:200px;height:200px;border-radius:50%;overflow:hidden;flex:0 0 200px;
    box-shadow:0 6px 18px -10px rgba(26,54,42,.5);
  }
  .member .avatar img{width:100%;height:100%;object-fit:cover;display:block}
  .member .top h4{font-size:21px;color:var(--green-dark)}
  .member .top .role{font-size:14px;color:var(--orange-dark);font-weight:600}
  .member .exp{font-size:13.5px;color:var(--muted);margin-top:2px}
  .member .blk{margin-bottom:16px}
  .member .blk .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--green);font-weight:700;margin-bottom:6px}
  .member .blk p{font-size:14px;color:var(--green-dark);font-weight:500}
  .member .blk p span{display:block;color:var(--muted);font-weight:400;font-size:13.5px}
  .member .li-link{
    display:inline-flex;align-items:center;gap:9px;margin-top:6px;
    background:var(--orange-dark);color:var(--cream);
    padding:9px 16px;border-radius:30px;font-family:var(--font-alt);
    font-weight:500;font-size:13px;letter-spacing:.01em;transition:.25s;
  }
  .member .li-link svg{display:block}
  .member .li-link:hover{background:var(--orange);transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(199,62,28,.6)}

  /* ===== CTA ===== */
  .cta{background:var(--green-dark);color:var(--cream);text-align:center;padding:96px 0}
  .cta h2{font-size:clamp(30px,4vw,46px);color:var(--cream);font-weight:800;margin-bottom:18px}
  .cta p{font-size:18.5px;color:rgba(247,241,241,.82);max-width:560px;margin:0 auto 36px;font-weight:200;line-height:1.65}
  .cta .hero-cta{justify-content:center}

  /* ===== FOOTER ===== */
  footer{background:var(--green);color:var(--cream);padding:64px 0 32px}
  .foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:40px;margin-bottom:48px}
  .foot-grid .logo{color:var(--cream);margin-bottom:14px}
  .foot-grid .logo .ren,.foot-grid .logo .sign{color:var(--cream)}
  .foot-grid .logo .dot{background:var(--cream);color:var(--green)}
  .foot-col p.about{font-size:14px;color:rgba(247,241,241,.7);max-width:280px;font-weight:300;line-height:1.7}
  .foot-col h5{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--mint);font-weight:700;margin-bottom:16px}
  .foot-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
  .foot-col ul li a{font-size:14px;color:rgba(247,241,241,.78);transition:.2s}
  .foot-col ul li a:hover{color:var(--orange)}
  .foot-bottom{border-top:1px solid rgba(247,241,241,.14);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:rgba(247,241,241,.6)}

  /* ===== REVEAL ===== */
  .reveal{opacity:0;transform:translateY(28px);transition:.7s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}

  /* ===== RESPONSIVE ===== */

  /* — Burger menu (tablette large + mobile) — */
  @media(max-width:1150px){
    nav ul,.nav-cta .btn{display:none}
    .burger{display:flex}
    nav.open ul{display:flex;position:absolute;top:74px;left:0;right:0;flex-direction:column;background:var(--cream);padding:24px 28px;gap:18px;border-bottom:1px solid rgba(46,74,62,.1)}
  }

  /* — Mise en page colonne unique (tablette portrait) — */
  @media(max-width:768px){
    .hero-grid,.amb-grid{grid-template-columns:1fr;gap:44px}
    .stats-grid,.frein-grid,.steps,.benefits,.typo-grid,.team-grid,.cpe-points,.subv-cards,.cpe-aside-grid{grid-template-columns:1fr}
    .member .top{flex-direction:column;align-items:center;text-align:center}
    .member .avatar{width:130px;height:130px;flex:0 0 130px}
    .subv-row{grid-template-columns:1fr}
    .subv-side{padding:14px 18px}
    .cpe-aside-col{padding:18px 0}
    .cpe-aside-col:not(:first-child){border-left:none;border-top:1px solid rgba(46,74,62,.18)}
    .cpe-flow{grid-template-columns:1fr}
    .foot-grid{grid-template-columns:1fr 1fr}
  }

  /* — Petits mobiles — */
  @media(max-width:560px){
    .wrap{padding:0 20px}
    .hero{padding:120px 0 70px}
    .foot-grid{grid-template-columns:1fr}
    .plogos{gap:28px}
  }
