A spanning header row sits above the column headers. The columns array stays flat; membership is by reference via column.group pointing at a columnGroups entry. Group cells are derived from contiguous runs of same-group columns. The ungrouped Department column shows a spacer.