Stai chiedendo di modificare la visualizzazione di parti della pagina in base ad eventi della pagina.
In questo i CSS da soli non sono sufficienti. Hai necessita` di JS che modifichi il CSS di una zona in modo che diventi visibile/invisibile.

Pero` e` tutto coidce che si realizza lato client, quindi se posti codice, devi postarlo come arriva al borwser, non il sorgente PHP, che tra l'altro nasconde il contenuto HTML/CSS

Uno schema possibile e`:
codice:
<form ...>
  <fieldset id="fondamentale">
    ... qui i campi sempre presenti, tipo la tua select ...
  </fieldset>
  <fieldset id="eventoA">
    ... qui i campi visibili in una condizione ...
  </fieldset>
  <fieldset id="eventoB">
    ... qui i campi visibili nell'altra condizione ...
  </filedset>
</form>
I CSS dovranno definire la visibilita` di default di tutti i fieldset (altrimenti che non ha JS attivo non avra` la possibilita` di completare il form)
Il JS poi potra` modificare la visibilita` o meno dei fieldset:
all'evento onload:
document.getElementById('eventoA').style.display = 'none';
document.getElementById('eventoB').style.display = 'none';

Mentre all'evento di modifica della select, dovrai imporre:
document.getElementById('eventoA').style.display = 'block';
e/o:
document.getElementById('eventoB').style.display = 'block';

Per la parte del codice JS (come rilevare il valore della select), sposto nel forum JS.