You need to use the offset paramater in WP_Query e.g.
<?php
$loop = new WP_Query( array( 'post_type' => 'recentproject', 'orderby' => 'rand', 'posts_per_page' => '1') );
$counter=0;
?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); $counter++; ?>
<div class="col-8 columns">
<?php edit_post_link(); // Always handy to have Edit Post Links available ?>
<?php if ( has_post_thumbnail()) : // Check if thumbnail exists ?>
<?php echo get_the_post_thumbnail(); ?>
<?php endif; ?>
</div>
<div class="col-4 columns">
<h4 class="project_title"><?php the_title(); ?></h2>
<?php echo the_content(); ?>
</div>
<?php endwhile; ?>
<div class="clear"></div>
<div class="row">
<?php
$loop = new WP_Query( array( 'post_type' => 'recentproject', 'orderby' => 'rand', 'posts_per_page' => '3', 'offset' => '1' ) );
?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="col-4 columns">
<h4 class="project_title"><?php the_title(); ?></h4>
<?php edit_post_link(); // Always handy to have Edit Post Links available ?>
<?php if ( has_post_thumbnail()) : // Check if thumbnail exists ?>
<?php echo get_the_post_thumbnail(); ?>
<?php endif; ?>
<?php echo the_content(); ?>
</div>
<?php endwhile; ?>
</div>
Basically it ignores the first xx posts in the query, so you would use offset => 1 if you want to ignore the first post in your query
I don’t think it will work with “rand” order though, is the rand a necessity?
Edit: Using count & 1 query
<?php
$loop = new WP_Query( array( 'post_type' => 'recentproject', 'orderby' => 'rand', 'posts_per_page' => '4') );
$count = 1;
while ( $loop->have_posts() ) : $loop->the_post();
if($count == '1') { ?>
<div class="col-8 columns">
<?php edit_post_link(); // Always handy to have Edit Post Links available ?>
<?php if ( has_post_thumbnail()) : // Check if thumbnail exists ?>
<?php echo get_the_post_thumbnail(); ?>
<?php endif; ?>
</div>
<div class="col-4 columns">
<h4 class="project_title"><?php the_title(); ?></h4>
<?php echo the_content(); ?>
</div>
<?php } else { ?>
<div class="col-4 columns">
<h4 class="project_title"><?php the_title(); ?></h4>
<?php edit_post_link(); // Always handy to have Edit Post Links available ?>
<?php if ( has_post_thumbnail()) : // Check if thumbnail exists ?>
<?php echo get_the_post_thumbnail(); ?>
<?php endif; ?>
<?php echo the_content(); ?>
</div>
<?php
}
$count++;
endwhile;
wp_reset_postdata();
?>
Not tested but should work, basically it counts the posts and changes the HTML code depending on the count number