Array Chunks and Inserting Varying HTML in WP_Query

That’s a pretty complicated approach you’re taking. Why not simply add a counter? Like this:

$i=1;
echo '<div class="row full">';
if( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        if ($i < 3)
          $class = "large-6 medium-6 small-12 columns"
        else
          "large-4 medium-4 small-12 columns";
        echo '<div class="' . $class . '">'
        ... output your post ...
        echo '</div>'
        if ($i=2) echo '</div><div class="row full">';
        $i = $i+1;
        }
    }
echo '</div>';