Council approves 312-lot residential subdivision at Kelso