Первый блок
Второй блок
Третий блок
Четвертый блок
Как сделать:
1. Добавь в форму ID меню.
2. Добавь в форму ID секций через запятую (как в примере).
3. Шейпам из меню, которые меняют цвет при перемотке добавь класс plank.
4. Пунктам меню и цветным шейпам задай url соответствующий ID их секции.
Т.е. в моем примере первой ссылке соответствует ID первого блока и т.д. Url указать с #.
 <style>
.plank {opacity: 0;transition: all 0.3s ease-in;} .active {opacity: 1;}
</style>
<script>
window.addEventListener('DOMContentLoaded', () => {
    const section = document.querySelectorAll('#rec378801588, #rec378802012, #rec378802120, #rec378802240');
    const menu = document.querySelector('#rec378795496');
    const menuCard = document.querySelectorAll('.plank');
    const menuHeight = menu.clientHeight;
    
    window.addEventListener('orientationchange', function () {
        menuHeight = menu.clientHeight;
    }, false);
    
    window.addEventListener('scroll', function(e) {
        const pos = this.pageYOffset;
        section.forEach((item) => {
            const topPos = item.offsetTop - menuHeight - 5;
            const bottomPos = topPos + item.clientHeight;
            
            if (pos >= topPos && pos <= bottomPos) {
                menuCard.forEach((el) => el.classList.remove('active'));
                menu.querySelectorAll('.plank>a.tn-atom[href="#' + item.id + '"]').forEach((el) => el.parentNode.classList.add('active'))
            }
        })
    });
})
</script>
Made on
Tilda