You are underestimating just how long a time frame we are talking about here. If a horse has a neck a few MM longer, which helps it eat leaves, it will be more successful. Were talking, like, able to avoid starvation 1% more often then the shorter necks. Maybe, when there's a food shortage, 101 longer necks survive, 100 shorter necks. A tiny, minuscule difference that we would dismiss, but is still there. When that generation mates, any individual horse may be 1% more likely to mate with a longer neck. 51 times out of a hundred, it will choose the longer neck. The weaker of the long necks get stuck with a short neck slightly more often then half. Give this a few dozen, maybe hundred, maybe more, generations, and then you will have some horses with necks a whole couple centimeters longer. Maybe they are 5% more likely to not die of starvation. Well now its very obvious who the horses are with longer necks, and animals are programed to not like creatures that are different. So Long necks mate with long necks much, much more often (Maybe the difference percentage wise is all the way in the teens!), short necks with short necks. Over millions of years, those 1%'s accumulate and compound endlessly, and you start getting real change. Its like compound interest: It adds up fast, even if fast by evolutionary standards is thousands of years. Eventually, you get a change that we can see.