Increase offset while looping

Yup.

What you’re looking for is a smart “counter”.

In actuality, your issue is this:

You’re trying to avoid duplicate posts.

Here’s the popular method to do it.

In every file that you run a query, you must add this code:

global $duplicated_posts;

$args = [
    'post_type' => 'post',
    'post__not_in' => $duplicated_posts
];

$query = new \WP_Query($args);

Notice the post__not_in. Now, this file will be ran once (assume in a page builder, but doesn’t matter) when you include it, let’s keep going.

“Okay but the array is still empty”.

When you actually check if you have posts, you must add each post’s ID that you found to that global array, like so:

if( $query->have_posts() ) : ?>
    <div class="official-matters-group">
        <div class="official-matters-tabs">
        ..etc
        <?php
        while( $query->have_posts() ) :
            $query->the_post();
            $duplicated_posts[] = get_the_ID(); //golden ticket
            ..code for each post goes here.

So, now, when your next content box looks at this $duplicated_posts, it’ll know not to include these posts.

Remember, you have to copy this pattern in every file that you want to not have repeated items!

Cheers.