Cream the vegan butter in a large bowl to soften it, then mix in the semolina and plant milk. Cover the bowl and chill in the fridge overnight to soften the semolina.
Next day, preheat the oven to 180°C, and grease and line an 18cm round cake tin. Take the bowl of semolina from the fridge and sift in the flour and icing sugar. Stir well, then add the yoghurt, baking powder, baking soda, salt, vanilla and almond extracts, agave syrup, brandy and cinnamon.
Mix until just combined, then fold in the almonds. Pour the batter into the tin and bake for 45 minutes, or until a skewer inserted in the centre comes out clean.
Meanwhile, make the marzipan. In a food processor, blitz the ground almonds for 30–60 seconds to make them a little finer – but don’t over-process or you’ll end up with almond butter! Tip out into a large bowl and sift in the icing sugar. Drizzle in the maple syrup, lemon juice, one tablespoon of water, and the almond extract, if using. Knead until it starts to come together. Shape into a ball, then flatten into a disc – this will make it easier to roll it out later. Wrap in plastic wrap and chill for at least an hour before using.
Let the cake cool completely before turning out of the tin.
Roll out the marzipan into an 18cm circle. Warm the apricot jam in a small pan (or the microwave) and brush over the top of the cake. Lay the marzipan onto the cake, then garnish with almonds and pistachios.