Header Area

CSS Grid areas, placed by name

Main Content Section

Give each region a name, then draw the layout as a map.

Each element gets a grid-area name. The wrapper's grid-template-areas then arranges those names in rows, so the layout lives in one place and is easy to change.

"header header header"
"left   main   right"
"footer footer footer"