Doesn't answer the "why" (has to be something w/ collapsing margin), but seems like the easiest/most logical way to do what you're trying to do would be to just add padding-top
to the outer div:
Minor note - it shouldn't be necessary to set a div to display:block;
unless there's something else in your code telling it not to be block.