Preheat the oven to 350° F and move one rack on the second highest position.
Make the breadcrumb topping. Heat the butter in the microwave just until melted. Pour over the bread crumbs and mix together with a fork until the crumbs are totally coated in butter. Mix in the salt, parsley and parmesan. Set aside.
Bring a pot of salted water to a boil and cook the cavattappi until just before al dente. Drain and set aside.
Make the roux. In a large sauce-pan, melt the butter in the pot on medium-low heat until it stops popping and fizzing, then dump in the flour. Continuously stir the butter and flour for just a minute until the raw flour smell has faded.
Combine the milk and heavy cream in a glass measuring cup. Drizzle the liquid into the roux a little at a time, whisking to break up any lumps. Once the roux and the liquid are combined and starting to thicken, add more liquid. Repeat until all the liquid is added.
Whisk in the paprika, dry mustard, garlic powder, salt and pepper and keep stirring until the mixture is thick enough to coat the back of a wooden spoon. Do not let the mixture boil. If the sauce is too hot, it will split when the cheese is added.
Take the mixture off the heat (it should read between 140-180° F on an instant read thermometer).
One handful at a time, add in the sharp cheddar and Fontina, stirring in between each addition until combined. If the mixture’s temperature drops too much, you can return it to the stove over very, very low heat (even the smallest burner) to encourage more cheese to melt, but overcooking the sauce at this point will cause it to split. If some of the cheese strands are not totally melting in, that’s okay. It’s better to have a few strands of unincorporated cheese in an emulsified sauce than a gritty, split soup.
Off the heat, add the pasta to the cheese sauce, and fold it in. Then, fold in the shredded Gruyére just until evenly dispersed.
Pour the mac and cheese into a greased 9x9-inch tin (or, if your sauce-pan is oven-safe and big enough, you can just bake the mac and cheese in that). and level it off. Sprinkle on the breadcrumb topping.
Bake for around 22 minutes, or until the edges are bubbling and the top is just barely turning golden brown. The temperature in the center should be about 190-200° F.
Allow to cool for about 5 minutes before serving.