Chill your tools. Place a mixing bowl and whisk (or the bowl and whisk of your stand mixer) in the fridge for 10–15 minutes.
Cold tools help cream whip faster and hold better.
Prep the chocolate. Finely chop the white and dark chocolate into separate heatproof bowls. Smaller pieces melt evenly and reduce the risk of scorching.
Warm the milk. In a small saucepan, gently heat 1/4 cup milk until steaming but not boiling. If using gelatin, sprinkle 1/2 teaspoon over 1 tablespoon cold water in a separate small bowl and let it bloom for 5 minutes.
Make the dark chocolate base. Pour the hot milk over the chopped dark chocolate.
Let sit 1 minute, then stir until smooth and glossy. If using, melt the bloomed gelatin in the microwave for 5–8 seconds and whisk it into the chocolate. Add a pinch of salt, vanilla (1/2 teaspoon), and espresso powder if using.
Let the mixture cool to lukewarm—not hot—so it won’t deflate the cream.
Whip the cream for the dark layer. In your chilled bowl, whip 3/4 cup cold heavy cream to soft peaks. The cream should hold shape but still look silky. Don’t go to stiff peaks yet.
Fold to make dark mousse. Stir a big spoonful of whipped cream into the chocolate to lighten it.
Then gently fold in the rest with a spatula, turning the bowl as you go. Stop as soon as it’s mostly uniform and billowy.
Spoon and chill the first layer. Divide the dark mousse among 6–8 small glasses or ramekins, filling each halfway. Smooth the tops and refrigerate for at least 20–30 minutes to set slightly.
Repeat for the white chocolate base. Heat the remaining 1/4 cup milk.
Pour it over the chopped white chocolate; let sit 1 minute, then stir smooth. Bloom and melt the remaining 1/2 teaspoon gelatin if using, and whisk it in. Add a small pinch of salt and the remaining 1/2 teaspoon vanilla.
Let cool to lukewarm.
Whip and fold for the white mousse. Whip another 3/4 cup heavy cream to soft peaks. Lighten the white chocolate with a spoonful of cream, then gently fold in the rest just until combined.
Add the white layer. Spoon or pipe the white mousse over the chilled dark layer. Smooth the tops.
Refrigerate for at least 1–2 hours, or until both layers are nicely set. For the best texture, chill 4 hours.
Finish and serve. Whip the remaining 1/2 cup cream to soft peaks and dollop on top, if you like. Garnish with shaved dark chocolate, curls of white chocolate, or fresh raspberries.
Serve chilled.