Pulse-blob is inside the SAME SVG as the path, so applyTransform should use raw SVG coords (pt.x, pt.y) — not getScreenCTM-converted ones. Double-transform was pushing pulse to SVG-X 9794+ which renders off-screen-right. Also phase2 now uses entryPath-end + exitPath-start positions in SVG-coord-space so the inside-logo glide is continuous with phase1 and phase3.