Prep your tools. Line a 12-cup muffin tin with paper liners.
Preheat the oven to 350°F (175°C). Bring eggs and buttermilk to room temperature for even mixing.
Mix dry ingredients. In a medium bowl, whisk 1 1/2 cups all-purpose flour, 1 1/2 teaspoons baking powder, and 1/2 teaspoon fine sea salt. Set aside.
Combine wet ingredients. In a large bowl, whisk 2 large eggs, 3/4 cup granulated sugar, 1/2 cup buttermilk, 1/4 cup neutral oil, 1 teaspoon vanilla extract, and 1/4 teaspoon almond extract.
Add 1/2 teaspoon finely grated lemon zest if using.
Bring the batter together. Stir the dry ingredients into the wet just until combined. Do not overmix. The batter should be smooth and slightly thick.
Portion and bake. Divide batter evenly among liners, filling each about 2/3 full.
Bake 16–19 minutes, or until a toothpick comes out clean and tops spring back lightly.
Cool completely. Let cupcakes rest in the pan 5 minutes, then transfer to a rack to cool fully before frosting.
Make the buttercream. In a stand mixer, beat 1 cup (2 sticks) softened unsalted butter on medium until creamy, 2 minutes. Gradually add 3–3 1/2 cups confectioners’ sugar, mixing on low at first. Add 1 teaspoon vanilla, a tiny drop of almond extract (optional), and 2–3 tablespoons heavy cream until fluffy and spreadable.
Tint the frosting. Add purple gel food coloring a little at a time.
For lavender, use a tiny amount. For deeper purple, add more gel, balancing with a small touch of pink to keep it from skewing blue. Beat until the color is uniform.
Frost and decorate. Transfer frosting to a piping bag fitted with a large star tip.
Pipe tall swirls onto fully cooled cupcakes. Finish with edible pearls, glitter, or tiny sugar flowers for an elegant look.
Set and serve. Chill 10–15 minutes to set the swirls if transporting. Serve at cool room temperature for the best texture and flavor.