При решении задания я не смог обойтись без JS. Он используется для реализации
- ScrollSpy,
- плавной прокрутки по странице при использовании меню,
- раскрытия/закрытия полной информации о выбранном канале.
Также на мобильных устройствах средствами js реализовано изменённое (в сравнении с десктопной версией) поведение меню.