In a large mixing bowl, whisk together the sourdough starter, 200 g milk, sugar, and softened 40 g butter until mostly smooth.
Add the bread flour, all-purpose flour, and salt to the wet mixture and mix with a dough scraper until a rough dough forms.
Knead the dough gently by hand for 3–5 minutes until it is smooth and just slightly tacky but not sticky.
Shape the dough into a flat rectangle, place it in a lightly floured bowl, cover with plastic wrap, and rest at room temperature for 30–60 minutes.
After resting, refrigerate the dough for at least 4 hours or overnight to firm it up for laminating.
To prepare the butter block, place the 250 g cold butter between two sheets of parchment and beat it with a rolling pin into a 15 x 15 cm square about 1 cm thick.
Chill the butter block in the refrigerator until firm but pliable, about 20–30 minutes.
On a lightly floured surface, roll the chilled dough into a 30 x 30 cm square.
Place the butter block diagonally in the center of the dough square so it looks like a diamond inside a square.
Fold the four corners of the dough over the butter to fully encase it, pinching seams to seal so butter cannot escape.
Gently roll the dough-butter packet into a 20 x 50 cm rectangle, keeping edges as straight and corners as square as possible.
Perform the first letter fold by folding the bottom third of the rectangle up toward the center and the top third down over it, like folding a letter.
Wrap the dough in plastic wrap and refrigerate for 30–45 minutes to relax the gluten and keep the butter firm.
Remove the dough from the fridge and roll it again into a 20 x 50 cm rectangle, keeping the same orientation each time.
Perform a second letter fold in the same way, then wrap and refrigerate for another 30–45 minutes.
Repeat the rolling into a 20 x 50 cm rectangle and perform a third and final letter fold, then wrap and chill for at least 1 hour or up to overnight.
When ready to shape, roll the laminated dough into a large rectangle about 25 x 60 cm and 4–5 mm thick.
Trim the edges slightly with a sharp knife or pizza cutter to reveal clean layers.
Using the knife or cutter, cut long triangles with a base width of about 8–9 cm and full height of the dough strip.
Make a 1–2 cm notch in the center of each triangle base to help with shaping.
Starting at the base of each triangle, gently stretch the dough and roll it up toward the tip, keeping tension without squashing the layers.
Curve the ends slightly inward to create the classic crescent shape and place each croissant on parchment-lined baking sheets with space between them.
Cover the trays loosely with plastic wrap or a clean kitchen towel and proof at a warm room temperature (22–24°C) for 4–6 hours until puffy, jiggly, and nearly doubled but not collapsed.
Near the end of proofing, preheat the oven to 200°C (395°F) with a rack in the middle position.
In a small bowl, whisk together the egg and 15 g milk to make the egg wash.
Gently brush the proofed croissants with a thin, even layer of egg wash, taking care not to deflate them or let wash drip onto the cut edges.
Bake the croissants for 10 minutes at 200°C, then reduce the temperature to 180°C (355°F) and bake for another 10–15 minutes until deep golden brown.
Transfer the baked croissants to a wire rack and cool for at least 20 minutes before serving to allow the crumb to set.