Контент: идет в коде первым

т.е. поисковики, скринридеры и вообще любители семантики должны быть довольны :)

Всё, что нужно, достигается средствами валидного CSS2.1. А для динозавров IE6–7 — изящная деградация к старому доброму HTML, некоторые возможности которого оказались напрасно забыты… ;)

Header: в коде идет вторым

и может иметь произвольную высоту, определяемую по содержимому.