If the scroll speed to animation progess is currently at 1:1, I want it to be around 3:2 or even 2:1.
SM has the duration value that would normally take care of this, and GS has timeScale, but since the elements are unpinned and since the animations are bound to scroll, neither seems to be of help here.
The obvious solution is to pin and offset the container so the container would scroll in the opposite direction to user's scroll. As long as it moves <1px up for every 1 px the user scroll down, the individual animations (children of container) would still trigger. This solution is a bit hacky though (I've updated the pen: https://codepen.io/etamsasha/pen/YzKBOVQ ), so I was seeking some help from experts in my original question.
I guess I will continue with this, since it works, and the hacky code only bothers me and no one else
I do still have white space that I need to get rid of. The space above is gone now, but there is still the space below added by the pin-spacer element, and visible because I offset the container. Any ideas how I can get rid of it?