01 - Dissolve yeast in lukewarm milk. Let sit for 5 minutes until foamy.
02 - Add flour, sugar, salt, and softened butter to yeast mixture. Mix until a rough dough forms. Knead for 5-7 minutes until smooth and elastic.
03 - Shape dough into a rectangle, wrap tightly in plastic wrap, and refrigerate for 1 hour.
04 - Place cold butter between two sheets of parchment paper. Pound and roll into a 6 x 8-inch rectangle. Refrigerate if butter becomes soft.
05 - Roll chilled dough on a floured surface into a 10 x 14-inch rectangle. Place butter slab on one half, fold over the other half, and seal edges tightly.
06 - Roll dough gently into a 10 x 20-inch rectangle. Fold in thirds like a letter. Wrap and chill for 30 minutes.
07 - Repeat rolling and folding process two more times, rotating dough 90 degrees between each turn. Chill for 30 minutes after each fold.
08 - Roll final dough into a 10 x 20-inch rectangle. Cut into 8 equal rectangles. Place chocolate at one end of each rectangle and roll tightly into a log, seam-side down.
09 - Place shaped croissants on a parchment-lined baking sheet. Cover loosely and let rise at warm room temperature for 2 hours until puffy and doubled in size.
10 - Preheat oven to 400°F.
11 - Beat egg with milk until combined. Brush croissants generously with egg wash.
12 - Bake for 18-20 minutes until deep golden brown and crisp. Cool slightly on the baking sheet before serving.