You’ll need to setup the post for the query by changing the following line to get rid of the infinite loop.
<?php while ($query->have_posts()) : $query->the_post(); ?>
If your looking for a custom post type, you’ll need to specify that in the query arguments:
<?php $query = new WP_Query( array( "post-type" => "yourposttype", "tag" => "branding" ) ); ?>
You can see most (if not all) of the query parameters in the codex. http://codex.wordpress.org/Class_Reference/WP_Query#Parameters