The two approaches seem compatible to me! If the intersection observer updated the body class with a data-last-landmark attribute, instead of a raw %, you could still reference off of that with CSS.
Interesting approach! That would certainly work I think.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.