Sky...
Eu retirei todas as alturas aqui do css
#cliente {
float:left;
/*height:332px;*/
width:296px;
}
#cliente-cnt1 {
margin-top:5px;
background-image:url(../imagens/palavra1.png);
/*height:104px;*/
width:296px;
}
#cliente-txt {
margin-left:55px;
margin-top:15px;
/*height:60px;*/
width:200px;
}
#cliente-cnt3 {
margin-left:150px;
margin-top:15px;
background-image:url(../imagens/palavrabtn.png);
background-position:right top;
background-repeat:no-repeat;
/*height:21px;*/
width:104px;
}
#botao-txt{
margin-left:3px;
margin-top:6px;
}
E deixei o código assim:
<div id="cliente">
<div id="cliente-cnt1">
<div id="cliente-txt"> iuadhs vuiahsd uiahsvuas vhhsauvsdvhuvsa voa sdvuhadsuv sdv
oahsdvioasdvihoa hsvoash vahs dvhasdvh asdvasdvasvad vhudvad
auvhasduivh asuidv huah vauhs vasdvavhuavsdvhasdvhushuvhua svashv
asudovh asdiuvh adsuivhuasd vuipadsvsdvsd vuidsvusadh vhsdavsadhvhasd asv
asdvih asiovj isvj is jvioj saviojs aivojisdvjsdavjiavjidjviadsjvadijsv iasvj adsvikj i</div>
</div>
<div id="cliente-cnt1">
<div id="cliente-txt">teste 1111</div>
</div>
<div id="cliente-cnt3">
<div id="botao-txt">Envie sua messagem</div>
</div>
</div>
Se você reparar ... o texto não está sobrepondo as outras divs... se você define a altura a div fica definida e o conteúdo ultrapassa a div e passa em cima da outra.
Bem ... olha só você tem duas opções... ou você não define a altura... ou você define a altura e limita a quantidade de caracteres.
Tem que ver qual se adequa melhor a sua situação.
Abração!