/* Footer-wide ambient connection mesh (footer-eight-area) */
.footer-eight-area {
    isolation: isolate;
}

.repio-footer-connection-mesh {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    border-radius: inherit;
    overflow: hidden;
}

.repio-footer-connection-mesh__svg {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100%;
    opacity: 0.92;
}

.repio-footer-connection-mesh__drift {
    transform-origin: 50% 42%;
    animation: repioFooterMeshDrift 36s ease-in-out infinite alternate;
}

.repio-footer-connection-mesh__line {
    stroke: rgba(var(--main-color-one-rgb, 72, 127, 255), 0.22);
    stroke-width: 1.25;
    opacity: 0.85;
}

.repio-footer-connection-mesh__line--flow {
    stroke: rgba(var(--main-color-one-rgb, 72, 127, 255), 0.32);
    stroke-width: 1.5;
    stroke-dasharray: 6 14;
    animation: repioFooterMeshFlow 5.5s linear infinite;
}

.repio-footer-connection-mesh__line--flow:nth-child(6) { animation-delay: -1.2s; }
.repio-footer-connection-mesh__line--flow:nth-child(8) { animation-delay: -2.4s; }
.repio-footer-connection-mesh__line--flow:nth-child(11) { animation-delay: -0.8s; }
.repio-footer-connection-mesh__line--flow:nth-child(15) { animation-delay: -3.1s; }
.repio-footer-connection-mesh__line--flow:nth-child(18) { animation-delay: -1.9s; }
.repio-footer-connection-mesh__line--flow:nth-child(23) { animation-delay: -2.7s; }
.repio-footer-connection-mesh__line--flow:nth-child(26) { animation-delay: -0.5s; }

.repio-footer-connection-mesh__node {
    fill: rgba(var(--main-color-one-rgb, 72, 127, 255), 0.55);
    animation: repioFooterMeshNodePulse 4.8s ease-in-out infinite;
}

.repio-footer-connection-mesh__node--bright {
    fill: rgba(var(--main-color-one-rgb, 72, 127, 255), 0.75);
}

.repio-footer-connection-mesh__nodes .repio-footer-connection-mesh__node:nth-child(1) { animation-delay: 0s; }
.repio-footer-connection-mesh__nodes .repio-footer-connection-mesh__node:nth-child(2) { animation-delay: -0.6s; }
.repio-footer-connection-mesh__nodes .repio-footer-connection-mesh__node:nth-child(3) { animation-delay: -1.2s; }
.repio-footer-connection-mesh__nodes .repio-footer-connection-mesh__node:nth-child(4) { animation-delay: -1.8s; }
.repio-footer-connection-mesh__nodes .repio-footer-connection-mesh__node:nth-child(5) { animation-delay: -2.4s; }
.repio-footer-connection-mesh__nodes .repio-footer-connection-mesh__node:nth-child(6) { animation-delay: -3s; }
.repio-footer-connection-mesh__nodes .repio-footer-connection-mesh__node:nth-child(7) { animation-delay: -3.6s; }
.repio-footer-connection-mesh__nodes .repio-footer-connection-mesh__node:nth-child(8) { animation-delay: -4.2s; }
.repio-footer-connection-mesh__nodes .repio-footer-connection-mesh__node:nth-child(9) { animation-delay: -0.3s; }
.repio-footer-connection-mesh__nodes .repio-footer-connection-mesh__node:nth-child(10) { animation-delay: -0.9s; }
.repio-footer-connection-mesh__nodes .repio-footer-connection-mesh__node:nth-child(11) { animation-delay: -1.5s; }
.repio-footer-connection-mesh__nodes .repio-footer-connection-mesh__node:nth-child(12) { animation-delay: -2.1s; }
.repio-footer-connection-mesh__nodes .repio-footer-connection-mesh__node:nth-child(13) { animation-delay: -2.7s; }
.repio-footer-connection-mesh__nodes .repio-footer-connection-mesh__node:nth-child(14) { animation-delay: -3.3s; }
.repio-footer-connection-mesh__nodes .repio-footer-connection-mesh__node:nth-child(15) { animation-delay: -3.9s; }
.repio-footer-connection-mesh__nodes .repio-footer-connection-mesh__node:nth-child(16) { animation-delay: -4.5s; }
.repio-footer-connection-mesh__nodes .repio-footer-connection-mesh__node:nth-child(17) { animation-delay: -1.1s; }
.repio-footer-connection-mesh__nodes .repio-footer-connection-mesh__node:nth-child(18) { animation-delay: -2.2s; }

.repio-footer-connection-mesh__veil {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        linear-gradient(180deg, #00174f 0%, rgba(0, 23, 79, 0.35) 18%, rgba(0, 23, 79, 0.08) 42%, rgba(0, 23, 79, 0.12) 72%, #00174f 100%),
        radial-gradient(ellipse 85% 55% at 72% 38%, rgba(0, 23, 79, 0.55) 0%, transparent 68%),
        radial-gradient(ellipse 70% 45% at 18% 22%, rgba(0, 23, 79, 0.45) 0%, transparent 62%);
    pointer-events: none;
}

.footer-eight-area__content {
    position: relative;
    z-index: 1;
}

@keyframes repioFooterMeshDrift {
    0% {
        transform: translate(0, 0) scale(1);
    }
    100% {
        transform: translate(-1.25%, 1.5%) scale(1.03);
    }
}

@keyframes repioFooterMeshFlow {
    0% {
        stroke-dashoffset: 40;
        opacity: 0.45;
    }
    50% {
        opacity: 0.95;
    }
    100% {
        stroke-dashoffset: 0;
        opacity: 0.45;
    }
}

@keyframes repioFooterMeshNodePulse {
    0%,
    100% {
        opacity: 0.35;
    }
    50% {
        opacity: 1;
    }
}

@media screen and (max-width: 991px) {
    .repio-footer-connection-mesh__svg {
        opacity: 0.72;
    }

    .repio-footer-connection-mesh__line--flow {
        animation: none;
        stroke-dasharray: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .repio-footer-connection-mesh__drift,
    .repio-footer-connection-mesh__line--flow,
    .repio-footer-connection-mesh__node {
        animation: none;
    }

    .repio-footer-connection-mesh__line--flow {
        stroke-dasharray: none;
        opacity: 0.55;
    }
}
