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 press edges to seal.
06 - Roll dough gently into a 10 x 20-inch rectangle. Fold in thirds like a letter. Wrap and refrigerate for 30 minutes.
07 - Repeat rolling and folding process two more times, rotating dough 90 degrees between each fold. Refrigerate for 30 minutes between each turn.
08 - Roll laminated 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. Place 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 - 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 on baking sheet for 10 minutes before serving.