/* ══════════════════════════════════════
   HERO — PARALLAXE + PARTICULES
══════════════════════════════════════ */
.hero{
  position:relative;min-height:100vh;display:flex;align-items:center;
  padding-top:70px;overflow:hidden
}
/* Image de fond avec overlay LÉGÈREMENT SOMBRE */
.hero-bg {
  position: absolute; 
  /* On déborde volontairement pour que le zoom ne montre pas les bords */
  top: -5%; left: -5%; width: 110%; height: 110%; 
  z-index: 0;
  background:
    linear-gradient(135deg, rgba(8,8,20,.55) 0%, rgba(15,10,30,.38) 50%, rgba(8,8,20,.60) 100%),
    url('https://images.unsplash.com/photo-1518770660439-4636190af475?w=1800&q=85') center/cover no-repeat;
  
  /* L'isolation absolue pour stopper la tempête de recalcul */
  transform: translate3d(0, 0, 0);
  will-change: transform;
  /* L'animation de zoom et dézoom continu (respiration) */
  animation: heroBreathe 18s ease-in-out infinite alternate;
}

@keyframes heroBreathe {
  0% { transform: scale(1) translate3d(0, 0, 0); }
  100% { transform: scale(1.08) translate3d(0, 0, 0); }
}
/* Canvas particules */
#particles { 
  position: absolute; 
  inset: 0; 
  z-index: 1; 
  pointer-events: none; 
  transform: translateZ(0); 
  will-change: transform; 
}
/* Overlay blanc dégradé en bas seulement */
.hero-bg::after{
  content:'';position:absolute;bottom:0;left:0;width:100%;height:35%;
  background:linear-gradient(to bottom,transparent,var(--bg))
}
/* Ligne rouge */
.hero::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--rouge),transparent);z-index:3}

/* Canvas particules fixé pour agir sur TOUT le site */
#particles { 
  position: fixed; /* Était absolute, devient fixed */
  inset: 0; 
  z-index: 0; /* Reste derrière le contenu */
  pointer-events: none; 
}

/* Badge animé */
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(12px);
  color:#fff;
  font-family:var(--f1);font-size:11px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;
  padding:7px 18px;border-radius:30px;margin-bottom:32px
}
.badge-dot{width:7px;height:7px;border-radius:50%;background:var(--rouge);animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,0,0,.5)}50%{box-shadow:0 0 0 8px rgba(255,0,0,0)}}

/* Titre */
.hero-titre{
  font-family:var(--f1);font-size:clamp(44px,6.5vw,82px);font-weight:800;
  line-height:1.04;letter-spacing:-2.5px;color:#fff;
  margin-bottom:28px;max-width:860px
}
.hero-titre .rouge{
  color:var(--rouge);
  text-shadow:0 0 60px rgba(255,0,0,.5),0 0 120px rgba(255,0,0,.2)
}
/* Texte tapé animé */
.typed-wrap{display:block}
.typed-cursor{display:inline-block;width:3px;height:.85em;background:var(--rouge);margin-left:3px;vertical-align:middle;animation:blink .7s step-end infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}

.hero-desc{font-size:17px;color:rgba(255,255,255,.78);line-height:1.8;max-width:560px;margin-bottom:44px}

.hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.btn-rouge{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--rouge);color:#fff;
  font-family:var(--f1);font-size:14px;font-weight:700;
  padding:14px 32px;border-radius:8px;border:2px solid var(--rouge);
  transition:var(--tr);box-shadow:0 4px 28px var(--rouge-glow)
}
.btn-rouge:hover{background:var(--rouge2);border-color:var(--rouge2);transform:translateY(-2px);box-shadow:0 10px 40px rgba(255,0,0,.38)}
.btn-ghost{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.12);color:#fff;
  font-family:var(--f1);font-size:14px;font-weight:600;
  padding:14px 32px;border-radius:8px;border:2px solid rgba(255,255,255,.28);
  backdrop-filter:blur(10px);transition:var(--tr)
}
.btn-ghost:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.5);transform:translateY(-2px)}

/* ── STATS HERO — PREMIUM ────────────────────────────── */
.hero-stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:16px;margin-top:60px
}
.stat-card{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-radius:16px;padding:22px 20px;
  position:relative;overflow:hidden;
  transition:var(--tr)
}
.stat-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--rouge),transparent);
  opacity:0;transition:opacity .35s
}
.stat-card:hover{background:rgba(255,255,255,.16);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.25)}
.stat-card:hover::before{opacity:1}
.stat-icon{font-size:20px;color:var(--rouge);margin-bottom:12px;display:block}
.stat-val{
  font-family:var(--f1);font-size:42px;font-weight:800;color:#fff;
  line-height:1;display:flex;align-items:baseline;gap:3px
}
.stat-plus{font-size:28px;color:var(--rouge);font-weight:800}
.stat-label{font-size:12px;color:rgba(255,255,255,.6);margin-top:8px;letter-spacing:.3px;font-weight:500}