Der div-Container "section" ist hier die gewünschte Größe nach der die Container "placeholder" und "urgent" ausgerichtet werden sollen.
Mir fällt keine Lösung ein, wie das nur mit CSS in deinem markup funktionieren könnte. Die CSS-Eigenschaft "height" orientiert sich bei relativen Angaben immer am Eltern-Element in deinem Fall also an:
<div id="main">
Hier ist ein Artikel der in weiten Teilen auf dein Problem eingeht:
http://www.gn-webdesign.de/css-tutorials/css-div-height-100.html
Hoffe es hilft.
Grüße
-1UnitedPower