Hi, the problem is is that it is collapsing the margin since the negative margin is going thru a cleared element. No matter how big the negative margin is it will never go up :).
I see no reason why you even need the clearing divs in the HTML so delete this
<div id="bottom" class="clearfix">
</div><!-- end bottom -->