Carbon capture and storage is currently the only technology that may allow significant reductions in CO2 emissions from large point sources. Seismic images of geological CO2 storage show the rise of CO2 is influenced by horizontal shales. The buoyant CO2 spreads beneath impermeable barriers until a gap allows its upward migration. The large number and small scale of these barriers makes the prediction of the CO2 migration path and hence the magnitude of CO2 trapping very challenging. We show that steady buoyancy dominated flows in complex geometries can be modeled as a cascade of flux partitioning events. This approach allows the analysis of two-dimensional plume dispersal from a horizontal injection well. We show that the plume spreads laterally with height y above the source according to (y/h)1/2L, where L is the width of the shales and h is their vertical separation. The fluid volume below successive shale layers, and therefore the magnitude of trapped CO2, increase as (y/h)5/4 above the source, so that every additional layer of barriers traps more CO2 than the one below. Upscaling small scale flow barriers by reducing the vertical permeability, common in numerical simulations of CO2 storage, does not capture the dispersion and trapping of the CO2 plume by the flow barriers.