Yeah, that looks to me like a side effect of using a custom scroller and the browser handles scrolling on a separate thread that isn't synchronized with the main (JS) thread, thus the browser paints the scrolled page (the way it things it should be) and THEN it executes JavaScript a few milliseconds later at which point ScrollTrigger adjusts the pin position to be where it's supposed to be based on the scroll position. Whenever you use a custom scroller (not the body/html/root), ScrollTrigger us