Custom post types

// Template redirect for custom templates
add_action( 'template_redirect', 'template_redirect' );

public function template_redirect() {
    global $wp_query;
    if ( $wp_query->query_vars['post_type'] == 'case_studies' ) {
        get_template_part( 'single-casestudies' ); // a custom page-slug.php template
        die();
    }
}

This is the same thing that @Dalton mentioned, you would want to create a custom page template named page-casestudies.php or whatever you want to name it, then make a page in WP admin that has a slug of ‘casestudies’ to match the page-{slug}.php or page-{id}.php where the page id matches. And you can use the page.php code, with a line or two before the if(have_posts() while(have_posts() Loop. Sort of like this:

$paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;
query_posts( array( ‘post_type’ => ‘case_studies’, ‘paged’ => $paged ));

if (have_posts()) : while (have_posts()) : the_post();

Sorry if I misunderstood the problem, but I think this would fix it.