500 g bread flour (about 4 cups), plus more for rolling
55 g sugar (1/4 cup)
11 g fine salt (2 tsp)
10 g instant yeast (1 tbsp)
140 g cold whole milk (1/2 cup + 1 tbsp)
140 g cold water (1/2 cup + 1 tbsp)
40 g soft unsalted butter (3 tbsp), for the dough
280 g cold European-style unsalted butter (2 1/2 sticks), at least 82% fat, for the butter sheet
1 egg beaten with 1 tbsp milk, for the egg wash
How to make it
Day 1, the dough (10 min): In a stand mixer with the dough hook, mix flour, sugar, salt and yeast. Add milk, water and the 40 g soft butter. Mix on low 3 minutes, then medium 3 minutes, until smooth but not stretchy; over-kneaded dough fights you when you roll it. Pat into a 2 cm (3/4 in) thick square, wrap and refrigerate overnight.
Day 2, the butter sheet (10 min): Put the 280 g cold butter between two sheets of parchment, beat it flat with a rolling pin, then roll and fold the parchment into a neat 17 cm (6 3/4 in) square. Chill 20 minutes. It should bend without cracking, like cold modeling clay.
Lock in the butter (5 min): Roll the dough into a 25 cm (10 in) square. Set the butter on it turned 45 degrees, like a diamond, and fold the four dough corners over it to meet in the middle. Pinch the seams shut.
First fold (5 min): Roll the packet into a 20 x 60 cm (8 x 24 in) strip, rolling in one direction and keeping the edges square. Brush off flour. Fold it in thirds like a letter. Wrap and chill 30 minutes.
Second and third folds (15 min, plus 1 hr chilling): Turn the dough so the open edge faces you, roll to 20 x 60 cm again and fold in thirds. Chill 30 minutes. Repeat once more. If butter ever breaks through or feels soft, stop and chill 15 minutes. After the third fold, wrap and refrigerate overnight.
Day 3, shape (25 min): Roll the dough to a 25 x 100 cm (10 x 40 in) rectangle about 4 mm thick. Let it shrink back for a minute, then trim the edges. Cut long, thin triangles 10 cm (4 in) wide at the base. Make a 1 cm notch in the middle of each base, stretch the triangle gently, and roll it up from the base with light hands, finishing with the tip underneath.
Proof (2 to 3 hr): Set on parchment-lined trays, 5 cm apart. Brush lightly with egg wash. Proof at a warm room temperature, no hotter than 26C (78F) or the butter melts out, until they're puffy, wobble when you shake the tray and you can see the layers.
Bake (18 to 20 min): Heat the oven to 200C (400F). Brush again with egg wash. Bake 18 to 20 minutes, turning the trays halfway, until deep brown all over, darker than you think. Cool 15 minutes on the tray; the inside is still setting.
Tips
Cold is everything: if the kitchen is warm, chill the dough between every step.
A pale croissant is an underbaked croissant. Go for mahogany.
For pain au chocolat, cut 8 x 15 cm rectangles and roll them around two batons of dark chocolate.
For Argentine medialunas, add 1 tbsp honey to the dough, shape smaller and brush with sugar syrup straight out of the oven.