/* =====================================================================
   PURI STATION — animations.css (Phase 2)
   Effets complémentaires à GSAP/AOS : tracé SVG, particules, reveals.
   ===================================================================== */

/* Canvas de particules UV (motes lumineuses) en fond de hero */
.uv-particles { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.hero > .container { position: relative; z-index: 1; }

/* Tracé de lignes SVG (schéma technique, page techno) */
.draw-line { stroke-dasharray: 1; stroke-dashoffset: 1; }
.draw-line.is-drawn { transition: stroke-dashoffset 1.4s var(--ease); stroke-dashoffset: 0; }

/* Reveal maison (fallback / éléments hors AOS) */
[data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
[data-reveal].is-visible { opacity: 1; transform: none; }
[data-reveal-delay="1"] { transition-delay: .08s; }
[data-reveal-delay="2"] { transition-delay: .16s; }
[data-reveal-delay="3"] { transition-delay: .24s; }
[data-reveal-delay="4"] { transition-delay: .32s; }

/* Shimmer sur les compteurs en cours d'animation */
.is-counting { background-size: 200% auto; animation: shimmer 1.4s linear; }
@keyframes shimmer { to { background-position: 200% center; } }

/* Anneau de progression du process (page techno) */
.proc-ring__track { stroke: rgba(255,255,255,0.08); }
.proc-ring__fill { stroke: url(#uvGrad); transition: stroke-dashoffset .5s var(--ease); }

/* Lignes de scan UV sur le device hero */
.uv-scan { position: absolute; left: 8%; right: 8%; height: 2px; background: linear-gradient(90deg, transparent, var(--rose-light), transparent); filter: blur(1px); opacity: .85; animation: uvScan 3.4s var(--ease) infinite; }
@keyframes uvScan { 0% { top: 14%; opacity: 0; } 15% { opacity: .9; } 85% { opacity: .9; } 100% { top: 84%; opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
    [data-reveal] { opacity: 1; transform: none; transition: none; }
    .uv-scan, .is-counting { animation: none; }
    .draw-line { stroke-dashoffset: 0; }
}
