Preheat oven to 180°C / 160°C fan / Gas 4. Grease and line two 20cm sandwich tins.
Whisk sunflower oil, muscovado sugar, and eggs together for 2 minutes until slightly thickened.
Sift in flour, baking powder, cinnamon, mixed spice, and nutmeg. Fold gently until just combined.
Fold in grated carrot, walnuts, and orange zest.
Divide equally between tins. Bake 35–40 minutes until a skewer comes out clean.
Cool in tins 10 minutes, then turn out onto a wire rack. Cool completely.
Beat softened butter until pale and fluffy. Add cream cheese, icing sugar, vanilla, and orange zest. Beat until just smooth — do not overbeat.
Sandwich sponges with half the frosting. Spread remainder on top. Decorate with walnut halves and orange zest.