:root {
  --forest:   #0C3B35;
  --forest-d: #081F1B;
  --forest-m: #0e4a42;
  --forest-l: #164f48;
  --cream:    #F2EDE4;
  --cream-2:  #E5DFD5;
  --white:    #FFFFFF;
  --dim:      rgba(242,237,228,0.45);
  --dimmer:   rgba(242,237,228,0.2);
  --ff-head: 'Clash Display', sans-serif;
  --ff-body: 'Cabinet Grotesk', sans-serif;
  --ff-mono: 'DM Mono', monospace;
  --ease:    cubic-bezier(0.16,1,0.3,1);
  --ease-b:  cubic-bezier(0.34,1.56,0.64,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;background:#081F1B;}
html{ overflow-x:hidden; }
body{
  background:var(--forest);
  color:var(--cream);
  font-family:var(--ff-body);
  font-weight:400;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* ─── GRAIN ─── */
body::after{
  content:'';
  position:fixed;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events:none;z-index:9999;opacity:.5;
}

/* ─── CURSOR ─── */
#cur,#curR{
  position:fixed;border-radius:50%;pointer-events:none;
  transform:translate(-50%,-50%);z-index:9998;
}
#cur{width:8px;height:8px;background:var(--cream);mix-blend-mode:difference;transition:width .3s,height .3s}
#curR{width:40px;height:40px;border:1.5px solid rgba(242,237,228,0.4);transition:all .5s var(--ease)}
@media(hover:none),(max-width:768px){#cur,#curR,#cursor-glow{display:none!important}}

/* ─── NAV ─── */
nav{
  position:sticky;top:0;z-index:500;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5vw;
  height:68px;
  background:#081f1b;
  border-bottom:1px solid rgba(242,237,228,0.07);
  transition:all .4s;
}
nav.scrolled{background:#081f1b}

.logo-img{height:36px;width:auto;display:block}

.nav-links{display:flex;list-style:none;align-items:center}
.nav-links a{
  display:block;padding:0 1.3rem;height:68px;line-height:68px;
  color:var(--dim);text-decoration:none;
  font-family:var(--ff-mono);font-size:.72rem;font-weight:400;
  letter-spacing:.1em;text-transform:uppercase;
  transition:color .3s,background .3s;
  border-right:1px solid rgba(242,237,228,0.06);
}
.nav-links a:first-child{border-left:1px solid rgba(242,237,228,0.06)}
.nav-links a:hover{color:var(--cream);background:rgba(242,237,228,0.04)}

/* cachés par défaut — affichés uniquement dans le menu burger mobile */
.nav-cta-row,.nav-social-row{display:none}

.nav-cta{
  background:var(--cream);color:var(--forest-d) !important;
  font-family:var(--ff-body) !important;font-weight:700 !important;
  font-size:.82rem !important;letter-spacing:.04em !important;
  text-transform:none !important;padding:0 1.4rem;
  height:38px !important;line-height:38px !important;
  border-radius:4px;border:none !important;
  margin-left:1.5rem;
  transition:transform .3s var(--ease),box-shadow .3s !important;
  white-space:nowrap;
}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 12px 36px rgba(0,0,0,0.4) !important}
.nav-cta-contact{
  background:transparent !important;
  color:var(--cream) !important;
  border:1px solid rgba(74,222,128,.45) !important;
  color:#4ade80 !important;
}
.nav-cta-contact:hover{background:rgba(74,222,128,.08) !important;box-shadow:0 0 24px rgba(74,222,128,.15) !important}

/* ─── HERO ─── */
#hero{
  min-height:100svh;display:grid;
  grid-template-rows:1fr auto;
  padding:0 5vw;
  position:relative;overflow:hidden;
}

/* Animated mesh */
.mesh{position:absolute;inset:0;pointer-events:none}
.m-blob{
  position:absolute;border-radius:50%;filter:blur(130px);
  animation:blob var(--bd,22s) ease-in-out infinite alternate;
}
.m-blob:nth-child(1){width:700px;height:700px;background:rgba(22,79,72,0.5);top:-200px;right:-150px;--bd:20s}
.m-blob:nth-child(2){width:500px;height:500px;background:rgba(8,31,27,0.8);bottom:-100px;left:-100px;--bd:28s}
.m-blob:nth-child(3){width:300px;height:300px;background:rgba(242,237,228,0.04);top:40%;left:30%;--bd:15s}
@keyframes blob{from{transform:translate(0,0) scale(1)}to{transform:translate(50px,30px) scale(1.15)}}

/* grid lines */
.hero-grid{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(242,237,228,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(242,237,228,0.025) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black,transparent);
}

/* ticker */
.ticker-bar{
  position:absolute;top:0;left:0;right:0;height:34px;
  background:rgba(242,237,228,0.05);
  border-bottom:1px solid rgba(242,237,228,0.07);
  display:flex;align-items:center;overflow:hidden;
}
.ticker-inner{display:flex;align-items:center;gap:2rem;white-space:nowrap;animation:tickr 30s linear infinite}
@keyframes tickr{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.t-item{
  font-family:var(--ff-mono);font-size:.63rem;color:var(--dim);
  letter-spacing:.12em;text-transform:uppercase;
}
.t-dot{width:4px;height:4px;background:var(--cream-2);border-radius:50%;opacity:.4;flex-shrink:0;}

/* hero body */
.hero-body{
  display:grid;grid-template-columns:1fr 1fr;
  align-items:center;gap:4rem;
  padding:5rem 0 4rem;margin-top:34px;
  position:relative;z-index:2;
}

.hero-eyebrow{
  display:flex;align-items:center;gap:.75rem;margin-bottom:2.5rem;
}
.ey-line{width:28px;height:1px;background:var(--cream-2)}
.ey-txt{
  font-family:var(--ff-mono);font-size:.65rem;color:var(--cream-2);
  letter-spacing:.18em;text-transform:uppercase;opacity:.7;
}

h1{
  font-family:var(--ff-head);
  font-size:clamp(3rem,5.5vw,6rem);
  font-weight:700;line-height:.98;
  letter-spacing:-.04em;margin-bottom:2.2rem;
  color:var(--cream);
}
h1 .stroke{
  -webkit-text-stroke:1.5px var(--cream-2);
  color:transparent;font-weight:700;
}
h1 .italic{font-style:italic;font-weight:400}

.hero-sub{
  font-size:1.05rem;color:var(--dim);line-height:1.85;
  max-width:420px;margin-bottom:3rem;font-weight:300;
}

.hero-btns{display:flex;align-items:center;gap:2rem}

.btn-fill{
  display:inline-flex;align-items:center;gap:.7rem;
  background:var(--cream);color:var(--forest-d);
  font-family:var(--ff-body);font-weight:700;font-size:.92rem;
  padding:1rem 2rem;border-radius:4px;text-decoration:none;
  transition:all .35s var(--ease);position:relative;overflow:hidden;
}
.btn-fill::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.25) 0%,transparent 55%);
  opacity:0;transition:opacity .3s;
}
.btn-fill:hover::before{opacity:1}
.btn-fill:hover{transform:translateY(-3px);box-shadow:0 20px 50px rgba(0,0,0,0.35)}

.btn-outline{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.85rem;color:var(--dim);text-decoration:none;
  border-bottom:1px solid rgba(242,237,228,0.2);padding-bottom:2px;
  transition:color .3s,border-color .3s;
}
.btn-outline:hover{color:var(--cream);border-color:rgba(242,237,228,0.5)}

/* hero visual */
.hero-vis{
  display:flex;align-items:center;justify-content:center;
}
.hero-globe-d{
  width:520px;height:520px;display:block;
  touch-action:none;cursor:grab;
}
.vis-wrap{
  position:relative;width:420px;aspect-ratio:1;
}
.vis-ring{
  position:absolute;inset:0;border-radius:50%;
  border:1px solid rgba(242,237,228,0.1);
  animation:spin var(--rs,25s) linear infinite;
}
.vis-ring:nth-child(2){inset:14%;--rs:18s;animation-direction:reverse}
.vis-ring:nth-child(3){inset:28%;--rs:12s}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.vis-ring::after{
  content:'';position:absolute;top:-1px;left:50%;transform:translateX(-50%);
  width:8px;height:8px;border-radius:50%;background:var(--cream-2);
  box-shadow:0 0 16px var(--cream-2);
}
.vis-center{
  position:absolute;inset:30%;
  background:transparent;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
}
.vis-logo{
  width:90px;height:90px;object-fit:contain;
  animation:breathe 5s ease-in-out infinite;
}
@keyframes breathe{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(.93)}}
.vis-tag{
  position:absolute;background:rgba(8,31,27,0.9);
  border:1px solid rgba(242,237,228,0.15);border-radius:100px;
  padding:.55rem 1.4rem;font-family:var(--ff-mono);font-size:.82rem;
  color:var(--cream-2);white-space:nowrap;backdrop-filter:blur(12px);
}
.vis-tag:nth-child(5){top:-4%;left:50%;transform:translateX(-50%)}
.vis-tag:nth-child(6){right:-22%;top:42%}
.vis-tag:nth-child(7){bottom:-4%;left:50%;transform:translateX(-50%)}
.vis-tag:nth-child(8){left:-22%;top:42%}

/* hero bottom bar */
.hero-bot{
  display:flex;align-items:center;justify-content:space-between;
  border-top:1px solid rgba(242,237,228,0.06);
  padding:1.5rem 0;position:relative;z-index:2;
}
.h-stat{display:flex;flex-direction:column;gap:.2rem}
.h-val{
  font-family:var(--ff-head);font-size:1.8rem;font-weight:700;
  color:var(--cream);letter-spacing:-.04em;line-height:1;
}
.h-lbl{
  font-family:var(--ff-mono);font-size:.62rem;color:var(--dim);
  letter-spacing:.08em;text-transform:uppercase;
}
.h-divider{width:1px;height:44px;background:rgba(242,237,228,0.07)}
.scroll-hint{
  display:flex;flex-direction:column;align-items:center;gap:.5rem;
  font-family:var(--ff-mono);font-size:.6rem;color:var(--dimmer);
  letter-spacing:.1em;text-transform:uppercase;
}
.s-line{
  width:1px;height:44px;
  background:linear-gradient(to bottom,var(--cream-2),transparent);
  animation:sl 2.5s ease-in-out infinite;
}
@keyframes sl{
  0%{transform:scaleY(0);transform-origin:top}
  49%{transform:scaleY(1);transform-origin:top}
  50%{transform:scaleY(1);transform-origin:bottom}
  100%{transform:scaleY(0);transform-origin:bottom}
}

/* ─── SECTIONS ─── */
.sec{padding:8rem 5vw;position:relative}
.sec.alt{background:var(--forest-d)}
.sec.mid{background:var(--forest-m)}

.s-label{
  display:flex;align-items:center;gap:.8rem;margin-bottom:1.5rem;
  font-family:var(--ff-mono);font-size:.68rem;color:var(--cream-2);
  letter-spacing:.15em;text-transform:uppercase;opacity:.7;
}
.s-label::before{content:'';width:22px;height:1px;background:var(--cream-2)}

h2{
  font-family:var(--ff-head);font-size:clamp(2.2rem,3.8vw,3.6rem);
  font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--cream);
}
h2 em{font-style:italic;font-weight:400}

.sec-desc{
  font-size:1rem;color:var(--dim);line-height:1.85;font-weight:300;
}

.sec-header{
  display:grid;grid-template-columns:1fr 1fr;
  gap:4rem;align-items:end;margin-bottom:5rem;
}
.sec-header.full{grid-template-columns:1fr;max-width:660px}

/* ─── CONSTAT ─── */
.constat-wrap{
  display:grid;grid-template-columns:1fr 1fr;
  border-radius:16px;overflow:hidden;
  border:1px solid rgba(242,237,228,0.07);gap:2px;
}
.c-card{
  background:var(--forest-l);padding:4rem;
  position:relative;overflow:hidden;transition:background .4s;
}
.c-card:hover{background:rgba(22,79,72,0.85);transform:translateY(-6px);box-shadow:0 20px 48px rgba(0,0,0,.35)}
.c-num{
  font-family:var(--ff-head);font-size:7rem;font-weight:700;
  line-height:1;letter-spacing:-.06em;
  position:absolute;top:1rem;right:2rem;
  opacity:.06;color:var(--cream);
}
.c-badge{
  display:inline-flex;align-items:center;gap:.4rem;
  font-family:var(--ff-mono);font-size:.62rem;
  letter-spacing:.12em;text-transform:uppercase;
  padding:.28rem .75rem;border-radius:100px;margin-bottom:2rem;
}
.c-badge.red{background:rgba(255,80,80,0.1);border:1px solid rgba(255,80,80,0.2);color:#ff8888}
.c-badge.green{background:rgba(242,237,228,0.1);border:1px solid rgba(242,237,228,0.2);color:var(--cream-2)}
.c-badge::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}
.c-card h3{
  font-family:var(--ff-head);font-size:2rem;font-weight:700;
  letter-spacing:-.03em;line-height:1.05;margin-bottom:1.5rem;color:var(--cream);
}
.c-card p{color:var(--dim);font-size:.95rem;line-height:1.85;position:relative;z-index:1}

/* ─── SERVICES ─── */
.srv-list{
  display:flex;flex-direction:column;
  border-top:1px solid rgba(242,237,228,0.07);
}
.srv{
  display:grid;grid-template-columns:70px 1fr 50px;
  gap:3rem;align-items:start;
  padding:3.5rem 0;
  border-bottom:1px solid rgba(242,237,228,0.07);
  position:relative;transition:all .4s var(--ease);cursor:default;
}
.srv::before{
  content:'';position:absolute;left:-5vw;right:-5vw;top:0;bottom:0;
  background:rgba(242,237,228,0.02);opacity:0;transition:opacity .4s;pointer-events:none;
}
.srv:hover::before{opacity:1}
.srv-idx{
  font-family:var(--ff-mono);font-size:.65rem;color:var(--dimmer);
  padding-top:.3rem;letter-spacing:.1em;
}
.srv-title{
  font-family:var(--ff-head);
  font-size:clamp(1.5rem,2.4vw,2.2rem);
  font-weight:700;letter-spacing:-.03em;line-height:1.05;
  color:var(--cream);margin-bottom:1rem;transition:color .3s;
}
.srv:hover .srv-title{color:var(--cream-2)}
.srv-txt{color:var(--dim);font-size:.92rem;line-height:1.85;max-width:500px}
.srv-kw{color:var(--cream);font-weight:700;font-style:normal}
.srv-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}
.srv-tag{
  font-family:var(--ff-mono);font-size:.6rem;color:var(--dimmer);
  border:1px solid rgba(242,237,228,0.1);padding:.22rem .65rem;
  border-radius:100px;letter-spacing:.08em;text-transform:uppercase;
}
.srv-bonus-badge{
  display:inline-block;background:#4ade80;color:#081f1b;
  font-family:var(--ff-mono);font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;
  font-weight:700;padding:.2rem .65rem;border-radius:100px;margin-right:.6rem;vertical-align:middle;
}
.srv-item-bonus .srv{border-color:rgba(74,222,128,.2);background:rgba(74,222,128,.03)}
.srv-item-bonus .srv-idx{color:#4ade80}
.srv-arr{
  width:46px;height:46px;border:1px solid rgba(242,237,228,0.12);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--dim);font-size:1.1rem;
  transition:all .4s var(--ease-b);align-self:center;
}
.srv:hover .srv-arr{
  background:var(--cream);color:var(--forest-d);
  border-color:var(--cream);transform:rotate(45deg);
  box-shadow:0 0 30px rgba(242,237,228,0.15);
}

/* ─── PROCESSUS ─── */
.proc{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-radius:16px;overflow:hidden;
  border:1px solid rgba(242,237,228,0.07);margin-top:5rem;
}
.p-step{
  padding:3rem 2.2rem;
  border-right:1px solid rgba(242,237,228,0.07);
  position:relative;overflow:hidden;
  transition:background .4s;
}
.p-step:last-child{border-right:none}
.p-step:hover{background:rgba(242,237,228,0.03)}
.p-n{
  font-family:var(--ff-head);font-size:4.5rem;font-weight:700;
  color:var(--cream);opacity:.07;line-height:1;margin-bottom:2rem;
  letter-spacing:-.06em;
}
.p-icon{
  width:42px;height:42px;border:1px solid rgba(242,237,228,0.12);
  border-radius:8px;display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;margin-bottom:1.5rem;transition:all .3s;
}
.p-step:hover .p-icon{
  background:rgba(242,237,228,0.07);border-color:rgba(242,237,228,0.25);
}
.p-step h3{
  font-family:var(--ff-head);font-size:1.1rem;font-weight:700;
  letter-spacing:-.02em;margin-bottom:.7rem;color:var(--cream);
}
.p-step p{font-size:.85rem;color:var(--dim);line-height:1.7}

/* ─── IMPACT ─── */
.stats-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:2px;
  border-radius:16px;overflow:hidden;
  border:1px solid rgba(242,237,228,0.07);margin-top:5rem;
  margin-bottom:4rem;
}
.stat-card{
  background:var(--forest-d);padding:4rem;
  position:relative;overflow:hidden;transition:background .4s;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
}
.stat-card:hover{background:rgba(8,31,27,0.7);transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.3)}
.stat-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--cream-2),transparent);
  transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease);
}
.stat-card:hover::after{transform:scaleX(1)}

/* ── Carte 24h — animation horloge ── */
.stat-card--clock{ border-color:rgba(242,237,228,.1) !important; }
.stat-card--clock:hover{ box-shadow:0 16px 48px rgba(242,237,228,.05), 0 0 0 1px rgba(242,237,228,.18) !important; }

.clock-wrap{
  position:relative;
  width:56px;height:56px;
  margin:0 auto 1.4rem;
}
.clock-face{ display:block; }

/* Arc qui se remplit en tournant */
.clock-arc{
  animation:arc-fill 4s ease-in-out infinite;
  transform-origin:28px 28px;
  transform:rotate(-90deg);
}
@keyframes arc-fill{
  0%   { stroke-dashoffset:163.4; opacity:.4; }
  60%  { stroke-dashoffset:0;     opacity:1;  }
  90%  { stroke-dashoffset:0;     opacity:.6; }
  100% { stroke-dashoffset:163.4; opacity:.4; }
}

/* Aiguille minutes — tourne vite */
.clock-min{
  animation:tick-min 4s linear infinite;
  transform-origin:28px 28px;
}
@keyframes tick-min{ from{transform:rotate(0deg)} to{transform:rotate(360deg)} }

/* Aiguille heures — tourne lentement (1/12e du tour en 4s) */
.clock-hour{
  animation:tick-hour 48s linear infinite;
  transform-origin:28px 28px;
}
@keyframes tick-hour{ from{transform:rotate(0deg)} to{transform:rotate(360deg)} }

/* Ping — pulse autour de l'horloge */
.clock-ping{
  position:absolute;inset:-6px;
  border-radius:50%;
  border:1px solid rgba(74,222,128,.3);
  animation:clock-ping 4s ease-out infinite;
  opacity:0;
}
@keyframes clock-ping{
  0%   { transform:scale(1);   opacity:.6; }
  70%  { transform:scale(1.25);opacity:0;  }
  100% { transform:scale(1.25);opacity:0;  }
}

/* ── Carte 0€ — animation contrat signé ── */
.stat-card--contract{ border-color:rgba(74,222,128,.12) !important; }
.stat-card--contract:hover{ box-shadow:0 16px 48px rgba(74,222,128,.08), 0 0 0 1px rgba(74,222,128,.2) !important; }

.contract-wrap{
  width:72px;height:72px;
  margin:0 auto 1.4rem;
}
.contract-icon{
  width:72px;height:72px;
}
.contract-icon{ display:block; }

/* Longueur totale du path signature ≈ 52 */
.contract-sig{
  stroke-dasharray:52;
  stroke-dashoffset:52;
  animation:sign-draw 4s ease-in-out infinite;
}
@keyframes sign-draw{
  0%,10%  { stroke-dashoffset:52; opacity:1; }
  45%     { stroke-dashoffset:0;  opacity:1; }
  55%,80% { stroke-dashoffset:0;  opacity:1; }
  90%,100%{ stroke-dashoffset:52; opacity:0; }
}

.contract-check-bg{
  animation:check-pop 4s ease-in-out infinite;
}
@keyframes check-pop{
  0%,50%  { opacity:0; transform:scale(0); transform-origin:40px 42px; }
  62%     { opacity:1; transform:scale(1.15); transform-origin:40px 42px; }
  72%,85% { opacity:1; transform:scale(1);   transform-origin:40px 42px; }
  95%,100%{ opacity:0; transform:scale(0);   transform-origin:40px 42px; }
}

.contract-check{
  animation:check-stroke 4s ease-in-out infinite;
}
@keyframes check-stroke{
  0%,55%  { opacity:0; }
  68%,85% { opacity:1; }
  95%,100%{ opacity:0; }
}

/* ── Carte 0 € — animation contrat signé ── */
.stat-card--contract{ border-color:rgba(242,237,228,.1) !important; }
.stat-card--contract:hover{ box-shadow:0 16px 48px rgba(242,237,228,.04), 0 0 0 1px rgba(242,237,228,.15) !important; }

.contract-wrap{
  width:56px;height:56px;
  margin:0 auto 1.4rem;
  position:relative;
}
.contract-icon{ display:block; }

/* Signature qui se dessine */
.contract-sig{
  stroke-dasharray:60;
  stroke-dashoffset:60;
  animation:sig-draw 4s ease-in-out infinite;
}
@keyframes sig-draw{
  0%,15%  { stroke-dashoffset:60; opacity:0; }
  20%     { opacity:1; }
  55%     { stroke-dashoffset:0; opacity:1; }
  75%,100%{ stroke-dashoffset:0; opacity:.6; }
}

/* Coche verte qui apparaît après la signature */
.contract-check-bg{
  animation:check-appear 4s ease-in-out infinite;
}
@keyframes check-appear{
  0%,55%  { opacity:0; transform:scale(0); transform-origin:40px 42px; }
  70%     { opacity:1; transform:scale(1); transform-origin:40px 42px; }
  85%,100%{ opacity:.85; transform:scale(1); transform-origin:40px 42px; }
}
.contract-check{
  animation:check-appear 4s ease-in-out infinite;
  animation-delay:.08s;
}

/* ── Carte Satisfait ou remboursé — animation pièce ── */
.stat-card--refund{ border-color:rgba(74,222,128,.12) !important; }
.stat-card--refund:hover{ box-shadow:0 16px 48px rgba(74,222,128,.08), 0 0 0 1px rgba(74,222,128,.2) !important; }

.refund-coin{
  position:relative;
  width:56px;height:56px;
  margin:0 auto 1.4rem;
  perspective:300px;
}
.refund-coin-inner{
  width:100%;height:100%;
  position:relative;
  transform-style:preserve-3d;
  animation:coin-flip 3s ease-in-out infinite;
}
.refund-coin-front,
.refund-coin-back{
  position:absolute;inset:0;
  border-radius:50%;
  background:linear-gradient(135deg,#4ade80 0%,#22c55e 100%);
  display:flex;align-items:center;justify-content:center;
  backface-visibility:hidden;
  box-shadow:0 4px 16px rgba(74,222,128,.35);
}
.refund-coin-back{ transform:rotateY(180deg); }

@keyframes coin-flip{
  0%,35%    { transform:rotateY(0deg); }
  50%       { transform:rotateY(180deg); }
  85%,100%  { transform:rotateY(360deg); }
}

/* Sparkles */
.refund-sparkle{
  position:absolute;
  border-radius:50%;
  background:#4ade80;
  opacity:0;
  animation:sparkle-pop 3s ease-in-out infinite;
}
.refund-sparkle--1{ width:5px;height:5px;top:-4px;right:6px;  animation-delay:.45s; }
.refund-sparkle--2{ width:4px;height:4px;bottom:0px;left:-2px; animation-delay:.6s;  }
.refund-sparkle--3{ width:3px;height:3px;top:8px;right:-4px;  animation-delay:.55s; }

@keyframes sparkle-pop{
  0%,40%,100%{ opacity:0;transform:scale(0) translate(0,0); }
  55%        { opacity:1;transform:scale(1) translate(0,-4px); }
  75%        { opacity:0;transform:scale(.5) translate(0,-8px); }
}
.stat-val{
  font-family:var(--ff-head);
  font-size:clamp(3.5rem,6vw,6rem);
  font-weight:700;color:var(--cream);letter-spacing:-.06em;
  line-height:1;margin-bottom:1rem;display:block;
}
.stat-desc{font-size:.95rem;color:var(--dim);line-height:1.6;max-width:320px;margin:0 auto;text-align:center}

.clients{
  padding:3rem 4rem;background:var(--forest-d);
  border:1px solid rgba(242,237,228,0.07);border-radius:16px;
  display:flex;align-items:center;gap:0;overflow:hidden;
}
.cl-label{
  font-family:var(--ff-mono);font-size:.62rem;color:var(--dimmer);
  letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;
  margin-right:4rem;padding-right:4rem;
  border-right:1px solid rgba(242,237,228,0.07);
}
.cl-logos{display:flex;gap:3rem;align-items:center;flex-wrap:wrap}
.cl-name{
  font-family:var(--ff-head);font-weight:700;font-size:1rem;
  color:rgba(242,237,228,0.12);letter-spacing:-.02em;
  transition:color .4s;cursor:default;
}
.cl-name:hover{color:rgba(242,237,228,0.45)}

/* ─── CONTACT ─── */
#contact{background:var(--forest-d)}
.ct-layout{
  display:grid;grid-template-columns:1fr 1fr;
  gap:7rem;align-items:start;position:relative;z-index:1;
}
.ct-left p{color:var(--dim);font-size:1rem;line-height:1.85;margin:2rem 0 3rem}
.ct-meta{
  display:flex;flex-direction:column;gap:1rem;
  border-top:1px solid rgba(242,237,228,0.07);padding-top:2rem;
}
.meta-row{display:flex;align-items:center;gap:.8rem;font-size:.85rem;color:var(--dim)}
.meta-icon{
  width:32px;height:32px;background:rgba(242,237,228,0.04);
  border:1px solid rgba(242,237,228,0.07);border-radius:8px;
  display:flex;align-items:center;justify-content:center;font-size:.85rem;
}

.form{display:flex;flex-direction:column;gap:1.3rem}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.f-grp{display:flex;flex-direction:column;gap:.55rem}
label{
  font-family:var(--ff-mono);font-size:.62rem;color:var(--dimmer);
  letter-spacing:.12em;text-transform:uppercase;
}
input,select{
  background:rgba(242,237,228,0.04);
  border:1px solid rgba(242,237,228,0.1);
  border-radius:6px;padding:1rem 1.2rem;
  color:var(--cream);font-family:var(--ff-body);
  font-size:.95rem;font-weight:300;outline:none;
  transition:all .3s;-webkit-appearance:none;width:100%;
}
input::placeholder{color:var(--dimmer)}
input:focus,select:focus,textarea:focus{
  border-color:rgba(242,237,228,0.35);
  background:rgba(242,237,228,0.06);
  box-shadow:0 0 0 3px rgba(242,237,228,0.06);
}
textarea::placeholder{color:var(--dimmer)}
select option{background:var(--forest-d);color:var(--cream)}

.btn-submit{
  background:var(--cream);color:var(--forest-d);
  font-family:var(--ff-body);font-weight:700;font-size:.95rem;
  letter-spacing:.03em;padding:1.1rem 2rem;border:none;
  border-radius:6px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:.7rem;
  width:100%;margin-top:.5rem;
  transition:all .35s var(--ease);position:relative;overflow:hidden;
}
.btn-submit::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 50%);
  opacity:0;transition:opacity .3s;
}
.btn-submit:hover::before{opacity:1}
.btn-submit:hover{transform:translateY(-3px);box-shadow:0 20px 50px rgba(0,0,0,0.3)}

/* ─── FOOTER ─── */
footer{
  background:var(--forest);
  border-top:1px solid rgba(242,237,228,0.06);
  padding:5rem 5vw 0;
  display:block;
}
.ft-top{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1.2fr;
  gap:4rem;
  padding-bottom:4rem;
  border-bottom:1px solid rgba(242,237,228,.07);
}
.ft-brand{}
.ft-logo{height:56px;width:auto;display:block;margin-bottom:1.2rem}
.ft-tagline{font-size:.85rem;color:var(--dim);line-height:1.7;max-width:260px;margin-bottom:1.6rem}
.ft-email-block{margin-top:.5rem}
.ft-email-label{font-family:var(--ff-mono);font-size:.58rem;color:var(--dimmer);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.35rem}
.ft-email-link{font-size:.82rem;color:var(--cream-2);text-decoration:none;transition:color .3s}
.ft-email-link:hover{color:var(--cream)}
.ft-col-title{
  font-family:var(--ff-mono);font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--cream);font-weight:600;
  margin-bottom:1.4rem;
}
.ft-col-links{list-style:none;display:flex;flex-direction:column;gap:.75rem}
.ft-col-links a{
  font-size:.84rem;color:var(--dim);text-decoration:none;
  transition:color .3s;display:flex;align-items:center;gap:.4rem;
}
.ft-col-links a:hover{color:var(--cream)}
.ft-social-list{display:flex;flex-direction:column;gap:.75rem}

/* Mini newsletter footer desktop */
.ft-nl-mini{
  display:flex;align-items:center;gap:.4rem;
  margin-top:1.2rem;
  padding-top:1rem;
  border-top:1px solid rgba(242,237,228,.07);
}
.ft-nl-mini-input{
  flex:1;min-width:0;
  background:transparent;
  border:none;border-bottom:1px solid rgba(242,237,228,.18);
  padding:.3rem 0;
  font-family:var(--ff-mono);font-size:.65rem;
  color:var(--cream);letter-spacing:.04em;
  outline:none;transition:border-color .25s;
}
.ft-nl-mini-input::placeholder{color:var(--dimmer)}
.ft-nl-mini-input:focus{border-color:rgba(242,237,228,.45)}
.ft-nl-mini-btn{
  background:none;border:none;cursor:pointer;
  color:var(--dim);padding:.2rem;
  display:flex;align-items:center;justify-content:center;
  transition:color .25s;flex-shrink:0;
}
.ft-nl-mini-btn:hover{color:#4ade80}
.ft-nl-mini-msg{
  margin-top:.5rem;
  font-family:var(--ff-mono);font-size:.6rem;
  color:#4ade80;letter-spacing:.06em;
}
.ft-nl-mini-label{
  margin-top:1.2rem;
  font-family:var(--ff-mono);font-size:.6rem;
  color:var(--dim);letter-spacing:.1em;text-transform:uppercase;
  margin-bottom:.4rem;
}
.ft-cta-link{font-size:.82rem;color:var(--cream-2);text-decoration:none;transition:color .3s}
.ft-cta-link:hover{color:var(--cream)}
.social-a{
  display:inline-flex;align-items:center;gap:.7rem;
  font-size:.84rem;color:var(--dim);text-decoration:none;
  transition:color .3s;
}
.social-a:hover{color:var(--cream)}
.social-icon{
  width:30px;height:30px;
  border:1px solid rgba(242,237,228,.1);
  border-radius:7px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;overflow:hidden;
  transition:border-color .3s,background .3s;
}
.social-icon.si-ig,.social-icon.si-tk{border:none;background:transparent}
.social-icon.si-x{background:#0a0a0a;border-color:rgba(255,255,255,.18)}
.social-a:hover .social-icon{border-color:rgba(74,222,128,.3)}
.social-a:hover .social-icon.si-ig,.social-a:hover .social-icon.si-tk{filter:brightness(1.08)}
.social-a:hover .social-icon.si-x{border-color:rgba(74,222,128,.3);background:#111}
/* contact .cp-social variants */
.cp-social.si-ig,.cp-social.si-tk{border:none;background:transparent;overflow:hidden}
.cp-social.si-x{background:#0a0a0a;border-color:rgba(255,255,255,.18)}
.ft-bottom{
  display:flex;align-items:center;justify-content:center;flex-direction:row;
  flex-wrap:wrap;padding:1.4rem 0 2rem;gap:1.4rem;
}
.ft-trust{display:flex;align-items:center;gap:.45rem;flex-shrink:0}
.ft-trust-flag{width:32px!important;height:22px!important;max-width:none!important;flex-shrink:0;object-fit:contain;opacity:.8}
.ft-trust-text,.ft-copy{font-family:var(--ff-mono);font-size:.6rem;color:rgba(242,237,228,.28);letter-spacing:.05em;flex-shrink:0}
.ft-legal{display:flex;gap:1.6rem;list-style:none;flex-wrap:wrap;justify-content:center}
.ft-legal a{font-family:var(--ff-mono);font-size:.65rem;color:var(--dimmer);text-decoration:none;letter-spacing:.04em;transition:color .3s}
.ft-legal a:hover{color:var(--dim)}

/* ─── REVEAL ─── */
.rv{opacity:0;transform:translateY(36px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.12s}.rv.d2{transition-delay:.24s}
.rv.d3{transition-delay:.36s}.rv.d4{transition-delay:.48s}
/* variante: entrée depuis la gauche */
.rv-left{opacity:0;transform:translateX(-40px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv-left.in{opacity:1;transform:none}
/* variante: entrée depuis la droite */
.rv-right{opacity:0;transform:translateX(40px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv-right.in{opacity:1;transform:none}
/* variante: zoom */
.rv-zoom{opacity:0;transform:scale(.92);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv-zoom.in{opacity:1;transform:scale(1)}

/* ─── HOVER LIFT — cartes ─── */
.blog-card{transition:transform .3s var(--ease),box-shadow .3s}
.blog-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.35)}

/* ─── SHIMMER sur les valeurs clés ─── */
@keyframes shimmer-text{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* ─── FLOAT sur badges/tags ─── */
@keyframes float-badge{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

/* ─── GLOW PULSE sur le CTA principal ─── */
@keyframes glow-pulse{0%,100%{box-shadow:0 0 0 0 rgba(242,237,228,0)}50%{box-shadow:0 0 24px 6px rgba(242,237,228,.12)}}
.btn-primary{animation:glow-pulse 3s ease-in-out infinite}

/* ─── BORDER GRADIENT animé sur les cartes au hover ─── */
@keyframes border-spin{to{--angle:360deg}}
@property --angle{syntax:'<angle>';initial-value:0deg;inherits:false}

/* ─── UNDERLINE animé sur les nav links ─── */
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:#4ade80;transition:width .3s var(--ease)}
.nav-links a:hover::after{width:100%}

/* ─── COUNTER pulse ─── */
@keyframes count-pop{0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}}
.h-val.counted{animation:count-pop .4s var(--ease-b)}

/* ─── FAQ accordéon smooth ─── */
details.faq-item{transition:background .3s}
details.faq-item summary{transition:color .2s}
details.faq-item[open] summary{color:#F2EDE4}

/* ─── Section title underline animé ─── */
.section-title{position:relative;display:inline-block}

/* ─── Cursor glow ─── */
#cursor-glow{position:fixed;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(74,222,128,.05) 0%,transparent 70%);pointer-events:none;z-index:1;transform:translate(-50%,-50%);transition:left .12s ease,top .12s ease;}
/* ─── Cursor blink typewriter ─── */
@keyframes cur-blink{0%,100%{opacity:1}50%{opacity:0}}
.cursor-blink{animation:cur-blink .7s step-end infinite;color:rgba(242,237,228,.5);font-weight:300}

/* Globe mobile — caché par défaut (desktop) */
.hero-globe-m{ display:none; }

/* ─── RESPONSIVE ─── */
@media(max-width:900px){
  .nav-links{display:none}
  .hero-body{grid-template-columns:1fr}
  .hero-vis{display:none}
  .sec-header{grid-template-columns:1fr}
  .constat-wrap{grid-template-columns:1fr}
  .proc{grid-template-columns:1fr 1fr}
  .stats-grid{grid-template-columns:1fr}
  .ct-layout{grid-template-columns:1fr;gap:4rem}
  .f-row{grid-template-columns:1fr}
  .ft-top{grid-template-columns:1fr 1fr;gap:2.5rem}
  .ft-bottom{flex-direction:column;align-items:center;gap:.9rem}
  .ft-trust{flex-wrap:wrap;justify-content:center}
  .srv{grid-template-columns:50px 1fr;gap:2rem}
  .srv-arr{display:none}
}

/* ─── FAQ Section ─── */
.faq-list{display:flex;flex-direction:column;gap:0}
.faq-item{
  border-bottom:1px solid rgba(242,237,228,0.07);
  overflow:hidden;
}
.faq-q{
  font-family:var(--ff-head);font-size:1.05rem;font-weight:600;
  color:var(--cream);padding:1.4rem 0;cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  letter-spacing:-.02em;transition:color .3s;
}
.faq-q::-webkit-details-marker{display:none}
.faq-q::after{
  content:"+";font-size:1.4rem;font-weight:300;color:var(--dim);
  flex-shrink:0;transition:transform .3s var(--ease);
}
.faq-item[open] .faq-q::after{transform:rotate(45deg)}
.faq-item[open] .faq-q{color:var(--cream-2)}
.faq-q-inner{display:flex;flex-direction:column;gap:.28rem}
.faq-cat{
  font-family:var(--ff-mono,monospace);font-size:.56rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:#4ade80;
}
.faq-a{padding-bottom:1.5rem}
.faq-a p{color:var(--dim);font-size:.95rem;line-height:1.85;margin-bottom:.7rem}
.faq-a p:last-child{margin-bottom:0}
.faq-a strong{color:var(--cream-2)}

/* ══════════════════════════════════════════════════════
   ANIMATIONS BOUTONS — Inspiré Haloscan, style Zéro à Un
══════════════════════════════════════════════════════ */

/* ─ btn-fill : bouton principal cream ─ */
.btn-fill {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  background: var(--cream);
  color: var(--forest-d);
  font-family: var(--ff-body);
  font-weight: 700;
  font-size: .92rem;
  padding: 1rem 1.8rem;
  border-radius: 6px;
  text-decoration: none;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease), background .3s;
  z-index: 0;
}
/* Shimmer sweep */
.btn-fill::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.35), transparent);
  transition: left .5s var(--ease);
  z-index: 1;
}
.btn-fill:hover::before { left: 150%; }

/* Flèche animée */
.btn-fill .btn-arrow {
  display: inline-flex;
  align-items: center;
  transition: transform .3s var(--ease);
  flex-shrink: 0;
}
.btn-fill:hover .btn-arrow { transform: translateX(5px); }
.btn-fill:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 48px rgba(0,0,0,.35), 0 0 0 1px rgba(242,237,228,.15);
  background: #fff;
}
.btn-fill:active { transform: translateY(-1px); }

/* Bouton CTA nav */
.nav-cta {
  position: relative;
  overflow: hidden;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease) !important;
}
.nav-cta::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.3), transparent);
  transform: translateX(-100%);
  transition: transform .5s var(--ease);
}
.nav-cta:hover::after { transform: translateX(100%); }
.nav-cta:hover {
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow: 0 12px 36px rgba(0,0,0,.3) !important;
}

/* ─ btn-submit dans le formulaire ─ */
.btn-submit {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  width: 100%;
  padding: 1.1rem 2rem;
  background: var(--cream);
  color: var(--forest-d);
  font-family: var(--ff-body);
  font-weight: 700;
  font-size: .95rem;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: transform .3s var(--ease), box-shadow .3s, background .3s;
  margin-top: .5rem;
}
.btn-submit::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.4), transparent);
  transition: left .5s var(--ease);
}
.btn-submit svg {
  transition: transform .3s var(--ease);
  flex-shrink: 0;
}
.btn-submit:hover::before { left: 150%; }
.btn-submit:hover {
  background: #fff;
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(0,0,0,.25);
}
.btn-submit:hover svg { transform: translateX(5px); }
.btn-submit:active { transform: translateY(0); }

/* ─ Bouton outline ─ */
.btn-outline {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .88rem;
  color: var(--dim);
  text-decoration: none;
  transition: color .3s, gap .3s var(--ease);
}
.btn-outline svg, .btn-outline .btn-arrow { transition: transform .3s var(--ease); } .btn-outline .btn-arrow { display:inline-flex;align-items:center; }
.btn-outline:hover { color: var(--cream); gap: .85rem; }
.btn-outline:hover .btn-arrow { transform: translateX(4px); }

/* ─ Flèche sur service arrow ─ */
.srv-arr {
  transition: all .4s var(--ease-b) !important;
}
.srv:hover .srv-arr {
  background: var(--cream) !important;
  color: var(--forest-d) !important;
  border-color: var(--cream) !important;
  transform: rotate(45deg) scale(1.1) !important;
  box-shadow: 0 0 30px rgba(242,237,228,.2) !important;
}

/* ═══ CARDS HOVER AMÉLIORÉ ════ */
.c-card {
  transition: background .4s, transform .4s var(--ease), box-shadow .4s !important;
}
.c-card:hover {
  background: rgba(22,79,72,.85) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 24px 60px rgba(0,0,0,.3), inset 0 1px 0 rgba(242,237,228,.1) !important;
}

.stat-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 20px 50px rgba(0,0,0,.25) !important;
  border-color: rgba(242,237,228,.15) !important;
}

/* ─ FAQ hover ─ */
.faq-item summary { transition: color .3s; }
.faq-item:hover summary { color: var(--cream) !important; }

/* ─ Pulse ring sur le CTA hero ─ */
@keyframes pulseRing {
  0%   { transform: scale(1);   opacity: .4; }
  100% { transform: scale(1.35); opacity: 0; }
}
.btn-fill.pulse-cta::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 6px;
  border: 2px solid rgba(242,237,228,.5);
  animation: pulseRing 2s ease-out infinite;
  pointer-events: none;
  z-index: -1;
}

/* ═══ SECTION CLOSING CTA ════ */
#closing-cta {
  padding: 8rem 5vw;
  background: var(--cream);
  text-align: center;
  position: relative;
  overflow: hidden;
}
#closing-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 50% 100%, rgba(12,59,53,.08) 0%, transparent 70%);
  pointer-events: none;
}
#closing-cta .cta-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  font-family: var(--ff-mono);
  font-size: .65rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--forest-m);
  opacity: .7;
  margin-bottom: 2rem;
}
#closing-cta h2 {
  font-family: var(--ff-head);
  font-size: clamp(2.4rem, 5vw, 4.2rem);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: .98;
  color: var(--forest-d);
  margin-bottom: 1.5rem;
}
#closing-cta h2 em { font-style: italic; font-weight: 400; color: var(--forest-m); }
#closing-cta .cta-sub {
  font-size: 1.05rem;
  color: rgba(8,31,27,.6);
  line-height: 1.7;
  max-width: 520px;
  margin: 0 auto 2.5rem;
  font-weight: 300;
}
.btn-fill.dark {
  background: var(--forest-d);
  color: var(--cream);
}
.btn-fill.dark:hover { background: var(--forest); color: var(--cream); }
.btn-fill.dark::before {
  background: linear-gradient(120deg, transparent, rgba(242,237,228,.15), transparent);
}
.cta-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  margin-top: 2rem;
  flex-wrap: wrap;
}
.cta-trust-item {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--ff-mono);
  font-size: .68rem;
  color: rgba(8,31,27,.5);
  letter-spacing: .06em;
}
.cta-trust-item::before {
  content: '✓';
  color: var(--forest-m);
  font-size: .8rem;
  font-weight: 700;
}

/* ═══ TÉMOIGNAGES AMÉLIORÉS ════ */
.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
}
.testi-card {
  background: var(--forest-l);
  border: 1px solid rgba(242,237,228,.08);
  border-radius: 14px;
  padding: 1.8rem;
  transition: transform .4s var(--ease), box-shadow .4s, border-color .4s;
  position: relative;
}
.testi-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 50px rgba(0,0,0,.25);
  border-color: rgba(242,237,228,.18);
}
.testi-quote {
  font-size: .95rem;
  line-height: 1.75;
  color: rgba(242,237,228,.8);
  margin-bottom: 1.2rem;
  position: relative;
}
.testi-quote::before {
  content: '"';
  font-family: var(--ff-head);
  font-size: 3.5rem;
  line-height: 1;
  color: rgba(242,237,228,.08);
  position: absolute;
  top: -.5rem;
  left: -.3rem;
}
.testi-author {
  display: flex;
  align-items: center;
  gap: .75rem;
}
.testi-avatar {
  width: 38px; height: 38px;
  border-radius: 50%;
  background: rgba(242,237,228,.12);
  border: 1px solid rgba(242,237,228,.15);
  display: flex; align-items: center; justify-content: center;
  font-size: .8rem;
  font-weight: 700;
  color: var(--cream-2);
  flex-shrink: 0;
}
.testi-name { color: var(--cream); font-weight: 700; font-size: .88rem; }
.testi-role { color: var(--dim); font-size: .78rem; font-family: var(--ff-mono); }
.testi-stars {
  color: #f5a623;
  font-size: .75rem;
  margin-bottom: .75rem;
  letter-spacing: .1em;
}
@media(max-width:768px){
  .testimonials-grid { grid-template-columns: 1fr; }
}

/* ═══ STAT CARDS AMÉLIORÉES ════ */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
.stat-card {
  background: var(--forest-l);
  border: 1px solid rgba(242,237,228,.08);
  border-radius: 14px;
  padding: 2.5rem 2rem;
  text-align: center;
  cursor: default;
}
.stat-val {
  font-family: var(--ff-head);
  font-size: clamp(3rem, 5vw, 4.5rem);
  font-weight: 700;
  letter-spacing: -.04em;
  color: var(--cream);
  line-height: 1;
  display: block;
  margin-bottom: .75rem;
}
.stat-desc {
  color: var(--dim);
  font-size: .9rem;
  line-height: 1.65;
}

/* ═══ HERO CTA GROUP ════ */
.hero-btns {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: rgba(242,237,228,.06);
  border: 1px solid rgba(242,237,228,.1);
  border-radius: 100px;
  padding: .3rem .9rem;
  font-family: var(--ff-mono);
  font-size: .62rem;
  color: var(--cream-2);
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
.hero-badge-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #4ade80;
  animation: blink 2s ease-in-out infinite;
  box-shadow: 0 0 6px #4ade80;
}
@keyframes blink {
  0%,100% { opacity: 1; } 50% { opacity: .3; }
}

/* ══════════════════════════════════════════════════════
   SECTION TÉMOIGNAGES X — Carousel infini (style Haloscan)
══════════════════════════════════════════════════════ */
#temoignages-x {
  padding: 7rem 0;
  background: var(--forest-d);
  overflow: hidden;
  position: relative;
}
#temoignages-x .sec-inner {
  padding: 0 5vw;
  margin-bottom: 3.5rem;
}
#temoignages-x .sec-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}
#temoignages-x .temo-count {
  font-family: var(--ff-mono);
  font-size: .65rem;
  color: var(--dimmer);
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* Piste de défilement */
.x-track-wrap {
  position: relative;
  overflow: hidden;
}
.x-track-wrap::before,
.x-track-wrap::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 120px;
  z-index: 2;
  pointer-events: none;
}
.x-track-wrap::before {
  left: 0;
  background: linear-gradient(to right, var(--forest-d), transparent);
}
.x-track-wrap::after {
  right: 0;
  background: linear-gradient(to left, var(--forest-d), transparent);
}

.x-track {
  display: flex;
  gap: 1.25rem;
  width: max-content;
  animation: xScroll 80s linear infinite;
  padding: 1rem 0 1.5rem;
}
.x-track:hover { animation-play-state: paused; }

@keyframes xScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* Carte X / tweet */
.x-card {
  background: #0e2d29;
  border: 1px solid rgba(242,237,228,.09);
  border-radius: 14px;
  padding: 1.4rem 1.6rem;
  width: 320px;
  flex-shrink: 0;
  transition: border-color .3s, transform .3s var(--ease), box-shadow .3s;
  cursor: pointer;
  text-decoration: none;
  display: block;
  position: relative;
}
.x-card:hover {
  border-color: rgba(242,237,228,.22);
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.3);
}

.x-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.x-author {
  display: flex;
  align-items: center;
  gap: .7rem;
}
.x-avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--forest-m), var(--forest-l));
  border: 1.5px solid rgba(242,237,228,.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: .78rem;
  color: var(--cream);
  flex-shrink: 0;
  font-family: var(--ff-body);
  overflow: hidden;
  position: relative;
}
.x-avatar img {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
  z-index: 1;
}
.x-avatar[data-initials]::after {
  content: attr(data-initials);
  font-weight: 700;
  font-size: .78rem;
  color: #ffffff;
}
.x-name { color: #ffffff; font-weight: 700; font-size: .88rem; line-height: 1.2; }
.x-handle { color: rgba(255,255,255,0.65); font-size: .75rem; font-family: var(--ff-mono); }

/* Logo X */
.x-logo {
  opacity: .8;
  fill: #ffffff;
  transition: opacity .3s;
}
.x-card:hover .x-logo { opacity: 1; }

.x-content {
  color: rgba(255,255,255,0.9);
  font-size: .88rem;
  line-height: 1.65;
  margin-bottom: 1rem;
}
.x-content strong { color: #ffffff; }

.x-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid rgba(255,255,255,0.1);
  padding-top: .75rem;
}
.x-date {
  font-family: var(--ff-mono);
  font-size: .65rem;
  color: rgba(255,255,255,0.55);
  letter-spacing: .06em;
}
.x-stats {
  display: flex;
  gap: 1rem;
  font-family: var(--ff-mono);
  font-size: .65rem;
  color: rgba(255,255,255,0.65);
}
.x-stat { display: flex; align-items: center; gap: .3rem; }
.x-stat svg { fill: rgba(255,255,255,0.65); stroke: none; }

/* ══════════════════════════════════════════════════════
   EBOOK — ULTRA PREMIUM
══════════════════════════════════════════════════════ */
@keyframes ek-ticker   { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes ek-reveal   { from{clip-path:inset(0 100% 0 0);opacity:0} to{clip-path:inset(0 0% 0 0);opacity:1} }
@keyframes ek-up       { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:none} }
@keyframes ek-in       { from{opacity:0;transform:perspective(700px) translateX(40px) rotateY(8deg)} to{opacity:1;transform:perspective(700px) translateX(0) rotateY(0)} }
@keyframes ek-orbit    { to{transform:rotate(360deg)} }
@keyframes ek-shine    { 0%{left:-80%} 45%,100%{left:160%} }
@keyframes ek-aurora1  { 0%,100%{transform:translate(0,0) scale(1)} 30%{transform:translate(-28px,22px) scale(1.1)} 65%{transform:translate(20px,-20px) scale(0.94)} }
@keyframes ek-aurora2  { 0%,100%{transform:translate(0,0) scale(1)} 45%{transform:translate(24px,-32px) scale(1.14)} }
@keyframes ek-float-up { 0%{transform:translateY(340px) scale(0);opacity:0} 10%{transform:translateY(260px) scale(1);opacity:.85} 90%{transform:translateY(10px) scale(1);opacity:.4} 100%{transform:translateY(-10px) scale(1);opacity:0} }
@keyframes ek-pulse-glow { 0%,100%{opacity:.65;transform:translateX(-50%) scaleX(1)} 50%{opacity:1;transform:translateX(-50%) scaleX(1.15)} }
@keyframes ek-float    { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }
@keyframes ek-float-mid{ 0%,100%{transform:translateY(-50%)} 50%{transform:translateY(calc(-50% - 7px))} }
/* ── Card ───────────────────────── */
.ek {
  margin-top: 4rem;
  background: #05100a;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 1.2rem;
  overflow: hidden;
  position: relative;
}
/* ── Ticker ─────────────────────── */
.ek-tape {
  border-bottom: 1px solid rgba(255,255,255,.05);
  overflow: hidden;
  height: 30px;
  display: flex;
  align-items: center;
  background: rgba(0,0,0,.3);
}
.ek-tape-track {
  display: flex;
  align-items: center;
  white-space: nowrap;
  animation: ek-ticker 28s linear infinite;
}
.ek-tape-track span {
  font-size: .58rem;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: rgba(255,255,255,.25);
  padding: 0 1.4rem;
}
.ek-tape-track i {
  font-style: normal;
  color: rgba(74,222,128,.45);
  font-size: .48rem;
  flex-shrink: 0;
}

/* ── Body ────────────────────────── */
.ek-body {
  display: flex;
  align-items: stretch;
  min-height: 400px;
}

/* ── Left ────────────────────────── */
.ek-left {
  flex: 1;
  padding: 2.8rem 2.6rem 2.8rem 3.2rem;
  display: flex;
  flex-direction: column;
  gap: 1.3rem;
  justify-content: center;
}
.ek-eyebrow {
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #4ade80;
  opacity: 0;
}
.ek--on .ek-eyebrow { animation: ek-up .4s .05s both; }

.ek-title { display:flex; flex-direction:column; gap:0; margin:0; }
.ek-tl {
  display: block;
  font-size: clamp(2.4rem, 4vw, 3.6rem);
  font-weight: 900;
  color: #fff;
  line-height: 1.04;
  letter-spacing: -.045em;
  clip-path: inset(0 100% 0 0);
  opacity: 0;
}
.ek-tl--g { color: #4ade80; }
.ek--on .ek-tl:nth-child(1) { animation: ek-reveal .55s .1s  cubic-bezier(.22,.68,0,1.1) both; }
.ek--on .ek-tl:nth-child(2) { animation: ek-reveal .55s .22s cubic-bezier(.22,.68,0,1.1) both; }
.ek--on .ek-tl:nth-child(3) { animation: ek-reveal .55s .34s cubic-bezier(.22,.68,0,1.1) both; }

.ek-rule {
  height: 1px;
  background: linear-gradient(to right, rgba(74,222,128,.3), rgba(255,255,255,.03));
  opacity: 0;
}
.ek--on .ek-rule { animation: ek-up .4s .46s both; }

.ek-toc { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.3rem; }
.ek-toc li {
  display: flex;
  align-items: center;
  gap: .65rem;
  font-size: .79rem;
  color: rgba(255,255,255,.35);
  opacity: 0;
  transition: color .2s;
  cursor: default;
}
.ek-toc li:hover { color: rgba(255,255,255,.82); }
.ek-toc b {
  font-family: var(--ff-mono, monospace);
  font-size: .56rem;
  font-weight: 600;
  color: rgba(74,222,128,.6);
  letter-spacing: .04em;
  min-width: 20px;
}
.ek--on .ek-toc li:nth-child(1) { animation: ek-up .38s .50s both; }
.ek--on .ek-toc li:nth-child(2) { animation: ek-up .38s .58s both; }
.ek--on .ek-toc li:nth-child(3) { animation: ek-up .38s .66s both; }
.ek--on .ek-toc li:nth-child(4) { animation: ek-up .38s .74s both; }
.ek--on .ek-toc li:nth-child(5) { animation: ek-up .38s .82s both; }

.ek-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: #4ade80;
  color: #05100a;
  font-weight: 800;
  font-size: .88rem;
  padding: .78rem 1.6rem;
  border-radius: .55rem;
  text-decoration: none;
  width: fit-content;
  transition: background .2s, box-shadow .2s, transform .5s cubic-bezier(.22,.68,0,1.1);
  opacity: 0;
  box-shadow: 0 0 0 0 rgba(74,222,128,0);
}
.ek--on .ek-btn { animation: ek-up .4s .9s both; }
.ek-btn:hover {
  background: #22c55e;
  box-shadow: 0 0 0 7px rgba(74,222,128,.12), 0 8px 24px rgba(0,0,0,.25);
}
.ek-btn svg { transition: transform .2s; }
.ek-btn:hover svg { transform: translateY(2px); }

/* ── Separator ──────────────────── */
.ek-sep {
  width: 1px;
  flex-shrink: 0;
  align-self: stretch;
  background: linear-gradient(to bottom,
    transparent 0%,
    rgba(255,255,255,.07) 15%,
    rgba(255,255,255,.07) 85%,
    transparent 100%);
}

/* ── Right ──────────────────────── */
.ek-right {
  flex: 0 0 44%;
  padding: 1.8rem 2rem 2.4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.8rem;
  position: relative;
  overflow: hidden;
}
/* Aurora blob top-right */
.ek-right::before {
  content: '';
  position: absolute;
  width: 380px; height: 380px;
  top: -100px; right: -100px;
  background: radial-gradient(circle, rgba(74,222,128,.14) 0%, transparent 65%);
  animation: ek-aurora1 9s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}
/* Aurora blob bottom-left */
.ek-right::after {
  content: '';
  position: absolute;
  width: 260px; height: 260px;
  bottom: 30px; left: -70px;
  background: radial-gradient(circle, rgba(74,222,128,.09) 0%, transparent 65%);
  animation: ek-aurora2 13s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

/* ── Book Scene ─────────────────── */
.ek-scene {
  position: relative;
  width: 340px;
  height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  z-index: 1;
}
.ek--on .ek-scene { animation: ek-in .65s .18s cubic-bezier(.22,.68,0,1.1) both; }

/* Floating particles */
.ek-particles {
  position: absolute;
  top: 30px; /* démarre sous la barre ticker */
  left: 0; right: 0; bottom: 0;
  pointer-events: none;
  z-index: 0;
}
.ek-particles span {
  position: absolute;
  border-radius: 50%;
  background: #4ade80;
  bottom: 0;
  opacity: 0;
  animation: ek-float-up var(--dur,4s) var(--delay,0s) ease-in infinite;
}
.ek-particles span:nth-child(1){width:3px;height:3px;left:15%;--dur:4.2s;--delay:0s}
.ek-particles span:nth-child(2){width:2px;height:2px;left:30%;--dur:5.1s;--delay:.9s}
.ek-particles span:nth-child(3){width:4px;height:4px;left:50%;--dur:3.8s;--delay:1.3s}
.ek-particles span:nth-child(4){width:2px;height:2px;left:66%;--dur:4.7s;--delay:.5s}
.ek-particles span:nth-child(5){width:3px;height:3px;left:80%;--dur:5.5s;--delay:2.1s}
.ek-particles span:nth-child(6){width:2px;height:2px;left:22%;--dur:4.0s;--delay:1.7s}
.ek-particles span:nth-child(7){width:3px;height:3px;left:58%;--dur:4.9s;--delay:.7s}
.ek-particles span:nth-child(8){width:2px;height:2px;left:42%;--dur:5.3s;--delay:2.5s}

/* Glow under book */
.ek-glow {
  position: absolute;
  bottom: 54px;
  left: 50%;
  transform: translateX(-50%);
  width: 190px; height: 26px;
  background: radial-gradient(ellipse, rgba(74,222,128,.4) 0%, transparent 70%);
  filter: blur(10px);
  animation: ek-pulse-glow 3s ease-in-out infinite;
  z-index: 1;
  pointer-events: none;
}

/* Floating chips */
.ek-chip {
  position: absolute;
  display: flex;
  align-items: center;
  gap: .35rem;
  background: rgba(8,31,28,.75);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(74,222,128,.22);
  border-radius: 20px;
  padding: .3rem .72rem;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
  z-index: 4;
  white-space: nowrap;
  box-shadow: 0 4px 16px rgba(0,0,0,.35);
}
.ek-chip-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 7px rgba(74,222,128,.9);
  flex-shrink: 0;
}
.ek-chip--1 { top: 28px;  right: 14px; animation: ek-float 5.0s ease-in-out infinite; }
.ek-chip--2 { bottom: 68px; right: 12px; animation: ek-float 6.5s 1.1s ease-in-out infinite; }
.ek-chip--3 { top: 50%; left: 12px;    animation: ek-float-mid 5.8s .5s ease-in-out infinite; }

/* Book */
.ek-book {
  position: relative;
  width: 190px;
  height: 272px;
  transition: transform .5s ease, filter .5s ease;
  filter: drop-shadow(0 36px 60px rgba(0,0,0,.92)) drop-shadow(0 2px 6px rgba(74,222,128,.2));
  z-index: 2;
}
.ek-book-side {
  position: absolute;
  right: calc(100% - 2px);
  top: 3px; bottom: 3px;
  width: 20px;
  background: linear-gradient(to right, #091c0e, #163522);
  clip-path: polygon(0 4px, 100% 0, 100% 100%, 0 calc(100% - 4px));
  border-radius: .3rem 0 0 .3rem;
}
.ek-book-face {
  position: absolute;
  inset: 0;
  background: linear-gradient(148deg, #122b18 0%, #1f5432 38%, #0e2417 72%, #0a1b0f 100%);
  border-radius: .5rem;
  border: 1px solid rgba(74,222,128,.24);
  padding: 1.3rem 1.15rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
}
.ek-book-face::before {
  content: '';
  position: absolute;
  top: -28px; right: -28px;
  width: 110px; height: 110px;
  background: radial-gradient(circle, rgba(74,222,128,.24), transparent 68%);
}
.ek-book-face::after {
  content: '';
  position: absolute;
  top: 0; left: -80%;
  width: 48%; height: 100%;
  background: linear-gradient(105deg, transparent 28%, rgba(255,255,255,.08) 50%, transparent 72%);
  animation: ek-shine 5.5s 2s ease-in-out infinite;
}
.ek-book-tag {
  font-size: .42rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #4ade80;
  position: relative; z-index: 1;
}
.ek-book-brand {
  display: flex;
  align-items: center;
  gap: .3rem;
  font-size: .6rem;
  font-weight: 700;
  color: rgba(255,255,255,.38);
  position: relative; z-index: 1;
}
.ek-book-name {
  font-size: 1.18rem;
  font-weight: 900;
  color: #fff;
  line-height: 1.18;
  letter-spacing: -.02em;
  margin: 0;
  flex: 1;
  display: flex;
  align-items: center;
  position: relative; z-index: 1;
}
.ek-book-foot {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid rgba(74,222,128,.14);
  padding-top: .55rem;
  font-size: .44rem;
  color: rgba(74,222,128,.5);
  letter-spacing: .07em;
  text-transform: uppercase;
  position: relative; z-index: 1;
}

/* ── Orbit rings ────────────────── */
.ek-ring {
  position: absolute;
  width: 300px; height: 300px;
  top: 50%; left: 50%;
  margin: -150px 0 0 -150px;
  border-radius: 50%;
  border: 1px dashed rgba(74,222,128,.1);
  animation: ek-orbit 20s linear infinite;
  pointer-events: none;
}
.ek-ring::before {
  content: '';
  position: absolute;
  inset: 35px;
  border-radius: 50%;
  border: 1px solid rgba(74,222,128,.06);
  animation: ek-orbit 12s linear infinite reverse;
}
.ek-ring-dot {
  position: absolute;
  top: -5px; left: calc(50% - 5px);
  width: 10px; height: 10px;
  border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 16px 5px rgba(74,222,128,.65);
}

/* ── Stats ──────────────────────── */
.ek-data {
  display: flex;
  width: 100%;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: .7rem;
  overflow: hidden;
  background: rgba(0,0,0,.22);
  opacity: 0;
}
.ek--on .ek-data { animation: ek-up .4s .85s both; }
.ek-datum {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .18rem;
  padding: .85rem .6rem;
  border-right: 1px solid rgba(255,255,255,.06);
  text-align: center;
}
.ek-datum:last-child { border-right: none; }
.ek-num {
  font-size: 1.38rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
  letter-spacing: -.03em;
  font-variant-numeric: tabular-nums;
}
.ek-datum span {
  font-size: .54rem;
  color: rgba(255,255,255,.26);
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* ── Responsive ─────────────────── */
@media (max-width: 860px) {
  .ek-body  { flex-direction: column; }
  .ek-sep   { display: none; }
  .ek-left  { padding: 2rem 1.6rem 1.5rem; gap: 1.1rem; }
  .ek-right { flex-basis: auto; padding: 1.2rem 1rem 2rem; overflow: hidden; }
  .ek-tl    { font-size: clamp(2rem, 7.5vw, 2.8rem); }
  .ek-book  { transform: none !important; transition: none; }
  .ek-ring  { display: none; }
  .ek-data  { max-width: 100%; }
  .ek-scene { width: 280px; height: 300px; }
  .ek-chip  { display: none; }
}

/* ══════════════════════════════════════════════════════
   SECTION CLIENTS — "Ils ont fait appel à nos services"
══════════════════════════════════════════════════════ */
#clients-section {
  padding: 6rem 5vw;
  background: var(--forest);
}
.clients-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-top: 3rem;
}
.client-card {
  flex: 1 1 200px;
  min-width: 180px;
  max-width: 240px;
  aspect-ratio: 16/9;
  background: rgba(242,237,228,.05);
  border: 1px solid rgba(242,237,228,.1);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: background .35s var(--ease), transform .35s var(--ease), border-color .35s, box-shadow .35s;
  position: relative;
  overflow: hidden;
}
.client-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(242,237,228,.04) 0%, transparent 60%);
  opacity: 0;
  transition: opacity .35s;
}
.client-card:hover {
  background: rgba(242,237,228,.09);
  border-color: rgba(242,237,228,.25);
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.25);
}
.client-card:hover::before { opacity: 1; }

.client-name {
  font-family: var(--ff-head);
  font-size: 1rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -.02em;
  text-align: center;
  padding: 1rem;
  line-height: 1.2;
}
.client-card.coming-soon .client-name {
  color: rgba(242,237,228,.2);
  font-size: .72rem;
  font-family: var(--ff-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* ── Client cards — animations ── */
@keyframes cc-shimmer {
  0%        { transform: translateX(-160%) skewX(-18deg); }
  55%, 100% { transform: translateX(260%)  skewX(-18deg); }
}
@keyframes cc-glow {
  0%,100% { border-color: rgba(242,237,228,.1);  box-shadow: none; }
  50%     { border-color: rgba(74,222,128,.4);   box-shadow: 0 0 22px rgba(74,222,128,.12); }
}

.client-card:not(.coming-soon)::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 55%;
  background: linear-gradient(90deg, transparent, rgba(74,222,128,.11), rgba(255,255,255,.07), transparent);
  animation: cc-shimmer 4s ease-in-out infinite;
  pointer-events: none;
}
.client-card:not(.coming-soon) {
  animation: cc-glow 3s ease-in-out infinite;
}
.client-card:not(.coming-soon):hover {
  animation-play-state: paused;
}

.clients-grid .client-card:nth-child(1)       { animation-delay: 0s;   }
.clients-grid .client-card:nth-child(1)::after { animation-delay: 0s;   }
.clients-grid .client-card:nth-child(2)        { animation-delay: .8s;  }
.clients-grid .client-card:nth-child(2)::after { animation-delay: .8s;  }
.clients-grid .client-card:nth-child(3)        { animation-delay: 1.6s; }
.clients-grid .client-card:nth-child(3)::after { animation-delay: 1.6s; }
.clients-grid .client-card:nth-child(4)        { animation-delay: 2.4s; }
.clients-grid .client-card:nth-child(4)::after { animation-delay: 2.4s; }

@media(max-width:640px){
  .x-card { width: 280px; }
  .clients-grid { justify-content: center; }
}

/* ─ Logos outils partenaires ─ */
.tool-logo-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  opacity: .72;
  transition: opacity .3s, transform .25s var(--ease);
  flex-shrink: 0;
}
.tool-logo-link:hover {
  opacity: 1;
  transform: translateY(-2px);
}
.tool-logo-link svg { display: block; }

/* ═══ SITE ANALYZER ════ */
.site-analyzer{
  position:relative;overflow:hidden;
  margin-top:4rem;border-radius:20px;
  background:var(--forest-d);
  border:1px solid rgba(242,237,228,.08);
}

.saz-grid-bg{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(242,237,228,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(242,237,228,.03) 1px,transparent 1px);
  background-size:44px 44px;
  pointer-events:none;
}
.saz-grid-bg::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 65% 55% at 50% 0%,rgba(242,237,228,.05) 0%,transparent 70%);
}
.saz-hero{
  position:relative;z-index:1;
  padding:3.5rem 3rem 0;
  text-align:center;
}
.saz-badge{
  display:inline-flex;align-items:center;gap:.5rem;
  background:rgba(242,237,228,.06);border:1px solid rgba(242,237,228,.12);
  border-radius:100px;padding:.35rem 1rem;
  font-family:var(--ff-mono);font-size:.62rem;color:var(--cream-2);
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.5rem;
}
.saz-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--cream-2);box-shadow:0 0 6px rgba(242,237,228,.4);animation:pulse-dot 2s ease-in-out infinite}
@keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:.3}}
.saz-hero-title{
  font-family:var(--ff-head);
  font-size:clamp(1.9rem,4.5vw,3.5rem);
  font-weight:900;
  color:var(--cream);
  letter-spacing:-.04em;
  line-height:1.08;
  margin-bottom:1rem;
}
.saz-hero-title em{
  font-style:italic;
  color:var(--cream-2);
  opacity:.75;
}
.saz-hero-sub{
  font-size:clamp(.85rem,1.4vw,.98rem);
  color:var(--dim);
  max-width:520px;
  margin:0 auto 2.5rem;
  line-height:1.65;
}
.saz-search-wrap{
  position:relative;z-index:1;
  padding:0 3rem 3rem;
  max-width:760px;margin:0 auto;
}
.saz-input-row{
  display:flex;gap:0;align-items:center;
  background:rgba(242,237,228,.04);
  border:1px solid rgba(242,237,228,.12);
  border-radius:8px;
  padding:.4rem .4rem .4rem 1.4rem;
  transition:border-color .3s,box-shadow .3s;
}
.saz-input-row:focus-within{
  border-color:rgba(242,237,228,.3);
  box-shadow:0 0 0 3px rgba(242,237,228,.05);
}
.saz-input{
  flex:1;background:transparent;border:none;
  padding:.65rem 0;color:var(--cream);
  font-family:var(--ff-body);font-size:.98rem;outline:none;
  min-width:0;
}
.saz-input::placeholder{color:var(--dimmer)}
.saz-btn{
  background:var(--cream);color:var(--forest-d);
  font-family:var(--ff-body);font-weight:700;
  font-size:.88rem;padding:.78rem 1.6rem;
  border:none;border-radius:5px;cursor:pointer;
  display:flex;align-items:center;gap:.5rem;
  white-space:nowrap;flex-shrink:0;
  transition:all .3s var(--ease);
  position:relative;overflow:hidden;
}
.saz-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.25) 0%,transparent 55%);opacity:0;transition:opacity .3s}
.saz-btn:hover::before{opacity:1}
.saz-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.3)}
.saz-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.saz-hints{
  display:flex;gap:1.5rem;margin-top:.8rem;
  flex-wrap:wrap;justify-content:center;
}
.saz-hint-item{
  font-family:var(--ff-mono);font-size:.58rem;
  color:var(--dimmer);letter-spacing:.07em;
  display:flex;align-items:center;gap:.35rem;
}
.saz-hint-item::before{content:'·';color:var(--cream-2);opacity:.6;font-size:.8rem}
.saz-loading{
  position:relative;z-index:1;
  margin:0 3rem 2.5rem;padding:1.5rem 1.8rem;
  background:rgba(242,237,228,.03);
  border:1px solid rgba(242,237,228,.07);border-radius:12px;
}
.saz-prog-wrap{height:1px;background:rgba(242,237,228,.08);border-radius:100px;overflow:hidden;margin-bottom:1.5rem}
.saz-prog-bar{height:100%;background:var(--cream-2);border-radius:100px;width:0%;transition:width .5s ease}
.saz-steps{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .75rem}
@media(max-width:600px){.saz-steps{grid-template-columns:1fr}}
.saz-step{font-family:var(--ff-mono);font-size:.65rem;color:var(--dimmer);letter-spacing:.05em;display:flex;align-items:center;gap:.5rem;opacity:.35;transition:opacity .4s,color .4s}
.saz-step.saz-active{opacity:1;color:var(--cream-2)}
.saz-step.saz-done{opacity:.55;color:var(--dim)}
.saz-results-wrap{
  position:relative;z-index:1;
  padding:0 2rem 2.5rem;
}
.saz-results-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:1.4rem;padding:.85rem 1.2rem;
  background:rgba(242,237,228,.03);border:1px solid rgba(242,237,228,.07);
  border-radius:10px;flex-wrap:wrap;gap:.75rem;
}
.saz-domain-pill{
  display:inline-flex;align-items:center;gap:.4rem;
  font-family:var(--ff-mono);font-size:.72rem;color:var(--dim);
}
.saz-global-wrap{display:flex;align-items:baseline;gap:.3rem}
.saz-global-num{font-family:var(--ff-head);font-size:2.2rem;font-weight:900;letter-spacing:-.04em;line-height:1}
.saz-global-num.good{color:#4ade80}.saz-global-num.mid{color:#facc15}.saz-global-num.bad{color:#f87171}
.saz-global-lbl{font-family:var(--ff-mono);font-size:.6rem;letter-spacing:.06em;color:var(--dimmer)}
.saz-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem;margin-bottom:1.6rem}
.saz-card{background:rgba(242,237,228,.03);border:1px solid rgba(242,237,228,.07);border-radius:12px;padding:1.2rem;transition:border-color .3s,transform .3s}
.saz-card:hover{border-color:rgba(242,237,228,.15);transform:translateY(-2px)}
.saz-card-head{display:flex;align-items:center;gap:.55rem;margin-bottom:.75rem}
.saz-card-icon{font-size:1rem}
.saz-card-label{font-family:var(--ff-head);font-size:.8rem;font-weight:700;color:var(--cream);flex:1;letter-spacing:-.01em}
.saz-score-num{font-family:var(--ff-head);font-size:1.35rem;font-weight:900;letter-spacing:-.03em;line-height:1}
.saz-slash{font-size:.58rem;color:var(--dimmer);font-weight:400;margin-left:.1rem}
.saz-score-num.good{color:#4ade80}.saz-score-num.mid{color:#facc15}.saz-score-num.bad{color:#f87171}
.saz-bar-wrap{height:1px;background:rgba(242,237,228,.08);border-radius:100px;overflow:hidden;margin-bottom:.8rem}
.saz-bar-fill{height:100%;border-radius:100px;transition:width 1.2s var(--ease)}
.saz-bar-fill.good{background:#4ade80}.saz-bar-fill.mid{background:#facc15}.saz-bar-fill.bad{background:#f87171}
.saz-details-wrap{font-size:.72rem;color:var(--dim);line-height:1.6}
.saz-detail-item{display:flex;align-items:flex-start;gap:.4rem;margin-bottom:.2rem}
.saz-di{font-size:.63rem;margin-top:.15rem;flex-shrink:0}
.saz-di-ok{color:#4ade80}.saz-di-mid{color:#facc15}.saz-di-bad{color:#f87171}
.saz-detail-locked{filter:blur(3.5px);user-select:none;opacity:.3;margin-bottom:.2rem;pointer-events:none;font-size:.7rem}
.saz-lock-badge{display:block;margin-top:.5rem;font-family:var(--ff-mono);font-size:.54rem;color:var(--dimmer);letter-spacing:.05em;background:rgba(242,237,228,.04);border:1px solid rgba(242,237,228,.07);border-radius:4px;padding:.18rem .5rem;width:fit-content}
/* ─── AI Insights Banner ─── */
.saz-ai-banner{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;background:rgba(16,45,40,.8);border:1px solid rgba(74,222,128,.2);border-radius:12px;padding:1.2rem 1.4rem;margin-bottom:1rem}
.saz-ai-header{flex:1;min-width:0}
.saz-ai-badge{display:inline-block;background:rgba(74,222,128,.15);color:#4ade80;border:1px solid rgba(74,222,128,.3);border-radius:20px;font-size:.65rem;font-weight:700;letter-spacing:.08em;padding:.18rem .65rem;margin-bottom:.5rem}
.saz-ai-resume{display:block;font-size:.83rem;color:var(--cream);line-height:1.55}
.saz-ai-geo{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:64px}
.saz-geo-score{font-family:var(--ff-head);font-size:2rem;font-weight:800;line-height:1}
.saz-geo-label{font-size:.6rem;color:var(--dim);text-align:center;line-height:1.3;letter-spacing:.04em}
.saz-ai-locked{width:100%;font-size:.7rem;color:var(--dimmer);background:rgba(242,237,228,.04);border:1px solid rgba(242,237,228,.07);border-radius:4px;padding:.3rem .7rem;text-align:center}

.saz-dl-wrap{
  padding:1.8rem;text-align:center;
  background:rgba(242,237,228,.03);
  border:1px solid rgba(242,237,228,.08);border-radius:12px;
}
.saz-dl-title{font-family:var(--ff-head);font-size:1.05rem;font-weight:700;color:var(--cream);margin-bottom:.35rem;letter-spacing:-.02em}
.saz-dl-sub{font-size:.8rem;color:var(--dim);margin-bottom:1.1rem;line-height:1.55}
.saz-dl-btn{
  background:var(--cream);color:var(--forest-d);
  font-family:var(--ff-body);font-weight:700;font-size:.88rem;
  padding:.88rem 1.8rem;border:none;border-radius:5px;cursor:pointer;
  display:inline-flex;align-items:center;gap:.55rem;
  transition:all .3s var(--ease);
  margin-bottom:.8rem;position:relative;overflow:hidden;
}
.saz-dl-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.25) 0%,transparent 55%);opacity:0;transition:opacity .3s}
.saz-dl-btn:hover::before{opacity:1}
.saz-dl-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.3)}
.saz-dl-note{font-size:.75rem;color:var(--dimmer);line-height:1.55;max-width:460px;margin:0 auto}
.saz-dl-note strong{color:var(--dim)}
@media(max-width:768px){
  .saz-hero{padding:2.5rem 1.5rem 0}
  .saz-search-wrap{padding:0 1.5rem 2rem}
  .saz-loading{margin:0 1.5rem 2rem}
  .saz-results-wrap{padding:0 1.5rem 2rem}
  .saz-cards-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .saz-input-row{border-radius:6px;padding:.4rem}
  .saz-btn{border-radius:4px;width:100%;justify-content:center}
  .saz-input{padding:.55rem .6rem}
  .saz-cards-grid{grid-template-columns:1fr}
}

/* ─── Service press expand ─── */
.srv-item { position:relative; }
.srv-item .srv {
  cursor:pointer;
  border-bottom:1px solid rgba(242,237,228,0.07);
}
.srv-item .srv.open .srv-arr {
  background:var(--cream);color:var(--forest-d);
  border-color:var(--cream);transform:rotate(45deg);
  box-shadow:0 0 30px rgba(242,237,228,0.15);
}
.srv-press {
  overflow:hidden;
  max-height:0;
  transition:max-height .6s cubic-bezier(0.16,1,0.3,1), padding .4s;
  padding:0 0;
}
.srv-press.open {
  max-height:900px;
  padding:2rem 0 2.5rem;
}
.srv-press-label {
  font-family:var(--ff-mono);font-size:.58rem;color:var(--dimmer);
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.2rem;
  display:flex;align-items:center;gap:.6rem;
}
.srv-press-label::before { content:'';width:18px;height:1px;background:var(--dimmer); }
.srv-press-grid {
  display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;
}
@media(max-width:600px){ .srv-press-grid{grid-template-columns:1fr} }

.srv-press-card {
  display:flex;flex-direction:column;text-decoration:none;
  background:rgba(242,237,228,.04);
  border:1px solid rgba(242,237,228,.08);
  border-radius:14px;overflow:hidden;
  transition:border-color .3s,transform .3s,background .3s;
  position:relative;
}
.srv-press-card::after {
  content:'';position:absolute;inset:0;border-radius:14px;
  background:linear-gradient(135deg,rgba(242,237,228,.04) 0%,transparent 60%);
  opacity:0;transition:opacity .3s;pointer-events:none;
}
.srv-press-card:hover { border-color:rgba(242,237,228,.2);transform:translateY(-3px);background:rgba(242,237,228,.07); }
.srv-press-card:hover::after { opacity:1; }

.srv-press-thumb {
  width:100%;height:130px;object-fit:cover;
  border-bottom:1px solid rgba(242,237,228,.06);
  display:block;opacity:.85;
}
.srv-press-thumb-placeholder {
  width:100%;height:130px;
  background:linear-gradient(135deg,rgba(12,59,53,.6) 0%,rgba(8,31,27,.8) 100%);
  border-bottom:1px solid rgba(242,237,228,.06);
  display:flex;align-items:center;justify-content:center;
}
.srv-press-thumb-placeholder svg { opacity:.15; }

.srv-press-body { padding:1.1rem 1.2rem 1.2rem;display:flex;flex-direction:column;flex:1;gap:.55rem; }

.srv-press-top { display:flex;align-items:center;justify-content:space-between;gap:.5rem; }
.srv-press-src {
  font-family:var(--ff-mono);font-size:.6rem;color:var(--cream);
  letter-spacing:.08em;text-transform:uppercase;
  background:rgba(242,237,228,.1);border:1px solid rgba(242,237,228,.12);
  border-radius:100px;padding:.18rem .55rem;
  display:inline-flex;align-items:center;gap:.3rem;flex-shrink:0;
}
.srv-press-src-dot { width:5px;height:5px;border-radius:50%;background:var(--cream);opacity:.6;flex-shrink:0; }
.srv-press-date { font-family:var(--ff-mono);font-size:.58rem;color:var(--dimmer);white-space:nowrap; }

.srv-press-title {
  font-family:var(--ff-head);font-size:.88rem;font-weight:700;
  color:var(--cream-2);line-height:1.4;letter-spacing:-.01em;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  flex:1;
}

.srv-press-footer { display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.5rem; }
.srv-press-cat { font-family:var(--ff-mono);font-size:.58rem;color:var(--dimmer); }
.srv-press-arrow {
  width:28px;height:28px;border-radius:50%;
  border:1px solid rgba(242,237,228,.12);
  display:flex;align-items:center;justify-content:center;
  color:var(--cream-2);opacity:.5;transition:opacity .3s,border-color .3s,background .3s;flex-shrink:0;
}
.srv-press-card:hover .srv-press-arrow { opacity:1;border-color:rgba(242,237,228,.3);background:rgba(242,237,228,.07); }

/* Skeleton loading */
.press-skel {
  border-radius:14px;overflow:hidden;
  border:1px solid rgba(242,237,228,.06);
  background:rgba(242,237,228,.03);
}
.press-skel-img { height:130px;background:rgba(242,237,228,.05); animation:skel-shim 1.6s ease-in-out infinite; }
.press-skel-body { padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.6rem; }
.press-skel-line {
  height:9px;border-radius:6px;
  background:linear-gradient(90deg,rgba(242,237,228,.04) 25%,rgba(242,237,228,.09) 50%,rgba(242,237,228,.04) 75%);
  background-size:300% 100%;
  animation:skel-shim 1.6s ease-in-out infinite;
}
.press-skel-line.w60{ width:60%; }
.press-skel-line.w80{ width:80%; }
.press-skel-line.w45{ width:45%; }
@keyframes skel-shim{ 0%{background-position:100% 0} 100%{background-position:-100% 0} }
.press-error { font-family:var(--ff-mono);font-size:.72rem;color:var(--dimmer);padding:1.5rem;text-align:center;grid-column:1/-1; }

/* ── Modal Paiement PayPal ── */
#pay-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 9000;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}
#pay-modal-overlay.open { display: flex; }
#pay-modal {
  background: #0e2b25;
  border: 1px solid rgba(242,237,228,.12);
  border-radius: 1.25rem;
  padding: 2.25rem 2rem 2rem;
  max-width: 440px;
  width: 100%;
  box-shadow: 0 32px 80px rgba(0,0,0,.55);
  position: relative;
  animation: payModalIn .25s ease;
}
@keyframes payModalIn {
  from { opacity:0; transform:translateY(14px) scale(.97); }
  to   { opacity:1; transform:none; }
}
#pay-modal-close {
  position: absolute;
  top: 1rem; right: 1rem;
  background: none;
  border: none;
  color: rgba(242,237,228,.4);
  font-size: 1.4rem;
  cursor: pointer;
  line-height: 1;
  padding: .25rem .5rem;
  border-radius: .4rem;
  transition: color .2s;
}
#pay-modal-close:hover { color: rgba(242,237,228,.9); }
.pay-modal-badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: rgba(74,222,128,.12);
  color: #4ade80;
  border: 1px solid rgba(74,222,128,.25);
  border-radius: 2rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .3rem .75rem;
  margin-bottom: 1.1rem;
}
.pay-modal-badge span { width:6px;height:6px;background:#4ade80;border-radius:50%;display:inline-block; }
#pay-modal h3 {
  font-family: var(--ff-head);
  font-size: 1.35rem;
  color: var(--cream);
  margin: 0 0 .4rem;
  line-height: 1.25;
}
#pay-modal .pay-sub {
  color: var(--dimmer);
  font-size: .85rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.pay-features {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  margin-bottom: 1.75rem;
}
.pay-feature {
  display: flex;
  align-items: center;
  gap: .65rem;
  font-size: .85rem;
  color: var(--cream-2);
}
.pay-feature-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(74,222,128,.15);
  border: 1px solid rgba(74,222,128,.3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: .7rem;
  color: #4ade80;
}
.pay-price-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .25rem;
  margin-bottom: 1.5rem;
}
.pay-price {
  font-family: var(--ff-head);
  font-size: 2.4rem;
  color: var(--cream);
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.pay-price-note {
  font-size: .75rem;
  color: var(--dimmer);
}
#paypal-btn-container { min-height: 48px; }
#pay-modal .pay-secure {
  text-align: center;
  font-size: .72rem;
  color: var(--dimmer);
  margin-top: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
}

/* Modal succès */
#pay-success-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 9001;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}
#pay-success-overlay.open { display: flex; }
#pay-success-modal {
  background: #0e2b25;
  border: 1px solid rgba(74,222,128,.3);
  border-radius: 1.25rem;
  padding: 2.5rem 2rem;
  max-width: 380px;
  width: 100%;
  text-align: center;
  animation: payModalIn .25s ease;
}
.pay-success-icon {
  width: 64px; height: 64px;
  border-radius: 50%;
  background: rgba(74,222,128,.15);
  border: 2px solid #4ade80;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.8rem;
  margin: 0 auto 1.25rem;
}
#pay-success-modal h3 {
  font-family: var(--ff-head);
  font-size: 1.3rem;
  color: var(--cream);
  margin-bottom: .5rem;
}
#pay-success-modal p {
  color: var(--dimmer);
  font-size: .85rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.pay-dl-btn {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  background: #4ade80;
  color: #081f1b;
  font-weight: 700;
  font-size: .95rem;
  border: none;
  border-radius: .6rem;
  padding: .9rem 1.75rem;
  cursor: pointer;
  transition: transform .2s, box-shadow .2s;
}
.pay-dl-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(74,222,128,.3); }

/* ══ MODALES LÉGALES ══ */
.z-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem}
.z-modal[hidden]{display:none}
.z-modal-overlay{position:absolute;inset:0;background:rgba(8,31,27,.85);backdrop-filter:blur(4px);cursor:pointer}
.z-modal-box{
  position:relative;z-index:1;
  background:#0e4a42;border:1px solid rgba(242,237,228,.12);border-radius:16px;
  width:100%;max-width:720px;max-height:85vh;overflow-y:auto;
  padding:2.5rem;scrollbar-width:thin;scrollbar-color:rgba(242,237,228,.2) transparent;
}
.z-modal-close{
  position:absolute;top:1rem;right:1rem;
  background:rgba(242,237,228,.08);border:1px solid rgba(242,237,228,.12);
  color:rgba(242,237,228,.6);border-radius:50%;width:32px;height:32px;
  cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;
  transition:all .2s;
}
.z-modal-close:hover{background:rgba(242,237,228,.15);color:#F2EDE4}
.z-modal-box h2{
  font-family:'Clash Display',sans-serif;font-size:1.6rem;font-weight:700;
  color:#F2EDE4;margin-bottom:1.5rem;letter-spacing:-.03em;
}
.z-modal-box h3{
  font-family:'Clash Display',sans-serif;font-size:1rem;font-weight:600;
  color:#F2EDE4;margin:1.5rem 0 .5rem;
}
.z-modal-content p,.z-modal-content li{color:rgba(242,237,228,.75);font-size:.9rem;line-height:1.7;margin-bottom:.5rem}
.z-modal-content a{color:#F2EDE4;text-decoration:underline;text-underline-offset:3px}
.z-modal-content ul{margin-left:1.2rem;margin-bottom:.5rem}
.z-modal-content em{color:rgba(242,237,228,.5);font-size:.82rem}
.z-table{width:100%;border-collapse:collapse;font-size:.82rem;margin:.75rem 0 1rem}
.z-table th{background:rgba(242,237,228,.08);color:#F2EDE4;padding:.5rem .75rem;text-align:left;border-bottom:1px solid rgba(242,237,228,.12)}
.z-table td{color:rgba(242,237,228,.7);padding:.5rem .75rem;border-bottom:1px solid rgba(242,237,228,.07);vertical-align:top}

/* ══ BANDEAU RGPD ══ */
#zgdpr{
  position:fixed;bottom:1.5rem;left:1.5rem;
  z-index:9500;width:320px;
  background:rgba(8,31,27,.98);border:1px solid rgba(242,237,228,.12);
  border-radius:14px;backdrop-filter:blur(24px);
  box-shadow:0 16px 48px rgba(0,0,0,.5);
  font-family:'Cabinet Grotesk',sans-serif;
  transition:transform .4s cubic-bezier(0.16,1,0.3,1),opacity .4s;
}
#zgdpr.zgdpr-hidden{transform:translateY(130%);opacity:0;pointer-events:none}
.zgdpr-main{display:flex;flex-direction:column;gap:.85rem;padding:1.4rem 1.3rem 1.1rem}
.zgdpr-icon{display:none}
.zgdpr-text{flex:1}
.zgdpr-text strong{color:#F2EDE4;font-size:.85rem;display:block;margin-bottom:.25rem}
.zgdpr-text p{color:rgba(242,237,228,.5);font-size:.75rem;line-height:1.45;margin:0}
.zgdpr-link{color:rgba(242,237,228,.5);font-size:.75rem;text-decoration:underline;text-underline-offset:2px;display:inline-block;margin-top:.3rem}
.zgdpr-link:hover{color:#F2EDE4}
.zgdpr-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.zgdpr-sublinks{display:flex;align-items:center;gap:.5rem;justify-content:center;width:100%;margin-top:.4rem;text-align:center}
.zgdpr-sep{color:rgba(242,237,228,.25);font-size:.75rem}
.zgdpr-btn{font-size:.78rem;
  padding:.55rem 1.1rem;border-radius:6px;border:none;
  font-family:'Cabinet Grotesk',sans-serif;font-size:.8rem;font-weight:600;
  cursor:pointer;transition:all .25s;white-space:nowrap;
}
.zgdpr-close{position:absolute;top:.6rem;right:.7rem;background:none;border:none;outline:none;color:#F2EDE4;font-size:1.3rem;cursor:pointer;line-height:1;padding:0;transition:opacity .2s}
.zgdpr-close:hover{opacity:.6}
.zgdpr-accept{background:#F2EDE4;color:#081F1B;font-weight:700;width:100%;padding:.75rem;font-size:.9rem}
.zgdpr-accept:hover{background:#fff;transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,.3)}
.zgdpr-refuse{background:transparent;color:rgba(242,237,228,.6);border:1px solid rgba(242,237,228,.2)}
.zgdpr-refuse:hover{color:#F2EDE4;border-color:rgba(242,237,228,.4)}
.zgdpr-customize{background:rgba(242,237,228,.08);color:rgba(242,237,228,.8);border:1px solid rgba(242,237,228,.12)}
.zgdpr-customize:hover{background:rgba(242,237,228,.12);color:#F2EDE4}

/* Panneau paramètres */
.zgdpr-custom{padding:1.1rem 1.3rem 1.2rem;border-top:1px solid rgba(242,237,228,.08)}
.zgdpr-custom[hidden]{display:none}
.zgdpr-custom-header{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}
.zgdpr-back{background:rgba(242,237,228,.08);border:1px solid rgba(242,237,228,.15);color:#F2EDE4;font-size:.78rem;font-weight:600;padding:.35rem .75rem;border-radius:6px;cursor:pointer;transition:background .2s;font-family:'Cabinet Grotesk',sans-serif;white-space:nowrap}
.zgdpr-back:hover{background:rgba(242,237,228,.15)}
.zgdpr-custom-title{color:#F2EDE4;font-size:.9rem;font-weight:700;font-family:'Clash Display',sans-serif}
.zgdpr-row-simple{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid rgba(242,237,228,.06)}
.zgdpr-row-simple span{color:rgba(242,237,228,.75);font-size:.82rem;font-weight:500}
.zgdpr-toggle{
  width:44px;height:24px;border-radius:100px;flex-shrink:0;
  background:rgba(242,237,228,.15);position:relative;cursor:pointer;
  transition:background .3s;border:1px solid rgba(242,237,228,.15);
}
.zgdpr-toggle.zgdpr-toggle-on{background:#0C3B35;border-color:rgba(242,237,228,.3)}
.zgdpr-toggle.zgdpr-disabled{cursor:default;background:rgba(16,180,150,.4);border-color:rgba(16,180,150,.5)}
.zgdpr-toggle-knob{
  position:absolute;top:2px;left:2px;width:18px;height:18px;
  border-radius:50%;background:#F2EDE4;transition:transform .3s;
  box-shadow:0 1px 4px rgba(0,0,0,.3);
}
.zgdpr-toggle.zgdpr-toggle-on .zgdpr-toggle-knob,.zgdpr-toggle.zgdpr-disabled .zgdpr-toggle-knob{transform:translateX(20px)}
.zgdpr-custom-actions{display:flex;gap:.6rem;margin-top:1rem;justify-content:center}
.zgdpr-tag{display:inline-block;background:rgba(74,222,128,.12);border:1px solid rgba(74,222,128,.25);color:#4ade80;font-size:.65rem;font-weight:600;padding:1px 7px;border-radius:100px;margin-left:.4rem;vertical-align:middle;letter-spacing:.04em}
.zgdpr-vendors{color:rgba(242,237,228,.3);font-size:.7rem;margin-top:.3rem}
.zgdpr-custom-note{color:rgba(242,237,228,.25);font-size:.68rem;line-height:1.4;margin-top:.8rem;text-align:center}
.zgdpr-save-disabled{opacity:.35;cursor:not-allowed !important}
.zgdpr-refuse-link{text-align:center;margin-top:.6rem}
.zgdpr-refuse-link a{color:rgba(242,237,228,.3);font-size:.72rem;text-decoration:underline;text-underline-offset:2px;transition:color .2s}
.zgdpr-refuse-link a:hover{color:rgba(242,237,228,.6)}

/* ── WhatsApp floating button ── */
#wa-float{
  position:fixed;bottom:1.4rem;right:1.4rem;z-index:9400;
  width:52px;height:52px;border-radius:50%;
  background:linear-gradient(135deg,#1e7a6e 0%,#0C3B35 100%);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(30,122,110,.5),0 2px 8px rgba(0,0,0,.25);
  cursor:pointer;text-decoration:none;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;
}
#wa-float::before{
  content:'';
  position:absolute;
  inset:-5px;
  border-radius:50%;
  border:2px solid transparent;
  border-top-color:rgba(255,255,255,.9);
  border-right-color:rgba(255,255,255,.4);
  animation:wa-spin 2.4s linear infinite;
  pointer-events:none;
}
#wa-float:hover{
  transform:scale(1.1);
  box-shadow:0 6px 28px rgba(12,59,53,.8),0 4px 14px rgba(0,0,0,.35);
}
#wa-float:hover::before{ animation-duration:.8s; }
#wa-float svg{ width:30px;height:30px;fill:#F2EDE4; }
#wa-tooltip{
  position:absolute;right:68px;top:50%;transform:translateY(-50%);
  background:rgba(8,31,27,.95);color:#F2EDE4;
  font-family:var(--ff-body);font-size:.78rem;white-space:nowrap;
  padding:.45rem .85rem;border-radius:8px;
  border:1px solid rgba(242,237,228,.15);
  opacity:0;pointer-events:none;
  transition:opacity .2s,transform .2s;
  transform:translateY(-50%) translateX(6px);
  backdrop-filter:blur(10px);
}
#wa-float:hover #wa-tooltip{
  opacity:1;transform:translateY(-50%) translateX(0);
}
@keyframes wa-spin{
  to{ transform:rotate(360deg); }
}
@media(max-width:768px){
  #wa-float{ width:46px;height:46px;bottom:1rem;right:1rem; }
  #wa-float svg{ width:24px;height:24px; }
  #wa-tooltip{ display:none; }
}

/* Responsive */
@media(max-width:640px){
  .zgdpr-main{flex-direction:column;align-items:flex-start;gap:.9rem}
  .zgdpr-actions{width:100%;justify-content:stretch}
  .zgdpr-btn{font-size:.78rem;flex:1;text-align:center}
  .z-modal-box{padding:1.5rem;border-radius:12px}
  .zgdpr-toggle-row{flex-direction:column;align-items:flex-start}
}

.srv-press-thumb-placeholder.thumb-img::before{content:"";display:block;width:36px;height:36px;background:url("data:image/svg+xml;utf8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2736%27 height=%2736%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27rgba(242,237,228,.3)%27 stroke-width=%271.5%27%3E%3Crect x=%273%27 y=%273%27 width=%2718%27 height=%2718%27 rx=%272%27/%3E%3Cpath d=%27M3 9h18M9 21V9%27/%3E%3C/svg%3E") no-repeat center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
/* ─ Cloudflare Turnstile (anti-spam) ─ */
.turnstile-grp{margin:1rem 0;transition:all .3s}
.turnstile-grp .cf-turnstile{display:inline-block;min-height:65px}
#turnstile-wrap[style*="display: none"]{margin:0}
.captcha-error{display:block;color:#f87171;font-size:.78rem;margin-top:.4rem;font-family:var(--ff-mono)}

/* ─ Press card OG-image thumbnails ─ */
.srv-press-thumb-placeholder{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:rgba(8,31,27,0.5);
  display:flex;align-items:center;justify-content:center;
  border-radius:8px 8px 0 0;
}
.srv-press-img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s var(--ease), opacity .4s;
  opacity:0;
}
.srv-press-img[src]:not([src=""]){animation:fadeInImg .4s forwards}
@keyframes fadeInImg{from{opacity:0}to{opacity:1}}
.srv-press-card:hover .srv-press-img{transform:scale(1.05)}

/* ══════════════════════════════════════════════
   PAGE CONTACT DÉDIÉE — contact.html
══════════════════════════════════════════════ */

/* Hero */
.contact-hero {
  min-height: 42vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 8rem 1.5rem 4rem;
  background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(74,222,128,.07) 0%, transparent 70%);
}
.contact-hero-inner { max-width: 680px; }
.contact-hero-inner h1 {
  font-family: var(--ff-head);
  font-size: clamp(2.8rem, 7vw, 5rem);
  font-weight: 800;
  color: var(--cream);
  letter-spacing: -.04em;
  line-height: 1.05;
  margin-bottom: 1.2rem;
}
.contact-hero-inner h1 em {
  font-style: normal;
  background: linear-gradient(135deg, var(--green-lt) 0%, var(--green) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.contact-hero-sub {
  font-size: 1.05rem;
  color: var(--dim);
  line-height: 1.65;
  max-width: 520px;
  margin: 0 auto 2rem;
}
.contact-hero .ct-meta {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  align-items: center;
}
.contact-hero .meta-row {
  display: flex;
  align-items: center;
  gap: .6rem;
  font-size: .85rem;
  color: var(--dim);
}
.contact-hero .meta-icon {
  font-size: 1rem;
}

/* Formulaire + aside */
.contact-form-section {
  padding: 2rem 1.5rem 6rem;
}
.contact-form-wrap {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 860px) {
  .contact-form-wrap {
    grid-template-columns: 1fr;
  }
}

/* Aside infos */
.contact-aside {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  position: sticky;
  top: 6rem;
}
.contact-aside-block {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  background: rgba(242,237,228,.03);
  border: 1px solid rgba(242,237,228,.07);
  border-radius: 12px;
  padding: 1.1rem 1.2rem;
}
.ca-icon { font-size: 1.4rem; flex-shrink: 0; margin-top: .1rem; }
.ca-label {
  font-size: .72rem;
  color: var(--dimmer);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: .2rem;
}
.ca-val {
  font-size: .92rem;
  color: var(--cream);
  text-decoration: none;
  font-weight: 500;
}
a.ca-val:hover { color: var(--green-lt); }

.contact-socials {
  display: flex;
  gap: .8rem;
  padding: .5rem 0;
}
.contact-socials a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border-radius: 50%;
  background: rgba(242,237,228,.06);
  border: 1px solid rgba(242,237,228,.1);
  color: var(--dim);
  transition: all .3s var(--ease);
}
.contact-socials a:hover {
  background: rgba(74,222,128,.12);
  border-color: rgba(74,222,128,.3);
  color: var(--green-lt);
  transform: translateY(-2px);
}

/* ══════════════════════════════════════════════════════
   📱 MOBILE ADJUSTMENTS — desktop préservé à 100 %
   Bloc unique appliqué uniquement à max-width: 767 px
   (toutes les pages partagent ce fichier styles.css)
══════════════════════════════════════════════════════ */

/* Burger button — caché par défaut (desktop) */
.nav-burger{
  display:none;
  background:transparent;border:1px solid rgba(242,237,228,.18);
  border-radius:8px;padding:.55rem;cursor:pointer;
  width:42px;height:42px;
  align-items:center;justify-content:center;flex-direction:column;gap:4px;
  margin-left:auto;position:relative;z-index:1002;
  transition:background .25s;
}
.nav-burger:hover{background:rgba(242,237,228,.06);}
.nav-burger span{
  display:block;width:20px;height:2px;background:var(--cream);
  border-radius:2px;transition:transform .3s var(--ease), opacity .2s;
}
nav.is-open .nav-burger span:nth-child(1){transform:translateY(6px) rotate(45deg);}
nav.is-open .nav-burger span:nth-child(2){opacity:0;}
nav.is-open .nav-burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

@media (max-width: 767px){

  /* ── 1. Navigation mobile — burger + full-screen overlay ── */
  .nav-burger{ display:flex; }

  /* Burger : lignes plus larges et mieux proportionnées */
  .nav-burger{ width:46px; height:46px; border-radius:10px; gap:5px; }
  .nav-burger span{ width:22px; height:2px; }
  /* Burger X quand ouvert */
  nav.is-open .nav-burger{ background:rgba(242,237,228,.08); border-color:rgba(242,237,228,.25); }

  /* Full-screen overlay */
  .nav-links{
    display:flex !important;
    position:fixed;
    top:0; left:0; right:0;
    height:100dvh;
    background:#081f1b;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    padding:5.5rem 2rem 2rem;
    gap:0;
    transform:translateY(-100%);
    transition:transform .55s cubic-bezier(.77,0,.175,1);
    z-index:1001;
    overflow-y:auto;
    overflow-x:hidden;
  }
  /* Gradient overlay subtil */
  .nav-links::before{
    content:'';
    position:absolute; inset:0;
    background:radial-gradient(ellipse 80% 60% at 85% 15%, rgba(74,222,128,.07) 0%, transparent 65%),
               radial-gradient(ellipse 50% 40% at 10% 80%, rgba(74,222,128,.05) 0%, transparent 60%);
    pointer-events:none;
  }
  nav.is-open .nav-links{ transform:translateY(0); }

  /* Items */
  .nav-links li{ list-style:none; width:100%; position:relative; z-index:1; }

  /* Stagger : items cachés au départ, apparaissent à l'ouverture */
  .nav-links li{
    opacity:0;
    transform:translateY(24px);
    transition:opacity .4s, transform .4s;
  }
  nav.is-open .nav-links li{ opacity:1; transform:none; }
  nav.is-open .nav-links li:nth-child(1){ transition-delay:.12s; }
  nav.is-open .nav-links li:nth-child(2){ transition-delay:.18s; }
  nav.is-open .nav-links li:nth-child(3){ transition-delay:.24s; }
  nav.is-open .nav-links li:nth-child(4){ transition-delay:.30s; }
  nav.is-open .nav-links li:nth-child(5){ transition-delay:.36s; }
  nav.is-open .nav-links li:nth-child(6){ transition-delay:.42s; }

  /* Compteur numérotation */
  .nav-links{ counter-reset: nav-num; }
  .nav-links li:not(:has(.nav-cta)){ counter-increment: nav-num; }

  /* Liens principaux — grande typographie */
  .nav-links a:not(.nav-cta){
    display:block !important;
    width:100%;
    padding:.6rem 0;
    font-size:clamp(1.7rem,7.5vw,2.8rem);
    font-weight:800;
    letter-spacing:-.04em;
    line-height:1.05;
    white-space:nowrap;
    color:rgba(242,237,228,.82);
    border:none !important;
    border-bottom:1px solid rgba(242,237,228,.06) !important;
    border-radius:0 !important;
    transition:color .2s, transform .25s;
    position:relative;
  }
  .nav-links a:not(.nav-cta)::after{ display:none !important; }
  .nav-links a:not(.nav-cta):active{ color:#4ade80; transform:translateX(6px); }

  /* Numéro en petit avant chaque lien principal */
  .nav-links li:not(:has(.nav-cta)) a::before{
    content:"0" counter(nav-num);
    display:block;
    font-family:var(--ff-mono);
    font-size:.52rem;
    font-weight:600;
    letter-spacing:.14em;
    color:#4ade80;
    margin-bottom:.15rem;
  }

  /* ── CTA row : 2 boutons sur une ligne en haut ── */
  /* ── CTA cards premium (menu burger) ── */
  .nav-cta-row{
    display:flex;
    flex-direction:column;
    gap:.45rem;
    margin-bottom:1.6rem;
    padding-bottom:1.5rem;
    border-bottom:1px solid rgba(242,237,228,.07);
    width:100%;
    opacity:0;
    transform:translateY(16px);
    transition:opacity .35s .08s, transform .35s .08s;
  }
  nav.is-open .nav-cta-row{ opacity:1; transform:none; }

  .ncta-card{
    display:block;
    text-decoration:none;
    border-radius:14px;
    padding:1rem 1.1rem;
    position:relative;
    overflow:hidden;
    transition:transform .18s, opacity .18s;
  }
  .ncta-card:active{ transform:scale(.97); opacity:.85; }

  /* Carte principale — Démarrer mon projet */
  .ncta-primary{
    background:linear-gradient(135deg, rgba(74,222,128,.11) 0%, rgba(74,222,128,.03) 100%);
    border:1px solid rgba(74,222,128,.22);
    box-shadow:0 0 28px rgba(74,222,128,.05);
  }
  .ncta-primary::before{
    content:'';
    position:absolute;
    top:0; left:0; right:0; height:1px;
    background:linear-gradient(90deg, transparent 0%, rgba(74,222,128,.55) 50%, transparent 100%);
  }

  /* Carte e-book — amber/gold */
  .ncta-ebook{
    background:linear-gradient(135deg,rgba(251,191,36,.1) 0%,rgba(251,146,60,.05) 100%);
    border:1px solid rgba(251,191,36,.22);
    display:flex;
    align-items:center;
    gap:.85rem;
    padding:.9rem 1rem;
  }
  /* Higher-specificity override (0,3,1 > 0,2,1) to beat .nav-links a:not(.nav-cta) */
  .nav-links a.ncta-card.ncta-ebook{ display:flex !important; align-items:center !important; }
  .ncta-ebook::before{
    content:'';
    position:absolute;
    top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent 0%,rgba(251,191,36,.45) 50%,transparent 100%);
  }
  .ncta-ebook-icon{
    width:40px;height:40px;
    background:rgba(251,191,36,.1);
    border:1px solid rgba(251,191,36,.2);
    border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    color:#fbbf24;
    flex-shrink:0;
  }
  .ncta-ebook-body{ flex:1;min-width:0; }
  .ncta-ebook-badge{
    display:inline-block;
    font-family:var(--ff-mono,monospace);
    font-size:.5rem;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#fbbf24;
    background:rgba(251,191,36,.12);
    border:1px solid rgba(251,191,36,.25);
    border-radius:4px;
    padding:.1rem .42rem;
    margin-bottom:.3rem;
  }
  .ncta-ebook-dl{
    color:rgba(251,191,36,.5);
    flex-shrink:0;
  }

  /* Éléments internes */
  .ncta-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:.5rem;
  }
  .ncta-meta svg{ color:rgba(242,237,228,.3); }

  .ncta-badge{
    display:inline-flex;
    align-items:center;
    gap:.3rem;
    font-family:var(--ff-mono);
    font-size:.5rem;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#4ade80;
  }
  .ncta-dot{
    width:5px; height:5px;
    border-radius:50%;
    background:#4ade80;
    animation:ncta-pulse 2.2s ease-in-out infinite;
  }
  @keyframes ncta-pulse{
    0%,100%{ opacity:1; transform:scale(1); }
    50%{ opacity:.3; transform:scale(.75); }
  }

  .ncta-tag{
    display:inline-block;
    font-family:var(--ff-mono);
    font-size:.5rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:rgba(242,237,228,.3);
    border:1px solid rgba(242,237,228,.1);
    border-radius:4px;
    padding:.12rem .38rem;
    margin-bottom:.35rem;
  }

  .ncta-title{
    font-size:.92rem;
    font-weight:700;
    color:rgba(242,237,228,.92);
    letter-spacing:-.02em;
    line-height:1.2;
    margin-bottom:.18rem;
  }
  .ncta-sub{
    font-size:.65rem;
    color:rgba(242,237,228,.35);
    letter-spacing:.01em;
    line-height:1.4;
  }

  .ncta-dl{
    color:rgba(242,237,228,.25);
    flex-shrink:0;
    margin-left:.6rem;
  }

  /* ── Social row en bas gauche ── */
  .nav-social-row{
    margin-top:auto;
    padding-top:1.4rem;
    border-top:1px solid rgba(242,237,228,.07);
    width:100%;
    display:flex;
    gap:.75rem;
    align-items:center;
    opacity:0;
    transform:translateY(12px);
    transition:opacity .4s .5s, transform .4s .5s;
  }
  nav.is-open .nav-social-row{ opacity:1; transform:none; }
  .nav-social-row a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    padding:0 !important;
    border:1px solid rgba(242,237,228,.1) !important;
    border-bottom:1px solid rgba(242,237,228,.1) !important;
    border-radius:8px !important;
    color:rgba(242,237,228,.5) !important;
    font-size:0 !important; /* cache tout texte résiduel */
    transition:border-color .2s, color .2s, background .2s;
    text-decoration:none;
    flex-shrink:0;
    overflow:hidden;
    letter-spacing:normal !important;
    transform:none !important;
  }
  /* Masque le ::before numéroté sur les icônes sociales */
  .nav-social-row a::before{ display:none !important; }
  /* Contraint les SVG colorés à leur taille déclarée */
  .nav-social-row a svg{
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    display:block !important;
    flex-shrink:0;
    font-size:initial !important;
  }
  .nav-social-row a:active{ border-color:rgba(74,222,128,.4) !important; }

  /* ── 2. Sections : padding réduit ── */
  .sec{ padding: 4rem 1.25rem; }
  #temoignages-x{ padding: 2.5rem 0 2rem; }
  #temoignages-x .sec-inner{ padding: 0 1.25rem; margin-bottom: 1.5rem; }
  #temoignages-x .s-label{ margin-bottom:.5rem !important; }
  #temoignages-x h2{ margin-bottom:.5rem !important; }
  #temoignages-x .sec-desc{ font-size:.78rem !important; margin-top:.4rem; }
  #clients-section{ padding: 4rem 1.25rem; }
  footer{ padding: 3rem 1.25rem 0; }

  /* ── 3. Hero ── */
  .hero-body{ padding: 2.5rem 0 2rem; margin-top: 24px; gap: 2rem; }
  .hero-sub{ max-width:100%; font-size:.98rem; line-height:1.7; margin-bottom:2rem; }
  .hero-btns{ gap:1rem; }

  /* Globe mobile — à droite de eyebrow + h1 */
  .hero-top-row{
    display:flex;
    align-items:center;
    gap:1rem;
    margin-bottom:2rem;
  }
  .hero-top-left{
    flex:1;
    min-width:0;
  }
  .hero-top-left h1{
    font-size:clamp(2.4rem,9vw,3rem);
    margin-bottom:0;
  }
  .hero-top-left .hero-eyebrow{
    margin-bottom:1.2rem;
  }
  .hero-globe-m{
    flex-shrink:0;
    width:155px;
    height:155px;
    display:block;
    opacity:.92;
    touch-action:none;
    cursor:grab;
    margin-right:0.5rem;
  }

  /* ── 4. Boutons ── */
  .btn-fill{
    padding:.7rem 1.2rem !important;
    font-size:.8rem !important;
    max-width:100%;
    min-height:auto !important;
    gap:.5rem !important;
  }
  .btn-fill .btn-arrow svg{ width:13px; height:13px; }
  .btn-outline{ font-size:.78rem !important; }
  .btn-submit{ padding:.9rem 1.2rem !important; font-size:.85rem !important; min-height:auto !important; }

  /* ── 5. Sections "Constat" ── */
  .constat-wrap{ grid-template-columns:1fr; }
  .c-card{ padding: 1.8rem 1.3rem; text-align:left; }
  .c-card h3{
    font-size:1.35rem;
    line-height:1.25;
    margin-bottom:1rem;
    text-wrap:balance;
    word-break:normal;
    overflow-wrap:break-word;
    hyphens:none;
  }
  .c-card p{ font-size:.9rem; line-height:1.7; }
  .c-num{ font-size:4rem; top:.4rem; right:1rem; }

  /* hero-bot — 3 stats compact 1 ligne */
  .hero-bot{
    flex-wrap:nowrap;
    justify-content:space-between;
    align-items:center;
    gap:.5rem;
    padding:.4rem 0 .5rem;
  }
  .h-stat{ flex:1 1 0; min-width:0; gap:.75rem; }
  .h-divider{ display:none; }
  .h-val{ font-size:.95rem; white-space:nowrap; }
  .h-lbl{ font-size:.42rem; line-height:1.15; letter-spacing:.04em; }
  .scroll-hint{ display:none !important; }

  /* ── 6. Processus ── */
  .proc{ grid-template-columns:1fr; margin-top:3rem; }
  .p-step{
    padding:2rem 1.5rem;
    border-right:none;
    border-bottom:1px solid rgba(242,237,228,.07);
  }
  .p-step:last-child{ border-bottom:none; }
  .p-n{ font-size:3rem; margin-bottom:1.2rem; }

  /* ── 7. Stat cards ── */
  .stats-grid{ grid-template-columns:1fr !important; margin-top:3rem; margin-bottom:3rem; }
  .stat-card{ padding:1.8rem 1.2rem; }
  .stat-val{ font-size:clamp(2.6rem,9vw,3.8rem) !important; line-height:1.1 !important; }
  .testimonials-grid{ grid-template-columns:1fr !important; gap:1rem !important; }

  /* ── 8. Sec-header (titre + desc côte-à-côte) ── */
  .sec-header{ gap:1.5rem; margin-bottom:3rem; }

  /* ── 9. Footer ── */
  .ft-top{ grid-template-columns:1fr; gap:2.2rem; padding-bottom:2.5rem; }
  .ft-logo{ height:44px; }

  /* ── 10. Contact page ── */
  .contact-hero{ padding: 5rem 1.25rem 2.5rem; min-height:auto; }
  .contact-hero-sub{ font-size:.98rem; }
  .contact-form-section{ padding: 1.5rem 1.25rem 4rem; }
  .contact-form-wrap{ gap:2rem; }

  /* contact.html — panneau gauche/droit */
  .cp-layout{ grid-template-columns:1fr !important; width:100% !important; max-width:100% !important; }
  .cp-layout > *{ min-width:0 !important; }
  .cp-left{ padding: 5rem 1.25rem 2rem !important; min-height:auto !important; height:auto !important; position:relative !important; width:100% !important; }
  .cp-right{ padding: 1rem 1.25rem 4rem !important; width:100% !important; min-width:0 !important; }
  .cp-left h1{ font-size: clamp(2.2rem, 9vw, 2.8rem) !important; }
  .cp-left-desc{ font-size: .95rem !important; max-width:100% !important; margin-bottom:2rem !important; }
  .cp-stats{ grid-template-columns: 1fr 1fr !important; max-width:100% !important; }
  .cp-stat{ padding: .9rem 1rem !important; }
  .cp-stat-num{ font-size: 1.5rem !important; white-space:nowrap !important; }
  .cp-stat-lbl{ font-size: .72rem !important; }
  .cp-guarantee{ font-size:.82rem !important; }
  .cp-guarantees{ max-width:100% !important; }
  .cp-socials{ margin-top:1.8rem !important; }
  .cp-form-card{ padding:1.5rem 1.25rem !important; border-radius:14px !important; }
  .cp-form-card .f-grp input,
  .cp-form-card .f-grp select,
  .cp-form-card .f-grp textarea{
    width:100% !important; max-width:100% !important; min-width:0 !important;
    box-sizing:border-box !important;
  }
  .cp-form-card .f-grp{ width:100% !important; }
  .cp-form-title{ font-size:1.15rem !important; }

  /* ── 11. Service cards / srv ── */
  .srv{
    grid-template-columns: 24px 1fr !important;
    gap:.7rem !important;
    padding:1.8rem 0 !important;
    align-items:start !important;
  }
  .srv-arr{ display:none !important; }
  .srv-idx{
    font-size:.62rem !important;
    padding-top:.55rem !important;
    color:#4ade80 !important;
    font-weight:600 !important;
  }
  .srv-title{
    font-size:1.22rem !important;
    line-height:1.18 !important;
    margin-bottom:.85rem !important;
    letter-spacing:-.035em !important;
    font-weight:800 !important;
    color:#ffffff !important;
  }
  .srv-txt{ font-size:.85rem !important; line-height:1.6 !important; color:rgba(242,237,228,.65) !important; }
  .srv-tags{ gap:.4rem !important; margin-top:1rem !important; }
  .srv-tag{ font-size:.55rem !important; padding:.2rem .55rem !important; }
  /* h2 "La Méthode 0 → 1" : titre principal de section sur 1 ligne */
  h2{
    font-size:clamp(1.7rem, 7vw, 2.4rem) !important;
    letter-spacing:-.03em !important;
    line-height:1.1 !important;
  }

  /* ── 12. Témoignages — carousel ── */
  .x-track-wrap::before,
  .x-track-wrap::after{ width:48px !important; }

  /* ── SAZ — search bar empilée + hints lisibles ── */
  .saz-hero{ padding:2rem 1.25rem 0 !important; }
  .saz-badge{
    font-size:.55rem !important;
    padding:.35rem .75rem !important;
    letter-spacing:.08em !important;
    white-space:nowrap !important;
  }
  .saz-hero-title{
    font-size:clamp(1.55rem, 6.4vw, 2rem) !important;
    line-height:1.15 !important;
    letter-spacing:-.035em !important;
    text-align:center;
    text-wrap:balance;
    margin-bottom:1rem !important;
  }
  .saz-hero-title em{ display:block; margin-top:.25rem; }
  .saz-hero-sub{ font-size:.92rem !important; }
  .saz-search-wrap{ padding:0 1.25rem 1.5rem !important; max-width:100% !important; }
  .saz-input-row{
    flex-wrap:nowrap !important;
    padding:.35rem .35rem .35rem .9rem !important;
    gap:.4rem !important;
    border-radius:10px !important;
    align-items:center !important;
  }
  .saz-input-row > svg{ flex-shrink:0; width:16px; height:16px; }
  .saz-input{
    flex:1 1 0 !important;
    min-width:0 !important;
    padding:.55rem .3rem !important;
    font-size:.88rem !important;
  }
  .saz-btn{
    width:auto !important;
    flex-shrink:0 !important;
    padding:.55rem .85rem !important;
    font-size:.8rem !important;
    border-radius:6px !important;
    gap:.3rem !important;
  }
  .saz-btn svg{ width:12px; height:12px; }
  .saz-hints{
    gap:.4rem .8rem !important;
    margin-top:.9rem !important;
    justify-content:center !important;
    padding:0 .25rem !important;
  }
  .saz-hint-item{ font-size:.62rem !important; white-space:nowrap; }
  .saz-loading{ margin:0 1.25rem 1.5rem !important; padding:1.2rem !important; }
  .saz-results-wrap{ padding:0 1.25rem 2rem !important; }
  .saz-cards-grid{ grid-template-columns:1fr !important; }

  /* ── 13. Évite tout débordement horizontal ── */
  html, body{ overflow-x:hidden; }
  img, video{ max-width:100%; height:auto; }

  /* ── 14. Ticker — collé au header (fixe sous le nav), disparaît au scroll ── */
  .ticker-bar{
    position:fixed !important;
    top:68px !important; left:0 !important; right:0 !important;
    z-index:499;
    font-size:.75rem;
    height:30px;
    background:rgba(242,237,228,0.05) !important;
    border-bottom:1px solid rgba(242,237,228,0.07) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    transition:transform .35s var(--ease, cubic-bezier(.16,1,.3,1)), opacity .25s;
  }
  .ticker-bar.ticker-hidden{
    transform:translateY(-100%);
    opacity:0;
    pointer-events:none;
  }
  .ticker-inner{ gap:1.2rem; }
  #hero{ min-height:auto; }

  /* ── 15. Banner image (index hero du constat) ── */
  .sec-header img{ margin-top:1rem; border-radius:10px; }

  /* ── E-book section — contenu centré ── */
  .ek-left{
    align-items:center !important;
    text-align:center !important;
    padding:2rem 1.5rem !important;
    gap:1rem !important;
  }
  .ek-title{ align-items:center !important; }
  .ek-tl{ text-align:center !important; }
  .ek-data{ align-items:center !important; text-align:center !important; }
  .ek-data > *{ justify-content:center !important; margin-left:auto !important; margin-right:auto !important; }
  .ek-chip, .ek-cta{ align-self:center !important; }
  .ek-cta{ margin-left:auto !important; margin-right:auto !important; }

  /* ── 16. Tableau / texte légal (CGV, mentions, politique) ── */
  .legal-content, .legal-wrap, main article{
    padding-left:1.25rem; padding-right:1.25rem;
  }

  /* ── 17. Closing CTA ── */
  #closing-cta{ padding:2rem 1.25rem 1.5rem !important; }
  .cta-trust{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:.55rem .5rem !important;
    margin-top:1.2rem !important;
    justify-items:start;
  }
  .cta-trust-item{
    font-size:.6rem !important;
    white-space:nowrap;
  }

  /* ── 18. E-book bulles — mobile : animation sur toute la hauteur ── */
  @keyframes ek-float-mobile {
    0%   { transform:translateY(10px)   scale(0); opacity:0; }
    8%   { transform:translateY(0px)    scale(1); opacity:.12; }
    92%  { transform:translateY(-860px) scale(1); opacity:.05; }
    100% { transform:translateY(-880px) scale(1); opacity:0; }
  }
  .ek-particles span {
    animation: ek-float-mobile var(--dur,5s) var(--delay,0s) ease-in infinite !important;
  }
  .ek-particles span:nth-child(1) {width:8px!important;height:8px!important;left:8%}
  .ek-particles span:nth-child(2) {width:6px!important;height:6px!important;left:20%}
  .ek-particles span:nth-child(3) {width:9px!important;height:9px!important;left:35%}
  .ek-particles span:nth-child(4) {width:5px!important;height:5px!important;left:50%}
  .ek-particles span:nth-child(5) {width:8px!important;height:8px!important;left:62%}
  .ek-particles span:nth-child(6) {width:6px!important;height:6px!important;left:75%}
  .ek-particles span:nth-child(7) {width:7px!important;height:7px!important;left:88%}
  .ek-particles span:nth-child(8) {width:5px!important;height:5px!important;left:14%}
  .ek-particles span:nth-child(9) {width:7px!important;height:7px!important;left:28%;--dur:4.5s;--delay:1.1s}
  .ek-particles span:nth-child(10){width:5px!important;height:5px!important;left:42%;--dur:5.8s;--delay:2.3s}
  .ek-particles span:nth-child(11){width:9px!important;height:9px!important;left:56%;--dur:4.2s;--delay:0.6s}
  .ek-particles span:nth-child(12){width:6px!important;height:6px!important;left:70%;--dur:6.1s;--delay:1.8s}
  .ek-particles span:nth-child(13){width:5px!important;height:5px!important;left:82%;--dur:4.9s;--delay:3.1s}
  .ek-particles span:nth-child(14){width:8px!important;height:8px!important;left:5%; --dur:5.3s;--delay:2.7s}
  .ek-particles span:nth-child(15){width:6px!important;height:6px!important;left:47%;--dur:4.7s;--delay:0.3s}
  .ek-particles span:nth-child(16){width:7px!important;height:7px!important;left:92%;--dur:5.6s;--delay:1.5s}

  /* ── 19. E-book aurora sur tout le rectangle ── */
  /* Masquer les blobs confinés à ek-right */
  .ek-right::before, .ek-right::after{ display:none !important; }
  /* Appliquer les blobs à tout le .ek (overflow:hidden clip au-dessus de la tape) */
  .ek::before{
    content:'';
    position:absolute;
    width:420px; height:420px;
    top:30px; right:-80px;
    background:radial-gradient(circle, rgba(74,222,128,.18) 0%, transparent 65%);
    animation:ek-aurora1 9s ease-in-out infinite;
    pointer-events:none;
    z-index:0;
  }
  .ek::after{
    content:'';
    position:absolute;
    width:320px; height:320px;
    bottom:20px; left:-60px;
    background:radial-gradient(circle, rgba(74,222,128,.12) 0%, transparent 65%);
    animation:ek-aurora2 13s ease-in-out infinite;
    pointer-events:none;
    z-index:0;
  }
}

/* ── Footer mobile Eskimoz-style ───────────────── */
@media (max-width:767px){
  /* Newsletter */
  /* ── Newsletter footer premium ── */
  .ft-newsletter{
    position:relative;
    overflow:hidden;
    background:linear-gradient(160deg, rgba(74,222,128,.07) 0%, rgba(8,31,27,0) 55%);
    border-bottom:1px solid rgba(242,237,228,.07);
  }
  .ft-newsletter::before{
    content:'';
    position:absolute;
    top:0; left:0; right:0; height:1px;
    background:linear-gradient(90deg, transparent 0%, rgba(74,222,128,.45) 50%, transparent 100%);
  }
  .ft-nl-inner{
    padding:1.8rem 1.25rem 1.6rem;
  }
  .ft-nl-head{
    display:flex;
    align-items:center;
    gap:.85rem;
    margin-bottom:1.1rem;
  }
  .ft-nl-icon-wrap{
    width:38px; height:38px;
    border-radius:10px;
    background:rgba(74,222,128,.1);
    border:1px solid rgba(74,222,128,.2);
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
  }
  .ft-nl-title{
    font-family:var(--ff-head);
    font-size:1rem;
    font-weight:700;
    color:var(--cream);
    letter-spacing:-.025em;
    line-height:1.2;
    margin-bottom:.18rem;
  }
  .ft-nl-sub{
    font-size:.68rem;
    color:rgba(242,237,228,.35);
    font-family:var(--ff-mono);
    letter-spacing:.03em;
  }
  .ft-nl-form{
    display:flex; align-items:center;
    background:rgba(242,237,228,.04);
    border:1px solid rgba(242,237,228,.1);
    border-radius:11px; overflow:hidden;
    transition:border-color .2s, box-shadow .2s;
  }
  .ft-nl-form:focus-within{
    border-color:rgba(74,222,128,.35);
    box-shadow:0 0 0 3px rgba(74,222,128,.07);
  }
  .ft-nl-input{
    flex:1; background:transparent; border:none; outline:none;
    padding:.78rem 1rem; font-size:.85rem; color:var(--cream);
    font-family:var(--ff-body);
  }
  .ft-nl-input::placeholder{ color:rgba(242,237,228,.25); }
  .ft-nl-btn{
    background:var(--green,#4ade80); border:none; cursor:pointer;
    padding:.78rem 1rem;
    display:flex; align-items:center; justify-content:center;
    color:#081f1b; flex-shrink:0; transition:background .2s;
    margin:3px; border-radius:8px;
  }
  .ft-nl-btn:hover{ background:#22c55e; }

  /* Masquer newsletter sur desktop */
  footer .ft-newsletter{ display:block; }

  /* ft-top : empilé */
  .ft-top{
    display:flex !important;flex-direction:column !important;
    gap:0 !important;padding:0 !important;border-bottom:none !important;
  }

  /* Brand : logo centré + CTA bouton */
  .ft-brand{
    display:flex !important;flex-direction:column;align-items:center;
    text-align:center;padding:2rem 1.25rem 1.5rem;
    border-bottom:1px solid rgba(242,237,228,.07);
  }
  .ft-logo{ height:44px !important;margin-bottom:.75rem !important; }
  .ft-tagline{ display:none; }
  .ft-cta-link{
    display:inline-flex !important;align-items:center;gap:.5rem;
    background:transparent;border:1px solid rgba(242,237,228,.2);
    border-radius:999px;padding:.6rem 1.4rem;
    font-size:.82rem;color:var(--cream);text-decoration:none;
    margin-top:.75rem;transition:border-color .2s,color .2s;
  }
  .ft-cta-link:hover{border-color:rgba(74,222,128,.4);color:#4ade80}

  /* Accordéons */
  .ft-accordion{
    border-bottom:1px solid rgba(242,237,228,.08);
    list-style:none;
  }
  .ft-accordion summary.ft-col-title{
    display:flex !important;align-items:center;justify-content:space-between;
    padding:1rem 1.25rem;margin:0 !important;cursor:pointer;
    font-size:.72rem;letter-spacing:.12em;color:var(--cream);
    list-style:none;user-select:none;
  }
  .ft-accordion summary.ft-col-title::-webkit-details-marker{ display:none; }
  .ft-accordion summary.ft-col-title::after{
    content:'+';font-size:1.1rem;font-weight:300;
    color:rgba(242,237,228,.4);transition:transform .25s;
    flex-shrink:0;
  }
  .ft-accordion[open] summary.ft-col-title::after{
    transform:rotate(45deg);
  }
  .ft-accordion .ft-col-links,
  .ft-accordion .ft-social-list{
    padding:.25rem 1.25rem 1.25rem;margin:0;
  }
  .ft-accordion .ft-col-links a,
  .ft-accordion .social-a{
    padding:.45rem 0;font-size:.9rem;
    border-bottom:none !important;
  }

  /* Réseaux sociaux : icônes en ligne */
  .ft-accordion .ft-social-list{
    display:flex !important;flex-direction:row !important;
    gap:1rem;flex-wrap:wrap;
  }
  .ft-accordion .social-a span.si-ig,
  .ft-accordion .social-a span.si-tk,
  .ft-accordion .social-a span.si-x{
    width:36px !important;height:36px !important;border-radius:9px !important;
  }

  /* Bottom */
  .ft-bottom{
    flex-direction:column !important;align-items:center !important;
    text-align:center;padding:1.5rem 1.25rem 2rem !important;gap:.75rem !important;
    border-top:1px solid rgba(242,237,228,.07);
  }
  .ft-legal{ gap:1.2rem !important;justify-content:center; }
}

/* Desktop : gros bloc caché, mini form visible */
@media (min-width:768px){
  .ft-newsletter{ display:none; }
  /* <details> transparent dans le grid desktop */
  .ft-accordion{ display:block; }
  /* summary = titre de colonne desktop : supprimer le marqueur natif + reset */
  .ft-accordion > summary.ft-col-title{
    display:block;
    padding:0;
    margin-bottom:1.4rem;
    cursor:default;
    pointer-events:none;
    list-style:none;
  }
  .ft-accordion > summary.ft-col-title::-webkit-details-marker{ display:none; }
  .ft-accordion > summary.ft-col-title::marker{ display:none; }
  .ft-accordion > summary.ft-col-title::after{ display:none; }
  /* contenu toujours visible */
  .ft-accordion > .ft-col-links,
  .ft-accordion > .ft-social-list{ display:flex; }
}

/* ── Turnstile Cloudflare — mobile ── */
@media (max-width:767px){
  .cp-turnstile-wrap{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:.5rem !important;
    overflow:hidden !important;
    padding:.75rem .75rem .6rem !important;
  }
  /* Réduit le widget au ratio de la largeur dispo */
  .cp-turnstile-wrap .cf-turnstile{
    transform-origin:left top;
    transform:scale(0.82);
    margin-bottom:-12px; /* compense l'espace vide laissé par scale */
  }
  .cp-turnstile-label{
    font-size:.68rem !important;
    color:rgba(242,237,228,.3) !important;
    white-space:nowrap !important;
  }
  /* Bouton envoyer toujours visible */
  .cp-submit{
    margin-top:.25rem;
    font-size:.9rem !important;
  }
}

/* Très petit écran (< 380px) — micro-ajustements */
@media (max-width: 380px){
  .sec{ padding: 3.5rem 1rem; }
  .hero-body{ padding: 2rem 0 1.5rem; }
  h1{ letter-spacing:-.02em; }
  .btn-fill{ padding:.8rem 1.2rem; font-size:.85rem; }
  .c-card{ padding: 1.6rem 1.2rem; }
  .stat-card{ padding:1.5rem 1rem; }
  /* Turnstile encore plus petit sur iPhone SE */
  .cp-turnstile-wrap .cf-turnstile{ transform:scale(0.72) !important; margin-bottom:-20px !important; }
}

/* ══════════════════════════════════════════════════════════
   FIX HEADER mobile (≤ 768px) — sans viewport-fit=cover
   iOS gère lui-même la safe-area, le nav reste opaque
   ══════════════════════════════════════════════════════════ */
@media (max-width: 768px){
  nav{
    background-color: #081f1b !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    opacity: 1 !important;
  }
  nav.scrolled{
    background-color: #081f1b !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    opacity: 1 !important;
  }
}

/* ── Tool mini cards (index.html outils section) ── */
/* override rv so container reveals instantly, children stagger */
.tool-mini-grid.rv{opacity:1;transform:none;transition:none}
.tool-mini-grid{
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:.75rem;margin:0 auto 2rem;max-width:740px;
  position:relative;z-index:1;padding:0 1.5rem;
}
.tool-mini-link{
  text-decoration:none;
  width:218px;flex-shrink:0;
}
.tool-mini-card{
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;
  gap:.6rem;padding:1.4rem 1rem;
  height:100%;border-radius:12px;
  background:rgba(14,74,66,0.38);
  border:1px solid rgba(242,237,228,0.08);
  position:relative;overflow:hidden;
  transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s,box-shadow .35s;
}
/* scan shimmer on hover */
.tool-mini-card::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(110deg,transparent 30%,rgba(74,222,128,.09) 50%,transparent 70%);
  transform:translateX(-100%);
  transition:transform 0s;
}
.tool-mini-link:hover .tool-mini-card::after{
  transform:translateX(200%);
  transition:transform .55s ease;
}
.tool-mini-link:hover .tool-mini-card{
  transform:translateY(-4px);
  border-color:rgba(74,222,128,.28);
  box-shadow:0 12px 32px rgba(0,0,0,.35),0 0 0 1px rgba(74,222,128,.08);
}
.tool-mini-icon{
  font-size:1.6rem;line-height:1;
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:10px;
  background:rgba(74,222,128,.07);
  border:1px solid rgba(74,222,128,.12);
  transition:background .3s,border-color .3s,transform .35s cubic-bezier(.34,1.56,.64,1);
}
.tool-mini-link:hover .tool-mini-icon{
  background:rgba(74,222,128,.14);
  border-color:rgba(74,222,128,.28);
  transform:scale(1.15) rotate(-4deg);
}
.tool-mini-name{
  font-family:var(--ff-body);font-size:.82rem;font-weight:700;
  color:var(--cream);line-height:1.25;
  transition:color .3s;
}
.tool-mini-link:hover .tool-mini-name{color:#fff}
.tool-mini-sub{
  font-family:var(--ff-mono);font-size:.56rem;
  color:var(--dimmer);letter-spacing:.07em;
  text-transform:uppercase;line-height:1.3;
  transition:color .3s;
}
.tool-mini-link:hover .tool-mini-sub{color:rgba(74,222,128,.7)}
/* stagger entrance for .rv.in children */
.tool-mini-grid .tool-mini-link{opacity:0;transform:translateY(12px);transition:opacity .5s,transform .5s}
.tool-mini-grid.in .tool-mini-link{opacity:1;transform:translateY(0)}
.tool-mini-grid.in .tool-mini-link:nth-child(1){transition-delay:.05s}
.tool-mini-grid.in .tool-mini-link:nth-child(2){transition-delay:.12s}
.tool-mini-grid.in .tool-mini-link:nth-child(3){transition-delay:.19s}
.tool-mini-grid.in .tool-mini-link:nth-child(4){transition-delay:.26s}
.tool-mini-grid.in .tool-mini-link:nth-child(5){transition-delay:.33s}
@media(max-width:500px){
  .tool-mini-link{width:calc(50% - .375rem)}
}
