post loop with different design depending on post

Your $count++ needs to be after your endif statement. It’s not counting up because your counter is always at 0 which means you’re always in your “if” portion of your statement not your “else”.
Like this:

$args = array(
        'post_type' => 'post',
        'post_per_page' => 3,
    );

<?php $loop = new WP_Query($args);

$count = 0;
while ($loop->have_posts()) : $loop->the_post();
    if ($count == 0):
    ?>
        <!-- last post -->
        <div class="post-one">
            <h1><?php the_title();?></h1>
        </div>
    <?php else:?>
    
        <!-- second et third post -->
        <div class="post-two">
        <h2><?php the_title();?></h2>
            <?php the_excerpt();?>
        </div>
        <?php
    endif;
    $count ++;
endwhile;
wp_reset_postdata();?>