4 cups unbleached all-purpose flour; more for rolling
1/2 cup plus 2 Tbs cold water
1/2 cup plus 2 Tbs cold whole milk
1/4 cup plus 2 Tbs granulated sugar
3 Tbs soft unsalted butter
1 Tbs. plus scant 1/2 tsp. instant yeast
2-1/4 tsp. table salt
280g cold unsalted butter
Combine all of the dough ingredients in the bowl of a stand mixer fitted with the dough hook. Mix on low speed for 3 minutes, then on medium speed for 3 minutes. Transfer the dough to a lightly floured a dinner plate. Lightly flour the top of the dough and wrap well with plastic so it doesn't dry out. Refrigerate overnight.
The next day, cut the cold butter lengthwise into 1cm thick slabs. Arrange the pieces on a piece of baking paper to form a 15 cm square. Top with another piece of baking paper. With a rolling pin, pound the butter until it’s about 19 cm square and then trim the edges of the butter. Put the trimmings on top of the square and pound them in lightly with the rolling pin. Refrigerate while you roll out the dough.
Unwrap and lay the dough on a lightly floured work surface. Roll into a 26 cm square. Remove the butter from the refrigerator—it should be pliable but cold. If not, refrigerate a bit longer. Unwrap and place the butter on the dough so that the points of the butter square are centered along the sides of the dough. Fold one flap of dough over the butter toward you, stretching it slightly so that the point just reaches the center of the butter. Repeat with the other flaps . Then press the edges together to completely seal the butter inside the dough. (A complete seal ensures butter won’t escape.)
Lightly flour the top and bottom of the dough. Roll the dough instead of pressing, focusing on lengthening rather than widening it and keeping the edges straight.
Roll the dough until it’s 20 by 60 cm. If the ends lose their square shape, gently reshape the corners with your hands. Pick up one short end of the dough and fold it back over the dough, leaving one-third of the other end of dough exposed. Fold the exposed dough over the folded side. Wrap the dough tightly with a baking sheet, and freeze for 20 minutes to relax and chill the dough.
Repeat the rolling and folding, this time rolling in the direction of the two open ends until the dough is about 20 by 60 cm. Fold the dough in thirds again, then wrap and freeze for another 20 minutes.
Give the dough a third rolling and folding. Wrap tightly, and refrigerate overnight.
The next day, unwrap and lightly flour the top and bottom of the dough. With the rolling pin, “wake the dough up” by pressing firmly along its length—you don’t want to widen the dough but simply begin to lengthen it with these first strokes. Roll the dough into a long and narrow strip, 20 cm by about 110 cm. Check that there’s enough excess dough on either end to allow you to trim the ends so they’re straight and the strip of dough is 100 cm long. Trim the dough.
Lay a yardstick or tape measure lengthwise along the top of the dough. With a knife, mark the top of the dough at 12 cm intervals along the length . Position the yardstick along the bottom of the dough. Make a mark 6 cm in from the end of the dough. Make marks at 12 cm intervals from this point all along the bottom of the dough.
Make diagonal cuts by positioning the yardstick at the top corner and the first bottom mark. With a knife or pizza wheel, cut the dough along this line. Move the yardstick to the next set of marks and cut. Repeat until you have cut the dough diagonally at the same angle along its entire length. Now change the angle of the yardstick to connect the other top corner and bottom mark and cut the dough along this line to make triangles. Repeat along the entire length of dough.
Using a paring knife or a bench knife, make a 1 -2 cm notch in the center of the short side of each triangle. The notch helps the rolled croissant curl into a crescent. Hold a dough triangle so that the short notched side is on top and gently elongate the dough a little —this step results in more layers and loft.
Lay the croissant on the work surface with the notched side closest to you. With one hand on each side of the notch, begin to roll the dough away from you, towards the pointed end.
Flare your hands outward as you roll so that the “legs” become longer. Press down on the dough with enough force to make the layers stick together, but avoid excess compression, which could smear the layers. Roll the dough all the way down its length until the pointed end of the triangle is directly underneath the croissant. Now bend the two legs towards you to form a tight crescent shape and gently press the tips of the legs together (they’ll come apart while proofing but keep their crescent shape).
Shape the remaining croissants in the same manner, arranging them on two baking sheets. Keep as much space as possible between them, as they will rise during the final proofing and again when baked.
Make the egg wash by whisking the egg with 1 tsp. water in a small bowl until very smooth. Lightly brush it on each croissant.
Refrigerate the remaining egg wash (you’ll need it again). Put the croissants in a draft-free spot at 23c - 25c. Wherever you proof them, be sure the temperature is not so warm that the butter melts out of the dough. They will take 1-1/2 to 2 hours to fully proof. You’ll know they’re ready if you can see the layers of dough when the croissants are viewed from the side, and if you shake the sheets, the croissants will wiggle. Finally, the croissants will be distinctly larger (though not doubled) than they were when first shaped.
Shortly before the croissants are fully proofed, position racks in the top and lower thirds of the oven and heat it to 220c. Brush the croissants with egg wash a second time. Put the sheets in the oven. After 10 minutes, rotate the sheets and swap their positions. Continue baking until the bottoms are an even brown, the tops richly browned, and the edges show signs of coloring, another 8 to 10 minutes. Let cool on baking sheets on racks.