Quite la declaración de /height:1000px/ de #fondo
y añada justo antes de cerrar esa caja lo siguiente:
Cita: <div style="clear: both;"></div>
O su equivalente (y más ortodoxo):
en el html, justo antes de cerrar #fondo y después del cierre de /.contenedor/
Cita: <div class="corte"></div>
debería quedar así:
Cita: </div><!-- fin class derecha-->
</div> <!-- fin grid 4 alpha-->
</div><!-- fin contenedor-->
<div style="clear: both;"></div>
</div> <!-- fin container 12-->
<div id="footer"> contenido del pie</div>
y en su css:
Puede ampliar información al respecto y el porqué sucede buscando por la cadena "limpiar float"