.gc-scroll-prism {
    position: relative;
    isolation: isolate;
}

html.gc-scroll-prism-enabled .gc-scroll-prism {
    --gc-prism-x: 0px;
    opacity: 0;
    filter: blur(10px) saturate(0.78);
    transform: perspective(1200px) translate3d(var(--gc-prism-x), 44px, 0) rotateX(3deg) scale(0.985);
    transition:
        opacity 650ms cubic-bezier(0.22, 1, 0.36, 1),
        filter 780ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 780ms cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--gc-prism-delay, 0ms);
    will-change: opacity, filter, transform;
}

html.gc-scroll-prism-enabled .gc-scroll-prism.gc-scroll-prism--from-left {
    --gc-prism-x: -28px;
}

html.gc-scroll-prism-enabled .gc-scroll-prism.gc-scroll-prism--from-right {
    --gc-prism-x: 28px;
}

html.gc-scroll-prism-enabled .gc-scroll-prism.is-revealed {
    opacity: 1;
    filter: none;
    transform: perspective(1200px) translate3d(0, 0, 0) rotateX(0) scale(1);
    will-change: auto;
}

.gc-scroll-prism__line {
    pointer-events: none;
    opacity: 0;
    z-index: 4;
    background: linear-gradient(90deg, transparent 0%, #d3f751 16%, #fff 50%, #9edd05 84%, transparent 100%);
    border-radius: 999px;
    height: 2px;
    transition: opacity 280ms ease, transform 820ms cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--gc-prism-delay, 0ms);
    position: absolute;
    top: 0;
    left: 8%;
    right: 8%;
    transform: scaleX(0.2);
}

.gc-scroll-prism.is-revealed > .gc-scroll-prism__line {
    opacity: 0.8;
    transform: scaleX(1);
}

.testimonials-area .gc-scroll-prism__line {
    background: linear-gradient(90deg, transparent 0%, #9edd05 22%, #fff 50%, #9edd05 78%, transparent 100%);
}

@media (max-width: 767px) {
    html.gc-scroll-prism-enabled .gc-scroll-prism {
        filter: blur(6px) saturate(0.84);
        transform: translate3d(var(--gc-prism-x), 24px, 0) scale(0.99);
    }

    html.gc-scroll-prism-enabled .gc-scroll-prism.gc-scroll-prism--from-left {
        --gc-prism-x: -14px;
    }

    html.gc-scroll-prism-enabled .gc-scroll-prism.gc-scroll-prism--from-right {
        --gc-prism-x: 14px;
    }

    html.gc-scroll-prism-enabled .gc-scroll-prism.is-revealed {
        transform: translate3d(0, 0, 0) scale(1);
    }

    /* Project grids can span many mobile viewports. Keep them visible even
       when the reveal observer never reaches its activation threshold. */
    html.gc-scroll-prism-enabled .projects-reference-area .gc-scroll-prism,
    html.gc-scroll-prism-enabled .projects-reference-area .gc-scroll-prism.is-revealed {
        opacity: 1;
        filter: none;
        transform: none;
        transition: none;
        will-change: auto;
    }

    .projects-reference-area .gc-scroll-prism__line {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    html.gc-scroll-prism-enabled .gc-scroll-prism,
    html.gc-scroll-prism-enabled .gc-scroll-prism.is-revealed {
        opacity: 1;
        filter: none;
        transform: none;
        transition: none;
    }

    .gc-scroll-prism__line {
        display: none;
    }
}
