/* ===== DMA anim kit (inspiré tekiyo.fr) ===== */

/* Reveal au scroll : fade + slide + blur */
[data-anim]{
  opacity:0;
  transform:translateY(34px);
  filter:blur(6px);
  transition:opacity .9s cubic-bezier(.16,1,.3,1),
             transform .9s cubic-bezier(.16,1,.3,1),
             filter .9s cubic-bezier(.16,1,.3,1);
  transition-delay:var(--anim-delay,0ms);
  will-change:opacity,transform;
}
[data-anim].is-in{ opacity:1; transform:none; filter:none; }

/* Intro hero au chargement (lignes qui montent) */
[data-hero] [data-hero-line]{
  opacity:0;
  transform:translateY(120%);
  display:inline-block;
}
[data-hero].is-ready [data-hero-line]{
  animation:hero-rise 1s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay:var(--hero-delay,0ms);
}
@keyframes hero-rise{ to{ opacity:1; transform:none; } }

/* Lift doux au hover sur cartes */
.anim-lift{ transition:transform .45s cubic-bezier(.16,1,.3,1); }
.anim-lift:hover{ transform:translateY(-6px); }

/* Lenis smooth scroll */
html.lenis,html.lenis body{ height:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }
.lenis.lenis-smooth [data-lenis-prevent]{ overscroll-behavior:contain; }
.lenis.lenis-stopped{ overflow:hidden; }

/* Intro plein écran (tekiyo-like) */
#intro{
  transition:transform 1.3s cubic-bezier(.76,0,.24,1), opacity 1s ease;
  will-change:transform,opacity;
  transform-origin:center 45%;
}
#intro.intro-hide{ transform:scale(2.2); opacity:0; pointer-events:none; }
.spline-float{ animation:spline-float 12s ease-in-out infinite alternate; }
@keyframes spline-float{
  from{ transform:translate(-50%,-50%) scale(1); }
  to{ transform:translate(-50%,-50%) scale(1.08); }
}
.intro-glow{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(60% 50% at 50% 45%, rgba(150,170,255,.16), rgba(120,90,255,.06) 40%, transparent 70%);
}
html.intro-lock, html.intro-lock body{ overflow:hidden !important; height:100%; }

/* Respect accessibilité */
@media (prefers-reduced-motion: reduce){
  [data-anim],[data-hero] [data-hero-line]{
    opacity:1 !important; transform:none !important; filter:none !important;
    animation:none !important; transition:none !important;
  }
}
