/* motion.css - animațiile GSAP + Lenis pe seo-factory.ro (spec 2026-10-25, skill animatii-landing).
   Reveal-ul la scroll rămâne în sf.css (.rv sub html.js-anim); aici doar ce adaugă motion.js și stagger-ul.
   Se încarcă doar unde inc/cadru.php încarcă și motion.js. Doar transform și opacity (CLS 0). */

/* ---- Bloc .rv preluat de un titlu împărțit (motion.js): vizibil instant, mișcarea o face GSAP ---- */
html.js-anim .rv.rv-preluat { opacity: 1; transform: none; transition: none; }

/* ---- Stagger: sf.js pune --rv-i (0-5) pe blocurile .rv care intră împreună în ecran; .d1-.d3 din sf.css au specificitate mai mare și rămân ---- */
@media (prefers-reduced-motion: no-preference) {
  .js-anim .rv { transition-delay: calc(var(--rv-i, 0) * 70ms); }
}

/* ---- Desen SVG legat de scroll (path cu pathLength="1"); GSAP animă --draw (capcana 6) ---- */
html.js-anim [data-draw-trigger].is-scrubbed [data-draw] { stroke-dasharray: 1; stroke-dashoffset: var(--draw, 1); animation: none; }

/* ---- Parallax: decorul nu e niciodată interactiv (capcana 26) ---- */
[data-parallax] { pointer-events: none; }

/* ---- Lenis (din lenis.css 1.3.27, plus scroll-behavior: sf.css are html { scroll-behavior: smooth }) ---- */
html.lenis, html.lenis body { height: auto; }
.lenis:not(.lenis-autoToggle).lenis-stopped { overflow: clip; }
.lenis [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-smooth iframe { pointer-events: none; }
html.lenis.lenis-smooth { scroll-behavior: auto !important; }

/* ---- Mișcare redusă (sistem, panoul de accesibilitate, nivelul 2): desenele complete ---- */
.reduce-motion [data-draw-trigger] [data-draw],
.a11y-miscare [data-draw-trigger] [data-draw],
html[data-nivel="2"] [data-draw-trigger] [data-draw] { stroke-dashoffset: 0; }
@media (prefers-reduced-motion: reduce) {
  html.js-anim [data-draw-trigger] [data-draw] { stroke-dashoffset: 0; }
}
