Il tag span, di default, ha un display:inline, questo vuol dire che non si espande in orizzontale ma resta largo esattamente quanto è largo il testo in esso contenuto.
Di conseguenza, anche se gli applichi un text-align:center, il testo resta allineato a sinistra in quanto si "centra" nell'ambito della sua stessa larghezza.
Quindi, se vuoi un testo centrato, devi applicare un display:block al tag span, di modo che si espanda per tutta la larghezza del suo parent, nel tuo caso, il body.
codice:
.titolo {
display:block;
text-align: center;
font-family: Verdana, Geneva, sans-serif;
font-size: 24px;
font-weight: bold;
}
Oppure usare, al posto del tag "span", un tag che abbia di default un display:block come il tag <p> o i tag <h1>...<h6>
Visto che si tratta del titolo della pagina sarebbe semanticamente più corretto usare un tag <h1> o <h2>