/**
 * Golden Eagle GS — Timeline Scroll-Draw (Motion layer)
 * Stage 6A, Part 4 — Core Platform: Motion
 *
 * Kept in its OWN file, deliberately separate from
 * components-interactive.css (Stage 3, where `.ge-timeline` and its
 * `::before` connecting-line rule are approved and unmodified) — this
 * file only ADDS a `transform`/`transform-origin` declaration to that
 * same, unedited selector. See `assets/js/timeline-draw.js`'s
 * docblock for the full reasoning behind the transform-based
 * technique (a GPU-safe substitute for the spec's literal
 * `stroke-dashoffset`/SVG wording, per MOTION_GUIDELINES.md's
 * project-wide "transform/opacity/filter only" rule).
 *
 * FALLBACK SAFETY: `var(--ge-timeline-progress, 1)` defaults to 1
 * (fully drawn) whenever the custom property is unset — i.e., before
 * timeline-draw.js has run, or if it fails to load/execute for any
 * reason. This guarantees the timeline's connecting line always
 * renders at least as well as it did before this Part shipped (a
 * fully-visible, static line) — the animated draw-in is a progressive
 * enhancement layered on top of that guaranteed-safe default, never a
 * regression risk.
 *
 * LOADING: registered only, conditionally enqueued only where
 * `.ge-timeline` actually appears (currently: the Homepage's Process
 * Timeline section only) — see `inc/motion.php`.
 */

.ge-timeline::before {
  transform: scaleY(var(--ge-timeline-progress, 1));
  transform-origin: top;
}

@media (min-width: 1024px) {
  .ge-timeline::before {
    transform: scaleX(var(--ge-timeline-progress, 1));
    transform-origin: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ge-timeline::before {
    transform: none;
  }
}
