.background-layer {
    position: fixed;
    inset: 0;
    z-index: -1;
    overflow: hidden;
    pointer-events: none;
}

.background-parallax {
    position: absolute;
    inset: -10%;
    will-change: transform;
}

/* Zentrales Glow-Light */

.bg-glow {
    position: absolute;
    width: 700px;
    height: 700px;
    top: 18%;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;

    background: radial-gradient(
            circle,
            rgba(16,185,129,0.20) 0%,
            rgba(16,185,129,0.12) 30%,
            rgba(16,185,129,0.06) 55%,
            rgba(16,185,129,0.02) 75%,
            rgba(16,185,129,0) 100%
    );

    filter: blur(90px);
}

/* Floating Shapes */

.bg-shape {
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50%;
    pointer-events: none;

    opacity: 0.25;

    will-change: transform;
}

/* BLUE */

.bg-shape.blue {

    background: radial-gradient(
            circle at 30% 30%,
            rgba(59,130,246,0.45) 0%,
            rgba(59,130,246,0.22) 35%,
            rgba(59,130,246,0.08) 65%,
            rgba(59,130,246,0) 100%
    );

    box-shadow: 0 0 80px rgba(59,130,246,0.18);

    filter: blur(12px);
}

/* GREEN */

.bg-shape.green {

    background: radial-gradient(
            circle at 30% 30%,
            rgba(52,211,153,0.45) 0%,
            rgba(52,211,153,0.20) 35%,
            rgba(52,211,153,0.07) 65%,
            rgba(52,211,153,0) 100%
    );

    box-shadow: 0 0 80px rgba(52,211,153,0.18);

    filter: blur(14px);
}

/* WHITE */

.bg-shape.white {

    background: radial-gradient(
            circle at 30% 30%,
            rgba(255,255,255,0.35) 0%,
            rgba(255,255,255,0.16) 45%,
            rgba(255,255,255,0.05) 70%,
            rgba(255,255,255,0) 100%
    );

    box-shadow: 0 0 100px rgba(255,255,255,0.14);

    filter: blur(14px);
}

@media (max-width: 768px) {

    .bg-glow {
        width: 420px;
        height: 420px;
        top: 18%;
        filter: blur(70px);
    }
}