Du hast für Id page zwar mit CSS die Weite mit 940px vorgegeben aber keine Höhe angegeben, dadurch endet der DIV-Bereich oberhalb. Ein Div-Bereich verhält sich da nun einmal gänzlich anders wie eine mitwachsende Tabelle. Ist gut zu sehen, wenn Du nur zum Test einen Border hinzufügst:
Code
#page {
position: relative;
width: 940px;
margin: 0 auto;
padding: 10px 0 0 0;
background: #FAFAFA;
border: 1px solid #0f0;
}
Und anschließend probiere es einmal mit height: 100% oder so.
Nun hast Du wohl etwas verändert, auf clear hatte ich nicht geachtet, hing es damit zusammen? Jedenfalls beim Ausrichten von DIVs hilft meist ein Border, so ist schneller zu sehen, wenn etwas nicht stimmt.