Preheat oven to 350°F. Line a 9x13 inch baking pan with parchment paper, leaving overhang for easy lifting.
Make the crust: In a bowl, whisk flour, granulated sugar, and salt. Stir in the melted butter until evenly moistened and crumbly.
Press the mixture firmly and evenly into the prepared pan. Bake for 15 to 18 minutes until lightly golden at the edges. Set aside to cool slightly while you make the caramel.
Start the caramel: In a medium saucepan, combine granulated sugar, corn syrup, and water. Cook over medium heat without stirring until the mixture bubbles and turns a deep amber, 8 to 12 minutes. Swirl the pan occasionally to color evenly.
Carefully whisk in the butter until melted, then slowly whisk in the heavy cream (it will bubble vigorously). Return to a gentle simmer and cook, stirring, until thickened slightly, about 2 to 3 minutes.
Remove from heat and stir in vanilla and sea salt. Pour the hot caramel over the warm crust and spread evenly. Let stand 10 to 15 minutes to begin setting.
Make the fudge topping: In a saucepan over low heat, stir together chocolate chips, sweetened condensed milk, and butter until smooth and glossy, 3 to 5 minutes. Remove from heat and stir in vanilla.
Spread the fudge evenly over the caramel layer. Tap the pan gently on the counter to level.
Finish with flaky sea salt. Let cool to room temperature, then refrigerate until fully set, about 2 hours.
Lift out using the parchment, cut into 16 bars, and serve slightly chilled or at room temperature.
Notes
Storage: Refrigerate in an airtight container for up to 5 days or freeze for up to 2 months. For cleaner slices, warm a knife under hot water and wipe between cuts. Swap semi-sweet chips for dark chocolate if you prefer a less sweet bar.