Prepare the cream base: Whisk egg yolks and sugar in a double boiler over simmering water until pale and thick. Remove from heat and let cool.
Add mascarpone: Fold mascarpone cheese into the yolk mixture until smooth.
Whip the cream: Beat heavy cream until stiff peaks form, then gently fold it into the mascarpone mixture.
Soak the ladyfingers: Quickly dip each ladyfinger into cooled espresso (mixed with Marsala if using). Avoid oversoaking to prevent sogginess.
Assemble the layers: Arrange soaked ladyfingers in a dish, spread a layer of mascarpone cream on top, and repeat until the dish is full.
Chill: Cover and refrigerate at least 4–6 hours, ideally overnight, for flavors to meld.
Dust and serve: Just before serving, generously dust the top with cocoa powder.