Ok, quindi diciamo che posso creare una personalizzazione in questo modo:

- grandezza dei font: usando diversi CSS che contengano solo la dimensione generale del body.

- sfondo grigio: mantengo la stessa struttura e stessi colori del menu e della head (blu e azzurro chiaro non molto luminoso) ma con sfondo grigio chiaro per il contenuto.

- sfondo nero: idem come sopra ma usando uno sfondo nero per i contenuti.

- zoom1: struttura su unica colonna con una sola pagina di presentazione e con link interni per le varie sezioni, sfondo bianco e colori del testo con un'alto contrasto (sarà il blu scuro e il blu classico dei link usato di default)

- zoom2: idem come zoom1 ma con sfondo nero e testi tendente al bianco.

Che ne dite?

Per lo script rimango dell'idea di usare sempre lato server e non JS. E' vero che come dice Mich JS sarebbe il più adatto e non occupa risorse del server per queste gestioni lato client ma è anche vero che non posso escludere gli utenti senza JS configurato. In altri progetti avrei optato sicuramente per JS (sono contrario a usare lato server per questo genere di funzioni) ma per questo mi sembra più consono e utile allo scopo un lato server rendendo il tutto accessibile e usabile da chiunque.