В общем если не хотим такую порнушную вложенность а красивое отображение то давайте уже жить в 21 веке и использовать grid который позволяет делать ВСЁ и поддерживается на ВСЕХ современных устройствах
Если всякие intersectionObserver далеки от вас то есть готовые библиотеки - типа AOS который в примере - просто вставляем в тег data и подключаем два файла css + js => смотрим