/* pre-vc.eu — motion tokens
   Motion is restrained and purposeful: a slow trajectory-line draw and a
   soft staggered rise-in for hero copy. No bounce, no loops, no decorative
   animation. Respects prefers-reduced-motion everywhere. */

:root {
  --ease-out: cubic-bezier(0.2, 0.7, 0.2, 1); /* @kind other */
  --ease-draw: cubic-bezier(0.65, 0, 0.2, 1); /* @kind other */
  --duration-rise: 0.9s; /* @kind other */
  --duration-draw: 2.2s; /* @kind other */
}

.rise {
  opacity: 0;
  transform: translateY(14px);
  animation: pv-rise var(--duration-rise) var(--ease-out) forwards;
}
.rise.d1 { animation-delay: 0.05s; }
.rise.d2 { animation-delay: 0.16s; }
.rise.d3 { animation-delay: 0.27s; }

.traj-path {
  stroke-dasharray: 1200;
  stroke-dashoffset: 1200;
  animation: pv-draw var(--duration-draw) var(--ease-draw) 0.3s forwards;
}

@keyframes pv-draw { to { stroke-dashoffset: 0; } }
@keyframes pv-rise { to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
  .traj-path { animation: none; stroke-dashoffset: 0; }
  .rise { animation: none; opacity: 1; transform: none; }
}
