Firth weathers late Grangeville rally to make 2A title game