Вопросы 3-5 это полностью по верстке, вот пример:
https://codepen.io/verkhoturov/pen/NZZvwM
Контейнер с карточками имеет "display: flex" и "flex-wrap: wrap" (тогда карточки не влезающие в строку, переносятся на следующую).
По пункту 1.
Если карточке задать определенный "order" (почитать о свойстве можно
тут), то карточка займет определенную позицию в списке. (в примере я это указал).
По пункту 2.
Проще всего сделать отдельный список.
Т.е. есть вертикальный блок с карточками справа и такойже вертикальный блок с остальными карточками слева.