Un paso más allá del flexbox es utilizar el CSS Grid, que nos permite utilizar una cuadrícula en la página, y que los elementos se posicionen en las coordenadas que queramos:
https://www.w3schools.com/css/css_grid.asp
Aquí tenemos una guía completa de cómo usar CSS grid:
https://css-tricks.com/snippets/css/complete-guide-grid/
Otra guía, en castellano y bien explicada:
https://www.ionos.es/digitalguide/paginas-web/creacion-de-paginas-web/css-grid-layout/
Y otra más también muy bien explicada:
https://medium.com/@alexcamachogz/dominando-css-grid-ff916434f85a
Interactiva:
https://www.joshwcomeau.com/css/interactive-guide-to-grid/
Buenas prácticas:
https://www.smashingmagazine.com/2018/04/best-practices-grid-layout/
Un juego para practicar grid:
Usar flexbox o grid?
https://blog.logrocket.com/flexbox-vs-css-grid/
https://programacion.net/articulo/css_grid_vs_flexbox_cual_es_mas_practico_1771