Warm the milk in a saucepan until steaming but not boiling. Remove from the heat and add the butter, swirling to help it melt, then set aside to cool a little. Meanwhile, mix the flour, yeast, 50g sugar, the cinnamon and 1 tsp salt in a large bowl, or the bowl of a tabletop mixer. When the milk is warm, add it to the dry ingredients and combine to make a sticky dough. Tip onto your work surface and knead for 10 mins by hand, or for 5 mins in the mixe r until the dough is smooth and stretchy. Return to a clean oiled bowl, cover with oiled cling film and leave somewhere warm to rise for 1-2 hrs until doubled in size.
Line your largest baking sheet with baking parchment. Tip the dough onto a lightly floured work surface and roll to a rectangle about 30 x 40cm. Grate the marzipan over the surface and scatter over the orange zest, fresh cranberries, 75g dried cranberries, 25g pistachios and 3 tbsp caster sugar. From one of the longer sides, tightly roll up the dough into a sausage, pinching the dough together at the other end to seal the open edge.
Use a large, sharp knife to divide the sausage of dough first in half, then into quarters, then cut each quarter into three pieces, so you’re left with 12 equal pieces of dough. Turn them all cut -side up and arrange on the baking sheet in a tree shape, using one piece for a trunk and leaving space between each bun for them to expand. Make sure the pinched edge on the outside of each bun is facing towards the centre of the tree, otherwise it may come unstuck and unravel as it cooks. You should have one bun left over – bake this alongside (treat for the cook!) . Cover the sheet in one or two pieces of oiled cling film and leave to prove for 30 -40 mins, or until doubled in size and just touching
Heat oven to 180C/160C fan/ gas 4. Bake in the middle of the oven for 20-22 mins until golden brown. While the buns cook, heat the apricot jam with 2 tsp water until runny, then set aside to cool a little. Mix the icing sugar with enough orange juice to make a thick icing and transfer it to a small disposable piping bag or plastic sandwich bag. You can spray the pistachios with gold spray at this point, if you like.
When the buns are cooked, leave to cool for 15 mins, then brush all over with the apricot glaze. Snip the corner off the piping bag and drizzle icing over the top of the buns in random lines. Scatter over the remaining pistachios and dried cranberries and leave the icing to set for 10 mins before serving. Will keep in an airtight container for up to three days.