Ну это какая-то совсем простая задача. И
делается просто.
При наведении на любой элемент внутри другого элемента, у второго сохраняется состояние
:hover. В
Javascript раньше мучались с
mouseover, пока не появилось событие
mouseenter, что соответствует этому псевдоклассу.
Не стал формировать расположение первого уровня с помощью
flex, хотя уже именно так и нужно делать.