GridBlock

A multi-column row: two article cards, three offers, a gallery.

{
	id: "grid",
	type: "grid",
	desktopColumns: 2,
	mobileColumns: 1,
	children: [statBlock, statBlock],
}

children is a flat list that flows into the columns rather than one bucket per column, and a grid cannot contain another grid. An asymmetric layout is two sibling blocks, not a nested one.