Грид на 6 колонок.
Все элементы занимают по 2 колонки.
А дальше строить логику на :nth-child
https://css-live.ru/articles/resheno-s-pomoshhyu-c...
Если последний элемент одновременно и второй из трех, то путь занимает 3 колонки
:nth-child(3n+2):last-child {grid-column: span 3}
Аналогично для второго с конца и одновременно первого из трех.
И для последнего с конца и одновременно первого из трех задать 6 колонок.
Либо в одну строчку на флексах :)