Preheat oven to 350°F (175°C), grease a 9-inch (22-cm) cake pan and line bottom with baking paper (grease that too).
Combine butter and sugars in a large bowl and beat on medium speed for 3-5 minutes until fluffy. Add egg yolks one at a time, then orange juice, zest, salt, vanilla and orange blossom water. Whisk until incorporated.
Next whisk in carrots, then flour, almond meal, baking powder and soda. The batter will be thick, but wet.
Place egg whites in a clean and dry bowl and beat them to stiff peaks. Fold them into the batter in two additions. Because the batter is thick, this will be a bit hard to do, but just slowly work them in.
Scrape the batter into the prepared pan and pat it down so it’s even all over. Bake cake in the center of the oven for 40-50 minutes or until a skewer inserted in the middle comes out clean (crumbs are okay, raw batter isn’t).
Remove cake from oven and let it cool for about 15 minutes. Run a thin knife around the sides of the pan, then remove cake from pan. Let it cool completely before adding the frosting. To store overnight, wrap the cake with plastic wrap (or an alternative) and keep it at room temperature.
To make the frosting, put all ingredients in a medium bowl and whisk until combined and smooth. Taste and add more sugar if needed. Using a spoon or spatula, spread frosting all over the cake. Add decorations, if desired, and serve. You can also keep a frosted cake in the refrigerator for a few hours or even overnight. The cold temperature sets the mascarpone really nicely and makes the cake easier to slice.