Heat the butter and half the oil in a frying pan over a low-medium heat. Add the onion and garlic and fry for 8-10 minutes, until softened but not coloured. Add the rice and fry for 1-2 minutes, stirring constantly until it is coated in the oil.
Pour in the wine and bring to the boil. Reduce the heat slightly until the wine is just simmering, then cook until two-thirds of the wine has evaporated.
Add a ladleful of the warm stock to the pan and return to a simmer, reducing the heat if the liquid starts to bubble too fiercely, to prevent the rice from cooking too quickly. When most of the stock has evaporated, add another ladleful. Cook the risotto in this way for 12-15 minutes, or until most of the stock has been absorbed by the rice and the rice is tender but has a slight bite.
Meanwhile, heat the remaining oil in a frying pan over a medium heat and fry and the butternut squash for 10-12 minutes, turning regularly, until tender and golden-brown all over.
Stir the sage, butternut squash, Parmesan and mozzarella into the risotto. Turn the heat off, leave the pan on the heat, and let the cheese melt. Season, to taste, with salt and pepper.
Meanwhile, heat a dry frying pan over a medium heat. Add the pine nuts and toast for 1-2 minutes, until just golden-brown. Stir them into the risotto and serve.