.elementor-346 .elementor-element.elementor-element-137d021{--display:flex;--min-height:388px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:-32px;--padding-left:0px;--padding-right:0px;}.elementor-346 .elementor-element.elementor-element-b305cf8{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-around;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-346 .elementor-element.elementor-element-b305cf8:not(.elementor-motion-effects-element-type-background), .elementor-346 .elementor-element.elementor-element-b305cf8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-346 .elementor-element.elementor-element-21b3d95{--display:flex;--min-height:0px;}.elementor-346 .elementor-element.elementor-element-07f4b43{--display:flex;--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:-1px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-346 .elementor-element.elementor-element-07f4b43.e-con{--align-self:center;}body:not(.rtl) .elementor-346 .elementor-element.elementor-element-d733c8e{left:0px;}body.rtl .elementor-346 .elementor-element.elementor-element-d733c8e{right:0px;}.elementor-346 .elementor-element.elementor-element-d733c8e{top:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-346 .elementor-element.elementor-element-7106dee .elementor-heading-title{font-family:"Raleway", Sans-serif;font-size:2.8rem;font-weight:700;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-346 .elementor-element.elementor-element-07e2fd4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-346 .elementor-element.elementor-element-07e2fd4:not(.elementor-motion-effects-element-type-background), .elementor-346 .elementor-element.elementor-element-07e2fd4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://dev.webeasepro.com/wp-content/uploads/2025/10/Groupe-89.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-346 .elementor-element.elementor-element-f7959fc{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:69px;--margin-left:0px;--margin-right:0px;}.elementor-346 .elementor-element.elementor-element-1cea091{--spacer-size:50px;}.elementor-346 .elementor-element.elementor-element-9874b3b{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 10px;--row-gap:0px;--column-gap:10px;}.elementor-346 .elementor-element.elementor-element-3a4f8af{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--border-radius:15px 15px 0px 0px;--padding-top:28px;--padding-bottom:42px;--padding-left:28px;--padding-right:28px;}.elementor-346 .elementor-element.elementor-element-3a4f8af:not(.elementor-motion-effects-element-type-background), .elementor-346 .elementor-element.elementor-element-3a4f8af > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-113838c );}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-346 .elementor-element.elementor-element-059f003 .elementor-heading-title{font-family:"Raleway", Sans-serif;font-size:1.2rem;font-weight:700;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-346 .elementor-element.elementor-element-b57759d .elementor-button{background-color:var( --e-global-color-accent );font-family:"Raleway", Sans-serif;font-weight:700;fill:#FFFFFF;color:#FFFFFF;border-radius:9em 9em 9em 9em;padding:15px 50px 15px 50px;}.elementor-346 .elementor-element.elementor-element-c56c9ae{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--border-radius:15px 15px 0px 0px;--padding-top:28px;--padding-bottom:28px;--padding-left:28px;--padding-right:28px;}.elementor-346 .elementor-element.elementor-element-c56c9ae:not(.elementor-motion-effects-element-type-background), .elementor-346 .elementor-element.elementor-element-c56c9ae > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-113838c );}.elementor-346 .elementor-element.elementor-element-035d747 .elementor-heading-title{font-family:"Raleway", Sans-serif;font-size:1.2rem;font-weight:700;}.elementor-346 .elementor-element.elementor-element-4411644 .elementor-button{background-color:var( --e-global-color-accent );font-family:"Raleway", Sans-serif;font-weight:700;fill:#FFFFFF;color:#FFFFFF;border-radius:9em 9em 9em 9em;padding:15px 50px 15px 50px;}.elementor-346 .elementor-element.elementor-element-0e153bd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--border-radius:15px 15px 0px 0px;--padding-top:28px;--padding-bottom:28px;--padding-left:28px;--padding-right:28px;}.elementor-346 .elementor-element.elementor-element-0e153bd:not(.elementor-motion-effects-element-type-background), .elementor-346 .elementor-element.elementor-element-0e153bd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-113838c );}.elementor-346 .elementor-element.elementor-element-59d8bee .elementor-heading-title{font-family:"Raleway", Sans-serif;font-size:1.2rem;font-weight:700;}.elementor-346 .elementor-element.elementor-element-a3e2df2 .elementor-button{background-color:var( --e-global-color-accent );font-family:"Raleway", Sans-serif;font-weight:700;fill:#FFFFFF;color:#FFFFFF;border-radius:9em 9em 9em 9em;padding:15px 50px 15px 50px;}.elementor-346 .elementor-element.elementor-element-db089e1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--border-radius:15px 15px 0px 0px;--padding-top:28px;--padding-bottom:28px;--padding-left:28px;--padding-right:28px;}.elementor-346 .elementor-element.elementor-element-db089e1:not(.elementor-motion-effects-element-type-background), .elementor-346 .elementor-element.elementor-element-db089e1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-113838c );}.elementor-346 .elementor-element.elementor-element-2ff6bb4 .elementor-heading-title{font-family:"Raleway", Sans-serif;font-size:1.2rem;font-weight:700;}.elementor-346 .elementor-element.elementor-element-9cee626 .elementor-button{background-color:var( --e-global-color-accent );font-family:"Raleway", Sans-serif;font-weight:700;fill:#FFFFFF;color:#FFFFFF;border-radius:9em 9em 9em 9em;padding:15px 50px 15px 50px;}.elementor-346 .elementor-element.elementor-element-aa0d631{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-346 .elementor-element.elementor-element-48107d8{--spacer-size:50px;}@media(max-width:767px){.elementor-346 .elementor-element.elementor-element-7106dee{text-align:center;}}@media(min-width:768px){.elementor-346 .elementor-element.elementor-element-b305cf8{--width:40%;}.elementor-346 .elementor-element.elementor-element-21b3d95{--width:30%;}.elementor-346 .elementor-element.elementor-element-07e2fd4{--width:60%;}.elementor-346 .elementor-element.elementor-element-9874b3b{--width:87%;}.elementor-346 .elementor-element.elementor-element-3a4f8af{--width:25%;}.elementor-346 .elementor-element.elementor-element-c56c9ae{--width:25%;}.elementor-346 .elementor-element.elementor-element-0e153bd{--width:25%;}.elementor-346 .elementor-element.elementor-element-db089e1{--width:25%;}}/* Start custom CSS for container, class: .elementor-element-21b3d95 */<canvas id="stardust-canvas" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none;"></canvas>

<script>
let particles = [];
let microparticles = [];

const canvas = document.getElementById('stardust-canvas');
const ctx = canvas.getContext('2d');

canvas.width = canvas.parentElement.offsetWidth;
canvas.height = canvas.parentElement.offsetHeight;

window.addEventListener('resize', () => {
    canvas.width = canvas.parentElement.offsetWidth;
    canvas.height = canvas.parentElement.offsetHeight;
});

class Particle {
    constructor() {
        this.random = Math.random();
        this.random1 = Math.random();
        this.progress = 0;
        this.life = 1000 + (Math.random() * 3000);
        this.x = (canvas.width / 2) + (Math.random() * 100 - Math.random() * 100);
        this.y = canvas.height;
        this.s = 2 + Math.random() * 2;
        this.w = canvas.width;
        this.h = canvas.height;
        this.direction = this.random > 0.5 ? -1 : 1;
        this.radius = 1 + (3 * this.random);
        this.color = "rgba(255, 255, 255, 0.8)";

        this.ID = setInterval(() => {
            microparticles.push(new MicroParticle({ x: this.x, y: this.y }));
        }, this.random * 20);

        setTimeout(() => clearInterval(this.ID), this.life);
    }

    render() {
        ctx.beginPath();
        ctx.arc(this.x, this.y, this.radius, 0, 2 * Math.PI);
        ctx.shadowBlur = 10;
        ctx.shadowColor = "rgba(255, 255, 255, 0.5)";
        ctx.fillStyle = this.color;
        ctx.fill();
        ctx.closePath();
    }

    move() {
        this.x -= (this.direction) * Math.sin(this.progress / ((this.random1 * 430))) * this.s;
        this.y -= Math.cos(this.progress / this.h) * this.s;
        if (this.x < 0 || this.x > this.w - this.radius || this.y < 0) {
            clearInterval(this.ID);
            return false;
        }
        this.render();
        this.progress++;
        return true;
    }
}

class MicroParticle {
    constructor(options) {
        this.random = Math.random();
        this.random1 = Math.random();
        this.random2 = Math.random();
        this.progress = 0;
        this.x = options.x;
        this.y = options.y;
        this.s = 2 + Math.random() * 3;
        this.w = canvas.width;
        this.h = canvas.height;
        this.radius = 1 + this.random * 0.5;
        this.color = "rgba(78, 252, 254, 0.7)";
    }

    render() {
        ctx.beginPath();
        ctx.arc(this.x, this.y, this.radius, 0, 2 * Math.PI);
        ctx.fillStyle = this.color;
        ctx.fill();
        ctx.closePath();
    }

    move() {
        this.x -= Math.sin(this.progress / (100 / (this.random1 - this.random2 * 10))) * this.s;
        this.y += Math.cos(this.progress / this.h) * this.s;
        if (this.x < 0 || this.x > this.w - this.radius || this.y > this.h) return false;
        this.render();
        this.progress++;
        return true;
    }
}

let randomLife = 1000;
setInterval(() => {
    particles.push(new Particle());
    randomLife = 2000 * Math.random();
}, randomLife);

function clear() {
    ctx.clearRect(0, 0, canvas.width, canvas.height); // Juste clear transparent, pas de fond
}

function update() {
    clear();
    particles = particles.filter(p => p.move());
    microparticles = microparticles.filter(mp => mp.move());
    requestAnimationFrame(update);
}

update();
</script>

<style>
/* Assure que le contenu reste visible */
.elementor-container, .elementor-widget-wrap {
    position: relative;
    z-index: 1;
}
</style>/* End custom CSS */