/* Non-critical below-the-fold CSS — loaded async. Tokens (:root) live in the critical inline <style>. */
  /* ============== §3 — PREUVE / CRÉDIBILITÉ ============== */
  .proof {
    position: relative;
    padding: clamp(64px, 9vw, 120px) 0 clamp(72px, 10vw, 128px);
    background: linear-gradient(180deg, #000 0%, #070707 50%, #000 100%);
    border-top: 1px solid var(--ecc-line-faint);
    overflow: hidden;
  }
  .proof__hook {
    max-width: 1080px;
    margin: 0 auto clamp(36px, 4.5vw, 56px);
    padding: 0 clamp(18px, 5vw, 56px);
    text-align: center;
    font-weight: 600;
    font-size: clamp(20px, 2.4vw, 30px);
    line-height: 1.28;
    letter-spacing: -.012em;
    color: #fff;
  }
  .proof__hook span { color: var(--ecc-grey-400); font-weight: 400; }
  .proof__hook-lead {
    display: block;
    margin-top: clamp(12px, 1.4vw, 18px);
    font-size: clamp(13px, 1.15vw, 15px);
    font-weight: 400;
    letter-spacing: .005em;
    color: var(--ecc-grey-500);
  }

  /* auto-scroll marquee */
  .marquee {
    position: relative;
    width: 100%;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
  }
  .marquee__track {
    display: flex;
    gap: clamp(16px, 2vw, 28px);
    width: max-content;
    padding: 8px 0;
    animation: marquee 56s linear infinite;
    animation-play-state: paused; /* started once the page is idle — avoids pre-LCP repaint churn */
  }
  html.ecc-ready .marquee__track { animation-play-state: running; }
  @keyframes marquee { to { transform: translateX(-50%); } }

  .dash-card {
    flex: 0 0 auto;
    width: clamp(320px, 40vw, 480px);
    background: var(--ecc-charbon-700);
    border: 1px solid var(--ecc-line);
    border-radius: var(--ecc-r-md);
    overflow: hidden;
    box-shadow: var(--ecc-shadow-card);
  }
  .dash-card__bar {
    display: flex;
    align-items: center;
    gap: 6px;
    height: 34px;
    padding: 0 14px;
    background: var(--ecc-charbon-600);
    border-bottom: 1px solid var(--ecc-line);
  }
  .dash-card__bar i { width: 9px; height: 9px; border-radius: 50%; background: var(--ecc-grey-600); display: block; }
  .dash-card__bar .lbl {
    margin-left: 10px;
    font-family: var(--ecc-mono);
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ecc-grey-500);
  }
  .dash-card img { display: block; width: 100%; height: auto; }

  /* results block */
  .proof__grid {
    max-width: 1080px;
    margin: clamp(56px, 7vw, 92px) auto 0;
    padding: 0 clamp(18px, 5vw, 56px);
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: clamp(36px, 5vw, 72px);
    align-items: center;
  }
  .proof__title {
    font-weight: 800;
    font-size: clamp(28px, 3.6vw, 46px);
    line-height: 1.02;
    letter-spacing: -.016em;
    margin: 0;
    color: #fff;
  }
  .proof__title .nw { white-space: nowrap; }
  .proof__title .sh { color: #95BF47; }
  .proof__title .sh-logo {
    height: .82em; width: auto;
    margin-left: .2em;
    vertical-align: -.08em;
    display: inline-block;
  }
  .proof__bignum {
    margin: clamp(24px, 3vw, 36px) 0 clamp(18px, 2vw, 24px);
    display: flex;
    align-items: baseline;
    gap: 14px;
    flex-wrap: wrap;
  }
  .proof__bignum .num {
    font-weight: 900;
    font-size: clamp(64px, 9vw, 124px);
    line-height: .86;
    letter-spacing: -.03em;
    background: var(--ecc-metal);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
  }
  .proof__bignum .unit {
    font-weight: 800;
    font-size: clamp(28px, 4vw, 52px);
    letter-spacing: -.02em;
    background: var(--ecc-metal);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
  }
  .proof__bignum .cap {
    font-family: var(--ecc-mono);
    font-size: 13px;
    letter-spacing: .04em;
    color: var(--ecc-grey-400);
    max-width: 200px;
    line-height: 1.4;
    align-self: flex-end;
    padding-bottom: 8px;
  }
  .proof__text {
    font-weight: 400;
    font-size: clamp(16px, 1.4vw, 18px);
    line-height: 1.62;
    color: var(--ecc-paper);
    max-width: 520px;
    margin: 0;
  }
  .proof__text b { color: #fff; font-weight: 700; }

  /* trophies photo */
  .proof__photo {
    position: relative;
    border-radius: var(--ecc-r-lg);
    overflow: hidden;
    border: 1px solid var(--ecc-line);
    box-shadow: var(--ecc-shadow-float);
    aspect-ratio: 1 / 1;
  }
  .proof__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
  .proof__photo .tag {
    position: absolute;
    left: 16px; bottom: 16px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: var(--ecc-r-pill);
    background: rgba(0,0,0,.55);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid var(--ecc-line-strong);
    font-family: var(--ecc-mono);
    font-size: 12px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #fff;
  }
  .proof__photo .tag svg { display: block; }

  /* ============== §4 — LE PROBLÈME ============== */
  .problem {
    position: relative;
    padding: clamp(72px, 10vw, 128px) clamp(18px, 5vw, 56px) clamp(80px, 11vw, 136px);
    background: var(--ecc-black);
    overflow: hidden;
  }
  .problem__fx {
    position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(80% 60% at 50% 0%, rgba(255,255,255,.05) 0%, transparent 58%);
  }
  .problem__head {
    position: relative;
    max-width: 940px;
    margin: 0 auto clamp(54px, 7vw, 88px);
    text-align: center;
  }
  .problem__head h2 {
    margin: 0;
    font-weight: 300;
    font-size: clamp(24px, 3.2vw, 40px);
    line-height: 1.22;
    letter-spacing: -.01em;
    color: var(--ecc-grey-300);
    text-wrap: balance;
  }
  .problem__head h2 b { color: #fff; font-weight: 700; }

  /* diagram */
  .obstacles {
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr minmax(210px, 320px) 1fr;
    column-gap: clamp(40px, 9vw, 130px);
    align-items: start;
  }
  .obstacles__wires {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    pointer-events: none;
    z-index: 1;
    overflow: visible;
  }
  .col { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; }
  .col__head {
    font-family: var(--ecc-mono);
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
    margin-bottom: 26px;
    height: 16px;
    display: flex; align-items: center; gap: 8px;
  }
  .col--seul .col__head { color: var(--ecc-red); }
  .col--accomp .col__head { color: var(--ecc-blue); }
  .col--center .col__head { color: var(--ecc-grey-400); }
  .col__head .dotk { width: 6px; height: 6px; border-radius: 50%; }
  .col--seul .col__head .dotk { background: var(--ecc-red); }
  .col--accomp .col__head .dotk { background: var(--ecc-blue); box-shadow: 0 0 8px var(--ecc-blue); }

  /* obstacle cards */
  .obs-stack { display: flex; flex-direction: column; gap: 22px; width: 100%; }
  .obs-card {
    height: 74px;
    display: flex; align-items: center; justify-content: center;
    text-align: center;
    padding: 0 18px;
    border-radius: var(--ecc-r-md);
    border: 1px solid var(--ecc-line-strong);
    background:
      linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.012) 40%, transparent 100%),
      var(--ecc-charbon-700);
    box-shadow: var(--ecc-shadow-card);
    font-weight: 600;
    font-size: clamp(14px, 1.5vw, 17px);
    color: #fff;
    letter-spacing: -.005em;
  }

  /* markers (✗ / ✓) */
  .mk-stack { display: flex; flex-direction: column; gap: 22px; width: 100%; align-items: center; }
  .mk {
    height: 74px;
    display: flex; align-items: center; justify-content: center;
  }
  .mk i {
    width: 38px; height: 38px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid;
    background: var(--ecc-charbon-800);
  }
  .col--seul .mk i { border-color: rgba(229,72,77,.45); color: var(--ecc-red); }
  .col--accomp .mk i { border-color: rgba(30,93,236,.55); color: var(--ecc-blue); box-shadow: 0 0 16px -4px rgba(30,93,236,.6); }
  .mk svg { display: block; }

  /* outcome boxes */
  .outcome {
    margin-top: clamp(48px, 6vw, 78px);
    width: 100%;
    max-width: 280px;
    padding: 22px 22px 24px;
    border-radius: var(--ecc-r-lg);
    border: 1px solid;
    text-align: center;
  }
  .outcome .ttl {
    font-weight: 800;
    font-size: clamp(17px, 1.9vw, 22px);
    letter-spacing: -.01em;
  }
  .outcome .sub {
    margin-top: 7px;
    font-size: 13px;
    color: var(--ecc-grey-400);
    line-height: 1.4;
  }
  .out-seul {
    border-color: rgba(229,72,77,.32);
    background: linear-gradient(180deg, rgba(229,72,77,.10) 0%, rgba(229,72,77,.02) 100%);
  }
  .out-seul .ttl { color: #F5A3A6; }
  .out-accomp {
    border-color: rgba(30,93,236,.55);
    background: linear-gradient(180deg, rgba(30,93,236,.18) 0%, rgba(30,93,236,.04) 100%);
    box-shadow: 0 0 0 1px rgba(30,93,236,.18), 0 22px 60px -24px rgba(30,93,236,.7);
  }
  .out-accomp .ttl { color: #fff; }
  .out-accomp .sub { color: var(--ecc-paper); }

  /* mobile fallback layout for diagram */
  .problem__mobnote { display: none; }
  .obs-m { display: none; }
  .obs-m__legend {
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    gap: 12px;
    align-items: center;
    margin-bottom: 16px;
    font-family: var(--ecc-mono);
    font-size: 10.5px;
    letter-spacing: .12em;
    text-transform: uppercase;
  }
  .obs-m__leg { display: flex; align-items: center; justify-content: center; gap: 5px; white-space: nowrap; }
  .obs-m__leg .dotk { width: 6px; height: 6px; border-radius: 50%; flex: none; }
  .obs-m__leg--seul { color: var(--ecc-red); }
  .obs-m__leg--seul .dotk { background: var(--ecc-red); }
  .obs-m__leg--accomp { color: var(--ecc-blue); }
  .obs-m__leg--accomp .dotk { background: var(--ecc-blue); box-shadow: 0 0 8px var(--ecc-blue); }
  .obs-m__leg--center { color: var(--ecc-grey-400); letter-spacing: .1em; }
  .obs-m__rows { display: flex; flex-direction: column; gap: 12px; }
  .obs-m__row {
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    gap: 12px;
    align-items: center;
  }
  .obs-m__mk { display: flex; align-items: center; justify-content: center; }
  .obs-m__mk svg { width: 34px; height: 34px; border-radius: 50%; padding: 9px; border: 1px solid; background: var(--ecc-charbon-800); box-sizing: border-box; }
  .obs-m__mk--seul svg { border-color: rgba(229,72,77,.45); color: var(--ecc-red); }
  .obs-m__mk--accomp svg { border-color: rgba(30,93,236,.55); color: var(--ecc-blue); box-shadow: 0 0 16px -4px rgba(30,93,236,.6); }
  .obs-m__card {
    min-height: 60px;
    display: flex; align-items: center; justify-content: center;
    text-align: center;
    padding: 12px 14px;
    border-radius: var(--ecc-r-md);
    border: 1px solid var(--ecc-line-strong);
    background:
      linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.012) 40%, transparent 100%),
      var(--ecc-charbon-700);
    box-shadow: var(--ecc-shadow-card);
    font-weight: 600;
    font-size: clamp(13px, 3.6vw, 16px);
    color: #fff;
    letter-spacing: -.005em;
    text-wrap: balance;
  }
  .obs-m__outcomes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 18px;
  }
  .obs-m__outcomes .outcome { margin-top: 0; max-width: none; padding: 16px 14px 18px; }
  .obs-m__outcomes .ttl { font-size: clamp(15px, 4vw, 19px); }
  .obs-m__outcomes .sub { margin-top: 5px; font-size: 12px; }

  /* ============== §5 — L'ÉCOSYSTÈME ECC (3 piliers co-égaux) ============== */
  .value {
    position: relative;
    padding: clamp(72px, 10vw, 128px) clamp(18px, 5vw, 56px) clamp(80px, 11vw, 128px);
    background: linear-gradient(180deg, #000 0%, #070707 50%, #000 100%);
    border-top: 1px solid var(--ecc-line-faint);
    overflow: hidden;
  }
  .value__wm {
    position: absolute;
    right: -9%; top: 50%; transform: translateY(-50%);
    width: min(64vw, 660px);
    opacity: .04;
    pointer-events: none;
    z-index: 0;
  }
  .value__eyebrow {
    position: relative; z-index: 1;
    display: flex; align-items: center; justify-content: center; gap: 12px;
    margin-bottom: clamp(40px, 5vw, 62px);
  }
  .value__eyebrow::before, .value__eyebrow::after {
    content: ""; width: 26px; height: 1px; background: rgba(30,93,236,.5);
  }
  .value__eyebrow span {
    font-family: var(--ecc-mono); font-size: 12px; letter-spacing: .2em;
    text-transform: uppercase; color: var(--ecc-blue);
  }
  .value__bridge {
    position: relative; z-index: 1;
    max-width: 880px;
    margin: 0 auto clamp(16px, 2vw, 22px);
    text-align: center;
    font-weight: 300;
    font-size: clamp(24px, 3.4vw, 42px);
    line-height: 1.2;
    letter-spacing: -.012em;
    color: var(--ecc-grey-300);
    text-wrap: balance;
  }
  .value__bridge .brand-x {
    font-weight: 800;
    background: var(--ecc-metal);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
  }

  /* connecting line + 3 nodes = one connected system */
  .eco-link {
    position: relative; z-index: 1;
    max-width: 1160px; margin: 0 auto;
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2.2vw, 28px);
  }
  .eco-link::before {
    content: ""; position: absolute; top: 50%; left: 16.66%; right: 16.66%;
    height: 1px; background: linear-gradient(90deg, rgba(30,93,236,.15), rgba(30,93,236,.55) 30%, rgba(30,93,236,.55) 70%, rgba(30,93,236,.15));
  }
  .eco-link__cell { position: relative; height: 42px; display: flex; align-items: center; justify-content: center; }
  .eco-link__node {
    position: relative; width: 11px; height: 11px; border-radius: 50%;
    background: var(--ecc-blue); box-shadow: 0 0 12px var(--ecc-blue);
    border: 3px solid #050505;
  }
  .eco-link__node::after {
    content: ""; position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
    width: 1px; height: 18px; background: linear-gradient(180deg, rgba(30,93,236,.6), transparent);
  }

  .pillars {
    position: relative; z-index: 1;
    max-width: 1160px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2.2vw, 28px);
    align-items: stretch;
  }
  .pillars--duo { grid-template-columns: 1fr 1fr; max-width: 1080px; }
  .eco-col { display: grid; grid-template-rows: 1fr 1fr; gap: clamp(16px, 2.2vw, 28px); }
  .eco-col .pillar { justify-content: center; }
  .pillar--club .subcards { flex: 1; }
  .club-more {
    align-self: flex-start;
    margin-top: 20px;
    display: inline-flex; align-items: center; gap: 7px;
    font-size: 13.5px; font-weight: 600; letter-spacing: -.005em;
    color: var(--ecc-grey-300); text-decoration: none;
    transition: color .18s ease;
  }
  .club-more svg { transition: transform .22s ease; }
  .club-more:hover { color: #fff; }
  .club-more:hover svg { transform: translateY(3px); }
  .pillar {
    position: relative;
    display: flex; flex-direction: column;
    border-radius: var(--ecc-r-lg);
    border: 1px solid var(--ecc-line-strong);
    background: var(--ecc-surface-gradient);
    padding: clamp(26px, 2.6vw, 36px);
    box-shadow: var(--ecc-shadow-card);
    overflow: hidden;
  }
  /* identical blue top accent on every card — no card is secondary */
  .pillar::before {
    content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, transparent, var(--ecc-blue) 22%, var(--ecc-blue) 78%, transparent);
  }
  .pillar--simple { justify-content: center; }
  .pillar__icon {
    width: 48px; height: 48px;
    border-radius: 13px;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid var(--ecc-line-strong);
    background: rgba(255,255,255,.03);
    color: #fff;
    margin-bottom: 22px;
  }
  .pillar h3 {
    margin: 0 0 12px;
    font-weight: 700;
    font-size: clamp(19px, 1.9vw, 23px);
    letter-spacing: -.01em;
    color: #fff;
  }
  .pillar p {
    margin: 0;
    font-size: clamp(14px, 1.05vw, 15.5px);
    line-height: 1.6;
    color: var(--ecc-grey-300);
  }
  .pillar p b { color: #fff; font-weight: 700; }
  .pillar__chip {
    align-self: flex-start;
    margin-top: 18px;
    font-family: var(--ecc-mono); font-size: 12px; letter-spacing: .04em;
    color: var(--ecc-paper);
    padding: 7px 13px; border-radius: var(--ecc-r-pill);
    border: 1px solid var(--ecc-line-strong); background: rgba(255,255,255,.03);
  }

  /* Le Cercle — same container, just richer contents (still co-equal) */
  .cercle__sub {
    margin: 0 0 18px;
    font-size: clamp(14px, 1.1vw, 16px);
    color: var(--ecc-paper);
    font-weight: 500;
  }
  .subcards { display: flex; flex-direction: column; gap: 12px; }
  .subcard {
    border-radius: var(--ecc-r-md);
    border: 1px solid var(--ecc-line-strong);
    background: rgba(255,255,255,.025);
    padding: 16px 16px 17px;
  }
  .subcard__top { display: flex; align-items: center; gap: 11px; margin-bottom: 8px; }
  .subcard__ic {
    width: 30px; height: 30px; flex: 0 0 auto;
    border-radius: 9px;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid var(--ecc-line-strong);
    background: rgba(255,255,255,.03);
    color: var(--ecc-blue);
  }
  .subcard h4 {
    margin: 0;
    font-weight: 700;
    font-size: clamp(15px, 1.4vw, 16.5px);
    letter-spacing: -.005em;
    color: #fff;
  }
  .subcard p {
    margin: 0;
    font-size: clamp(13px, 1vw, 14px);
    line-height: 1.5;
    color: var(--ecc-grey-300);
  }
  .subcard__live {
    margin-left: auto;
    display: inline-flex; align-items: center; gap: 6px;
    font-family: var(--ecc-mono); font-size: 10px; letter-spacing: .1em;
    text-transform: uppercase; color: var(--ecc-green);
  }
  .subcard__live span { width: 6px; height: 6px; border-radius: 50%; background: var(--ecc-green); box-shadow: 0 0 8px var(--ecc-green); }

  /* ============== §6 — LE CLUB (deep dive) ============== */
  .club {
    position: relative;
    padding: clamp(76px, 10vw, 130px) clamp(18px, 5vw, 56px) clamp(40px, 5vw, 66px);
    background: radial-gradient(120% 90% at 50% -6%, #141414 0%, #0a0a0a 38%, #000 72%);
    border-top: 1px solid var(--ecc-line-faint);
    overflow: hidden;
  }
  .club__wm {
    position: absolute; right: -10%; top: -8%;
    width: min(70vw, 720px); opacity: .035; pointer-events: none; z-index: 0;
  }
  .club__inner { position: relative; z-index: 1; max-width: 1120px; margin: 0 auto; }
  .club__kicker {
    display: inline-flex; align-items: center; gap: 11px;
    font-family: var(--ecc-mono); font-size: 12px; letter-spacing: .2em;
    text-transform: uppercase; color: var(--ecc-blue); margin-bottom: 20px;
  }
  .club__kicker .dotk { width: 7px; height: 7px; border-radius: 50%; background: var(--ecc-blue); box-shadow: 0 0 10px var(--ecc-blue); }
  .club__title {
    margin: 0 0 clamp(48px, 6vw, 80px);
    font-weight: 800;
    font-size: clamp(30px, 4.6vw, 58px);
    line-height: 1.04;
    letter-spacing: -.018em;
    color: #fff;
    max-width: 16ch;
    text-wrap: balance;
  }
  .club__title em { font-style: italic; font-weight: 900; }

  /* layer header */
  .layer { margin-top: clamp(48px, 6vw, 80px); }
  .layer:first-of-type { margin-top: 0; }
  .layer__head { display: flex; align-items: baseline; gap: 14px; margin-bottom: clamp(22px, 3vw, 34px); }
  .layer__idx { font-family: var(--ecc-mono); font-size: 13px; color: var(--ecc-grey-500); letter-spacing: .04em; }
  .layer__title { margin: 0; font-weight: 700; font-size: clamp(20px, 2.2vw, 28px); letter-spacing: -.01em; color: #fff; }

  /* ---- COUCHE 1 : paragraphe + chat + punchline ---- */
  .couche1 { display: grid; grid-template-columns: 0.82fr 1.18fr; gap: clamp(30px, 5vw, 64px); align-items: center; }
  .couche1__left .layer__head { margin-bottom: clamp(16px, 2vw, 22px); }
  .couche1__text { font-size: clamp(16px, 1.4vw, 18px); line-height: 1.65; color: var(--ecc-paper); margin: 0; max-width: 440px; }
  .couche1__text b { color: #fff; font-weight: 700; }

  /* chat mock — flat, salon de discussion */
  .chat {
    border-radius: var(--ecc-r-lg);
    border: 1px solid var(--ecc-line-strong);
    background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01) 30%, transparent), var(--ecc-charbon-800);
    box-shadow: var(--ecc-shadow-float);
    overflow: hidden;
  }
  .chat__bar {
    display: flex; align-items: center; justify-content: space-between;
    padding: 15px 20px;
    border-bottom: 1px solid var(--ecc-line);
    background: var(--ecc-charbon-700);
  }
  .chat__ch { font-family: var(--ecc-mono); font-size: 14px; color: #fff; letter-spacing: .02em; }
  .chat__online { display: inline-flex; align-items: center; gap: 8px; font-family: var(--ecc-mono); font-size: 12px; color: var(--ecc-grey-400); }
  .chat__online .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ecc-green); box-shadow: 0 0 8px var(--ecc-green); }
  .chat__body { padding: 18px 20px; display: flex; flex-direction: column; gap: 16px; }
  .msg { display: flex; gap: 13px; align-items: flex-start; }
  .msg__av {
    width: 34px; height: 34px; flex: 0 0 auto; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 14px;
  }
  .msg__av--b { background: linear-gradient(160deg, #F2B24E, #E0852A); color: #1a1205; }
  .msg__av--s { background: linear-gradient(160deg, #4D8BF5, #1E5DEC); color: #fff; }
  .msg__c { min-width: 0; }
  .msg__meta { display: flex; align-items: baseline; gap: 9px; margin-bottom: 3px; }
  .msg__meta b { font-size: 13.5px; font-weight: 700; }
  .msg__name--b { color: #E7A03C; }
  .msg__name--s { color: #5B8DF2; }
  .msg__meta span { font-family: var(--ecc-mono); font-size: 10.5px; color: var(--ecc-grey-500); }
  .msg__c p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--ecc-paper); }
  .chat__input {
    display: flex; align-items: center; gap: 12px;
    margin: 6px 16px 16px; padding: 13px 17px;
    border-radius: var(--ecc-r-md);
    border: 1px solid var(--ecc-line-strong); background: var(--ecc-charbon-600);
  }
  .chat__input span:first-child { flex: 1; min-width: 0; font-size: 14px; color: var(--ecc-grey-500); }
  .chat__input .send { color: var(--ecc-blue); display: inline-flex; flex: 0 0 auto; }

  /* small discrete tag below the chat */
  .couche1__tag {
    margin: 14px 2px 0;
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 14px; font-weight: 600; letter-spacing: .005em;
    color: var(--ecc-grey-300);
  }
  .couche1__tag .g { color: var(--ecc-green); font-weight: 700; }

  /* ---- COUCHE 2 : calendrier ---- */
  .cal { --cal-blue: #1E5DEC; --cal-violet: #917DF2; --cal-teal: #26C3A6; --cal-amber: #E3A33C; }
  .cal__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 6px; }
  .cal__grid {
    display: grid;
    grid-template-columns: 64px repeat(7, minmax(112px, 1fr));
    gap: 8px;
    min-width: 760px;
  }
  .cal__corner { }
  .cal__day {
    text-align: center; padding: 6px 0 10px;
    font-family: var(--ecc-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--ecc-grey-400);
  }
  .cal__time {
    display: flex; flex-direction: column; justify-content: center;
    font-family: var(--ecc-mono); font-size: 10.5px; line-height: 1.5; color: var(--ecc-grey-500); letter-spacing: .02em;
    padding-right: 6px;
  }
  .cal__cell { min-height: 72px; }
  .cal__cell--empty {
    border-radius: var(--ecc-r-sm);
    border: 1px dashed var(--ecc-line); background: rgba(255,255,255,.012);
  }
  .tile {
    height: 100%; border-radius: var(--ecc-r-sm);
    padding: 11px 12px;
    border: 1px solid var(--ecc-line-strong);
    border-left: 3px solid var(--tile-c, var(--ecc-blue));
    background: var(--tile-bg, rgba(30,93,236,.08));
    display: flex; flex-direction: column; gap: 3px; justify-content: center;
  }
  .tile .t { font-weight: 700; font-size: 13px; color: #fff; letter-spacing: -.005em; line-height: 1.15; }
  .tile .s { font-family: var(--ecc-mono); font-size: 10.5px; color: var(--ecc-grey-300); letter-spacing: .01em; }
  .tile--blue   { --tile-c: var(--cal-blue);   --tile-bg: rgba(30,93,236,.10); }
  .tile--violet { --tile-c: var(--cal-violet); --tile-bg: rgba(145,125,242,.10); }
  .tile--teal   { --tile-c: var(--cal-teal);   --tile-bg: rgba(38,195,166,.10); }
  .tile--amber  { --tile-c: var(--cal-amber);  --tile-bg: rgba(227,163,60,.10); }

  .cal__foot { text-align: center; margin-top: clamp(30px, 3.8vw, 44px); }
  .cal__note { margin: 0 0 9px; font-size: clamp(13px, 1.05vw, 14.5px); color: var(--ecc-grey-400); letter-spacing: .01em; }
  .cal__punch { margin: 0; font-size: clamp(20px, 2.4vw, 30px); font-weight: 700; letter-spacing: -.012em; color: #fff; }

  /* LE CAP — déclaration sobre, sans boîte */
  .club-cap {
    margin: clamp(52px, 7vw, 92px) auto 0;
    max-width: 680px;
    text-align: center;
    font-size: clamp(16px, 1.5vw, 20px);
    line-height: 1.5;
    color: var(--ecc-grey-300);
    font-weight: 400;
    text-wrap: balance;
  }
  .club-cap b { color: #fff; font-weight: 700; }

  /* ============== §7 — L'ÉQUIPE ============== */
  .team {
    position: relative;
    padding: clamp(76px, 10vw, 130px) clamp(18px, 5vw, 56px) clamp(84px, 11vw, 140px);
    background: linear-gradient(180deg, #000 0%, #070707 50%, #000 100%);
    border-top: 1px solid var(--ecc-line-faint);
    overflow: hidden;
  }
  .team__inner { position: relative; max-width: 1120px; margin: 0 auto; }
  .team__head { text-align: center; max-width: 760px; margin: 0 auto clamp(46px, 6vw, 74px); }
  .team__eyebrow {
    display: inline-flex; align-items: center; gap: 11px;
    font-family: var(--ecc-mono); font-size: 12px; letter-spacing: .2em;
    text-transform: uppercase; color: var(--ecc-blue); margin-bottom: 18px;
  }
  .team__eyebrow .dotk { width: 7px; height: 7px; border-radius: 50%; background: var(--ecc-blue); box-shadow: 0 0 10px var(--ecc-blue); }
  .team__title {
    margin: 0;
    font-weight: 800; font-size: clamp(30px, 4.4vw, 56px);
    line-height: 1.02; letter-spacing: -.018em; color: #fff;
  }
  .team__sub { margin: clamp(16px, 2vw, 22px) auto 0; max-width: 600px; font-size: clamp(16px, 1.4vw, 19px); line-height: 1.55; color: var(--ecc-grey-300); }

  /* founders — single-row scroller */
  .founders { position: relative; }
  .founders__track {
    display: flex; gap: clamp(14px, 1.6vw, 20px);
    overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x proximity;
    padding: 4px 2px 10px;
    scrollbar-width: thin; scrollbar-color: var(--ecc-charbon-400) transparent;
  }
  .founders__track::-webkit-scrollbar { height: 6px; }
  .founders__track::-webkit-scrollbar-track { background: transparent; }
  .founders__track::-webkit-scrollbar-thumb { background: var(--ecc-charbon-400); border-radius: 999px; }
  .founders__arrow {
    position: absolute; top: clamp(110px, 14vw, 148px); transform: translateY(-50%);
    width: 46px; height: 46px; border-radius: 50%;
    background: rgba(10,10,12,.82); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    border: 1px solid var(--ecc-line-strong); color: #fff;
    display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 6;
    transition: background .16s ease, border-color .16s ease, opacity .22s ease;
  }
  .founders__arrow:hover { background: var(--ecc-blue); border-color: var(--ecc-blue); }
  .founders__arrow--prev { left: -8px; }
  .founders__arrow--next { right: -8px; }
  .founders__arrow:disabled { opacity: 0; pointer-events: none; }
  .fcard {
    position: relative; flex: 0 0 clamp(236px, 25vw, 286px); scroll-snap-align: start;
    border-radius: var(--ecc-r-lg);
    border: 1px solid var(--ecc-line-strong);
    background: var(--ecc-surface-gradient);
    box-shadow: var(--ecc-shadow-card);
    overflow: hidden; cursor: pointer;
  }
  .fcard__photo {
    position: relative; aspect-ratio: 1 / 1;
    display: grid; place-items: center;
    background: radial-gradient(120% 100% at 50% 0%, #1d1d1d, #0c0c0c 72%);
    border-bottom: 1px solid var(--ecc-line);
  }
  .fcard__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 28%; }
  .fcard__photo::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 52%, rgba(0,0,0,.4) 100%);
  }
  .fcard__initials {
    position: relative; font-weight: 800; font-size: clamp(38px, 4.4vw, 56px); letter-spacing: .02em;
    background: var(--ecc-metal); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
  }
  .fcard__tag {
    position: absolute; top: 13px; left: 13px; z-index: 1;
    font-family: var(--ecc-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
    color: var(--ecc-grey-400); padding: 4px 9px; border-radius: var(--ecc-r-pill);
    border: 1px solid var(--ecc-line); background: rgba(0,0,0,.4);
  }
  .fcard__body { padding: 18px 20px 20px; }
  .fcard__name { margin: 0; font-weight: 700; font-size: clamp(18px, 1.7vw, 20px); letter-spacing: -.01em; color: #fff; }
  .fcard__exp { margin: 6px 0 0; font-family: var(--ecc-mono); font-size: 12px; letter-spacing: .03em; color: var(--ecc-blue); }
  .fcard__cred { margin: 12px 0 0; display: flex; gap: 9px; align-items: baseline; font-size: 14px; line-height: 1.4; color: var(--ecc-grey-300); font-weight: 500; }
  .fcard__cred::before { content: ""; flex: 0 0 auto; width: 14px; height: 1px; background: var(--ecc-blue); transform: translateY(-4px); }
  .fcard__more {
    position: absolute; bottom: 18px; right: 18px; z-index: 1;
    width: 30px; height: 30px; border-radius: 50%;
    border: 1px solid var(--ecc-line-strong); background: rgba(255,255,255,.04); color: var(--ecc-grey-300);
    display: flex; align-items: center; justify-content: center; cursor: pointer;
    transition: background .16s, color .16s, transform .16s;
  }
  .fcard__more svg { transition: transform .2s ease; }
  .fcard:hover .fcard__more { background: var(--ecc-blue); color: #fff; border-color: var(--ecc-blue); }
  .fcard__overlay {
    position: absolute; inset: 0; z-index: 2;
    background: linear-gradient(180deg, rgba(8,9,12,.93), rgba(8,9,12,.98));
    backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
    padding: clamp(20px, 2vw, 26px);
    display: flex; flex-direction: column; gap: 9px;
    opacity: 0; transform: translateY(10px); pointer-events: none;
    transition: opacity .26s ease, transform .26s cubic-bezier(.22,1,.36,1);
    overflow-y: auto;
  }
  .fcard:hover .fcard__overlay, .fcard.is-open .fcard__overlay { opacity: 1; transform: none; pointer-events: auto; }
  .fcard.is-open .fcard__more svg { transform: rotate(45deg); }
  .fcard__overlay h4 { margin: 0; font-weight: 700; font-size: 19px; color: #fff; letter-spacing: -.01em; }
  .fcard__overlay .exp { margin: 0; font-family: var(--ecc-mono); font-size: 11.5px; letter-spacing: .03em; color: var(--ecc-blue); }
  .fcard__bio { margin: 6px 0 0; font-size: 13.5px; line-height: 1.55; color: var(--ecc-paper); }

  /* coaches */
  .coaches-head { margin: clamp(56px, 7vw, 92px) 0 clamp(24px, 3vw, 34px); text-align: center; }
  .coaches-head h3 { margin: 0; font-weight: 700; font-size: clamp(20px, 2.2vw, 27px); letter-spacing: -.01em; color: #fff; }
  .coaches-head p { margin: 9px 0 0; font-size: 14px; color: var(--ecc-grey-400); }
  .coaches { display: grid; grid-template-columns: repeat(6, 1fr); gap: clamp(12px, 1.4vw, 16px); margin-top: clamp(20px, 2.6vw, 32px); }
  .ccard {
    border-radius: var(--ecc-r-md); border: 1px solid var(--ecc-line);
    background: var(--ecc-charbon-800); padding: 18px 16px;
    display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px;
  }
  .ccard__av {
    width: 44px; height: 44px; border-radius: 50%; overflow: hidden;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 16px; color: #fff;
    background: linear-gradient(160deg, var(--ecc-charbon-500), var(--ecc-charbon-700));
    border: 1px solid var(--ecc-line-strong);
  }
  .ccard__av img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
  .ccard__name { font-weight: 700; font-size: 15px; color: #fff; }
  .ccard__chip {
    display: inline-flex; align-items: baseline; gap: 4px;
    margin: -1px 0 1px; padding: 4px 10px; border-radius: var(--ecc-r-pill);
    background: #141C2B; border: 1px solid #2A3550; color: var(--ecc-grey-400);
    font-size: 10.5px; font-weight: 500; letter-spacing: .01em; line-height: 1;
  }
  .ccard__chip .n { font-size: 13px; font-weight: 700; color: #A9C2F5; letter-spacing: -.01em; }
  .ccard__line { font-size: 12.5px; line-height: 1.45; color: var(--ecc-grey-400); }
  .coaches-head .coaches-lead {
    max-width: 760px; margin: 12px auto 0;
    font-size: clamp(14px, 1.35vw, 16.5px); line-height: 1.5;
    font-weight: 500; color: var(--ecc-paper);
  }
  .coaches-head .coaches-lead b { color: var(--ecc-blue-hover); font-weight: 700; }

  /* ============== §8 — RÉSULTATS & TÉMOIGNAGES ============== */
  .results {
    position: relative;
    padding: clamp(76px, 10vw, 130px) clamp(18px, 5vw, 56px) clamp(84px, 11vw, 140px);
    background: radial-gradient(110% 80% at 12% 0%, #141414 0%, #0a0a0a 40%, #000 74%);
    border-top: 1px solid var(--ecc-line-faint);
    overflow: hidden;
  }
  .results__wm { position: absolute; left: -13%; top: 46%; transform: translateY(-50%); width: min(66vw, 660px); opacity: .04; pointer-events: none; z-index: 0; }
  .results__inner { position: relative; z-index: 1; max-width: 1160px; margin: 0 auto; }
  .results__head { text-align: center; max-width: 780px; margin: 0 auto clamp(44px, 6vw, 72px); }
  .results__eyebrow {
    display: inline-flex; align-items: center; gap: 11px;
    font-family: var(--ecc-mono); font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--ecc-blue); margin-bottom: 18px;
  }
  .results__eyebrow .dotk { width: 7px; height: 7px; border-radius: 50%; background: var(--ecc-blue); box-shadow: 0 0 10px var(--ecc-blue); }
  .results__title { margin: 0; font-weight: 800; font-size: clamp(30px, 4.4vw, 56px); line-height: 1.02; letter-spacing: -.018em; color: #fff; }
  .results__sub { margin: clamp(14px, 1.8vw, 20px) auto 0; font-size: clamp(16px, 1.5vw, 20px); color: var(--ecc-grey-300); font-style: italic; }

  /* PART 1 — video facades (single-row scroller) */
  .vids { position: relative; margin-bottom: clamp(50px, 7vw, 92px); }
  .vids__track {
    display: flex; gap: clamp(14px, 1.6vw, 20px);
    overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x proximity;
    padding: 4px 2px 10px;
    scrollbar-width: thin; scrollbar-color: var(--ecc-charbon-400) transparent;
  }
  .vids__track::-webkit-scrollbar { height: 6px; }
  .vids__track::-webkit-scrollbar-track { background: transparent; }
  .vids__track::-webkit-scrollbar-thumb { background: var(--ecc-charbon-400); border-radius: 999px; }
  .vids__arrow {
    position: absolute; top: clamp(80px, 9vw, 102px); transform: translateY(-50%);
    width: 46px; height: 46px; border-radius: 50%;
    background: rgba(10,10,12,.82); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    border: 1px solid var(--ecc-line-strong); color: #fff;
    display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 6;
    transition: background .16s ease, border-color .16s ease, opacity .22s ease;
  }
  .vids__arrow:hover { background: var(--ecc-blue); border-color: var(--ecc-blue); }
  .vids__arrow--prev { left: -8px; }
  .vids__arrow--next { right: -8px; }
  .vids__arrow:disabled { opacity: 0; pointer-events: none; }
  .vid { position: relative; flex: 0 0 clamp(280px, 32vw, 360px); scroll-snap-align: start; aspect-ratio: 16 / 9; border-radius: var(--ecc-r-md); overflow: hidden; border: 1px solid var(--ecc-line-strong); background: #000; cursor: pointer; box-shadow: var(--ecc-shadow-card); }
  .vid__thumb { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .82; transition: opacity .2s ease, transform .4s ease; }
  .vid:hover .vid__thumb { opacity: 1; transform: scale(1.05); }
  .vid::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 42%, rgba(0,0,0,.5)); pointer-events: none; z-index: 1; }
  .vid__play {
    position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 2;
    width: 54px; height: 54px; border-radius: 50%;
    background: rgba(0,0,0,.5); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,.32);
    display: flex; align-items: center; justify-content: center;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
  }
  .vid:hover .vid__play { background: var(--ecc-blue); border-color: var(--ecc-blue); transform: translate(-50%,-50%) scale(1.08); }
  .vid__play svg { margin-left: 3px; }
  .vid__tag { position: absolute; top: 10px; left: 10px; z-index: 2; font-family: var(--ecc-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: #fff; padding: 4px 9px; border-radius: var(--ecc-r-pill); background: rgba(0,0,0,.5); border: 1px solid var(--ecc-line); }
  .vid.is-playing .vid__thumb, .vid.is-playing .vid__play, .vid.is-playing .vid__tag, .vid.is-playing::after { display: none; }
  .vid iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

  /* PART 2 — results wall (JS masonry: stable columns, append-only) */
  .results-wall { display: flex; align-items: flex-start; gap: clamp(12px, 1.4vw, 18px); }
  .rwall-col { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: clamp(12px, 1.4vw, 18px); }
  .rcap { margin: 0; border-radius: var(--ecc-r-md); overflow: hidden; border: 1px solid var(--ecc-line); display: block; box-shadow: var(--ecc-shadow-card); background: var(--ecc-charbon-800); cursor: zoom-in; transition: border-color .16s ease, transform .16s ease; }
  .rcap:hover { border-color: var(--ecc-line-strong); transform: translateY(-2px); }
  .rcap img { width: 100%; height: auto; display: block; }
  .rcap.is-hidden { display: none; }
  @keyframes eccRevealUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
  .reveal-in { animation: eccRevealUp .5s cubic-bezier(.22,1,.36,1) both; }
  @media (prefers-reduced-motion: reduce) { .reveal-in { animation: none; } }

  /* ===== Scroll reveal — GPU-only (opacity + translate). Gated by .ecc-anim ===== */
  html.ecc-anim .ecc-rv {
    opacity: 0;
    translate: 0 18px;
    transition:
      opacity .55s cubic-bezier(.22,1,.36,1) var(--rvd, 0ms),
      translate .55s cubic-bezier(.22,1,.36,1) var(--rvd, 0ms),
      transform .15s ease,
      border-color .15s ease;
  }
  html.ecc-anim .ecc-rv.is-in { opacity: 1; translate: 0 0; }
  @media (prefers-reduced-motion: reduce) {
    html.ecc-anim .ecc-rv { opacity: 1 !important; translate: none !important; transition: none !important; }
  }

  /* Hero renders immediately — no load-in animation. Above-the-fold must have zero hidden
     state (opacity/transform) so the H1 is a valid, early LCP element and paints in the first frame. */

  /* Micro-hover — subtle lift + border lighten on cards that lacked it */
  .pillar, .ccard, .profile { transition: transform .15s ease, border-color .15s ease; }
  .pillar:hover, .ccard:hover { transform: translateY(-2px); border-color: var(--ecc-line-strong); }
  .profile:hover { transform: translateY(-2px); }

  .results-more-wrap { text-align: center; margin-top: clamp(30px, 3.6vw, 46px); }
  .results-more {
    display: inline-flex; align-items: center; gap: 9px;
    font-family: var(--ecc-font); font-weight: 600; font-size: 15px; color: #fff;
    background: transparent; border: 1px solid var(--ecc-line-strong); border-radius: 11px;
    padding: 14px 28px; cursor: pointer; transition: background .16s ease, border-color .16s ease;
  }
  .results-more:hover { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.28); }
  .results-more svg { transition: transform .2s ease; }

  /* results lightbox */
  .lightbox {
    position: fixed; inset: 0; z-index: 200;
    display: flex; align-items: center; justify-content: center;
    padding: clamp(16px, 4vw, 48px);
    background: rgba(0,0,0,.88); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    opacity: 0; pointer-events: none; transition: opacity .25s ease;
  }
  .lightbox.is-open { opacity: 1; pointer-events: auto; }
  .lightbox img { max-width: min(92vw, 880px); max-height: 88vh; border-radius: var(--ecc-r-md); border: 1px solid var(--ecc-line-strong); box-shadow: var(--ecc-shadow-float); }
  .lightbox__close {
    position: absolute; top: clamp(14px, 3vw, 28px); right: clamp(14px, 3vw, 28px);
    width: 44px; height: 44px; border-radius: 50%;
    background: rgba(255,255,255,.08); border: 1px solid var(--ecc-line-strong); color: #fff;
    display: flex; align-items: center; justify-content: center; cursor: pointer;
    transition: background .16s ease;
  }
  .lightbox__close:hover { background: rgba(255,255,255,.18); }

  /* ============== §9 — LE CHOIX T'APPARTIENT ============== */
  .choice {
    position: relative;
    padding: clamp(76px, 10vw, 130px) clamp(18px, 5vw, 56px) clamp(84px, 11vw, 140px);
    background: linear-gradient(180deg, #000 0%, #070707 50%, #000 100%);
    border-top: 1px solid var(--ecc-line-faint);
  }
  .choice__inner { max-width: 1060px; margin: 0 auto; }
  .choice__title { margin: 0 auto clamp(44px, 6vw, 72px); text-align: center; font-weight: 800; font-size: clamp(30px, 4.6vw, 58px); line-height: 1.02; letter-spacing: -.018em; color: #fff; }
  .choice__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(16px, 2.2vw, 28px); align-items: stretch; }
  .choice-col { display: flex; flex-direction: column; border-radius: var(--ecc-r-lg); padding: clamp(26px, 3vw, 40px); }
  .choice-col__sub { font-family: var(--ecc-mono); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 8px; }
  .choice-col__t { margin: 0 0 clamp(22px, 3vw, 30px); font-weight: 800; font-size: clamp(22px, 2.6vw, 32px); letter-spacing: -.012em; }
  .choice-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 15px; flex: 1; }
  .choice-item { display: flex; gap: 13px; align-items: flex-start; font-size: clamp(14.5px, 1.2vw, 16px); line-height: 1.4; }
  .choice-item .ic { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-top: 1px; }
  .choice-col__cta { margin-top: 18px; }
  .choice-col__cta .btn { width: 100%; }
  .choice-dead {
    margin-top: 18px;
    display: flex; align-items: center; justify-content: center; gap: 9px;
    width: 100%; padding: 16px 24px;
    border-radius: 11px; border: 1px dashed var(--ecc-grey-600);
    background: transparent; color: var(--ecc-grey-500);
    font-family: var(--ecc-font); font-weight: 600; font-size: 15px;
    text-decoration: none; cursor: pointer;
    transition: color .16s ease, border-color .16s ease;
  }
  .choice-dead:hover { color: var(--ecc-grey-300); border-color: var(--ecc-grey-500); }
  .choice-dead svg { opacity: .75; }

  /* left — alive */
  .choice-col--go {
    border: 1.5px solid var(--ecc-blue);
    background: linear-gradient(180deg, rgba(30,93,236,.18) 0%, rgba(30,93,236,.05) 55%, rgba(30,93,236,.02) 100%);
    box-shadow: 0 0 0 1px rgba(30,93,236,.28), 0 40px 100px -36px rgba(30,93,236,.8);
  }
  .choice-col--go .choice-col__sub { color: var(--ecc-blue); }
  .choice-col--go .choice-col__t { color: #fff; }
  .choice-col--go .choice-item { color: var(--ecc-paper); }
  .choice-col--go .ic { background: var(--ecc-blue); color: #fff; box-shadow: 0 0 14px -2px rgba(30,93,236,.7); }

  /* right — lifeless */
  .choice-col--stay { border: 1px solid rgba(255,255,255,.045); background: #090909; }
  .choice-col--stay .choice-col__sub { color: var(--ecc-grey-600); }
  .choice-col--stay .choice-col__t { color: var(--ecc-grey-500); }
  .choice-col--stay .choice-item { color: var(--ecc-grey-500); }
  .choice-col--stay .ic { background: transparent; border: 1px solid var(--ecc-grey-600); color: var(--ecc-grey-600); }
  .choice-gag { color: var(--ecc-grey-500); text-decoration: none; border-bottom: 1px dashed var(--ecc-grey-600); transition: color .16s ease, border-color .16s ease; }
  .choice-gag:hover { color: var(--ecc-grey-300); border-color: var(--ecc-grey-400); }

  /* ============== §10 — LE PROGRAMME ============== */
  .program {
    position: relative;
    padding: clamp(72px, 9vw, 120px) clamp(18px, 5vw, 56px) clamp(80px, 10vw, 128px);
    background: var(--ecc-black);
    border-top: 1px solid var(--ecc-line-faint);
  }
  .program__inner { max-width: 1000px; margin: 0 auto; }
  .program__head { text-align: center; max-width: 720px; margin: 0 auto clamp(40px, 5vw, 64px); }
  .program__kicker { display: inline-block; font-family: var(--ecc-mono); font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--ecc-blue); margin-bottom: 16px; }
  .program__title { margin: 0; font-weight: 800; font-size: clamp(28px, 3.8vw, 46px); line-height: 1.04; letter-spacing: -.016em; color: #fff; }
  .program__sub { margin: clamp(14px, 1.8vw, 20px) auto 0; max-width: 620px; font-size: clamp(16px, 1.4vw, 19px); line-height: 1.55; color: var(--ecc-grey-300); text-wrap: balance; }
  .modules { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(12px, 1.4vw, 18px); }
  .module {
    display: flex; flex-direction: column; gap: 10px;
    padding: clamp(18px, 1.9vw, 24px);
    border-radius: var(--ecc-r-md);
    border: 1px solid #1E1E1E;
    background: var(--ecc-charbon-800);
    transition: border-color .16s ease, transform .16s ease;
  }
  .module:hover { border-color: var(--ecc-line-strong); transform: translateY(-2px); }
  .module__n { font-family: var(--ecc-mono); font-weight: 500; font-size: clamp(20px, 2vw, 26px); letter-spacing: .02em; color: #3E6BE0; }
  .module__t { font-size: clamp(14px, 1.1vw, 16px); color: #fff; font-weight: 600; letter-spacing: -.005em; line-height: 1.3; }
  .program-more-wrap { display: none; text-align: center; margin-top: clamp(24px, 3vw, 34px); }

  /* ============== §11 — POUR QUI ============== */
  .forwho {
    position: relative;
    overflow: hidden;
    padding: clamp(34px, 4.5vw, 60px) clamp(18px, 5vw, 56px) clamp(80px, 10vw, 132px);
    background:
      radial-gradient(78% 52% at 50% 42%, rgba(30,93,236,.055) 0%, rgba(30,93,236,0) 62%),
      radial-gradient(112% 92% at 50% 50%, #131313 0%, #0b0b0b 40%, #000 74%);
    text-align: center;
  }
  .forwho__inner { position: relative; z-index: 1; max-width: 1000px; margin: 0 auto; }
  .forwho__title { margin: 0 auto clamp(48px, 6vw, 76px); max-width: 18ch; font-weight: 800; font-size: clamp(26px, 3.6vw, 44px); line-height: 1.08; letter-spacing: -.016em; color: #fff; text-wrap: balance; }
  .profiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(28px, 4vw, 56px); }
  .profile { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 0 clamp(4px, 1vw, 14px); }
  .profile__ic { width: 56px; height: 56px; border-radius: 16px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--ecc-line-strong); background: rgba(255,255,255,.03); color: var(--ecc-blue); }
  .profile p { margin: 0; font-size: clamp(15px, 1.35vw, 17px); line-height: 1.55; color: var(--ecc-paper); max-width: 26ch; }
  .forwho__reassure { margin: clamp(54px, 7vw, 88px) auto 0; max-width: 720px; font-weight: 500; font-size: clamp(18px, 2vw, 26px); line-height: 1.4; letter-spacing: -.01em; color: var(--ecc-grey-300); text-wrap: balance; }
  .forwho__reassure b { color: #fff; font-weight: 700; }

  /* ============== §13 — FAQ ============== */
  .faq { padding: clamp(72px, 9vw, 120px) clamp(18px, 5vw, 56px) clamp(80px, 10vw, 128px); background: var(--ecc-black); border-top: 1px solid var(--ecc-line-faint); }
  .faq__inner { max-width: 820px; margin: 0 auto; }
  .faq__title { margin: 0 0 clamp(34px, 4.5vw, 54px); text-align: center; font-weight: 800; font-size: clamp(28px, 3.8vw, 46px); letter-spacing: -.016em; color: #fff; }
  .faq-item { border-top: 1px solid var(--ecc-line); }
  .faq-item:last-child { border-bottom: 1px solid var(--ecc-line); }
  .faq-q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: clamp(20px, 2.4vw, 26px) 6px; background: transparent; border: none; cursor: pointer; text-align: left; font-family: var(--ecc-font); font-weight: 600; font-size: clamp(16px, 1.5vw, 19px); color: #fff; letter-spacing: -.01em; }
  .faq-icon { flex: 0 0 auto; width: 22px; height: 22px; position: relative; }
  .faq-icon::before, .faq-icon::after { content: ""; position: absolute; background: var(--ecc-blue); border-radius: 2px; transition: transform .3s ease, opacity .25s ease; }
  .faq-icon::before { top: 50%; left: 3px; right: 3px; height: 2px; transform: translateY(-50%); }
  .faq-icon::after { left: 50%; top: 3px; bottom: 3px; width: 2px; transform: translateX(-50%); }
  .faq-item.is-open .faq-icon::after { transform: translateX(-50%) rotate(90deg); opacity: 0; }
  .faq-a { overflow: hidden; max-height: 0; transition: max-height .34s ease; }
  .faq-item.is-open .faq-a { max-height: 560px; }
  .faq-a__inner { overflow: hidden; }
  .faq-a p { margin: 0; padding: 2px 6px clamp(22px, 2.6vw, 28px); font-size: clamp(15px, 1.3vw, 16.5px); line-height: 1.6; color: var(--ecc-paper); max-width: 72ch; }

  /* ============== §14 — CTA FINAL + FOOTER ============== */
  .final { position: relative; overflow: hidden; padding: clamp(84px, 11vw, 150px) clamp(18px, 5vw, 56px) clamp(80px, 10vw, 128px); background: radial-gradient(100% 80% at 50% 0%, #161616 0%, #0a0a0a 42%, #000 76%); border-top: 1px solid var(--ecc-line-faint); text-align: center; }
  .final__wm { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(80vw, 760px); opacity: .04; pointer-events: none; z-index: 0; }
  .final__inner { position: relative; z-index: 1; max-width: 780px; margin: 0 auto; }
  .final__title { margin: 0; font-weight: 900; font-size: clamp(32px, 5vw, 68px); line-height: 1.0; letter-spacing: -.02em; color: #fff; text-wrap: balance; }
  .final__sub { margin: clamp(18px, 2.4vw, 28px) auto 0; max-width: 560px; font-size: clamp(17px, 1.6vw, 21px); line-height: 1.5; color: var(--ecc-grey-300); }
  .final__cta { margin-top: clamp(30px, 3.6vw, 42px); }
  .final__micro { margin: 18px 0 0; font-size: 14px; color: var(--ecc-grey-400); }
  .final__trust { margin: clamp(26px, 3vw, 34px) auto 0; padding-top: clamp(22px, 2.6vw, 30px); border-top: 1px solid var(--ecc-line); max-width: 600px; display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; font-size: 14px; color: var(--ecc-grey-300); font-weight: 500; }
  .final__trust .star { color: var(--ecc-green); }
  .final__trust .sep { width: 4px; height: 4px; border-radius: 50%; background: var(--ecc-grey-600); }

  .footer { border-top: 1px solid var(--ecc-line); background: var(--ecc-black); padding: clamp(32px, 4vw, 48px) clamp(18px, 5vw, 56px); }
  .footer__inner { max-width: 1160px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
  .footer__brand { display: inline-flex; align-items: center; gap: 11px; }
  .footer__brand img { width: 26px; height: 26px; }
  .footer__brand span { font-weight: 600; font-size: 14px; color: #fff; }
  .footer__links { display: flex; flex-wrap: wrap; gap: 8px 22px; }
  .footer__links a { font-size: 13.5px; color: var(--ecc-grey-400); text-decoration: none; transition: color .16s ease; }
  .footer__links a:hover { color: #fff; }
  .footer__wa { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--ecc-line-strong); color: var(--ecc-grey-300); transition: color .16s ease, border-color .16s ease, background .16s ease; }
  .footer__wa:hover { color: #fff; background: rgba(255,255,255,.05); }

  /* ============== RESPONSIVE ============== */
  @media (max-width: 860px) {
    .nav { display: none; }
    .hdr__in { grid-template-columns: 1fr auto; }
    .hdr__right { gap: 8px; }
    .burger { display: inline-flex; }
    .brand__wm { display: none; }
    .proof__grid { grid-template-columns: 1fr; gap: clamp(28px, 6vw, 44px); }
    .proof__photo { max-width: 520px; }
    .obstacles { display: none; }
    .obs-m { display: block; max-width: 460px; margin: 0 auto; }
    .pillars { grid-template-columns: 1fr; max-width: 480px; gap: 16px; }
    .pillar--simple { justify-content: flex-start; }
    .eco-link { display: none; }
    .value__wm { opacity: .03; }
    .couche1 { grid-template-columns: 1fr; gap: clamp(28px, 6vw, 40px); }
    .couche1__text { max-width: none; }
    .coaches { grid-template-columns: repeat(3, 1fr); }
    .choice__grid { grid-template-columns: 1fr; }
    .modules { grid-template-columns: repeat(2, 1fr); }
    .profiles { grid-template-columns: 1fr; gap: clamp(32px, 7vw, 48px); max-width: 420px; margin: 0 auto; }
    .steps { grid-template-columns: 1fr; gap: clamp(28px, 6vw, 40px); max-width: 360px; margin: 0 auto; }
    .steps::before { display: none; }
    .footer__inner { flex-direction: column; align-items: flex-start; gap: 18px; }
  }
  @media (max-width: 540px) {
    .coaches { grid-template-columns: repeat(2, 1fr); }
    .modules { grid-template-columns: 1fr; }
    .modules.is-collapsed .module--extra { display: none; }
    .program-more-wrap { display: block; }
  }
  @media (max-width: 600px) {
    .hero h1 .line { white-space: normal; }
  }
  @media (max-width: 460px) {
    .hdr .btn--primary { padding: 10px 15px; font-size: 13px; }
    .hero__trust { gap: 8px; }
  }
  @media (prefers-reduced-motion: reduce) {
    * { animation: none !important; }
    html { scroll-behavior: auto; }
  }
