01 - Dissolve yeast in lukewarm milk. Let stand for 5 minutes until foamy.
02 - Add flour, sugar, salt, and softened butter to yeast mixture. Mix until rough dough forms. Knead for 5-7 minutes until smooth and elastic.
03 - Shape dough into rectangle, wrap tightly in plastic, and refrigerate for 1 hour.
04 - Place cold butter between parchment sheets. Pound and roll into 6 x 8-inch rectangle. Refrigerate if softening occurs.
05 - Roll chilled dough on floured surface into 10 x 14-inch rectangle. Position butter slab on lower half. Fold upper half over butter, sealing edges completely.
06 - Roll dough gently into 10 x 20-inch rectangle. Fold into thirds like a business letter. Wrap and refrigerate 30 minutes.
07 - Repeat rolling and folding process two more times, rotating dough 90 degrees between each fold. Refrigerate 30 minutes between folds.
08 - Roll final dough into 10 x 20-inch rectangle. Cut into 8 equal rectangles. Position chocolate at one end of each rectangle. Roll tightly into log, placing seam-side down on parchment-lined baking sheet.
09 - 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 - Whisk egg with milk until blended. Brush croissants thoroughly with egg wash.
12 - Bake for 18-20 minutes until deep golden brown and crisp. Cool on baking sheet briefly before serving.