float scl = Mathf.Clamp01((spd - minZoomSpeed) / (maxZoomSpeed - minZoomSpeed));
A clamp that has an operator in it? I don't even know how this works.
cam.ZoomFactor = Mathf.MoveTowards(cam.ZoomFactor, targetZoomFactor, 0.2f * Time.deltaTime);
This one I can probably figure out how to create but in case someone already created a move towards based on floats?