Quand tu es sur ton ftp (là où tu as déposé tes images), sont elles au même niveau que tes pages css/html ou sont-elles dans un dossier images ? Parce que ton css va chercher l'image à la racine (là où il y a css/html).
Pour le html/css :
Le chemin pour que ton html prenne en compte le css est pas écrit correctement, ce qu'a dit Igel est très juste.
Ensuite, je te conseillerais de mettre toutes tes div dans une div englobante. Si là, ton code n'est pas pour un gros site, c'est toujours mieux pour pouvoir spécifier le css, ça permet de mieux situer ce que tu styles. En gros, là dans ton css on a quelque chose qu'il s'applique au H1, et du coup ce sera valable à tous les h1 (bon normalement, le h1 n’apparaît qu'une fois par page). Si tu avais une div englobante, ça ferait #div-englobante h1 { }
Le position:absolute du body ne sert à rien. D'ailleurs quand tu mets quelque chose en absolue, c'est mieux que ce soit dans une div qui elle est en position relative. Vu que les div sont des blocs qui se mettent généralement en dessous des autres, ça permet de ne pas avoir son absolue en top :0 au niveau du haut de ta page, mais que ce soit automatiquement au top de cette div.
Petite astuce pour le background aussi ^^, pour une écriture réduite (et une feuille plus légère):
{ background : url(...) no-repeat 0 0; }
Ce qui évite d'avoir :
{ background-image: url(...); background-repeat:...; background-position:... ... ;}
Aussi, tu as mis ton positionnement absolue avec des %. Idéalement c'est mieux avec des pixels, ça sera plus "fixe" et sa position ne variera pas selon la taille des écrans.
J'espère que tout ce que j'ai écrit est compréhensible, je m'exprime un peu mal