
  /* ── Section processus ── */
        .processus {
            padding: 48px 0 64px;
        }

        .processus-title {
            text-align: center;
            margin-bottom: 36px;
            text-transform: uppercase;
        }

        .steps {
            display: flex;
            flex-wrap: wrap;
            gap: 16px;
            justify-content: center;
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .step {
            background-color: var(--bgCard);
            border-radius: 12px;
            padding: 24px 20px;
            flex: 1 1 180px;
            max-width: 220px;
            position: relative;
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        /* connector line between steps */
        .step:not(:last-child)::after {
            content: '';
            position: absolute;
            top: 36px;
            right: -10px;
            width: 10px;
            height: 2px;
            background-color: var(--act1, #3B82F6);
            opacity: .4;
        }

        .step-num {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            background-color: var(--act1, #3B82F6);
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            font-size: .85rem;
            flex-shrink: 0;
            display: none;
        }

        .step-label {
            font-weight: 600;
            font-size: 1.295rem;
            line-height: 1.3;
            color: var(--htext);
        }

        .step-desc {
            font-size: .82rem;
            opacity: .7;
            line-height: 1.5;
        }

        /* hide/show mirrors the existing typeContent logic */
        .processus {
            display: none;
        }

        .processus.active {
            display: block;
        }

        @media (max-width: 640px) {
            .step {
                max-width: 100%;
                flex-basis: 100%;
            }

            .step:not(:last-child)::after {
                display: none;
            }
        }

        /* ── Section CTA ── */
        .cta-section {
            display: none;
            padding: 0 0 72px;
        }

        .cta-section.active {
            display: block;
        }

        .cta-block {
            background-color: var(--bgCard);
            border-radius: 16px;
            padding: 48px 40px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 32px;
            flex-wrap: wrap;
        }

        .cta-block-text {
            flex: 1 1 300px;
        }

        .cta-block-text h3 {
            font-size: 1.4rem;
            font-weight: 700;
            margin: 0 0 10px;
        }

        .cta-block-text p {
            font-size: .92rem;
            opacity: .72;
            margin: 0;
            line-height: 1.6;
        }

        .cta-block-actions {
            display: flex;
            gap: 12px;
            flex-wrap: wrap;
            flex-shrink: 0;
        }

        @media (max-width: 640px) {
            .cta-block {
                padding: 32px 20px;
            }

            .cta-block-actions {
                width: 100%;
            }

            .cta-block-actions button {
                flex: 1 1 100%;
            }
        }