Preheat oven to 350. Line a cupcake tin with 12-14 liners and lightly spray them with non-stick cooking spray.
In a large bowl, whisk together your dry ingredients: flour, cocoa powder, sugar, baking soda, baking powder, and salt.
In a medium sized bowl, beat your eggs, then mix in the coffee, oil, and Greek yogurt.
Gradually pour your liquid mixture into your dry ingredients, stirring in between, just until combined.
Pour your cupcake batter into liners, about 3/4 of the way to the top, and bake for 20-22 minutes, until a toothpick inserted in the center comes out clean.
To make the buttercream frosting:
Puree your raspberries in a food processor or blender until it becomes a liquid and the seeds have broken down slightly. Optional: pour raspberry puree through a sieve or fine mesh strainer to remove all remaining seed fragments.
In the bowl of your stand mixer using the paddle attachment, cream your butter on medium speed about 2-3 minutes.
Once the butter has lightened and become creamy, pour in the raspberry puree and salt, mixing on medium-low speed.
Begin adding in confectioner's sugar, one cup at a time. Add additional confectioner's sugar if the frosting seems too thin.
Pipe or spread your frosting onto your cupcakes, and then top each one with a chocolate heart.
Notes
I haven't tested this recipe at low elevation. If you do attempt it, try doubling the amounts of baking soda and powder and reducing the canola oil amount to 1/3 cup.