Горизонтальная прокрутка - transform: translate для контейнера, привязанный к скроллу.
Косые блоки - transform: skew для блока, skew обратно для контента.
Размер косого блока удобно выразить через единицы vh.
Картинкам - object-fit: cover.
При наведении на блок меняем его opacity до 1, плюс transform: translate для текста и scale для картинки.
Переходы между страницами - немного css-трансформаций + что-нибудь вроде barba.js.
Авторы сего шедевра вместо CSS решили все рассчитывать на JS. Не удивительно, что все тормозит.