Pour the cold water into a small bowl and sprinkle the gelatin evenly over the surface. Let it bloom for 5–10 minutes.
Combine the heavy cream, whole milk, and sugar in a saucepan over medium-low heat.
Heat gently, stirring occasionally, until the sugar dissolves and the mixture is hot but not boiling.
Remove from the heat and stir in the vanilla.
Add the bloomed gelatin and whisk gently until completely dissolved.
Divide the panna cotta mixture between 6 ramekins or dessert glasses.
Cool slightly, then refrigerate for at least 4 hours or overnight until softly set.
To make the caramel, place the sugar in a heavy-bottomed saucepan over medium heat.
Allow the sugar to melt and turn deep amber, gently swirling the pan when necessary.
Remove from the heat and carefully whisk in the butter.
Slowly add the heavy cream while whisking carefully. The mixture will bubble vigorously.
Stir in the salt and allow the caramel sauce to cool.
To unmold the panna cotta, carefully loosen the upper edge and briefly dip the bottom of each ramekin in warm water.
Invert onto a serving plate.
Spoon cooled caramel sauce over each panna cotta immediately before serving.