    <style>
    .how-it-works-fullscreen {
        min-height: 100vh;
        width: 100vw;
        padding: 0;
        margin: 0;
        background: transparent;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        overflow: hidden;
    }


    .content-container {
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
        position: relative;
        z-index: 2;
        
    }
    .section-tag {
        margin-bottom: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        opacity: 0;
        transform: translateY(30px);
        transition: all 0.6s ease-out;
    }
    .section-heading-wrapper h2,
    .highlighted-text {
        margin: 5px 0;
        opacity: 0;
        transform: translateY(30px);
        transition: all 0.6s ease-out;
    }
    .heading-paragraph {
        max-width: 600px;
        margin: 20px auto;
        opacity: 0;
        transform: translateY(30px);
        transition: all 0.6s ease-out;
    }
    .how-it-works-diagonal {
        position: relative;
        width: 100%;
        height: 400px; /* enough to fit all cards */
        min-height: 400px;
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 24px;
        flex-wrap: wrap;
    }
    .diagonal-card {
        position: relative;
        border: 1px solid #f1ac7e;
        width: 360px;
        height: 360px;
        max-width: 100%;
        background: #fff;
        border-radius: 20px;
        padding: 20px;
        box-shadow: 0 8px 30px rgba(0,0,0,0.08);
        opacity: 0;
        transform: translateY(100px) scale(0.95);
        transition: all 0.8s cubic-bezier(.77,0,.18,1);
        display: flex;
        flex-direction: column;
    }
    .diagonal-card[data-step="1"] {
        left: 0;
        top: 0;
    }
    .diagonal-card[data-step="2"] {
        left: 0;
        top: 400px;
        margin-left: 24px;
    }
    .diagonal-card[data-step="3"] {
        left: 0;
        top: 800px;
        margin-left: 24px;
    }
    .diagonal-card.visible {
        opacity: 1;
        transform: translateY(0) scale(1);
        z-index: 2;
    }
    .how-it-works-diagonal .diagonal-card:not(:first-child) {
        margin-left: 24px;
    }
    /* Responsive */
    @media (max-width: 1200px) {
        .content-container {
            max-width: 98vw;
        }
        .how-it-works-diagonal {
            flex-direction: column;
            align-items: center;
            height: auto;
            min-height: unset;
        }
        .diagonal-card {
            margin-left: 0 !important;
            margin-bottom: 24px;
        }
    }
    @media (max-width: 900px) {
        .how-it-works-diagonal {
            flex-direction: column;
            align-items: center;
            height: auto;
        }
        .diagonal-card {
            width: 90vw;
            max-width: 366px;
            margin-left: 0 !important;
            margin-bottom: 24px;
        }
    }
    @media (max-width: 600px) {
        .diagonal-card {
            width: 98vw;
            max-width: 98vw;
            margin-bottom: 18px;
        }
    }
    /* Animate visible state for other elements */
    .section-tag.visible,
    .section-heading-wrapper.visible h2,
    .highlighted-text.visible,
    .heading-paragraph.visible {
        opacity: 1;
        transform: translateY(0);
    }
    </style>

.hiw-path path {
    stroke-dasharray: 1000; /* longueur totale approximative du chemin */
    stroke-dashoffset: 1000;
    animation: drawLine 2s forwards;
}

@keyframes drawLine {
    to {
        stroke-dashoffset: 0;
    }
}

.hiw-path path {
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    animation: drawLine 2s forwards;
    animation-play-state: paused; /* démarre au scroll */
}