First, prepare the grapefruit curd. In a small pot, whisk together the nondairy milk, water, and cornstarch.
Place over medium-high heat and add in the juice, zest, sugar, and vegan butter, continuing to whisk. Mixture should start bubbling and thickening. Whisk for 1-2 minutes as it boils, then remove from heat. Set grapefruit curd aside to cool until needed. It has to be COLD before it can be used in the cake.
Next, make the cake. Preheat oven to 350F and spray three 6" round cake pans with nonstick baking spray. In a small bowl, whisk together the ground flaxseed with the water and set aside to thicken.
In the bowl of a stand mixer, combine the flour, baking powder, baking soda, salt, sugar, and poppyseeds.
Add in the vegan butter, and beat on low until it's incorporated and has a sandy texture.
In a small bowl, whisk together the oil, flaxseed mixture, nondairy yogurt, and grapefruit zest, and add them to the dry ingredients. Mix until combined.
Finally, pour in the unsweetened nondairy milk and grapefruit juice, and beat on medium-low until smooth and creamy.
Divide batter evenly among the 3 pans, and bake for 30-35 minutes until cake is set in the center and a toothpick comes out clean.
When curd and cakes are completely cooled, you can make the frosting. In the bowl of a stand mixer, beat the shortening, vegan butter, and grapefruit juice together until completely smooth and creamy. Add in a pinch of salt and beat in the powdered sugar, 1 cup at a time, until a thick frosting forms. You may need more or less sugar to get the right consistency. You can add a splash of extra grapefruit juice or some nondairy milk if it is too thick.
To assemble the cake, place one cake piece on your cake stand or platter, and spread a thin layer of frosting on top (this prevents the cake from getting soggy from the curd). Pipe a circle of frosting around the edge. Gently spoon some grapefruit curd in the center, and spread it to create a thin layer. Repeat with all. Keep in mind you will have some curd left over! Frost the outside of the cake in white frosting and refrigerate to set.
Using the remaining frosting, divide it into 3-4 bowls and add in orange and pink food coloring to create desired colors. I used a small offset spatula to spread small dollops of frosting on my cake, then used my scraper to smooth it out. Refrigerate between each color to avoid smearing.
Refrigerate until needed. For best cake flavor and texture, let it sit at room temperature for 20-30 minutes before enjoying.