why does giraffe have a long neck