
/* ================= TOKENS — LIGHT EDITORIAL ================= */
:root{
  --bg:#FCFBFD;            --bg-2:#F6F2FA;           --bg-3:#FFFFFF;
  --surface:#FFFFFF;       --surface-2:#F8F1FB;
  --border:#ECE0F2;        --border-2:#DFCEE9;
  --ink:#160D1C;           --text:#2C2233;          --muted:#6E6479;          --muted-2:#9A90A8;
  --purple:#A62FBD;        --purple-deep:#7C1F92;    --purple-soft:#F4E5F8;
  --orange:#F97316;        --orange-deep:#E0590A;
  --grad:linear-gradient(115deg,#A62FBD 0%,#F97316 100%);
  --shadow-sm:0 2px 12px rgba(34,19,39,.06);
  --shadow:0 30px 62px -34px rgba(34,19,39,.15);
  --shadow-lg:0 46px 92px -42px rgba(34,19,39,.19);
  --r:16px; --r-lg:24px; --r-xl:32px;
  --ease:cubic-bezier(.22,1,.36,1);
  --maxw:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;overflow-x:clip}
body{
  font-family:'Satoshi',system-ui,-apple-system,sans-serif;
  color:var(--text);background:var(--bg);line-height:1.7;
  overflow-x:hidden;overflow-x:clip;-webkit-font-smoothing:antialiased;position:relative;
}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(50% 40% at 12% 5%, rgba(166,47,189,.10), transparent 60%),
    radial-gradient(45% 35% at 92% 12%, rgba(249,115,22,.09), transparent 60%),
    radial-gradient(55% 45% at 50% 108%, rgba(166,47,189,.08), transparent 60%);}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
h1,h2,h3,h4,.display{font-family:'Clash Display','Satoshi',sans-serif;line-height:1.04;letter-spacing:-.015em;font-weight:600;color:var(--ink)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
.grad-text{background:none;-webkit-text-fill-color:var(--purple-deep);color:var(--purple-deep)}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:'Satoshi',sans-serif;
  font-weight:600;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted-2);background:transparent;padding:2px 0;letter-spacing:.22em;}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--grad)}
.sec-head{max-width:760px;margin:0 auto 58px;text-align:center}
.sec-head h2{font-size:clamp(30px,4.4vw,52px);margin:20px 0 16px;font-weight:600}
.sec-head p{font-size:18px;color:var(--muted)}

/* ================= BUTTONS ================= */
.btn{position:relative;display:inline-flex;align-items:center;gap:10px;
  font-family:'Satoshi',sans-serif;font-weight:600;font-size:15.5px;
  padding:15px 26px;border-radius:12px;cursor:pointer;border:none;overflow:hidden;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);will-change:transform;}
.btn svg{transition:transform .35s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-primary{background:var(--ink);color:#fff;box-shadow:0 14px 30px -14px rgba(34,19,39,.4)}
.btn-primary:hover{background:#2A2233;box-shadow:0 20px 42px -16px rgba(34,19,39,.45);transform:translateY(-2px)}
.btn-ghost{background:#fff;color:var(--ink);border:1.5px solid var(--border-2)}
.btn-ghost:hover{border-color:var(--purple);color:var(--purple-deep);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.btn-lg{padding:18px 34px;font-size:16.5px}
.ripple{position:absolute;border-radius:50%;transform:scale(0);background:rgba(255,255,255,.5);pointer-events:none;animation:rip .6s ease-out;z-index:2}
@keyframes rip{to{transform:scale(2.6);opacity:0}}

/* ================= PROGRESS + CURSOR ================= */
#progress{position:fixed;top:0;left:0;height:2.5px;width:0;background:var(--grad);z-index:2000;transition:width .1s linear}

/* ================= NAV ================= */
header{position:fixed;top:0;left:0;right:0;z-index:1000;transition:transform .4s var(--ease)}
/* ===== nav double étage + trois îlots (desktop) ===== */
.topbar{display:none}
@media(min-width:769px){
  .topbar{display:flex;justify-content:space-between;align-items:center;padding:7px 26px;
    font-size:11.5px;font-weight:600;letter-spacing:.05em;color:var(--muted);
    background:rgba(246,236,223,.74);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);
    transition:margin-top .35s var(--ease),opacity .3s}
  .tb-lang a{font-weight:700;color:var(--muted-2);padding:2px 7px;border-radius:7px;text-decoration:none;transition:color .25s,background .25s}
  .tb-lang a:hover{color:var(--purple-deep)}
  .tb-lang a.on{color:var(--purple-deep);background:rgba(166,47,189,.12)}
  .tb-lang i{font-style:normal;color:var(--muted-2);margin:0 1px}
  header.scrolled .topbar{margin-top:-36px;opacity:0;pointer-events:none}
  header nav.nav{background:transparent;border:none;box-shadow:none;backdrop-filter:none;padding:8px 0;margin:10px auto}
  header.scrolled nav.nav{background:transparent;box-shadow:none;border:none;backdrop-filter:none;padding-top:4px;padding-bottom:4px}
  header .nav .brand,
  header .nav .nav-links,
  header .nav .navsearch{background:rgba(255,255,255,.62);backdrop-filter:blur(14px) saturate(1.3);
    border:1px solid rgba(236,224,242,.85);border-radius:100px;
    box-shadow:0 10px 26px -18px rgba(124,31,146,.4);transition:background .3s}
  header .nav .brand{padding:9px 17px;display:inline-flex;align-items:center}
  header .nav .nav-links{padding:5px 8px}
  /* îlot droit éclaté : loupe dans SA bulle, CTA nu juste à droite */
  header .nav .nav-cta{background:transparent;border:none;box-shadow:none;backdrop-filter:none;padding:0;display:flex;align-items:center;gap:10px}
  header .nav .navsearch{padding:11px 15px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;color:var(--text)}
  header.scrolled .nav .brand,
  header.scrolled .nav .nav-links,
  header.scrolled .nav .navsearch{background:rgba(255,255,255,.86)}
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;
  margin:16px auto;max-width:var(--maxw);width:calc(100% - 52px);
  padding:11px 12px 11px 20px;border-radius:100px;
  background:rgba(255,255,255,.72);backdrop-filter:blur(18px) saturate(1.3);
  border:1px solid rgba(236,224,242,.9);box-shadow:var(--shadow-sm);transition:padding .3s var(--ease),box-shadow .3s;}
header.scrolled .nav{padding-top:8px;padding-bottom:8px;box-shadow:0 14px 40px -22px rgba(124,31,146,.4);background:rgba(255,255,255,.88)}
.brand img{height:28px;width:auto}
.nav-links{display:flex;gap:4px}
.nav-links a{font-weight:500;font-size:14.5px;color:var(--text);padding:9px 15px;border-radius:100px;transition:color .25s,background .25s}
.nav-links a:hover{color:var(--purple-deep);background:var(--purple-soft)}
.nav-cta{display:flex;align-items:center;gap:12px}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.burger span{width:24px;height:2px;background:var(--ink);border-radius:2px;transition:.3s var(--ease)}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:999;background:rgba(250,246,252,.98);backdrop-filter:blur(20px);
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}
.mobile-menu.open{opacity:1;pointer-events:auto}
.mobile-menu a{font-family:'Clash Display',sans-serif;font-size:30px;font-weight:500;color:var(--ink);padding:10px}

/* ================= HERO ================= */
.hero{padding:168px 0 80px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(38px,5.4vw,66px);margin:24px 0 22px;font-weight:600}
.hero h1 .word{display:inline-block;opacity:0;transform:translateY(36px);animation:wordIn .9s var(--ease) forwards}
@keyframes wordIn{to{opacity:1;transform:none}}
.hero p.lead{font-size:18.5px;color:var(--muted);max-width:560px;margin-bottom:32px;opacity:0;animation:fadeUp .8s var(--ease) .7s forwards}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:fadeUp .8s var(--ease) .85s forwards}
.hero-visual{position:relative;opacity:0;animation:fadeUp 1s var(--ease) .5s forwards}
.hero-frame{position:relative}
.hero-frame img{width:100%;display:block;animation:floaty 8s ease-in-out infinite}
/* ruban beige diagonal pleine largeur : l'identité du héros desktop */
.hero{position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;left:-5%;right:-5%;top:38%;height:52%;transform:rotate(-7deg);
  z-index:1;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 160' preserveAspectRatio='none'%3E%3Cpath d='M0 34C48 20 92 40 142 30 192 20 240 42 292 32 336 24 372 36 400 28L400 128C356 140 320 122 272 132 224 142 176 120 128 132 84 142 40 126 0 138Z' fill='%23F6ECDF'/%3E%3C/svg%3E") no-repeat center/100% 100%}
.hero .wrap{position:relative;z-index:2}
/* scène dessinée du héros + halo violet/orange */
.hero-scene{position:relative}
.hero-scene::before{content:"";position:absolute;inset:-14% -10%;z-index:0;pointer-events:none;background:
  radial-gradient(52% 46% at 50% 46%,rgba(166,47,189,.17),transparent 65%),
  radial-gradient(42% 38% at 66% 60%,rgba(249,115,22,.14),transparent 62%)}
.hero-scene svg{position:relative;z-index:1;width:100%;height:auto;filter:drop-shadow(0 26px 44px rgba(124,31,146,.15))}
/* carrousel dessiné côté desktop (clone du mobile injecté par anim.js) */
.hero-scene .hero-cycle{position:relative;width:min(100%,480px);margin:0 auto}
.hero-scene .hero-cycle .hero-svg{width:100%;margin:0;display:block}
.hero-scene .hero-cycle .hero-svg+.hero-svg{position:absolute;inset:0;opacity:0}
/* pastille du héros desktop (le reste du site garde l'eyebrow classique) */
.hero-copy .eyebrow{background:rgba(255,255,255,.62);border:1px solid var(--border);border-radius:100px;
  padding:9px 16px;text-transform:none;letter-spacing:.02em;font-size:13.5px;color:var(--text);
  box-shadow:0 8px 22px -16px rgba(34,19,39,.3);backdrop-filter:blur(8px)}
.hero-copy .eyebrow::before{width:7px;height:7px;border-radius:50%;background:var(--grad)}
.rotw{white-space:nowrap;display:inline-block;text-align:center;perspective:420px}
/* lettres du mot tournant : couleur pleine (le clip dégradé ne traverse pas les spans) */
.rotw .rc{display:inline-block;color:var(--purple-deep);-webkit-text-fill-color:var(--purple-deep);
  transform-style:preserve-3d;backface-visibility:hidden;will-change:transform}
.hero-badge{position:absolute;left:0;bottom:6px;display:flex;align-items:center;gap:12px;
  background:#fff;border:1px solid var(--border);border-radius:16px;padding:13px 17px;box-shadow:var(--shadow);animation:floaty 6s ease-in-out infinite}
.hero-badge .ic{width:40px;height:40px;border-radius:12px;background:var(--purple-soft);display:grid;place-items:center;flex:none}
.hero-badge b{display:block;font-size:14px;color:var(--ink)}
.hero-badge span{font-size:12.5px;color:var(--muted)}
@keyframes floaty{50%{transform:translateY(-14px)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* ================= MARQUEE ================= */
.marquee-wrap{padding:38px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden;background:var(--bg-2)}
.mq-label{text-align:center;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);margin-bottom:22px;font-weight:600}
.marquee{display:flex;gap:56px;width:max-content;animation:scrollx 34s linear infinite}
.marquee:hover{animation-play-state:paused}
.marquee .m-item{display:inline-flex;align-items:center;gap:22px;font-family:'Clash Display',sans-serif;font-weight:600;font-size:23px;color:#C3B6CE;white-space:nowrap;transition:color .3s}
.marquee .m-item::before{content:"";width:9px;height:9px;background:var(--grad);border-radius:2px;transform:rotate(45deg);opacity:.6;flex:none}
.marquee .m-item:hover{color:var(--purple)}
@keyframes scrollx{to{transform:translateX(-50%)}}

/* ================= STATS ================= */
.stats{padding:66px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.stat{text-align:center;padding:12px 22px;position:relative}
.stat+.stat::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);height:56px;width:1px;background:var(--border)}
.stat .num{font-family:'Clash Display';font-weight:600;font-size:clamp(40px,5vw,58px);line-height:1;color:var(--ink)}
.stat .num i{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat .lbl{color:var(--muted);margin-top:12px;font-size:14px}

/* ================= NARRATIVE CHAPTERS ================= */
.story-intro{text-align:center;max-width:780px;margin:0 auto;padding:74px 0 20px}
.story-intro h2{font-size:clamp(28px,3.6vw,44px);margin:16px 0}
.story-intro p{font-size:19px;color:var(--muted)}
.chapter{padding:66px 0}
.chapter .inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.chapter.flip .chap-visual{order:2}
.chap-visual{position:relative;display:grid;place-items:center;padding:10px}
.chap-visual img{width:100%;max-width:520px;display:block;filter:drop-shadow(0 24px 40px rgba(124,31,146,.14))}
.chap-num{display:inline-flex;align-items:center;gap:10px;font-family:'Clash Display';font-weight:600;font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:16px}
.chap-num::before{content:"";width:26px;height:2px;background:var(--grad);border-radius:2px}
.chapter h2{font-size:clamp(28px,3.6vw,44px);margin-bottom:18px;font-weight:600}
.chapter p{color:var(--muted);font-size:17px;margin-bottom:16px}
.chapter .pull{font-family:'Clash Display';font-weight:500;font-size:20px;color:var(--ink);border-left:3px solid;border-image:var(--grad) 1;padding-left:18px;margin-top:24px;line-height:1.4}

/* ================= FEATURES / DOMAINES ================= */
.features{padding:90px 0}
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--border-2)}
.card-media{position:relative;height:180px;overflow:hidden;background:linear-gradient(160deg,rgba(166,47,189,.09),rgba(249,115,22,.06))}
.card-media img{width:100%;height:100%;object-fit:contain;padding:14px 16px;transition:transform .6s var(--ease)}
.card:hover .card-media img{transform:scale(1.05)}
.card-ic{position:absolute;left:16px;bottom:14px;z-index:2;width:44px;height:44px;border-radius:12px;background:#fff;border:1px solid var(--border);display:grid;place-items:center;box-shadow:var(--shadow-sm)}
.card-body{padding:22px 24px 26px}
.card h3{font-size:19px;margin-bottom:8px;font-weight:600}
.card p{color:var(--muted);font-size:14.5px}

/* ================= SHOWCASE ================= */
.showcase{padding:90px 0;overflow:hidden}
.carousel{position:relative}
.track-view{overflow:hidden;border-radius:var(--r-xl)}
.track{display:flex;transition:transform .65s var(--ease);cursor:grab}
.track.grabbing{cursor:grabbing;transition:none}
.slide{min-width:100%;padding:4px}
.slide-inner{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--border);background:#fff;box-shadow:var(--shadow)}
.slide-copy{padding:50px 46px}
.slide-copy .tag{font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--grad);display:inline-block;padding:5px 13px;border-radius:100px}
.slide-copy h3{font-size:28px;margin:16px 0 14px;font-weight:600}
.slide-copy p{color:var(--muted);margin-bottom:22px}
.slide-copy ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.slide-copy li{display:flex;gap:11px;align-items:center;font-size:15px}
.slide-copy li svg{flex:none}
.slide-visual{position:relative;overflow:hidden;min-height:410px;background:linear-gradient(160deg,rgba(166,47,189,.10),rgba(249,115,22,.07))}
.slide-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:28px}
.v-chip{position:absolute;z-index:2;display:flex;flex-direction:column;padding:14px 18px;border-radius:15px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border:1px solid var(--border);box-shadow:var(--shadow)}
.v-chip b{font-family:'Clash Display';font-size:24px;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.v-chip small{color:var(--muted);font-size:12px;margin-top:3px}
.vc-1{top:22px;left:22px}.vc-2{bottom:22px;right:22px}
.car-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:32px}
.car-btn{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--border-2);background:#fff;cursor:pointer;display:grid;place-items:center;transition:.3s var(--ease);color:var(--ink)}
.car-btn:hover{background:var(--grad);color:#fff;border-color:transparent;transform:scale(1.08)}
.dots{display:flex;gap:9px}
.dot{width:9px;height:9px;border-radius:50%;background:var(--border-2);cursor:pointer;transition:.3s var(--ease)}
.dot.active{background:var(--grad);width:30px;border-radius:5px}

/* ================= PROCESS ================= */
.process{padding:96px 0;background:var(--bg-2)}
.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:20px}
.steps::before{content:"";position:absolute;top:34px;left:9%;right:9%;height:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform 1.3s var(--ease)}
.steps.drawn::before{transform:scaleX(1)}
.step{text-align:center;position:relative;z-index:1}
.step .n{width:70px;height:70px;border-radius:50%;margin:0 auto 20px;display:grid;place-items:center;background:#fff;border:1.5px solid var(--border-2);font-family:'Clash Display';font-weight:600;font-size:23px;transition:transform .4s var(--ease),background .4s,color .4s}
.step:hover .n{background:var(--grad);color:#fff;transform:translateY(-6px) scale(1.05);border-color:transparent;box-shadow:var(--shadow)}
.step h4{font-size:18px;margin-bottom:8px;font-weight:600}
.step p{color:var(--muted);font-size:14.5px}

/* ================= CERTIFICATIONS ================= */
.certs{padding:96px 0}
.certs-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.certs-visual{position:relative;display:grid;place-items:center;min-height:300px}
.certs-visual::before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(166,47,189,.18),transparent 65%);filter:blur(14px)}
.certs-visual img{position:relative;max-width:310px;filter:drop-shadow(0 30px 50px rgba(166,47,189,.35));animation:floaty 6.5s ease-in-out infinite}
.certs-head h2{font-size:clamp(26px,3.4vw,40px);margin:16px 0 14px;font-weight:600}
.certs-head p{color:var(--muted);font-size:16px;margin-bottom:24px;max-width:520px}
.certs-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cert{display:flex;gap:14px;align-items:flex-start;padding:15px 16px;border-radius:14px;border:1px solid transparent;transition:background .3s,border-color .3s}
.cert:hover{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-sm)}
.cert .ci{width:44px;height:44px;border-radius:12px;background:var(--purple-soft);display:grid;place-items:center;flex:none}
.cert b{display:block;font-size:15px;color:var(--ink);margin-bottom:2px}
.cert small{color:var(--muted);font-size:12.5px;line-height:1.4}

/* ================= TESTIMONIALS ================= */
.testi{padding:96px 0;background:var(--bg-2)}
.t-view{overflow:hidden;max-width:860px;margin:0 auto}
.t-track{display:flex;transition:transform .6s var(--ease)}
.t-slide{min-width:100%;text-align:center;padding:0 20px}
.t-slide .quote{font-family:'Clash Display';font-weight:500;font-size:clamp(23px,3.2vw,33px);line-height:1.32;margin-bottom:30px;color:var(--ink)}
.t-slide .quote span{background:linear-gradient(120deg,rgba(166,47,189,.16),rgba(249,115,22,.16));padding:0 6px;border-radius:6px}
.t-person{display:flex;align-items:center;justify-content:center;gap:14px}
.t-person .av{width:54px;height:54px;border-radius:50%;background:var(--grad);display:grid;place-items:center;color:#fff;font-family:'Clash Display';box-shadow:var(--shadow-sm)}
.t-person b{display:block;color:var(--ink)}
.t-person small{color:var(--muted)}
.t-dots{justify-content:center;margin-top:36px;display:flex;gap:9px}

/* ================= ENGAGER ================= */
.pricing{padding:96px 0}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}
.plan{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:34px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.plan:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--border-2)}
.plan.pop{border-color:transparent;background:linear-gradient(165deg,#fff,#FBF2FC);box-shadow:var(--shadow-lg)}
.plan.pop::after{content:"";position:absolute;inset:0;border-radius:var(--r-xl);padding:1.5px;background:var(--grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.plan .pill{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.plan.pop .pill{color:#fff;background:var(--grad);padding:5px 13px;border-radius:100px;position:absolute;top:-13px;right:26px;box-shadow:var(--shadow-sm)}
.plan h3{font-size:22px;margin:8px 0 6px;font-weight:600}
.plan .muted{color:var(--muted);font-size:15px}
.plan ul{list-style:none;margin:24px 0 28px;display:flex;flex-direction:column;gap:13px}
.plan li{display:flex;gap:11px;font-size:14.5px}
.plan li svg{flex:none;margin-top:3px}
.plan .btn{width:100%;justify-content:center}

/* ================= CTA ================= */
.cta{padding:104px 0}
.cta-box{position:relative;border-radius:var(--r-xl);overflow:hidden;background:var(--grad);box-shadow:var(--shadow-lg);
  display:flex;align-items:center;gap:20px;padding:56px 30px 56px 56px}
.cta-box::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 70% at 85% 90%,rgba(0,0,0,.14),transparent 60%)}
.cta-content{flex:1;position:relative;z-index:1;color:#fff}
.cta-unfold{display:none}
.cta-box h2{color:#fff;font-size:clamp(28px,4.2vw,46px);margin-bottom:14px;font-weight:600}
.cta-box p{font-size:18px;color:rgba(255,255,255,.9);max-width:560px;margin:0 0 28px}
.cta-box .btn-primary{background:#fff;color:var(--purple-deep)}
.cta-box .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.cta-person{flex:none;align-self:center;width:320px;margin:0 6px 0 0;position:relative;z-index:1;
  -webkit-mask:linear-gradient(180deg,#000 70%,transparent 95%);mask:linear-gradient(180deg,#000 70%,transparent 95%);
  filter:drop-shadow(0 20px 40px rgba(0,0,0,.22))}
.cta-ap{position:absolute;opacity:.16;width:420px;z-index:0}
.cta-ap.a1{top:-140px;left:-120px;animation:apspin 44s linear infinite}
@keyframes apspin{to{transform:rotate(360deg)}}

/* ================= FOOTER ================= */
footer{background:var(--bg-2);color:var(--muted);padding:70px 0 32px;border-top:1px solid var(--border)}
.f-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid var(--border)}
.f-brand img.logo{height:30px;margin-bottom:18px}
.f-brand p{max-width:300px;font-size:14.5px}
.f-eu{display:flex;align-items:center;gap:12px;margin-top:22px;font-size:13px}
.f-eu img{height:44px}
.f-col h5{color:var(--ink);font-family:'Clash Display';font-size:15px;margin-bottom:15px;font-weight:600}
.f-col a{display:block;padding:6px 0;font-size:14.5px;transition:color .25s,transform .25s}
.f-col a:hover{color:var(--purple-deep);transform:translateX(4px)}
.f-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:26px;font-size:13.5px;flex-wrap:wrap;gap:14px}
.f-social{display:flex;gap:10px}
.f-social a{width:40px;height:40px;border-radius:50%;border:1px solid var(--border-2);display:grid;place-items:center;transition:.3s var(--ease);color:var(--muted)}
.f-social a:hover{background:var(--grad);border-color:transparent;color:#fff;transform:translateY(-3px)}

#toTop{position:fixed;bottom:26px;right:26px;width:50px;height:50px;border-radius:50%;background:var(--grad);color:#fff;border:none;cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow);z-index:900;opacity:0;transform:translateY(20px) scale(.8);pointer-events:none;transition:.4s var(--ease)}
#toTop.show{opacity:1;transform:none;pointer-events:auto}

/* ================= REVEAL ================= */
[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
[data-reveal].in{opacity:1;transform:none}

/* ================= RESPONSIVE ================= */
@media(max-width:980px){
  .nav-links,.nav-cta .btn{display:none}
  .burger{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero-visual{order:-1;max-width:560px;margin:0 auto}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:34px 0}
  .stat+.stat::before{display:none}
  .chapter .inner{grid-template-columns:1fr;gap:20px}
  .chapter.flip .chap-visual{order:-1}
  .chap-visual{order:-1;max-width:300px;margin:0 auto;padding:0}
  .feat-grid{grid-template-columns:1fr 1fr}
  .slide-inner{grid-template-columns:1fr}
  .slide-visual{order:-1;min-height:260px}
  .steps{grid-template-columns:1fr 1fr;gap:36px}
  .steps::before{display:none}
  .certs-grid{grid-template-columns:1fr;gap:34px}
  .certs-visual{min-height:200px}
  .certs-visual img{max-width:220px}
  .price-grid{grid-template-columns:1fr;max-width:460px;margin:0 auto}
  .cta-box{flex-direction:column;text-align:center;padding:52px 28px}
  .cta-box p{margin-left:auto;margin-right:auto}
  .cta-box .hero-actions{justify-content:center}
  .cta-person{width:250px;margin:6px 0 0}
  .f-top{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .stats-grid,.feat-grid,.certs-list,.f-top{grid-template-columns:1fr}
  .slide-copy{padding:34px 28px}
  .cta-person{display:none}
  /* carte contact dépliante */
  .cta-box{padding:40px 24px}
  .cta-unfold{display:inline-flex;align-items:center;gap:7px;margin:2px auto 14px;
    background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);color:#fff;
    font-family:'Satoshi',sans-serif;font-weight:600;font-size:12.5px;padding:8px 15px;border-radius:100px;cursor:pointer}
  .cta-unfold svg{transition:transform .3s var(--ease)}
  .cta-unfold[aria-expanded="true"] svg{transform:rotate(180deg)}
  .cta-box .cta-more{max-height:0;overflow:hidden;margin:0;opacity:0;
    transition:max-height .45s var(--ease),opacity .35s,margin .35s}
  .cta-box.open .cta-more{max-height:280px;opacity:1;margin:0 0 20px}
  .cta-box .hero-actions{display:flex;flex-wrap:nowrap;gap:9px;width:100%}
  .cta-box .hero-actions .btn{flex:1;min-width:0;padding:14px 10px;font-size:13.5px;justify-content:center}
  .cta-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .hero{padding:132px 0 60px}
}
@media(max-width:900px){
  .features,.showcase,.process,.certs,.testi,.pricing,.impact,.eumap,.journal,.faq,.proj-section{padding-top:60px;padding-bottom:60px}
  .chapter{padding:40px 0}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ============= ENHANCEMENTS ============= */
/* preloader */
#preloader{position:fixed;inset:0;z-index:5000;background:var(--bg);display:grid;place-items:center;transition:opacity .7s var(--ease),visibility .7s}
#preloader.done{opacity:0;visibility:hidden}
#preloader .pl-logo{width:84px;height:84px;animation:plpulse 1.6s var(--ease) infinite;filter:drop-shadow(0 12px 24px rgba(166,47,189,.35))}
@keyframes plpulse{0%,100%{transform:scale(.92)}50%{transform:scale(1.08)}}
#preloader .pl-bar{position:absolute;bottom:19%;left:50%;transform:translateX(-50%);width:150px;height:3px;border-radius:3px;background:var(--border);overflow:hidden}
#preloader .pl-bar i{position:absolute;top:0;bottom:0;width:42%;background:var(--grad);border-radius:3px;animation:plbar 1.1s ease-in-out infinite}
@keyframes plbar{0%{left:-42%}100%{left:100%}}
/* hero mesh + particles */
.hero{isolation:isolate}
#heroCanvas{position:absolute;inset:0;z-index:-1;width:100%;height:100%;opacity:.55;pointer-events:none}
.hero-mesh{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.hero-mesh span{position:absolute;border-radius:50%;filter:blur(88px);opacity:.28;animation:meshmove 22s ease-in-out infinite}
.hero-mesh .m1{width:420px;height:420px;background:rgba(166,47,189,.34);top:-130px;left:-70px}
.hero-mesh .m2{width:360px;height:360px;background:rgba(249,115,22,.26);top:18%;right:-110px;animation-delay:-7s}
.hero-mesh .m3{width:320px;height:320px;background:rgba(166,47,189,.22);bottom:-140px;left:32%;animation-delay:-13s}
@keyframes meshmove{50%{transform:translate(46px,-34px) scale(1.12)}}
/* split word reveal */
.split .w{display:inline-block;opacity:0;transform:translateY(22px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.split.in .w{opacity:1;transform:none}
/* sticky chapter visual */
@media(min-width:981px){.chapter .chap-visual{position:sticky;top:104px}}
/* impact */
.impact{padding:96px 0}
.impact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:30px;box-shadow:var(--shadow-sm)}
.chart-card h4{font-size:16px;margin-bottom:4px}
.chart-card .sub{color:var(--muted);font-size:13px;margin-bottom:16px}
.line-svg{width:100%;height:auto;display:block}
.line-path{fill:none;stroke:url(#lg);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.line-area{fill:url(#lga);opacity:0;transition:opacity 1.6s var(--ease) .4s}
.impact.in .line-area{opacity:1}
.line-dot{fill:#fff;stroke:#A62FBD;stroke-width:3;opacity:0;transition:opacity .4s}
.impact.in .line-dot{opacity:1;transition-delay:1.6s}
.bars{display:flex;flex-direction:column;gap:15px}
.bar-row{display:grid;grid-template-columns:118px 1fr 52px;align-items:center;gap:12px;font-size:14px}
.bar-row b{font-family:'Clash Display';text-align:right;color:var(--purple-deep)}
.bar-track{height:12px;background:var(--bg-2);border-radius:8px;overflow:hidden}
.bar-fill{height:100%;width:0;background:var(--grad);border-radius:8px;transition:width 1.5s var(--ease)}
/* europe map */
.eumap{padding:96px 0;background:var(--bg-2)}
.eu-layout{display:grid;grid-template-columns:1fr .92fr;gap:44px;align-items:center;margin-top:16px}
.eu-mapwrap{display:flex;justify-content:center}
.eu-svg2{width:100%;max-width:430px;height:auto;max-height:540px;overflow:visible}
.ctry{fill:#E7D8EF;stroke:#F6EFFA;stroke-width:1.1;transition:fill .25s var(--ease)}
.ctry.hot{fill:#C580D8;cursor:pointer}
.ctry.hot:hover{fill:#A62FBD}
.ctry.active{fill:#F97316}
.eu-info{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:30px 32px;box-shadow:var(--shadow-sm);min-height:300px}
.eu-info .ei-top{display:flex;align-items:center;gap:12px;margin-bottom:4px}
.eu-info .ei-flag{width:42px;height:42px;border-radius:11px;background:var(--purple-soft);display:grid;place-items:center;flex:none;font-family:'Clash Display';font-weight:600;color:var(--purple-deep);font-size:13px}
.eu-info h3{font-size:22px}
.eu-info .ei-city{color:var(--muted);font-size:13.5px;margin-bottom:16px}
.eu-info p{color:var(--muted);font-size:15px;margin-bottom:16px}
.eu-info .ei-stats{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:6px}
.eu-info .ei-stats div b{font-family:'Clash Display';font-size:22px;color:var(--purple-deep);display:block;line-height:1}
.eu-info .ei-stats div small{color:var(--muted);font-size:12px}
.eu-info .ei-hint{margin-top:18px;font-size:13px;color:var(--muted-2);display:flex;align-items:center;gap:8px}
.eu-info .ei-hint::before{content:"";width:9px;height:9px;border-radius:2px;background:var(--grad);transform:rotate(45deg);flex:none}
@media(max-width:900px){.eu-layout{grid-template-columns:1fr;gap:26px}.eu-svg2{max-height:380px}}
/* chart axes */
.chart-svg{width:100%;height:auto;display:block}
.cg-line{stroke:var(--border);stroke-width:1}
.cg-lbl{fill:var(--muted-2);font-size:11px;font-family:'Satoshi',sans-serif}
.cp-dot{fill:#fff;stroke:#A62FBD;stroke-width:2.5}
.cp-val{fill:var(--purple-deep);font-size:11.5px;font-weight:700;font-family:'Clash Display',sans-serif}
/* journal */
.journal{padding:96px 0}
.jgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.jcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.jcard:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}
.jcard .jmedia{height:150px;background:linear-gradient(160deg,rgba(166,47,189,.14),rgba(249,115,22,.10));display:grid;place-items:center}
.jcard .jmedia svg{width:52px;height:52px}
.jcard .jbody{padding:22px 22px 24px}
.jcard .jtag{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-deep)}
.jcard h3{font-size:18px;margin:8px 0 8px}
.jcard p{color:var(--muted);font-size:14px}
.jcard .jmeta{margin-top:14px;font-size:13px;color:var(--muted-2)}
/* faq */
.faq{padding:96px 0;background:var(--bg-2)}
.faq-list{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faq-item{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:box-shadow .3s}
.faq-item.open{box-shadow:var(--shadow-sm)}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:'Clash Display';font-weight:600;font-size:17px;color:var(--ink)}
.faq-q .chev{flex:none;width:26px;height:26px;border-radius:50%;background:var(--purple-soft);display:grid;place-items:center;transition:transform .35s var(--ease),background .35s}
.faq-item.open .faq-q .chev{transform:rotate(45deg);background:var(--grad)}
.faq-item.open .faq-q .chev svg{stroke:#fff}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.faq-a p{padding:0 22px 22px;color:var(--muted);font-size:15px}
/* modal */
.modal{position:fixed;inset:0;z-index:4000;display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}
.modal.open{opacity:1;pointer-events:auto}
.modal-bg{position:absolute;inset:0;background:rgba(34,19,39,.5);backdrop-filter:blur(6px)}
.modal-card{position:relative;z-index:1;width:min(640px,100%);max-height:88vh;overflow:auto;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);transform:translateY(24px) scale(.97);transition:transform .4s var(--ease)}
.modal.open .modal-card{transform:none}
.modal-hero{height:150px;background:var(--grad);display:flex;align-items:flex-end;padding:22px 28px}
.modal-hero .tag{background:rgba(255,255,255,.2);color:#fff;font-size:12px;font-weight:600;padding:5px 12px;border-radius:100px}
.modal-body{padding:28px}
.modal-body h3{font-size:26px;margin-bottom:12px}
.modal-body p{color:var(--muted);margin-bottom:14px}
.modal-body .mstats{display:flex;gap:22px;margin:18px 0;flex-wrap:wrap}
.modal-body .mstats div b{font-family:'Clash Display';font-size:24px;color:var(--purple-deep);display:block}
.modal-body .mstats div small{color:var(--muted);font-size:12px}
.modal-close{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.9);border:none;cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow-sm)}
.case-link{margin-top:20px;display:inline-flex;align-items:center;gap:7px;font-family:'Satoshi',sans-serif;font-weight:600;color:var(--purple-deep);font-size:14.5px;background:none;border:none;cursor:pointer;padding:0;transition:gap .25s var(--ease)} .case-link:hover{gap:11px}
@media(max-width:980px){.impact-grid{grid-template-columns:1fr;gap:30px}.jgrid{grid-template-columns:1fr}.eu-wrap{max-width:520px}}

/* ===== PAGE PROJETS ===== */
.page-hero{padding:150px 0 30px;text-align:center;position:relative;isolation:isolate}
.page-hero h1{font-size:clamp(40px,6vw,72px);margin:18px 0 18px;font-weight:600}
.page-hero p{font-size:19px;color:var(--muted);max-width:660px;margin:0 auto}
.filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:34px 0 6px}
.filter{font-family:'Satoshi',sans-serif;font-weight:600;font-size:14px;padding:9px 18px;border-radius:100px;border:1.5px solid var(--border-2);background:#fff;color:var(--text);cursor:pointer;transition:.25s var(--ease)}
.filter:hover{border-color:var(--purple);color:var(--purple-deep)}
.filter.active{background:var(--grad);color:#fff;border-color:transparent;box-shadow:0 10px 24px -12px rgba(166,47,189,.5)}
.proj-section{padding:40px 0 96px}
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.proj-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;display:flex;flex-direction:column}
.proj-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--border-2)}
.proj-media{position:relative;height:172px;overflow:hidden;background:linear-gradient(160deg,rgba(166,47,189,.10),rgba(249,115,22,.07));display:grid;place-items:center}
.proj-media img{width:100%;height:100%;object-fit:contain;padding:14px}
.proj-badge{position:absolute;top:14px;left:14px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:5px 11px;border-radius:100px;background:#fff;color:var(--purple-deep);box-shadow:var(--shadow-sm)}
.proj-badge.soon{background:var(--ink);color:#fff}
.proj-body{padding:22px 22px 24px;flex:1;display:flex;flex-direction:column}
.proj-body .ptag{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--orange-deep)}
.proj-body h3{font-size:20px;margin:7px 0 8px}
.proj-body p{color:var(--muted);font-size:14.5px}
.proj-stats{display:flex;gap:18px;margin:16px 0 14px}
.proj-stats div b{font-family:'Clash Display',sans-serif;font-size:18px;color:var(--purple-deep);display:block;line-height:1}
.proj-stats div small{color:var(--muted);font-size:11.5px}
.proj-card .case-link{margin-top:auto;padding-top:4px}
.proj-card.hide{display:none}
.proj-cta{text-align:center;padding:0 0 100px}
.proj-cta a{margin-top:8px}
@media(max-width:900px){.proj-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.proj-grid{grid-template-columns:1fr}}

/* ===== MEGA NAV (sections/sous-sections) ===== */
.nav-item{position:relative;display:flex;align-items:center}
.nav-item::after{content:"";position:absolute;left:-6px;right:-6px;top:100%;height:12px}
.nav-top{display:inline-flex;align-items:center;gap:6px;font-family:'Satoshi',sans-serif;font-weight:500;font-size:14.5px;color:var(--text);padding:9px 14px;border-radius:100px;cursor:pointer;transition:color .25s,background .25s;background:none;border:none}
.nav-item:hover .nav-top{color:var(--purple-deep);background:var(--purple-soft)}
.nav-top .car{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:transform .25s}
.nav-item:hover .nav-top .car{transform:rotate(-135deg) translateY(2px)}
.nav-dd{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(8px);min-width:214px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:8px;opacity:0;visibility:hidden;transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;display:flex;flex-direction:column;z-index:5}
.nav-item:hover .nav-dd{opacity:1;visibility:visible;transform:translateX(-50%)}
.nav-dd a{padding:9px 14px;border-radius:10px;font-size:14px;font-weight:500;color:var(--text);white-space:nowrap;transition:.2s}
.nav-dd a:hover{background:var(--purple-soft);color:var(--purple-deep)}
.nav-links a.nav-plain{font-weight:500;font-size:14.5px;color:var(--text);padding:9px 14px;border-radius:100px;transition:color .25s,background .25s}
.nav-links a.nav-plain:hover,.nav-links a.nav-plain.active{color:var(--purple-deep);background:var(--purple-soft)}
.mobile-menu{justify-content:flex-start;padding:96px 32px 44px;overflow:auto;align-items:stretch}
.mm-group{font-family:'Clash Display',sans-serif;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin:20px 0 2px}
.mobile-menu a{font-size:21px;font-weight:500;padding:8px 0;text-align:left}

/* ===== PAGE ÉQUIPE ===== */
.team-section{padding:20px 0 40px}
.team-group{margin-bottom:54px}
.team-group-head{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.team-group-head .tg-ic{width:52px;height:52px;border-radius:14px;background:var(--grad);display:grid;place-items:center;flex:none;color:#fff;font-family:'Clash Display',sans-serif;font-weight:700;font-size:22px;box-shadow:0 10px 24px -12px rgba(166,47,189,.55)}
.team-group-head h2{font-size:23px}
.team-group-head .tg-sub{color:var(--muted);font-size:13.5px}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tm-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:26px 20px;text-align:center;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}
.tm-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--border-2)}
.tm-av{width:84px;height:84px;border-radius:50%;margin:0 auto 14px;object-fit:cover;background:var(--purple-soft);border:1px solid var(--border);display:block}
.tm-badge{display:inline-block;margin-top:9px;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--grad);padding:3px 10px;border-radius:100px}
.tm-card h4{font-size:16.5px;margin-bottom:3px}
.tm-card .role{color:var(--muted);font-size:13.5px}
.tm-card .loc{margin-top:9px;font-size:12px;color:var(--muted-2);display:inline-flex;align-items:center;gap:5px}
.tm-card .loc::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--grad);transform:rotate(45deg)}
@media(max-width:900px){.team-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.team-grid{grid-template-columns:1fr}}

/* ===== PAGE TRANSITIONS ===== */
.pt-overlay{position:fixed;inset:0;z-index:6000;background:var(--grad);transform:scaleY(0);transform-origin:bottom;pointer-events:none;will-change:transform;display:grid;place-items:center}
.pt-overlay img{width:74px;opacity:0;transition:opacity .3s}
.pt-overlay.cover{transform:scaleY(1);transform-origin:bottom;transition:transform .5s cubic-bezier(.76,0,.24,1)}
.pt-overlay.cover img{opacity:1}
.pt-overlay.reveal{transform-origin:top;animation:ptReveal .65s cubic-bezier(.76,0,.24,1) forwards}
@keyframes ptReveal{from{transform:scaleY(1)}to{transform:scaleY(0)}}

/* ===== FOCUS / SELECTION / SCROLLBAR / TYPO ===== */
::selection{background:rgba(166,47,189,.22);color:var(--ink)}
:focus-visible{outline:2.5px solid var(--purple);outline-offset:3px;border-radius:6px}
html{scrollbar-color:#C89AD6 transparent}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--purple),var(--orange));border-radius:10px;border:3px solid var(--bg)}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--purple-deep),var(--orange-deep))}
h1,h2,h3,h4,.sec-head h2{text-wrap:balance}
p,.lead{text-wrap:pretty}

/* ===== PARTNERS / PRESS ===== */
.partners{padding:50px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;overflow:hidden}
.partners .pt-title{text-align:center;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);font-weight:600;margin-bottom:26px}
.partners-track{display:flex;gap:54px;width:max-content;animation:scrollx 40s linear infinite}
.partners-track:hover{animation-play-state:paused}
.partner{display:inline-flex;align-items:center;gap:11px;font-family:'Clash Display',sans-serif;font-weight:600;font-size:19px;color:#B4A9C0;white-space:nowrap;transition:color .3s,filter .3s;filter:grayscale(1)}
.partner:hover{color:var(--purple-deep);filter:none}
.partner svg{flex:none;opacity:.75}

/* ===== TESTIMONIAL PHOTO ===== */
.t-person .av{overflow:hidden}
.t-person .av img{width:100%;height:100%;object-fit:cover;display:block}


.ff{display:flex;flex-direction:column;gap:6px}
.ff label{font-size:13px;font-weight:600;color:var(--muted)}
.ff input,.ff select,.ff textarea{font-family:'Satoshi',sans-serif;font-size:15px;padding:12px 14px;border:1.5px solid var(--border-2);border-radius:12px;background:#fff;color:var(--ink);transition:border-color .25s;width:100%}
.ff input:focus,.ff select:focus,.ff textarea:focus{outline:none;border-color:var(--purple)}

/* ===== STYLE : MINIMAL & LUXE (pass) ===== */
.hero h1,.page-hero h1,.sec-head h2,.chapter h2,.certs-head h2,.story-intro h2{font-weight:500;letter-spacing:-.022em}
.features,.showcase,.process,.certs,.testi,.pricing,.impact,.eumap,.journal,.faq,.proj-section{padding-top:116px;padding-bottom:116px}
.cta{padding:124px 0}
.card:hover,.p-card:hover,.plan:hover,.proj-card:hover,.jcard:hover,.tm-card:hover,.stat:hover{transform:translateY(-5px)}
.eyebrow::before{width:16px;height:1.5px;border-radius:0;background:var(--ink)}
.sec-head p,.hero p.lead,.page-hero p{max-width:60ch;margin-left:auto;margin-right:auto}
.hero p.lead{margin-left:0}
.chapter .pull{font-weight:500}
.btn-ghost{border-width:1px}
.nav{border-radius:14px}
.eu-info,.chart-card{box-shadow:var(--shadow-sm)}

/* ================= UX LAYER (fluidité & finition) ================= */
html{scroll-padding-top:96px}
[data-reveal]{opacity:0;transform:translateY(26px);filter:blur(6px);transition:opacity .7s var(--ease),transform .7s var(--ease),filter .7s var(--ease)}
[data-reveal].in{opacity:1;transform:none;filter:blur(0)}
img.fadein{opacity:0;filter:blur(10px);transform:scale(1.015);transition:opacity .7s var(--ease),filter .7s var(--ease),transform .7s var(--ease)}
img.fadein.ld{opacity:1;filter:blur(0);transform:none}
[data-tilt]{position:relative}
[data-tilt]::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s var(--ease);background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(166,47,189,.12),transparent 68%);z-index:1}
[data-tilt]:hover::after{opacity:1}
.card>*,.p-card>*,.plan>*,.proj-card>*{position:relative;z-index:2}
.nav-top.current,.nav-plain.current{color:var(--purple-deep);background:var(--purple-soft)}
.navsearch{display:inline-flex;align-items:center;gap:7px;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);border-radius:10px;padding:8px 12px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:'Satoshi',sans-serif;transition:.25s var(--ease)}
.navsearch kbd{font-family:inherit;background:#fff;border:1px solid var(--border);border-radius:5px;padding:0 5px;font-size:11px}
.navsearch:hover{border-color:var(--purple);color:var(--purple-deep)}
@media(max-width:980px){.navsearch{display:none}}
.fab{position:fixed;left:24px;bottom:24px;z-index:900;display:inline-flex;align-items:center;gap:9px;padding:13px 20px;border-radius:12px;background:var(--ink);color:#fff;font-family:'Satoshi',sans-serif;font-weight:600;font-size:14.5px;box-shadow:var(--shadow);opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .4s var(--ease),transform .4s var(--ease),background .3s;text-decoration:none}
.fab:hover{background:#2A2233;transform:translateY(-2px)}
.fab.show{opacity:1;transform:none;pointer-events:auto}
#toTop{display:grid;place-items:center}
#toTop .ring{position:absolute;inset:0;transform:rotate(-90deg)}
#toTop .ring circle{fill:none;stroke:rgba(255,255,255,.3);stroke-width:2.5}
#toTop .ring .bar{stroke:#fff;stroke-linecap:round;transition:stroke-dashoffset .08s linear}
.toasts{position:fixed;right:20px;bottom:20px;z-index:6000;display:flex;flex-direction:column;gap:10px}
.toast{background:var(--ink);color:#fff;padding:12px 16px;border-radius:12px;font-size:14px;font-weight:500;box-shadow:var(--shadow);display:flex;align-items:center;gap:9px;transform:translateX(24px);opacity:0;transition:transform .32s var(--ease),opacity .32s var(--ease)}
.toast.show{transform:none;opacity:1}
.toast svg{color:#8FE3B0;flex:none}
.cmdk{position:fixed;inset:0;z-index:5500;display:grid;place-items:start center;padding-top:13vh;opacity:0;pointer-events:none;transition:opacity .25s var(--ease)}
.cmdk.open{opacity:1;pointer-events:auto}
.cmdk-bg{position:absolute;inset:0;background:rgba(22,13,28,.42);backdrop-filter:blur(6px)}
.cmdk-box{position:relative;width:min(560px,92vw);background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden;transform:translateY(-12px) scale(.98);transition:transform .25s var(--ease)}
.cmdk.open .cmdk-box{transform:none}
.cmdk input{width:100%;border:none;padding:18px 20px;font-size:16px;font-family:'Satoshi',sans-serif;color:var(--ink);outline:none;border-bottom:1px solid var(--border)}
.cmdk ul{list-style:none;max-height:340px;overflow:auto;padding:8px;margin:0}
.cmdk li{padding:11px 14px;border-radius:10px;cursor:pointer;font-size:14.5px;font-weight:500;display:flex;justify-content:space-between;align-items:center;color:var(--text)}
.cmdk li.sel,.cmdk li:hover{background:var(--purple-soft);color:var(--purple-deep)}
.cmdk li small{color:var(--muted-2);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.ff:focus-within label{color:var(--purple-deep)}
form.shake{animation:shake .4s}
@keyframes shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
@media(prefers-reduced-motion:reduce){[data-reveal],img.fadein{filter:none!important}}

/* ================= MOODY (startup vedette) ================= */
.moody-card{display:grid;grid-template-columns:1.05fr .95fr;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow);background:#fff}
.moody-left{padding:46px 44px}
.moody-logo{height:40px;width:auto;margin-bottom:20px}
.moody-tagline{font-family:'Clash Display',sans-serif;font-weight:500;font-size:22px;line-height:1.32;color:var(--ink);margin-bottom:26px}
.moody-feats{list-style:none;display:flex;flex-direction:column;gap:15px;margin-bottom:26px}
.moody-feats li{font-size:14.5px;color:var(--text);line-height:1.5}
.moody-feats li b{color:var(--ink)}
.moody-feats .fi{width:36px;height:36px;border-radius:10px;background:#E1F6EA;display:grid;place-items:center;flex:none}
.mfeat-head{display:flex;gap:13px;align-items:center;width:100%;text-align:left;background:none;border:none;
  font:inherit;color:inherit;padding:0;cursor:default}
.mfeat-head b{flex:1;font-size:14.5px}
.mfeat-car{display:none;color:var(--muted-2);flex:none;transition:transform .3s var(--ease)}
.mfeat-body p{margin:6px 0 0 49px;font-size:13.5px;color:var(--muted);line-height:1.55}
.moody-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.btn-moody,.btn-moody-ghost{display:inline-flex;align-items:center;gap:9px;font-family:'Satoshi',sans-serif;font-weight:600;font-size:14.5px;padding:13px 19px;border-radius:12px;transition:transform .3s var(--ease),background .3s,border-color .3s;cursor:pointer}
.btn-moody{background:#00B860;color:#fff;border:none}
.btn-moody:hover{background:#00994F;transform:translateY(-2px)}
.btn-moody-ghost{background:#fff;border:1.5px solid #CDEFDC;color:#00994F}
.btn-moody-ghost:hover{border-color:#00B860;transform:translateY(-2px)}
.moody-price{font-size:13px;color:var(--muted)}
.moody-price b{color:#00994F}
.moody-right{background:radial-gradient(130% 100% at 50% -10%,#0AC96C,#008B47);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 30px;position:relative;overflow:hidden}
.moody-right::before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.10);bottom:-150px;left:-110px}
.moody-right::after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.08);top:-100px;right:-80px}
.moody-illus{position:relative;z-index:1;width:100%;max-width:340px;height:auto;display:block;filter:drop-shadow(0 26px 40px rgba(0,50,26,.34))}
.moody-illus-cap{position:relative;z-index:1;margin-top:14px;text-align:center;color:#EAFBF1;font-size:13px;font-weight:500;max-width:300px;line-height:1.5}
.moody-store{position:relative;z-index:1;display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:22px}
.btn-store{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#0d2c1d;border-radius:14px;padding:10px 17px;box-shadow:0 16px 30px -16px rgba(0,45,22,.6);transition:transform .3s var(--ease),box-shadow .3s}
.btn-store:hover{transform:translateY(-3px);box-shadow:0 22px 40px -16px rgba(0,45,22,.55)}
.btn-store svg{flex:none;color:#0d2c1d}
.btn-store span{display:flex;flex-direction:column;line-height:1.05;text-align:left}
.btn-store small{font-size:8.5px;letter-spacing:.02em;color:#6f8a7c;font-weight:600;text-transform:uppercase}
.btn-store b{font-family:'Clash Display',sans-serif;font-weight:600;font-size:14.5px}
.phone{position:relative;z-index:1;width:276px;background:#0c1f16;border-radius:46px;padding:7px;box-shadow:0 44px 74px -22px rgba(0,45,22,.5),inset 0 0 0 1.5px rgba(255,255,255,.07)}
.phone .island{position:absolute;top:18px;left:50%;transform:translateX(-50%);width:86px;height:22px;background:#04120b;border-radius:20px;z-index:3}
.phone .scr{background:#EAF4EC;border-radius:40px;padding:30px 15px 0;position:relative;font-family:'Satoshi',sans-serif;color:#17251D;height:496px;overflow:hidden}
.ph-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.ph-logo{height:23px;width:auto}
.ph-icons{display:flex;gap:8px}
.ph-icons span{width:30px;height:30px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 5px 12px -7px rgba(0,40,20,.35);color:#17251D}
.ph-greet{position:relative;margin-bottom:16px}
.ph-greet small{color:#8CA294;font-size:10.5px;font-weight:500}
.ph-greet b{display:block;font-family:'Clash Display',sans-serif;font-weight:600;font-size:18px;color:#17251D;line-height:1.12;margin-top:3px}
.ph-weather{position:absolute;top:0;right:0;display:inline-flex;align-items:center;gap:5px;background:#fff;border-radius:100px;padding:7px 11px;font-weight:700;font-size:12px;box-shadow:0 5px 12px -7px rgba(0,40,20,.3);color:#17251D}
.ph-weather svg{color:#039A55}
.ph-w{display:flex;flex-direction:column;gap:11px}
.ph-b{background:#fff;border-radius:18px;padding:14px 15px;box-shadow:0 12px 30px -18px rgba(0,50,25,.2)}
.ph-med-top{display:flex;align-items:center;gap:7px;font-family:'Clash Display',sans-serif;font-weight:600;font-size:12.5px}
.ph-med-top .n{margin-left:auto;color:#9DB0A4;font-size:11px;font-weight:600}
.ph-ok{display:flex;align-items:center;gap:7px;background:#E1F3E7;color:#039A55;border-radius:12px;padding:9px 11px;font-size:11px;font-weight:600;margin:11px 0 10px}
.ph-medrow{display:flex;align-items:center;gap:10px}
.ph-medrow .t{font-family:'Clash Display',sans-serif;font-weight:600;font-size:12px;color:#17251D}
.ph-medrow .m{flex:1}
.ph-medrow .m b{font-size:12.5px;display:block}
.ph-medrow .m small{color:#9DB0A4;font-size:10px}
.ph-chk{width:26px;height:26px;border-radius:8px;background:#00B860;display:grid;place-items:center;color:#fff;box-shadow:0 6px 14px -8px rgba(0,150,80,.7)}
.ph-moodc{display:flex;align-items:center;gap:14px;background:#DCEFE1;border-radius:18px;padding:15px 16px}
.ph-gauge{position:relative;width:58px;height:58px;flex:none}
.ph-gauge b{position:absolute;inset:0;display:grid;place-items:center;font-family:'Clash Display',sans-serif;font-weight:700;font-size:17px}
.ph-moodc .lab small{color:#7CA08B;font-size:9px;letter-spacing:.05em;text-transform:uppercase;font-weight:700}
.ph-moodc .lab b{display:block;font-family:'Clash Display',sans-serif;font-size:16px;margin:2px 0}
.ph-moodc .lab span{color:#7CA08B;font-size:10px}
.ph-tiles{display:flex;gap:9px}
.ph-tiles>div{flex:1;background:#fff;border-radius:16px;padding:12px 11px;box-shadow:0 12px 30px -18px rgba(0,50,25,.2);color:#039A55}
.ph-tiles b{display:block;font-family:'Clash Display',sans-serif;font-weight:700;font-size:17px;margin:6px 0 2px;color:#17251D}
.ph-tiles small{color:#9DB0A4;font-size:9px;line-height:1.2;display:block}
.ph-chartc .top{display:flex;justify-content:space-between;align-items:center}
.ph-chartc .top b{font-family:'Clash Display',sans-serif;font-size:13px}
.ph-chartc .top span{color:#039A55;font-size:11px;font-weight:600}
.ph-tabs{display:inline-flex;background:#EDF5EF;border-radius:100px;padding:3px;margin:9px 0 2px}
.ph-tabs span{font-size:9.5px;padding:4px 9px;border-radius:100px;color:#9DB0A4;font-weight:600}
.ph-tabs span.on{background:#fff;color:#17251D;box-shadow:0 2px 6px -3px rgba(0,40,20,.25)}
.ph-fall{color:#E5573C;font-size:10px;font-weight:700;float:right;margin-top:10px}
.ph-nav{position:absolute;left:50%;bottom:13px;transform:translateX(-50%);display:flex;align-items:center;gap:15px;background:#fff;border-radius:100px;padding:8px 15px;box-shadow:0 14px 30px -12px rgba(0,50,25,.4)}
.ph-nav .i{color:#9DB0A4;display:grid;place-items:center}
.ph-nav .plus{width:36px;height:36px;border-radius:50%;background:#00B860;display:grid;place-items:center;color:#fff;box-shadow:0 8px 18px -8px rgba(0,150,80,.7)}
@media(max-width:900px){.moody-card{grid-template-columns:1fr}.moody-right{order:1;padding:34px 22px}.moody-left{padding:34px 28px}.moody-illus{max-width:250px}.moody-tagline{font-size:20px;margin-bottom:20px}.moody-feats{gap:12px;margin-bottom:20px}}
@media(max-width:560px){.moody-store{gap:9px}.btn-store{padding:9px 14px}.moody-illus{max-width:220px}}
/* Diane easter-egg */
.diane{display:inline-flex;align-items:center;gap:6px;color:var(--muted-2);font-size:12.5px}
.diane svg{color:#00B860;flex:none}

/* ============================================================
   HÉROS MOBILE (option N) + REFONTE MOBILE — ≤768px
   Le héros desktop (.hero) reste intact au-dessus de 768px.
   ============================================================ */
.hero-m{display:none}
.hero-m-bg,.eyebrow-m,.hero-m-inner,.btn-white,.btn-ghost-w{}
@media(max-width:768px){
  /* — bascule héros — */
  .hero{display:none!important}
  .hero-m{display:block;position:relative;min-height:100vh;min-height:100svh;overflow:hidden}
  .hero-m::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:
    radial-gradient(60% 36% at 12% 4%,rgba(166,47,189,.10),transparent 60%),
    radial-gradient(50% 30% at 92% 8%,rgba(249,115,22,.09),transparent 60%),
    radial-gradient(70% 34% at 50% 56%,rgba(166,47,189,.12),transparent 62%),
    radial-gradient(46% 24% at 62% 50%,rgba(249,115,22,.09),transparent 60%)}
  /* split : zone beige pleine en bas, CTA à cheval sur la frontière */
  .hero-m-inner{position:relative;z-index:2;display:flex;flex-direction:column;min-height:100svh;padding:88px 0 0}
  .hero-m-copy{padding:0 22px}
  .hero-m-beige{position:relative;flex:1;margin-top:36px;background:#F6ECDF;border-radius:30px 30px 0 0;
    display:flex;flex-direction:column;justify-content:center;
    padding:30px 14px max(14px,calc(env(safe-area-inset-bottom) + 10px))}
  .hero-m-cta{position:absolute;top:-25px;left:8%;width:84%;justify-content:center;
    box-shadow:0 18px 38px -16px rgba(22,13,28,.55)}
  .hero-m-doms{text-align:center;font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#8A7457;margin-top:8px}
  .hero-m-copy{text-align:left}
  /* pastille d'intro (fin de la ligne uppercase espacée) */
  .eyebrow-m{display:inline-flex;align-items:center;gap:8px;font-family:'Satoshi',sans-serif;font-weight:600;font-size:12px;
    letter-spacing:.02em;text-transform:none;color:var(--text);
    background:rgba(255,255,255,.62);border:1px solid var(--border);border-radius:100px;padding:7px 14px;
    box-shadow:0 8px 22px -16px rgba(34,19,39,.3);backdrop-filter:blur(8px)}
  .eyebrow-m::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--grad)}
  .hero-m h1{font-family:'Clash Display',sans-serif;font-weight:600;font-size:clamp(34px,9.8vw,46px);line-height:1.08;letter-spacing:-.02em;color:var(--ink);margin:2px 0 0;
    text-shadow:0 16px 34px rgba(124,31,146,.16)}
  .hero-m p{color:var(--muted);font-size:15px;line-height:1.55;margin:10px 0 0;max-width:38ch}
  .hero-svg{flex:0 0 auto;width:min(90%,400px);margin:0 auto;display:block}
  /* carrousel dessiné : 4 illustrations superposées, une seule visible */
  .hero-cycle{position:relative;width:min(90%,400px);margin:0 auto;flex:0 0 auto}
  .hero-cycle .hero-svg{width:100%;margin:0}
  .hero-cycle .hero-svg+.hero-svg{position:absolute;inset:0;opacity:0}
  /* cheminement des valeurs : courbe pointillée + jalons */
  .hero-path{position:relative;flex:1 1 auto;min-height:118px;z-index:2;margin:4px 0 -8px}
  .hero-path>svg:first-child{position:absolute;inset:0;width:100%;height:100%}
  .vp{stroke-dasharray:1 12;animation:vflow 15s linear infinite;opacity:.75}
  @keyframes vflow{to{stroke-dashoffset:-320}}
  .vnode{position:absolute;display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:11.5px;color:var(--text);
    background:rgba(255,255,255,.72);border:1px solid var(--border);border-radius:100px;padding:7px 13px;
    box-shadow:0 10px 26px -16px rgba(34,19,39,.35);backdrop-filter:blur(8px);
    animation:vflo 4.6s ease-in-out infinite}
  .vnode::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--grad)}
  @keyframes vflo{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 7px))}}
  .vnode.v1{left:16%;top:8%;rotate:-2deg}
  .vnode.v2{left:79%;top:33%;rotate:1.6deg;animation-delay:-1.6s}
  .vnode.v3{left:31%;top:70%;rotate:-1.2deg;animation-delay:-3.1s}
  .vspark{position:absolute;animation:vflo 4s ease-in-out infinite}
  .vspark.s1{left:55%;top:12%;animation-delay:-.8s}
  .vspark.s2{left:62%;top:64%;animation-delay:-2.4s}
  /* mini-carte Moody flottante dans la zone claire */
  .hero-mcard{display:flex;align-items:center;gap:12px;max-width:330px;width:100%;margin:16px auto 0;
    background:rgba(255,255,255,.72);backdrop-filter:blur(14px) saturate(1.3);border:1px solid var(--border);
    border-radius:16px;padding:11px 14px;box-shadow:0 18px 40px -22px rgba(34,19,39,.35);
    rotate:-1.4deg;transition:transform .3s var(--ease),box-shadow .3s}
  .hero-mcard:active{transform:scale(.97)}
  .hero-mcard img{height:28px;width:auto;flex:none}
  .hero-mcard .t{flex:1;text-align:left;line-height:1.3}
  .hero-mcard .t small{display:block;font-size:10px;color:var(--muted-2);font-weight:700;letter-spacing:.07em;text-transform:uppercase}
  .hero-mcard .t b{font-family:'Clash Display',sans-serif;font-size:13.5px;color:var(--ink);font-weight:600}
  .hero-mcard>svg{color:var(--muted-2);flex:none}
  .rotw{white-space:nowrap;text-align:center}
  .hero-m-actions{display:flex;gap:10px;flex:none}
  .hero-m-actions .btn{flex:1;justify-content:center;padding:14px 12px;font-size:14.5px;white-space:nowrap}
  .hero-m-actions .btn-ghost{background:rgba(255,255,255,.42);backdrop-filter:blur(12px);border-color:rgba(223,206,233,.65)}
  /* tout centré sur mobile */
  .hero-m-copy{text-align:center}
  .hero-m h1{text-wrap:balance}
  .hero-m p{margin-left:auto;margin-right:auto}
  .hero-m-actions{max-width:430px;width:100%;margin:0 auto}
  .chapter .chap-copy{text-align:center}
  .chapter .pull{border-left:none;border-image:none;padding-left:0;max-width:30ch;margin-left:auto;margin-right:auto}
  .moody-card.folded .moody-left{text-align:center}
  .moody-card.folded .moody-logo{margin-left:auto;margin-right:auto}
  .moody-card.folded .moody-tagline{margin-left:auto;margin-right:auto}
  .moody-folded-extra{justify-content:center}
  .story-intro,.certs-head{text-align:center}
  /* footer accordéons */
  footer .f-top{display:block}
  footer .f-brand{text-align:center;margin-bottom:18px}
  footer .f-brand .logo{margin:0 auto}
  footer .f-brand p{margin-left:auto;margin-right:auto}
  footer .f-eu{justify-content:center;width:100%}
  footer .f-col{padding:0;border-bottom:1px solid var(--border)}
  footer .f-col:nth-of-type(2){border-top:1px solid var(--border)}
  footer .f-col h5{display:flex;justify-content:space-between;align-items:center;margin:0;padding:14px 4px;cursor:pointer;font-size:14px}
  footer .f-col h5::after{content:"";width:8px;height:8px;border-right:2px solid var(--muted-2);border-bottom:2px solid var(--muted-2);
    transform:rotate(45deg);transition:transform .3s var(--ease);margin-right:4px;flex:none}
  footer .f-col.open h5::after{transform:rotate(-135deg)}
  footer .f-top .f-col a{display:none;padding:7px 4px;font-size:13.5px}
  footer .f-top .f-col.open a{display:block}
  footer .f-bottom{flex-direction:column;gap:14px;text-align:center;align-items:center;margin-top:20px}
  /* carte Moody : points en accordéons compacts */
  .moody-feats{gap:4px}
  .mfeat{border-bottom:1px solid #EAF3ED;padding:4px 0 6px}
  .mfeat:last-child{border-bottom:none}
  .mfeat-head{cursor:pointer;padding:5px 0}
  .mfeat-car{display:block}
  .mfeat.open .mfeat-car{transform:rotate(180deg)}
  .mfeat-body{max-height:0;overflow:hidden;opacity:0;transition:max-height .4s var(--ease),opacity .3s}
  .mfeat.open .mfeat-body{max-height:200px;opacity:1}
  .mfeat-body p{margin-left:49px;margin-bottom:8px}
  /* le bouton flottant « Proposer un projet » n'apparaît plus sur l'écran en mobile (il est dans le menu) */
  .fab{display:none!important}

  /* — refonte mobile globale : rythme resserré — */
  .wrap{padding:0 20px}
  .features,.showcase,.process,.certs,.testi,.pricing,.impact,.eumap,.journal,.faq,.proj-section{padding-top:52px;padding-bottom:52px}
  .chapter{padding:34px 0}
  .chapter .inner{gap:16px}
  .chap-visual{order:-1;max-width:244px;margin:0 auto;padding:0}
  .chap-visual img{filter:drop-shadow(0 16px 26px rgba(124,31,146,.16))}
  .chapter h2{font-size:clamp(26px,7.4vw,34px)}
  .chapter p{font-size:15.5px}
  .chapter .pull{font-size:17px;margin-top:18px}
  .sec-head{margin-bottom:32px}
  .sec-head h2{font-size:clamp(27px,7.4vw,38px)}
  .story-intro{padding:10px 0}
  .stats{padding:42px 0}
  .stats-grid{gap:24px 0}
  .marquee-wrap{margin:0}
}
@media(max-width:420px){
  .hero-m-inner{padding-top:88px}
  .hero-m h1{font-size:31px}
  .hero-m p{font-size:14px}
  .hero-m-actions .btn{padding:13px 10px;font-size:14px}
}
/* hamburger épuré (mobile) — sans contour */
@media(max-width:980px){
  .burger{width:44px;height:44px;padding:0;gap:5px;align-items:center;justify-content:center;
    border-radius:12px;background:transparent;border:none;
    transition:background .3s var(--ease)}
  .burger:active{background:rgba(22,13,28,.06)}
  /* nav éclatée : logo et burger posés sur le fond, chacun gagne SA bulle au scroll */
  .nav{width:calc(100% - 32px);margin:12px auto;padding:0;
    background:transparent;backdrop-filter:none;border:none;box-shadow:none}
  header.scrolled .nav{background:transparent;box-shadow:none;padding-top:0;padding-bottom:0}
  .brand{padding:10px 15px;border-radius:100px;border:1px solid transparent;
    transition:background .35s var(--ease),border-color .35s,box-shadow .35s}
  .burger{border:1px solid transparent;border-radius:100px;
    transition:background .35s var(--ease),border-color .35s,box-shadow .35s}
  header.scrolled .brand,
  header.scrolled .burger{background:rgba(255,255,255,.62);backdrop-filter:blur(16px) saturate(1.4);
    border-color:rgba(236,224,242,.9);box-shadow:0 10px 30px -18px rgba(124,31,146,.35)}
}
/* CTA « Proposer un projet » en bas du menu déroulant */
.mobile-menu .mm-cta{margin-top:24px;display:inline-flex;align-items:center;gap:9px;
  background:var(--ink);color:#fff !important;font-family:'Satoshi',sans-serif !important;
  font-weight:600 !important;font-size:16.5px !important;padding:15px 30px !important;border-radius:12px;
  box-shadow:0 16px 34px -16px rgba(34,19,39,.55);transition:transform .3s var(--ease)}
.mobile-menu .mm-cta:hover{transform:translateY(-2px)}
.mobile-menu .mm-cta svg{transition:transform .3s var(--ease)}
.mobile-menu .mm-cta:hover svg{transform:translateX(4px)}

/* ===== Carte Moody dépliante ===== */
.moody-toggle{display:inline-flex;align-items:center;gap:9px;margin-top:2px;background:#00B860;color:#fff;border:none;border-radius:12px;padding:12px 20px;font-family:'Satoshi',sans-serif;font-weight:600;font-size:14.5px;cursor:pointer;transition:transform .3s var(--ease),background .3s var(--ease)}
/* carte dépliée : le bouton Replier descend en fin de colonne, après le prix */
.moody-card:not(.folded) .moody-left{display:flex;flex-direction:column;align-items:flex-start}
.moody-card:not(.folded) .moody-toggle{order:99;margin-top:20px}
.moody-toggle:hover{background:#00994F;transform:translateY(-2px)}
.moody-toggle svg{transition:transform .35s var(--ease)}
.moody-card:not(.folded) .moody-toggle svg{transform:rotate(180deg)}
.moody-toggle .lbl-close{display:none}
.moody-card:not(.folded) .moody-toggle .lbl-open{display:none}
.moody-card:not(.folded) .moody-toggle .lbl-close{display:inline}
/* plié : logo + accroche + points clés + bouton, sur un fond vert doux */
.moody-card.folded{grid-template-columns:1fr;position:relative;overflow:hidden;
  background:radial-gradient(130% 120% at 100% -20%,#E6F6EC 0%,#FCFFFD 54%)}
.moody-card.folded::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,184,96,.20),transparent 70%);top:-130px;right:-100px;pointer-events:none}
.moody-card.folded .moody-left{padding:48px 46px;position:relative;z-index:2}
.moody-card.folded .moody-logo{height:44px;margin-bottom:22px}
.moody-card.folded .moody-tagline{font-size:26px;line-height:1.28;max-width:20ch;margin-bottom:20px}
.moody-folded-extra{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}
.moody-card:not(.folded) .moody-folded-extra{display:none}
.mchip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:#0C6B40;
  background:#DCF3E5;border-radius:100px;padding:8px 14px}
.mchip::before{content:"";width:6px;height:6px;border-radius:50%;background:#00B860}
.moody-card.folded .moody-feats,
.moody-card.folded .moody-cta,
.moody-card.folded .moody-price{display:none}
/* desktop : la zone verte reste à droite quand la carte est repliée,
   et glisse en bande pleine largeur en bas au dépliage (FLIP dans shared.js) */
@media(min-width:901px){
  .moody-card.folded{grid-template-columns:1.05fr .95fr}
  .moody-card.folded .moody-right{display:grid;place-items:center;padding:26px}
  .moody-card.folded .moody-illus-cap,
  .moody-card.folded .moody-store{display:none}
  .moody-card.folded .moody-illus{max-width:230px}
  .moody-card:not(.folded){grid-template-columns:1fr}
  .moody-card:not(.folded) .moody-right{display:flex;flex-direction:row;align-items:center;gap:38px;padding:26px 46px;text-align:left}
  .moody-card:not(.folded) .moody-illus{max-width:170px;margin:0;flex:none}
  .moody-card:not(.folded) .moody-illus-cap{margin:0;flex:1;text-align:left;font-size:15.5px;line-height:1.5;max-width:400px}
  .moody-card:not(.folded) .moody-store{margin:0;flex:none}
}
@media(max-width:900px){
  .moody-card.folded .moody-right{display:none}
}
@media(max-width:768px){
  .moody-card.folded .moody-left{padding:36px 28px}
  .moody-card.folded .moody-tagline{font-size:22px}
}

/* ============ SCROLLYTELLING (GSAP/SplitType) ============ */
/* illustrations SVG natives des chapitres */
.chap-visual .chap-svg{width:100%;max-width:520px;height:auto;filter:drop-shadow(0 24px 40px rgba(124,31,146,.16))}

/* ============ DOMAINES : moodboard polaroid + scotch washi ============ */
.feat-board{position:relative;display:flex;justify-content:center;align-items:flex-start;gap:16px;flex-wrap:wrap;padding:34px 0 10px}
.feat-blob{position:absolute;inset:2% 0;z-index:0;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 200' preserveAspectRatio='none'%3E%3Cpath d='M150 8C210 -4 276 26 290 84 302 136 280 178 226 192 176 204 84 200 46 168 12 138 4 90 26 54 48 20 96 18 150 8Z' fill='%23F6ECDF'/%3E%3C/svg%3E") no-repeat center/100% 100%}
.polcard{position:relative;z-index:1;width:246px;background:#fff;border:1px solid var(--border);border-radius:8px;
  padding:10px 10px 16px;box-shadow:0 24px 46px -26px rgba(34,19,39,.5);
  transition:rotate .35s var(--ease),translate .35s var(--ease),box-shadow .35s}
.polcard:nth-child(2){rotate:-2.6deg;translate:0 6px}
.polcard:nth-child(3){rotate:1.8deg;translate:0 -8px}
.polcard:nth-child(4){rotate:-1.4deg;translate:0 10px}
.polcard:nth-child(5){rotate:2.4deg;translate:0 -4px}
.polcard:hover{rotate:0deg;translate:0 -6px;box-shadow:0 32px 56px -26px rgba(34,19,39,.6);z-index:3}
.polcard img{height:132px;width:100%;object-fit:cover;border-radius:4px;display:block}
.polcard .pol-svg{display:block;width:100%;height:auto;border-radius:4px}
.polcard h3{font-size:17.5px;margin:12px 0 4px}
.polcard p{font-size:12.5px;color:var(--muted);line-height:1.5}
.polcard .tape{position:absolute;top:-11px;left:50%;width:78px;height:23px;z-index:2;
  background:rgba(166,47,189,.30);transform:translateX(-50%) rotate(-4deg);backdrop-filter:blur(1px);
  border-left:1px dashed rgba(255,255,255,.65);border-right:1px dashed rgba(255,255,255,.65)}
.polcard:nth-child(odd) .tape{background:rgba(249,115,22,.30);transform:translateX(-50%) rotate(3deg)}
@media(max-width:768px){
  /* pile de post-its : chaque carte se colle en haut, la suivante vient se poser dessus */
  .feat-board{display:block;padding:6px 0 4px}
  .polcard{position:sticky;top:92px;width:min(88vw,350px);margin:0 auto 34vh;padding:12px 12px 18px}
  /* course de la dernière carte calibrée en JS (anim.js) ; repli approximatif ici */
  .polcard:last-child{margin-bottom:40vh}
  .feat-blob{display:none}
  /* mode épinglé (activé par anim.js) : toutes les cartes superposées au même endroit */
  .feat-board.stacked{padding:0}
  .feat-board.stacked .polcard{position:absolute;top:0;left:50%;margin:0;rotate:0deg;translate:none}
  .polcard img{height:172px}
  .polcard h3{font-size:18.5px;margin-top:12px}
  .polcard p{font-size:13px}
  .polcard .tape{width:80px;height:23px;top:-11px}
  .polcard:nth-child(2){rotate:-1.8deg;translate:0 0;z-index:1}
  .polcard:nth-child(3){rotate:1.6deg;translate:0 0;z-index:2}
  .polcard:nth-child(4){rotate:-1.2deg;translate:0 0;z-index:3}
  .polcard:nth-child(5){rotate:2deg;translate:0 0;z-index:4}
}

/* bouton de connexion e-Qlab (footer) */
.f-eqlab{display:inline-flex;align-items:center;gap:9px;margin-top:16px;
  font-weight:600;font-size:13px;color:var(--text);padding:10px 17px;border-radius:11px;
  border:1.5px solid var(--border-2);background:rgba(255,255,255,.5);
  transition:border-color .25s,color .25s,transform .25s var(--ease)}
.f-eqlab:hover{border-color:var(--purple);color:var(--purple-deep);transform:translateY(-2px)}

/* ============ TOUCHES DESIGNER (anti-générique) ============ */
/* mot-clé mis en évidence : italique éditoriale contrastée + trait brossé dessous */
.wdepth{position:relative;display:inline-block;z-index:0;
  font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:700;
  font-size:1.07em;line-height:1;padding-right:.08em;margin-left:.07em}
.wdepth::after{content:"";position:absolute;left:-3%;right:-5%;bottom:-.06em;height:.2em;z-index:-2;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 14' preserveAspectRatio='none'%3E%3Cpath d='M3 10C30 4 60 3 117 7' fill='none' stroke='%23F97316' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%;
  transform:rotate(-1.2deg)}
/* les visuels de chapitres ne sont plus posés parfaitement droits */
.chapter .chap-visual{rotate:-1.3deg}
.chapter.flip .chap-visual{rotate:1.3deg}
/* chips légèrement inclinées, façon stickers */
.moody-folded-extra .mchip{transform:rotate(-1.4deg)}
.moody-folded-extra .mchip:nth-child(even){transform:rotate(1.1deg)}

/* lignes découpées : chaque ligne masque ses mots pendant la révélation */
.line{overflow:hidden;display:block}
.word{will-change:transform}
.chap-visual img,.hero-frame,.moody-illus,.hero-m-bg img{will-change:transform}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}

/* ============ LOT UX/UI ============ */
/* 1 — section active dans la nav */
.nav-links .nav-top.current,.nav-links .nav-plain.current,.nav-links .nav-plain.active{color:var(--purple-deep);background:var(--purple-soft)}
/* 9 — ombres cohérentes (échelle de tokens) */
.moody-card{box-shadow:var(--shadow-lg)}
.moody-toggle{box-shadow:0 14px 28px -14px rgba(0,120,60,.5)}
/* 12 — focus clavier visible (sans gêner la souris) */
:focus{outline:none}
a:focus-visible,button:focus-visible,.btn:focus-visible,input:focus-visible,textarea:focus-visible,
select:focus-visible,[tabindex]:focus-visible,.case-link:focus-visible,.moody-toggle:focus-visible,.burger:focus-visible{
  outline:2.5px solid var(--purple);outline-offset:3px;border-radius:8px}
.btn-white:focus-visible,.btn-ghost-w:focus-visible,.hero-m a:focus-visible,.mm-cta:focus-visible{outline-color:#fff}
/* 13 — zones tactiles ≥ 44px sur mobile */
@media(max-width:768px){
  .case-link,.btn-store,.moody-toggle{min-height:44px}
  footer .f-col a{display:inline-block;padding:6px 0;min-height:36px}
  .nav-dd a{min-height:40px;display:flex;align-items:center}
}
